From cef12a784c189215a83bb2f84b040beda50f9377 Mon Sep 17 00:00:00 2001 From: Jose Luis Cercos Pita Date: Fri, 16 Nov 2012 19:13:50 +0100 Subject: [PATCH] Regenerated branch --- src/Mod/Ship/CMakeLists.txt | 59 +- src/Mod/Ship/Icons/DataIco.png | Bin 11365 -> 0 bytes src/Mod/Ship/Icons/DataIco.xcf | Bin 85943 -> 0 bytes src/Mod/Ship/Icons/DataIco.xpm | 1021 -- src/Mod/Ship/Icons/DiscretizeIco.png | Bin 14038 -> 0 bytes src/Mod/Ship/Icons/DiscretizeIco.xcf | Bin 54067 -> 0 bytes src/Mod/Ship/Icons/DiscretizeIco.xpm | 2028 ---- src/Mod/Ship/Icons/ReparametrizeIco.png | Bin 12178 -> 0 bytes src/Mod/Ship/Icons/ReparametrizeIco.xcf | Bin 53229 -> 0 bytes src/Mod/Ship/Icons/ReparametrizeIco.xpm | 1737 ---- src/Mod/Ship/InitGui.py | 119 +- src/Mod/Ship/Instance.py | 1114 +-- src/Mod/Ship/Makefile.am | 61 +- src/Mod/Ship/ShipGui.py | 101 +- src/Mod/Ship/Ship_rc.py | 8700 +++++++++++++++++ src/Mod/Ship/SimInstance.py | 1285 +-- src/Mod/Ship/TankInstance.py | 2642 ++--- src/Mod/Ship/makeResources.sh | 56 + src/Mod/Ship/resources/Ship.qrc | 38 + .../examples}/s60.fcstd | Bin .../examples}/s60_katamaran.fcstd | Bin .../examples}/wigley.fcstd | Bin .../examples}/wigley_katamaran.fcstd | Bin .../icons}/AreaCurveIco.png | Bin .../icons}/AreaCurveIco.xcf | Bin .../icons}/AreaCurveIco.xpm | 0 .../icons}/HydrostaticsIco.png | Bin .../icons}/HydrostaticsIco.xcf | Bin .../icons}/HydrostaticsIco.xpm | 0 .../Ship/{Icons => resources/icons}/Ico.png | Bin .../Ship/{Icons => resources/icons}/Ico.xcf | Bin .../Ship/{Icons => resources/icons}/Ico.xpm | 0 .../{Icons => resources/icons}/LoadIco.png | Bin .../{Icons => resources/icons}/LoadIco.xcf | Bin .../{Icons => resources/icons}/LoadIco.xpm | 0 .../icons}/OutlineDrawIco.png | Bin .../icons}/OutlineDrawIco.xcf | Bin .../icons}/OutlineDrawIco.xpm | 0 .../Ship/{Icons => resources/icons}/Ship.xcf | Bin .../Ship/{Icons => resources/icons}/Ship.xpm | 0 .../Ship/{Icons => resources/icons}/Sim.xpm | 0 .../icons}/SimCreateIco.png | Bin .../icons}/SimCreateIco.xcf | Bin .../icons}/SimCreateIco.xpm | 0 .../{Icons => resources/icons}/SimIco.xcf | Bin .../{Icons => resources/icons}/SimPostIco.png | Bin .../{Icons => resources/icons}/SimPostIco.xpm | 0 .../{Icons => resources/icons}/SimRunIco.png | Bin .../{Icons => resources/icons}/SimRunIco.xpm | 0 .../{Icons => resources/icons}/SimStopIco.png | Bin .../{Icons => resources/icons}/SimStopIco.xpm | 0 .../Ship/{Icons => resources/icons}/Tank.png | Bin .../Ship/{Icons => resources/icons}/Tank.xcf | Bin .../Ship/{Icons => resources/icons}/Tank.xpm | 0 .../{Icons => resources/icons}/Weight.png | Bin .../{Icons => resources/icons}/Weight.xcf | Bin .../{Icons => resources/icons}/Weight.xpm | 0 src/Mod/Ship/resources/translations/Ship.qm | 1 + src/Mod/Ship/resources/translations/Ship.ts | 863 ++ .../Ship/resources/translations/Ship_af.qm | 1 + .../Ship/resources/translations/Ship_af.ts | 863 ++ .../Ship/resources/translations/Ship_cs.qm | 1 + .../Ship/resources/translations/Ship_cs.ts | 863 ++ .../Ship/resources/translations/Ship_de.qm | 1 + .../Ship/resources/translations/Ship_de.ts | 863 ++ .../Ship/resources/translations/Ship_es-ES.qm | Bin 0 -> 20755 bytes .../Ship/resources/translations/Ship_es-ES.ts | 863 ++ .../Ship/resources/translations/Ship_fi.qm | 1 + .../Ship/resources/translations/Ship_fi.ts | 863 ++ .../Ship/resources/translations/Ship_fr.qm | 1 + .../Ship/resources/translations/Ship_fr.ts | 863 ++ .../Ship/resources/translations/Ship_hr.qm | 1 + .../Ship/resources/translations/Ship_hr.ts | 863 ++ .../Ship/resources/translations/Ship_hu.qm | 1 + .../Ship/resources/translations/Ship_hu.ts | 863 ++ .../Ship/resources/translations/Ship_it.qm | 1 + .../Ship/resources/translations/Ship_it.ts | 863 ++ .../Ship/resources/translations/Ship_ja.qm | 1 + .../Ship/resources/translations/Ship_ja.ts | 863 ++ .../Ship/resources/translations/Ship_nl.qm | 1 + .../Ship/resources/translations/Ship_nl.ts | 863 ++ .../Ship/resources/translations/Ship_no.qm | 1 + .../Ship/resources/translations/Ship_no.ts | 863 ++ .../Ship/resources/translations/Ship_pl.qm | 1 + .../Ship/resources/translations/Ship_pl.ts | 863 ++ .../Ship/resources/translations/Ship_pt-BR.qm | 1 + .../Ship/resources/translations/Ship_pt-BR.ts | 863 ++ .../Ship/resources/translations/Ship_ro.qm | 1 + .../Ship/resources/translations/Ship_ro.ts | 863 ++ .../Ship/resources/translations/Ship_ru.qm | 1 + .../Ship/resources/translations/Ship_ru.ts | 863 ++ .../Ship/resources/translations/Ship_sk.qm | 1 + .../Ship/resources/translations/Ship_sk.ts | 863 ++ .../Ship/resources/translations/Ship_sv-SE.qm | 1 + .../Ship/resources/translations/Ship_sv-SE.ts | 863 ++ .../Ship/resources/translations/Ship_tr.qm | 1 + .../Ship/resources/translations/Ship_tr.ts | 863 ++ .../Ship/resources/translations/Ship_uk.qm | 1 + .../Ship/resources/translations/Ship_uk.ts | 863 ++ .../Ship/resources/translations/Ship_zh-CN.qm | 1 + .../Ship/resources/translations/Ship_zh-CN.ts | 863 ++ .../Ship/resources/translations/Ship_zh-TW.qm | 1 + .../Ship/resources/translations/Ship_zh-TW.ts | 863 ++ src/Mod/Ship/shipAreasCurve/Plot.py | 211 - src/Mod/Ship/shipAreasCurve/PlotAux.py | 185 + src/Mod/Ship/shipAreasCurve/Preview.py | 124 +- src/Mod/Ship/shipAreasCurve/TaskPanel.py | 409 +- src/Mod/Ship/shipAreasCurve/TaskPanel.ui | 84 +- src/Mod/Ship/shipAreasCurve/__init__.py | 38 +- src/Mod/Ship/shipCreateShip/Preview.py | 238 +- src/Mod/Ship/shipCreateShip/TaskPanel.py | 384 +- src/Mod/Ship/shipCreateShip/TaskPanel.ui | 234 +- src/Mod/Ship/shipCreateShip/__init__.py | 38 +- src/Mod/Ship/shipHydrostatics/Plot.py | 345 - src/Mod/Ship/shipHydrostatics/PlotAux.py | 478 + src/Mod/Ship/shipHydrostatics/TaskPanel.py | 405 +- src/Mod/Ship/shipHydrostatics/TaskPanel.ui | 256 +- src/Mod/Ship/shipHydrostatics/Tools.py | 786 +- src/Mod/Ship/shipHydrostatics/__init__.py | 38 +- src/Mod/Ship/shipLoadExample/TaskPanel.py | 157 +- src/Mod/Ship/shipLoadExample/TaskPanel.ui | 92 +- src/Mod/Ship/shipLoadExample/__init__.py | 38 +- src/Mod/Ship/shipOutlineDraw/Plot.py | 221 +- src/Mod/Ship/shipOutlineDraw/Preview.py | 267 +- src/Mod/Ship/shipOutlineDraw/TaskPanel.py | 649 +- src/Mod/Ship/shipOutlineDraw/TaskPanel.ui | 258 +- src/Mod/Ship/shipOutlineDraw/__init__.py | 38 +- src/Mod/Ship/shipUtils/Math.py | 92 +- src/Mod/Ship/shipUtils/Paths.py | 84 +- src/Mod/Ship/shipUtils/Translator.py | 30 - src/Mod/Ship/simCreate/TaskPanel.py | 298 +- src/Mod/Ship/simCreate/__init__.py | 38 +- src/Mod/Ship/simPost/TaskPanel.py | 234 +- src/Mod/Ship/simPost/__init__.py | 42 +- src/Mod/Ship/simRun/Simulation.py | 216 +- src/Mod/Ship/simRun/TaskPanel.py | 348 +- src/Mod/Ship/simRun/__init__.py | 42 +- src/Mod/Ship/tankCreateTank/TaskPanel.py | 278 +- src/Mod/Ship/tankCreateTank/TaskPanel.ui | 216 +- src/Mod/Ship/tankCreateTank/__init__.py | 38 +- src/Mod/Ship/tankGZ/Plot.py | 186 - src/Mod/Ship/tankGZ/PlotAux.py | 154 + src/Mod/Ship/tankGZ/TaskPanel.py | 701 +- src/Mod/Ship/tankGZ/TaskPanel.ui | 310 +- src/Mod/Ship/tankGZ/__init__.py | 38 +- src/Mod/Ship/tankWeights/Preview.py | 178 +- src/Mod/Ship/tankWeights/TaskPanel.py | 434 +- src/Mod/Ship/tankWeights/TaskPanel.ui | 2 +- src/Mod/Ship/tankWeights/__init__.py | 38 +- src/WindowsInstaller/FreeCAD.wxs | 2 + src/WindowsInstaller/ModShip.wxi | 112 +- 151 files changed, 35919 insertions(+), 12997 deletions(-) delete mode 100644 src/Mod/Ship/Icons/DataIco.png delete mode 100644 src/Mod/Ship/Icons/DataIco.xcf delete mode 100644 src/Mod/Ship/Icons/DataIco.xpm delete mode 100644 src/Mod/Ship/Icons/DiscretizeIco.png delete mode 100644 src/Mod/Ship/Icons/DiscretizeIco.xcf delete mode 100644 src/Mod/Ship/Icons/DiscretizeIco.xpm delete mode 100644 src/Mod/Ship/Icons/ReparametrizeIco.png delete mode 100644 src/Mod/Ship/Icons/ReparametrizeIco.xcf delete mode 100644 src/Mod/Ship/Icons/ReparametrizeIco.xpm create mode 100644 src/Mod/Ship/Ship_rc.py create mode 100755 src/Mod/Ship/makeResources.sh create mode 100644 src/Mod/Ship/resources/Ship.qrc rename src/Mod/Ship/{Examples => resources/examples}/s60.fcstd (100%) rename src/Mod/Ship/{Examples => resources/examples}/s60_katamaran.fcstd (100%) rename src/Mod/Ship/{Examples => resources/examples}/wigley.fcstd (100%) rename src/Mod/Ship/{Examples => resources/examples}/wigley_katamaran.fcstd (100%) rename src/Mod/Ship/{Icons => resources/icons}/AreaCurveIco.png (100%) rename src/Mod/Ship/{Icons => resources/icons}/AreaCurveIco.xcf (100%) rename src/Mod/Ship/{Icons => resources/icons}/AreaCurveIco.xpm (100%) rename src/Mod/Ship/{Icons => resources/icons}/HydrostaticsIco.png (100%) rename src/Mod/Ship/{Icons => resources/icons}/HydrostaticsIco.xcf (100%) rename src/Mod/Ship/{Icons => resources/icons}/HydrostaticsIco.xpm (100%) rename src/Mod/Ship/{Icons => resources/icons}/Ico.png (100%) rename src/Mod/Ship/{Icons => resources/icons}/Ico.xcf (100%) rename src/Mod/Ship/{Icons => resources/icons}/Ico.xpm (100%) rename src/Mod/Ship/{Icons => resources/icons}/LoadIco.png (100%) rename src/Mod/Ship/{Icons => resources/icons}/LoadIco.xcf (100%) rename src/Mod/Ship/{Icons => resources/icons}/LoadIco.xpm (100%) rename src/Mod/Ship/{Icons => resources/icons}/OutlineDrawIco.png (100%) rename src/Mod/Ship/{Icons => resources/icons}/OutlineDrawIco.xcf (100%) rename src/Mod/Ship/{Icons => resources/icons}/OutlineDrawIco.xpm (100%) rename src/Mod/Ship/{Icons => resources/icons}/Ship.xcf (100%) rename src/Mod/Ship/{Icons => resources/icons}/Ship.xpm (100%) rename src/Mod/Ship/{Icons => resources/icons}/Sim.xpm (100%) rename src/Mod/Ship/{Icons => resources/icons}/SimCreateIco.png (100%) rename src/Mod/Ship/{Icons => resources/icons}/SimCreateIco.xcf (100%) rename src/Mod/Ship/{Icons => resources/icons}/SimCreateIco.xpm (100%) rename src/Mod/Ship/{Icons => resources/icons}/SimIco.xcf (100%) rename src/Mod/Ship/{Icons => resources/icons}/SimPostIco.png (100%) rename src/Mod/Ship/{Icons => resources/icons}/SimPostIco.xpm (100%) rename src/Mod/Ship/{Icons => resources/icons}/SimRunIco.png (100%) rename src/Mod/Ship/{Icons => resources/icons}/SimRunIco.xpm (100%) rename src/Mod/Ship/{Icons => resources/icons}/SimStopIco.png (100%) rename src/Mod/Ship/{Icons => resources/icons}/SimStopIco.xpm (100%) rename src/Mod/Ship/{Icons => resources/icons}/Tank.png (100%) rename src/Mod/Ship/{Icons => resources/icons}/Tank.xcf (100%) rename src/Mod/Ship/{Icons => resources/icons}/Tank.xpm (100%) rename src/Mod/Ship/{Icons => resources/icons}/Weight.png (100%) rename src/Mod/Ship/{Icons => resources/icons}/Weight.xcf (100%) rename src/Mod/Ship/{Icons => resources/icons}/Weight.xpm (100%) create mode 100644 src/Mod/Ship/resources/translations/Ship.qm create mode 100644 src/Mod/Ship/resources/translations/Ship.ts create mode 100644 src/Mod/Ship/resources/translations/Ship_af.qm create mode 100644 src/Mod/Ship/resources/translations/Ship_af.ts create mode 100644 src/Mod/Ship/resources/translations/Ship_cs.qm create mode 100644 src/Mod/Ship/resources/translations/Ship_cs.ts create mode 100644 src/Mod/Ship/resources/translations/Ship_de.qm create mode 100644 src/Mod/Ship/resources/translations/Ship_de.ts create mode 100644 src/Mod/Ship/resources/translations/Ship_es-ES.qm create mode 100644 src/Mod/Ship/resources/translations/Ship_es-ES.ts create mode 100644 src/Mod/Ship/resources/translations/Ship_fi.qm create mode 100644 src/Mod/Ship/resources/translations/Ship_fi.ts create mode 100644 src/Mod/Ship/resources/translations/Ship_fr.qm create mode 100644 src/Mod/Ship/resources/translations/Ship_fr.ts create mode 100644 src/Mod/Ship/resources/translations/Ship_hr.qm create mode 100644 src/Mod/Ship/resources/translations/Ship_hr.ts create mode 100644 src/Mod/Ship/resources/translations/Ship_hu.qm create mode 100644 src/Mod/Ship/resources/translations/Ship_hu.ts create mode 100644 src/Mod/Ship/resources/translations/Ship_it.qm create mode 100644 src/Mod/Ship/resources/translations/Ship_it.ts create mode 100644 src/Mod/Ship/resources/translations/Ship_ja.qm create mode 100644 src/Mod/Ship/resources/translations/Ship_ja.ts create mode 100644 src/Mod/Ship/resources/translations/Ship_nl.qm create mode 100644 src/Mod/Ship/resources/translations/Ship_nl.ts create mode 100644 src/Mod/Ship/resources/translations/Ship_no.qm create mode 100644 src/Mod/Ship/resources/translations/Ship_no.ts create mode 100644 src/Mod/Ship/resources/translations/Ship_pl.qm create mode 100644 src/Mod/Ship/resources/translations/Ship_pl.ts create mode 100644 src/Mod/Ship/resources/translations/Ship_pt-BR.qm create mode 100644 src/Mod/Ship/resources/translations/Ship_pt-BR.ts create mode 100644 src/Mod/Ship/resources/translations/Ship_ro.qm create mode 100644 src/Mod/Ship/resources/translations/Ship_ro.ts create mode 100644 src/Mod/Ship/resources/translations/Ship_ru.qm create mode 100644 src/Mod/Ship/resources/translations/Ship_ru.ts create mode 100644 src/Mod/Ship/resources/translations/Ship_sk.qm create mode 100644 src/Mod/Ship/resources/translations/Ship_sk.ts create mode 100644 src/Mod/Ship/resources/translations/Ship_sv-SE.qm create mode 100644 src/Mod/Ship/resources/translations/Ship_sv-SE.ts create mode 100644 src/Mod/Ship/resources/translations/Ship_tr.qm create mode 100644 src/Mod/Ship/resources/translations/Ship_tr.ts create mode 100644 src/Mod/Ship/resources/translations/Ship_uk.qm create mode 100644 src/Mod/Ship/resources/translations/Ship_uk.ts create mode 100644 src/Mod/Ship/resources/translations/Ship_zh-CN.qm create mode 100644 src/Mod/Ship/resources/translations/Ship_zh-CN.ts create mode 100644 src/Mod/Ship/resources/translations/Ship_zh-TW.qm create mode 100644 src/Mod/Ship/resources/translations/Ship_zh-TW.ts delete mode 100644 src/Mod/Ship/shipAreasCurve/Plot.py create mode 100644 src/Mod/Ship/shipAreasCurve/PlotAux.py delete mode 100644 src/Mod/Ship/shipHydrostatics/Plot.py create mode 100644 src/Mod/Ship/shipHydrostatics/PlotAux.py delete mode 100644 src/Mod/Ship/shipUtils/Translator.py delete mode 100644 src/Mod/Ship/tankGZ/Plot.py create mode 100644 src/Mod/Ship/tankGZ/PlotAux.py diff --git a/src/Mod/Ship/CMakeLists.txt b/src/Mod/Ship/CMakeLists.txt index cb2a119ba..9ca8c21bb 100644 --- a/src/Mod/Ship/CMakeLists.txt +++ b/src/Mod/Ship/CMakeLists.txt @@ -4,60 +4,20 @@ SET(ShipMain_SRCS Instance.py SimInstance.py TankInstance.py + Ship_rc.py ) SOURCE_GROUP("" FILES ${ShipMain_SRCS}) SET(ShipIcons_SRCS - Icons/AreaCurveIco.png - Icons/AreaCurveIco.xcf - Icons/AreaCurveIco.xpm - Icons/DataIco.png - Icons/DataIco.xcf - Icons/DataIco.xpm - Icons/DiscretizeIco.png - Icons/DiscretizeIco.xcf - Icons/DiscretizeIco.xpm - Icons/HydrostaticsIco.png - Icons/HydrostaticsIco.xcf - Icons/HydrostaticsIco.xpm - Icons/Ico.png - Icons/Ico.xcf - Icons/Ico.xpm - Icons/LoadIco.png - Icons/LoadIco.xcf - Icons/LoadIco.xpm - Icons/OutlineDrawIco.png - Icons/OutlineDrawIco.xcf - Icons/OutlineDrawIco.xpm - Icons/ReparametrizeIco.png - Icons/ReparametrizeIco.xcf - Icons/ReparametrizeIco.xpm - Icons/Ship.xcf - Icons/Ship.xpm - Icons/Weight.png - Icons/Weight.xcf - Icons/Weight.xpm - Icons/SimIco.xcf - Icons/Sim.xpm - Icons/SimCreateIco.png - Icons/SimCreateIco.xpm - Icons/SimRunIco.png - Icons/SimRunIco.xpm - Icons/SimStopIco.png - Icons/SimStopIco.xpm - Icons/SimPostIco.png - Icons/SimPostIco.xpm - Icons/Tank.png - Icons/Tank.xcf - Icons/Tank.xpm + resources/icons/Ico.xpm ) SOURCE_GROUP("shipicons" FILES ${ShipIcons_SRCS}) SET(ShipExamples_SRCS - Examples/s60.fcstd - Examples/s60_katamaran.fcstd - Examples/wigley.fcstd - Examples/wigley_katamaran.fcstd + resources/examples/s60.fcstd + resources/examples/s60_katamaran.fcstd + resources/examples/wigley.fcstd + resources/examples/wigley_katamaran.fcstd ) SOURCE_GROUP("shipexamples" FILES ${ShipExamples_SRCS}) @@ -87,7 +47,7 @@ SOURCE_GROUP("shipoutlinedraw" FILES ${ShipOutlineDraw_SRCS}) SET(ShipAreasCurve_SRCS shipAreasCurve/__init__.py - shipAreasCurve/Plot.py + shipAreasCurve/PlotAux.py shipAreasCurve/Preview.py shipAreasCurve/TaskPanel.py shipAreasCurve/TaskPanel.ui @@ -96,7 +56,7 @@ SOURCE_GROUP("shipareascurve" FILES ${ShipAreasCurve_SRCS}) SET(ShipHydrostatics_SRCS shipHydrostatics/__init__.py - shipHydrostatics/Plot.py + shipHydrostatics/PlotAux.py shipHydrostatics/TaskPanel.py shipHydrostatics/TaskPanel.ui shipHydrostatics/Tools.py @@ -107,7 +67,6 @@ SET(ShipUtils_SRCS shipUtils/__init__.py shipUtils/Math.py shipUtils/Paths.py - shipUtils/Translator.py ) SOURCE_GROUP("shiputils" FILES ${ShipUtils_SRCS}) @@ -128,7 +87,7 @@ SOURCE_GROUP("shipcreatetank" FILES ${ShipCreateTank_SRCS}) SET(ShipGZ_SRCS tankGZ/__init__.py - tankGZ/Plot.py + tankGZ/PlotAux.py tankGZ/TaskPanel.py tankGZ/TaskPanel.ui ) diff --git a/src/Mod/Ship/Icons/DataIco.png b/src/Mod/Ship/Icons/DataIco.png deleted file mode 100644 index 223338ceae17dcf8c11298f9d79b76cdaeb8f68d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11365 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 Y)4}H8-f2<+9ry*vNhwR#ikpP|2Nop=iU0rr diff --git a/src/Mod/Ship/Icons/DataIco.xcf b/src/Mod/Ship/Icons/DataIco.xcf deleted file mode 100644 index 81e05ac42dbb609ebfb16f223a591fcbdc7753fc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 85943 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 h0~b`s#Lczj0mLT~s7GeMZ diff --git a/src/Mod/Ship/Icons/DataIco.xpm b/src/Mod/Ship/Icons/DataIco.xpm deleted file mode 100644 index 19aed7ffa..000000000 --- a/src/Mod/Ship/Icons/DataIco.xpm +++ /dev/null @@ -1,1021 +0,0 @@ -/* XPM */ -static char * DataIco_xpm[] = { -"128 128 890 2", -" c None", -". c #A7A7A7", -"+ c #A7A7A6", -"@ c #A6A5A6", -"# c #A5A6A5", -"$ c #A5A5A5", -"% c #A5A5A4", -"& c #A4A4A4", -"* c #A7A7A8", -"= c #A6A6A6", -"- c #A5A4A5", -"; c #A5A4A4", -"> c #A8A8A7", -", c #A8A7A7", -"' c #979797", -") c #989898", -"! c #999899", -"~ c #A5A6A6", -"{ c #A8A8A8", -"] c #A7A8A8", -"^ c #979898", -"/ c #999999", -"( c #999A9A", -"_ c #A9A9A8", -": c #99999A", -"< c #9A9A9B", -"[ c #B2B2B2", -"} c #A9A9AA", -"| c #A9A9A9", -"1 c #9B9A9A", -"2 c #9C9B9B", -"3 c #A7A6A6", -"4 c #B3B4B3", -"5 c #B3B3B3", -"6 c #AAAAAA", -"7 c #9A9A9A", -"8 c #9B9B9B", -"9 c #9C9C9C", -"0 c #A7A6A7", -"a c #9E9E9E", -"b c #9D9D9D", -"c c #B5B5B5", -"d c #B5B4B5", -"e c #B4B4B4", -"f c #B4B3B4", -"g c #B2B3B3", -"h c #9D9C9C", -"i c #9F9E9E", -"j c #9E9E9F", -"k c #B7B6B7", -"l c #B6B6B6", -"m c #B6B5B5", -"n c #B4B4B5", -"o c #828181", -"p c #B3B3B4", -"q c #ABAAAB", -"r c #9C9C9B", -"s c #9C9C9D", -"t c #9F9FA0", -"u c #9E9F9E", -"v c #9E9F9F", -"w c #9E9D9E", -"x c #9E9D9D", -"y c #9C9D9C", -"z c #807F7F", -"A c #818080", -"B c #828281", -"C c #B4B5B4", -"D c #ABABAB", -"E c #A9A8A8", -"F c #A0A0A0", -"G c #A09FA0", -"H c #9F9F9F", -"I c #ADADAD", -"J c #ADAEAE", -"K c #9D9D9E", -"L c #B7B7B7", -"M c #B6B6B5", -"N c #818081", -"O c #828282", -"P c #838383", -"Q c #ADADAC", -"R c #ABACAC", -"S c #ABACAB", -"T c #A8A9A8", -"U c #A6A7A7", -"V c #A0A1A0", -"W c #AFAFAF", -"X c #B7B6B6", -"Y c #818181", -"Z c #828383", -"` c #848383", -" . c #B4B3B3", -".. c #AFB0AF", -"+. c #AEAEAF", -"@. c #AFAEAE", -"#. c #AEAEAE", -"$. c #ACADAD", -"%. c #ACACAC", -"&. c #A0A1A1", -"*. c #A5A5A6", -"=. c #A1A2A2", -"-. c #A1A1A1", -";. c #A1A1A0", -">. c #B0B0B0", -",. c #B1B1B0", -"'. c #838382", -"). c #848484", -"!. c #858585", -"~. c #B5B5B4", -"{. c #B4B4B3", -"]. c #B2B1B2", -"^. c #B1B1B1", -"/. c #B0B1B0", -"(. c #AEAFAF", -"_. c #9C9D9D", -":. c #9E9E9D", -"<. c #A2A2A2", -"[. c #A3A3A4", -"}. c #A6A6A5", -"|. c #A4A4A5", -"1. c #A1A2A1", -"2. c #B2B1B1", -"3. c #A09F9F", -"4. c #B7B7B8", -"5. c #B6B6B7", -"6. c #868585", -"7. c #868786", -"8. c #B3B2B3", -"9. c #B2B2B3", -"0. c #B1B2B1", -"a. c #B0B1B1", -"b. c #949494", -"c. c #959595", -"d. c #969696", -"e. c #979798", -"f. c #989899", -"g. c #A0A09F", -"h. c #A3A3A3", -"i. c #A4A4A3", -"j. c #A6A5A5", -"k. c #A4A3A3", -"l. c #A3A2A2", -"m. c #A1A0A0", -"n. c #B8B8B8", -"o. c #848584", -"p. c #858686", -"q. c #868787", -"r. c #888888", -"s. c #919090", -"t. c #919192", -"u. c #929392", -"v. c #969697", -"w. c #979897", -"x. c #999898", -"y. c #9D9C9D", -"z. c #A8A7A8", -"A. c #A8A9A9", -"B. c #A9AAAA", -"C. c #AAABAB", -"D. c #ACACAD", -"E. c #A4A5A4", -"F. c #A3A2A3", -"G. c #B3B4B4", -"H. c #898888", -"I. c #898989", -"J. c #8B8A8A", -"K. c #8C8C8B", -"L. c #8D8D8D", -"M. c #8E8E8E", -"N. c #8F8F8F", -"O. c #909090", -"P. c #929291", -"Q. c #939393", -"R. c #959495", -"S. c #969695", -"T. c #979796", -"U. c #9B9B9C", -"V. c #A0A0A1", -"W. c #AAAAA9", -"X. c #ACABAB", -"Y. c #ACADAC", -"Z. c #AEADAE", -"`. c #AFB0B0", -" + c #B1B0B1", -".+ c #B3B2B2", -"++ c #A2A1A2", -"@+ c #B7B8B7", -"#+ c #878787", -"$+ c #888988", -"%+ c #8A8A8A", -"&+ c #8A8B8B", -"*+ c #8C8C8C", -"=+ c #8E8D8D", -"-+ c #8F8E8F", -";+ c #919091", -">+ c #929292", -",+ c #949495", -"'+ c #969596", -")+ c #9B9C9C", -"!+ c #A2A3A3", -"~+ c #A7A8A7", -"{+ c #AEAFAE", -"]+ c #A2A1A1", -"^+ c #B9B8B8", -"/+ c #868686", -"(+ c #888787", -"_+ c #898889", -":+ c #8B8B8B", -"<+ c #8D8E8D", -"[+ c #8F8E8E", -"}+ c #919191", -"|+ c #939392", -"1+ c #949393", -"2+ c #959494", -"3+ c #989798", -"4+ c #989998", -"5+ c #9A9999", -"6+ c #9A9B9B", -"7+ c #A1A0A1", -"8+ c #ACABAC", -"9+ c #B0AFB0", -"0+ c #B8B8B7", -"a+ c #A2A3A2", -"b+ c #B9B9B9", -"c+ c #868687", -"d+ c #878887", -"e+ c #8D8C8C", -"f+ c #8F8F8E", -"g+ c #909091", -"h+ c #929192", -"i+ c #939493", -"j+ c #9A9A99", -"k+ c #9D9D9C", -"l+ c #A2A2A3", -"m+ c #A4A5A5", -"n+ c #AAA9A9", -"o+ c #B2B2B1", -"p+ c #BABABA", -"q+ c #BAB9BA", -"r+ c #B9B9BA", -"s+ c #878687", -"t+ c #888887", -"u+ c #8C8C8D", -"v+ c #929393", -"w+ c #949493", -"x+ c #969796", -"y+ c #A1A1A2", -"z+ c #A6A6A7", -"A+ c #A9A8A9", -"B+ c #AFAEAF", -"C+ c #B0AFAF", -"D+ c #B5B6B6", -"E+ c #B8B7B8", -"F+ c #BABAB9", -"G+ c #BBBBBA", -"H+ c #BABABB", -"I+ c #8C8D8C", -"J+ c #8E8D8E", -"K+ c #919190", -"L+ c #929191", -"M+ c #939293", -"N+ c #979697", -"O+ c #999998", -"P+ c #9C9B9C", -"Q+ c #A6A7A6", -"R+ c #ABABAC", -"S+ c #ADACAC", -"T+ c #BCBBBB", -"U+ c #A3A3A2", -"V+ c #BCBCBC", -"W+ c #BBBBBC", -"X+ c #BBBBBB", -"Y+ c #979696", -"Z+ c #989797", -"`+ c #9FA09F", -" @ c #ABAAAA", -".@ c #ACACAB", -"+@ c #B0B0AF", -"@@ c #B3B3B2", -"#@ c #B6B7B7", -"$@ c #B9B9B8", -"%@ c #BBBCBB", -"&@ c #BCBDBC", -"*@ c #BDBCBD", -"=@ c #BDBDBD", -"-@ c #818182", -";@ c #858586", -">@ c #8B8B8C", -",@ c #8C8D8D", -"'@ c #8F9090", -")@ c #909190", -"!@ c #919292", -"~@ c #959695", -"{@ c #9D9E9D", -"]@ c #AAAAAB", -"^@ c #BBBABA", -"/@ c #BBBCBC", -"(@ c #BEBDBD", -"_@ c #BEBDBE", -":@ c #BBBABB", -"<@ c #C3C3C4", -"[@ c #BDBDBE", -"}@ c #808181", -"|@ c #828283", -"1@ c #848485", -"2@ c #868685", -"3@ c #8B8C8B", -"4@ c #908F8F", -"5@ c #B1B0B0", -"6@ c #AFAFAE", -"7@ c #ADAEAD", -"8@ c #BEBFBE", -"9@ c #BEBEBE", -"0@ c #B9BAB9", -"a@ c #C4C4C4", -"b@ c #C3C3C3", -"c@ c #C3C2C3", -"d@ c #BFBFBE", -"e@ c #7F7F80", -"f@ c #878686", -"g@ c #8A8B8A", -"h@ c #8D8E8E", -"i@ c #929293", -"j@ c #AFAFB0", -"k@ c #AEAEAD", -"l@ c #AEADAD", -"m@ c #B5B5B6", -"n@ c #BABBBA", -"o@ c #BCBBBC", -"p@ c #BDBEBD", -"q@ c #C5C5C5", -"r@ c #C3C4C3", -"s@ c #BFC0C0", -"t@ c #BFBFBF", -"u@ c #7E7E7E", -"v@ c #7F7F7F", -"w@ c #808081", -"x@ c #818281", -"y@ c #838282", -"z@ c #8F8F90", -"A@ c #B9BABA", -"B@ c #BABBBB", -"C@ c #9FA0A0", -"D@ c #C4C5C4", -"E@ c #6F6F6F", -"F@ c #C4C3C4", -"G@ c #C2C3C3", -"H@ c #C3C3C2", -"I@ c #C0C0C0", -"J@ c #7C7D7C", -"K@ c #808080", -"L@ c #838283", -"M@ c #858685", -"N@ c #B8B9B8", -"O@ c #B8B9B9", -"P@ c #B8B7B7", -"Q@ c #A2A2A1", -"R@ c #C6C6C6", -"S@ c #6D6E6D", -"T@ c #6F6E6F", -"U@ c #707071", -"V@ c #C3C4C4", -"W@ c #C4C3C3", -"X@ c #C2C2C2", -"Y@ c #C2C1C1", -"Z@ c #C1C1C1", -"`@ c #C1C0C1", -" # c #7D7D7D", -".# c #7E7D7E", -"+# c #888989", -"@# c #8C8B8B", -"## c #B9B8B9", -"$# c #C7C7C7", -"%# c #6E6D6E", -"&# c #707070", -"*# c #717172", -"=# c #727372", -"-# c #C3C2C2", -";# c #7B7B7B", -"># c #7D7D7E", -",# c #828382", -"'# c #848483", -")# c #858584", -"!# c #888788", -"~# c #888889", -"{# c #B7B8B8", -"]# c #ADACAD", -"^# c #C7C8C8", -"/# c #C6C7C7", -"(# c #C6C7C6", -"_# c #C5C6C5", -":# c #717271", -"<# c #727272", -"[# c #747374", -"}# c #757575", -"|# c #767676", -"1# c #777878", -"2# c #797978", -"3# c #797A7A", -"4# c #7D7E7D", -"5# c #878788", -"6# c #959596", -"7# c #AAABAA", -"8# c #B1B2B2", -"9# c #C6C6C5", -"0# c #717171", -"a# c #737372", -"b# c #777777", -"c# c #797879", -"d# c #7A7A7A", -"e# c #7C7C7D", -"f# c #7E7D7D", -"g# c #7E7F7F", -"h# c #B6B7B6", -"i# c #C7C6C7", -"j# c #737474", -"k# c #747574", -"l# c #767675", -"m# c #797878", -"n# c #7B7C7C", -"o# c #7F7E7F", -"p# c #939494", -"q# c #C5C6C6", -"r# c #757474", -"s# c #787878", -"t# c #797A79", -"u# c #7A7A7B", -"v# c #767777", -"w# c #797979", -"x# c #7B7B7A", -"y# c #7C7C7B", -"z# c #7D7D7C", -"A# c #808180", -"B# c #BEBFBF", -"C# c #B2B3B2", -"D# c #ABABAA", -"E# c #747474", -"F# c #767677", -"G# c #787777", -"H# c #7C7B7B", -"I# c #7D7C7C", -"J# c #B1B1B2", -"K# c #A4A3A4", -"L# c #C7C7C6", -"M# c #747473", -"N# c #7A7A79", -"O# c #C1C0C0", -"P# c #C7C8C7", -"Q# c #737373", -"R# c #787879", -"S# c #7C7B7C", -"T# c #B7B7B6", -"U# c #C1C1C0", -"V# c #AAA9AA", -"W# c #C8C8C8", -"X# c #C8C8C7", -"Y# c #737374", -"Z# c #7A7979", -"`# c #7A7B7A", -" $ c #C8C9C8", -".$ c #C8C8C9", -"+$ c #727171", -"@$ c #757576", -"#$ c #777677", -"$$ c #C2C2C1", -"%$ c #CAC9C9", -"&$ c #C8C9C9", -"*$ c #737273", -"=$ c #7C7C7C", -"-$ c #A9AAA9", -";$ c #CACBCA", -">$ c #C9C9CA", -",$ c #757676", -"'$ c #777877", -")$ c #C4C4C3", -"!$ c #CBCBCB", -"~$ c #CBCACB", -"{$ c #6F7070", -"]$ c #757475", -"^$ c #787877", -"/$ c #7B7A7A", -"($ c #8E8E8F", -"_$ c #C5C5C4", -":$ c #CBCACA", -"<$ c #717071", -"[$ c #727271", -"}$ c #767575", -"|$ c #767776", -"1$ c #787978", -"2$ c #A3A4A3", -"3$ c #6F6F6E", -"4$ c #737473", -"5$ c #79797A", -"6$ c #C5C5C6", -"7$ c #CDCCCD", -"8$ c #CCCCCC", -"9$ c #CBCCCC", -"0$ c #70706F", -"a$ c #707171", -"b$ c #C6C6C7", -"c$ c #ADADAE", -"d$ c #9F9F9E", -"e$ c #CDCDCC", -"f$ c #CCCDCD", -"g$ c #6D6D6D", -"h$ c #6E6E6E", -"i$ c #706F6F", -"j$ c #727172", -"k$ c #737272", -"l$ c #747373", -"m$ c #777676", -"n$ c #9D9E9E", -"o$ c #CDCECE", -"p$ c #CDCDCD", -"q$ c #6D6D6C", -"r$ c #757675", -"s$ c #C8C7C7", -"t$ c #CECECE", -"u$ c #CECDCE", -"v$ c #6C6C6C", -"w$ c #9F9E9F", -"x$ c #D3D3D3", -"y$ c #D2D3D2", -"z$ c #D2D2D2", -"A$ c #D2D2D1", -"B$ c #D1D1D1", -"C$ c #D0D0D1", -"D$ c #D0D0D0", -"E$ c #D0D0CF", -"F$ c #D0CFCF", -"G$ c #CFCFCF", -"H$ c #CFCECF", -"I$ c #727273", -"J$ c #C9C8C9", -"K$ c #9B9A9B", -"L$ c #D3D4D3", -"M$ c #D3D2D2", -"N$ c #D2D1D1", -"O$ c #D1D1D0", -"P$ c #CECFCE", -"Q$ c #6A6A6A", -"R$ c #6B6C6C", -"S$ c #6C6D6D", -"T$ c #757574", -"U$ c #C9C9C9", -"V$ c #9B9B9A", -"W$ c #9A9B9A", -"X$ c #D4D4D4", -"Y$ c #D3D4D4", -"Z$ c #5F5F5F", -"`$ c #606061", -" % c #616161", -".% c #636263", -"+% c #646464", -"@% c #656465", -"#% c #666666", -"$% c #676767", -"%% c #686969", -"&% c #696A69", -"*% c #6B6B6B", -"=% c #706F70", -"-% c #CAC9CA", -";% c #9A999A", -">% c #969797", -",% c #D4D5D4", -"'% c #5F5F5E", -")% c #606060", -"!% c #626263", -"~% c #636463", -"{% c #656566", -"]% c #686868", -"^% c #696969", -"/% c #6E6F6F", -"(% c #717170", -"_% c #C9CAC9", -":% c #CACACA", -"<% c #B0B0B1", -"[% c #D4D5D5", -"}% c #D4D4D5", -"|% c #606161", -"1% c #626261", -"2% c #636363", -"3% c #656565", -"4% c #696869", -"5% c #6C6B6C", -"6% c #707170", -"7% c #717272", -"8% c #CBCBCA", -"9% c #989999", -"0% c #D5D5D5", -"a% c #D5D4D4", -"b% c #D2D3D3", -"c% c #D0D1D1", -"d% c #6A6B6B", -"e% c #6B6B6C", -"f% c #6D6C6D", -"g% c #6E6E6D", -"h% c #949595", -"i% c #949594", -"j% c #D6D5D6", -"k% c #D5D4D5", -"l% c #D3D3D4", -"m% c #D3D2D3", -"n% c #D1D2D2", -"o% c #69696A", -"p% c #6F6E6E", -"q% c #959696", -"r% c #939394", -"s% c #D1D2D1", -"t% c #6D6E6E", -"u% c #6E6F6E", -"v% c #CBCCCB", -"w% c #676768", -"x% c #696868", -"y% c #6A696A", -"z% c #6B6C6B", -"A% c #CCCCCD", -"B% c #666766", -"C% c #6F706F", -"D% c #807F80", -"E% c #919291", -"F% c #909191", -"G% c #90908F", -"H% c #676766", -"I% c #676867", -"J% c #6D6D6E", -"K% c #C1C1C2", -"L% c #B5B4B4", -"M% c #908F90", -"N% c #676666", -"O% c #6B6A6A", -"P% c #6C6B6B", -"Q% c #6D6C6C", -"R% c #8E8F8E", -"S% c #666767", -"T% c #686968", -"U% c #6A6969", -"V% c #CECECD", -"W% c #8F908F", -"X% c #8D8C8D", -"Y% c #8D8D8C", -"Z% c #656666", -"`% c #676667", -" & c #8C8B8C", -".& c #CECFCF", -"+& c #8B8B8A", -"@& c #D5D5D4", -"#& c #666565", -"$& c #676868", -"%& c #B8B8B9", -"&& c #D6D6D5", -"*& c #646364", -"=& c #CFD0CF", -"-& c #CFCECE", -";& c #8A8A8B", -">& c #898A8A", -",& c #8A8989", -"'& c #D6D6D6", -")& c #646564", -"!& c #89898A", -"~& c #898A89", -"{& c #8A8A89", -"]& c #878888", -"^& c #626262", -"/& c #646465", -"(& c #D6D6D7", -"_& c #D7D6D6", -":& c #636362", -"<& c #636464", -"[& c #656665", -"}& c #686867", -"|& c #D0CFD0", -"1& c #D7D7D7", -"2& c #D6D7D7", -"3& c #6E6D6D", -"4& c #CFD0D0", -"5& c #BCBCBB", -"6& c #838483", -"7& c #D8D9D8", -"8& c #D8D8D7", -"9& c #656564", -"0& c #6A6B6A", -"a& c #BCBDBD", -"b& c #858485", -"c& c #848384", -"d& c #838484", -"e& c #DAD9DA", -"f& c #D9D9D9", -"g& c #D8D8D8", -"h& c #5E5E5E", -"i& c #5F5F60", -"j& c #606160", -"k& c #636364", -"l& c #838384", -"m& c #818282", -"n& c #DBDBDB", -"o& c #DADADA", -"p& c #DAD9D9", -"q& c #5D5D5D", -"r& c #5E5D5E", -"s& c #5E5F5E", -"t& c #605F5F", -"u& c #686768", -"v& c #BFBEBF", -"w& c #828182", -"x& c #7F8080", -"y& c #B4B5B5", -"z& c #DCDCDC", -"A& c #DCDCDB", -"B& c #DBDADB", -"C& c #5A5A5A", -"D& c #5A5B5B", -"E& c #5C5C5C", -"F& c #605F60", -"G& c #616160", -"H& c #696A6A", -"I& c #6B6A6B", -"J& c #6C6C6D", -"K& c #818180", -"L& c #7F7F7E", -"M& c #DDDCDD", -"N& c #DCDDDD", -"O& c #585858", -"P& c #595859", -"Q& c #595A59", -"R& c #5B5A5A", -"S& c #5B5B5C", -"T& c #D8D9D9", -"U& c #D8D7D8", -"V& c #626162", -"W& c #636262", -"X& c #646463", -"Y& c #666667", -"Z& c #80807F", -"`& c #7F807F", -" * c #7F7E7E", -".* c #DDDDDD", -"+* c #DDDDDC", -"@* c #575657", -"#* c #585857", -"$* c #595959", -"%* c #D9DADA", -"&* c #D8D8D9", -"** c #696968", -"=* c #6C6C6B", -"-* c #C1C2C1", -";* c #C2C1C2", -">* c #7E7F7E", -",* c #7E7E7D", -"'* c #BAB9B9", -")* c #7B7B7C", -"!* c #DCDCDD", -"~* c #575757", -"{* c #DBDCDC", -"]* c #DBDADA", -"^* c #D9DAD9", -"/* c #D7D6D7", -"(* c #616162", -"_* c #6A6A69", -":* c #6C6D6C", -"<* c #C0BFBF", -"[* c #CECECF", -"}* c #C2C2C3", -"|* c #7D7E7E", -"1* c #7C7D7D", -"2* c #DCDBDC", -"3* c #DCDBDB", -"4* c #616262", -"5* c #626362", -"6* c #C8C7C8", -"7* c #C5C4C5", -"8* c #DEDEDE", -"9* c #D7D8D7", -"0* c #626363", -"a* c #686767", -"b* c #CECDCD", -"c* c #7A7B7B", -"d* c #7B7A7B", -"e* c #A4A2A2", -"f* c #DEDDDD", -"g* c #D9D8D8", -"h* c #616061", -"i* c #626161", -"j* c #646565", -"k* c #CCCBCB", -"l* c #CACBCB", -"m* c #7A797A", -"n* c #BCBCBD", -"o* c #AEB0B0", -"p* c #A9A7A7", -"q* c #D7D8D8", -"r* c #616060", -"s* c #6A6A6B", -"t* c #C4C5C5", -"u* c #CACAC9", -"v* c #787778", -"w* c #787979", -"x* c #A8A8A9", -"y* c #656464", -"z* c #686869", -"A* c #727373", -"B* c #777778", -"C* c #A6A6A4", -"D* c #A3A3A5", -"E* c #6E6E6F", -"F* c #D8D7D7", -"G* c #747475", -"H* c #747575", -"I* c #C0C1C0", -"J* c #D9D8D9", -"K* c #C0C1C1", -"L* c #646363", -"M* c #949394", -"N* c #5F6060", -"O* c #666566", -"P* c #AAAAA8", -"Q* c #5F5E5F", -"R* c #5D5D5E", -"S* c #5F605F", -"T* c #6B6B6A", -"U* c #5D5D5C", -"V* c #DBDBDA", -"W* c #5A5A5B", -"X* c #5B5B5B", -"Y* c #5B5C5C", -"Z* c #D6D7D6", -"`* c #D6D5D5", -" = c #666665", -".= c #C9CACA", -"+= c #C4C4C5", -"@= c #5A595A", -"#= c #5B5B5A", -"$= c #D9D9D8", -"%= c #D5D6D6", -"&= c #D4D3D4", -"*= c #CCCBCC", -"== c #CACACB", -"-= c #B9B7B9", -";= c #DBDBDC", -">= c #585757", -",= c #D9D9DA", -"'= c #D4D4D3", -")= c #D3D3D2", -"!= c #CDCDCE", -"~= c #CDCCCC", -"{= c #CBCBCC", -"]= c #C7C7C8", -"^= c #C5C4C4", -"/= c #B5B7B7", -"(= c #A9A9A7", -"_= c #565555", -":= c #565656", -"<= c #DADBDB", -"[= c #DEDEDD", -"}= c #555454", -"|= c #555555", -"1= c #767576", -"2= c #DFDEDF", -"3= c #DDDEDD", -"4= c #545554", -"5= c #D1D0D1", -"6= c #DDDEDE", -"7= c #DDDDDE", -"8= c #D0D1D0", -"9= c #C7C6C6", -"0= c #777776", -"a= c #5E5F5F", -"b= c #5E5E5F", -"c= c #5C5C5D", -"d= c #5C5D5C", -"e= c #BBB9B9", -"f= c #5B5C5B", -"g= c #D4D3D3", -"h= c #959594", -"i= c #5B5A5B", -"j= c #A7A5A5", -"k= c #AAAAAC", -"l= c #D5D6D5", -"m= c #8E8F8F", -"n= c #6A6A6C", -"o= c #828482", -"p= c #CBCDCB", -"q= c #ABAAA9", -"r= c #A3A4A4", -"s= c #6F6F70", -"t= c #757577", -"u= c #C7C7C5", -"v= c #C0C2C2", -"w= c #D5D5D7", -" ", -" ", -" . + @ # $ % & ", -" * . = # $ - ; ", -" > , ' ) ! ~ $ ", -" { ] ^ / ( @ # ", -" _ { ) : < = ~ ", -" [ [ } | / 1 2 3 + ", -" 4 5 [ 6 | 7 8 9 ] 0 a b ", -" c d e f 4 g 6 6 < 9 h { . i j b b b ", -" k l m c n o p 5 q 6 r s b { ] t u v w x b y ", -" l l z A B C f 5 D 6 9 b a E { F G H I J a K b ", -" L l M N O P e e I I Q R S D b w H | | T * . U . V F W W W j a K ", -" L X Y Z ` d e . ..W +.@.#.I I $.%.9 b i t &.| E { > , U 0 = *.$ =.-.;.>.,.>.H v ", -" L k l '.).!.~.e {. ].^./.>.>.W (.#.) / 7 8 _.:.H F -.<.[.& }.+ * U 0 = ~ *.; |. <.1.^.^.2.3.t i ", -" 4.L 5.).6.7.e n e 5 8.9.[ 0.a.,.b.c.d.e.f.: 8 9 b a g.F <.h.i.$ = . { | 6 D = j.# |.& & k.h.l.<.g g 8.m.g. ", -" n.L o.p.q.r.n e {.5 5 [ s.t.u.b.c.v.w.x.7 8 y.b H F V <.h.; $ + z.A.B.C.%.D.J W $ & E.& h.F. .G.e -.F F ", -" n.4.L p.q.H.I.J.K.L.M.N.O.P.Q.R.S.T.) / 7 U.h a H V.-.h.i.% = . { W.6 X.Y.Z.W `. +2..+5 4 e e c c ++-. ", -" n.@+p.#+$+%+&+*+=+-+O.;+>+Q.,+'+' f./ 8 )+y.a H -.<.!+& j.U ~+T 6 D %.I {+W >.].[ 5 {.n c M l X <.]+ ", -" ^+L /+(+_+%+:+*+<+[+O.}+|+1+2+d.3+4+5+6+9 b i F 7+<.h.E.*.U { | C.8+Y.#.(.9+^.[ 8.e c l k L 0+n.a+<. ", -" b+n.c+d+I.%+:+e+=+f+g+h+Q.i+c.d.) 4+j+8 k+w j F 1.l+& m+j.. T n+D %.I #.W >.o+5 {.c l k L n.b+b+!+l. ", -" p+q+r+^+s+t+$+%+:+u+L.N.O.t.v+w+c.x+w./ 7 8 y.a H V y+l+k.$ z+* A+6 D %.I B+C+,.[ p C D+k E+^+b+F+p+[.h.F.<. ", -" G+H+p+r+!.s+t+_+%+K.I+J+N.K+L+M+b.c.N+) O+7 P+_.a H ;.-.h.& $ Q+~+_ 6 R+S+#.W >.0.8.e c l L n.b+p+G+T+T+k.U+a+<. ", -" V+W+X+Z ).6.#+#+I.J.:+L.M.N.O.h+Q.b.d.Y+Z+/ 8 r y a `+&.1.h.& j.3 > | @.@Q #.+@>.[ @@e m #@L $@p+X+%@&@*@V+X+!+!+<. ", -" =@V+V+-@P ).;@7.r.I.%+>@,@M.'@)@!@Q.b.~@N+) {@h.> R+#.{+W B+#.J S+S ]@6 D .@Q {+W /.o+5 C c #@n.r+^@/@*@(@_@=@V+:@h.l+<. ", -" <@ [@=@=@}@-@|@1@2@c+r.I.&+3@L.M.4@;+>+Q.b.{@> `. .5 9.[ 2.^.5@>.W W 6@#.#.7@I R+%.I W ,.[ 5 C m L n.b+:@T+=@8@9@_@V+X+0@h.l.<. ", -" a@a@b@c@ d@9@9@e@A O P ).6.f@t+I.g@K.e+h@N.)@i@<.j@c c e {.G.5 #.k@l@I I Y.S I ^.5 n m@#@0+b+n@o@*@p@=@=@o@X+0@b+h.U+<. H a a ", -" q@a@a@r@b@ s@t@9@u@v@w@x@y@).!.q.r.I.J.3@L.M.z@<.e 5.l M c I %.%.R D W e c #@4.b+A@B@V+V+*@V+X+X+b+n.L h.!+a+ C@`+H v ", -" q@q@D@E@F@r@G@H@ I@s@J@u@v@K@Y L@).M@/+#+I.%+:+L.8 0.n.4.L 5. S+%..@D %.^.D+L N@r+^@X+o@T+X+p+p+O@P@5.c h.U+<.Q@y+&.V G G v i ", -" R@q@S@T@U@V@W@b@X@X@Y@Z@`@I@ #.#u@A Y P ).!.7.r.+#%+@#. r+b+n.n. %.8+D D {+l n.O@b+q+p+p+r+b+##E+L l c 5 h.F.<.<.y+-.S @F v ", -" $#$#R@%#E@&#*#=#b@b@-#X@X@Z@;# #>#v@K@Y ,#'#)#/+!#~#>+^.p+p+b+ .@D q %.e {#n.$@b+##O@n.@+L l c e 5 [ /.>.(.l@]#D 6 F H H ", -" ^#/#(#R@_#&#:#<#[#}#|#1#2#3#;#J@4#v@K@Y |@'#o./+5#6#n.X+X+ R+7#7#8.L {#@+0+L L X l m e 5 .+8#/.W #.]#%.D ;.7+F g. ", -" $#/#R@9#0#a#[#}#|#b#c#d#;#e#f#g#K@Y O ` o.p.' T+V+V+ %.D ]@2.h#5.5.h#m@M c C p 5 ].,.>.W J %..@=.-.-.V ", -" i#R@_#q@j#k#l#b#m#3#;#n#>#o#K@Y O P 1@p#*@=@*@ X.D 6 [ c m c e e f 5 g 0.^...W #.I %.U+l+<. ", -" (#R@q#q@r#}#b#s#t#u#n# #u@K@N B P L.b+9@[@ D D @].e p p 4 .+8.o+^.>.W #.I %.X.h.h. ", -" R@_#r#}#v#s#w#x#y#z#u@v@A#-@'.[ B#9@ .@D S g C#C#[ [ ^.5@W W #.l@S+.@D#k.h. ", -" /#R@E#l#F#G#2#d#H#I#.#v@K@o = I@t@ X.D ]#J#^.a./.>.j@W #.l@S+%.]@} & K# ", -" i#L#M#}#|#b#2#N#;#I#>#u@K@~@O#I@ D D #.>.>.W W #.Z.I %.8+ @} A+|.& ", -" P#$#Q#k#|#b#R#t#x#S#f#u@K@T#Z@U# %.D q B+(.#.7@I ]#%.D 6 V#A.{ $ ; ", -" W#X#P#Y#E#|#b#R#Z#`#y#z#u@a X@Y@ 8+R %.I I S+%.X.q C.V#| z.. ~ $ $ ", -" $.$+$Q#E#@$#$s#w#d#H#z#o#=@c@$$ D.8+R+D %.8+D 6 V#| A.~+. = @ @ $ ", -" %$&$0#*$M#}#F#G#c#N#;#=$b b@b@ $.8+D C.7#-$| _ T . U = # m+= $ ", -" ;$>$%$0#*$j#}#,$'$2#t#`#=$N@)$r@ I %.7#B.| | { z.. z+= $ & & z+= @ ", -" !$~${$0#<#Q#]$l#v#^$w#/$($_$a@ ]#%.| { , . + ~ $ m+& h.l.=.Q+~ ", -" !$:$E@<$[$Q#E#}$|$^$1$d#. q@q@ I Q -$0 0 *.$ - & 2$h.l.1.V . . ", -" !$!$3$�#<#4$k#|#b#m#5$V+6$ I %.# $ % & K#k.a+<.]+&.F , . ", -" 7$8$9$T@0$a$<#Q#E#l#b#s#!.R@b$ #.c$$ & [.h.a+<.]+-.;.g.d$> ~+. ", -" e$f$g$h$i$0#j$k$l$}#m$b#v.$#i# #.c$= !+a+<.<.-.V.C@H H n$b ] z. ", -" o$p$q$h$E@�#<#Y#k#r$#$$ X#s$ W +.{ ++-.&.m.F 3.H a :.b 9 _ { ", -" t$u$v$g$h$i$a$0#*$r#,$F#2.W# B+]@V.F F H w$d$K x h 8 8 | { ", -" x$y$z$A$B$C$D$E$F$G$H$t$v$g$h$E@�#I$Q#}#|#V+J$ W R+t d$j a :.b 9 9 2 K$7 | A._ z., + U = j. ", -" L$x$M$z$z$N$C$O$F$G$P$Q$R$S$%#E@0$0#<#Q#T$r$X@U$ C+c$:.n$K b y 9 U.V$W$j+/ x.| T T { . + 0 = ", -" X$Y$Z$`$ %.%+%@%#%$%%%&%*%v$g$h$=%&#<#I$[#}#W#-% >.W y.b h 9 r 8 K$;%/ 4+) 3+>%d.6#2+b.Q.. z+ ", -" ,%X$'%)% %!%~%@%{%$%]%^%Q$*%q$%#/%&#(%<#Q#E#_%:% <%W 9 8 8 < 7 7 / 4+f.' ' Y+d.c.b.w+Q.>+] . ", -" [%}%Z$Z$|%1%2%+%3%#%$%4%Q$*%5%g$h$=%6%7%I$j#W#8% a.+@6+7 7 : 9%f.) w.' Y+d.c.,+p#Q.u.P.}+z.~+ ", -" 0%a%,%X$x$x$b%z$A$B$c%]%^%d%e%f%g%3$&#U@j$Q#a@!$ J#B+/ / ! ) ) ^ ' ' d.6#h%i%D D 6 B.-$_ A+{ ", -" j%0%k%X$L$l%x$m%z$n%B$O$%%o%*%v$g$p%E@�#Q#(@!$ 8#I ) w.) >%x+d.q%c.c.,+r%%.R+D C.]@6 n+| E ", -" z$s%]%^%Q$e%S$t%u%{$<$<#5 v% 9.6 N+N+d.d.q%6#h%b.r%Q.|+%.%. ", -" z$n%w%x%y%d%v$g$h$E@�#j.8$v% p C#$ d.S.c.2+,+b.i+Q.u.>+t.Q %. ", -" m%z$$%]%^%Q$z%q$%#p%E@6%b.A%8$ {. .g.h%b.b.i+Q.Q.u.!@}+K+O.7@]# ", -" x$y$B%w%4%y%*%v$S$h$E@C%D%p$p$ e f f.Q.M+v+>+P.E%}+F%O.G%N.#.7@ ", -" X$x$x$H%I%^%Q$*%v$J%h$=%&#K%p$ L%..>+P.P.!@}+}+)@O.M%N.f+(.(.#. ", -" x$x$N%$%]%&%O%P%Q%g$/%C%. u$p$ D+c j.}+g+;+O.G%4@N.f+R%J+<+C+6@ ", -" X$l%{%S%$%T%U%Q$R$f%h$E@+#t$V% l l 5+M%W%z@N.($[+M.M.J+X%Y%9+j@ ", -" }%X$3%Z%`%]%^%Q$*%v$g$h$E@t@t$o$ L l C+R%($M.M.<+h@L.L.Y%e+ &:+>.>. ", -" 0%[%X$3%H%$%]%y%Q$z%v$J%h$7 .&t$ n.L g.L.L.L.I+,@*+*+*+3@+&J.2.5@5@ ", -" @&X$+%#&$%$&^%y%Q$e%q$g$a$$#P$t$ %&n. .L.*+*+:+@#>@:+:+J.%+%+I.[ ^. ", -" &&@&*&+%#%N%]%x%Q$*%R$g$h$9 =&-& ##%&F :+:+J.;&;&;&>&%+,&I.H.$+[ ]. ", -" '&0%2%)&3%#%$%]%^%Q$*%v$g$J%s@G$t$ p+r+^.%+>&%+!&~&{&I.I.~#r.]&#+5 @@[ ", -" '&&&^&2%/&Z%#%w%x%^%Q$z%v$g$L.F$G$ n@p+^ I.H.r.r.r.r.]&t+#+s+q.c+p 5 ", -" (&_&1%:&<&3%[&`%}&]%&%Q$z%Q%S@. |&G$ T+X+# (+5#d+#+#+#+q.#+/+/+6.p.!.e f ", -" 1&2& %1%2%+%3%Z%`%]%^%U%*%P%Q%3&X+4&G$ V+5&..7./+/+p.2@2@/+;@6.!.!.).).6&L%{. ", -" 7&8&8&)% %^&2%+%9&#%$%}&T%Q$0&*%Q% #W#=&G$ =@a&L M.b&b&b&)#b&b&).b&).c&d&P P '.~.~. ", -" e&f&7&g&h&i&j& %^&k&/&3%#%$%]%^%Q$d%*%q$#+G$|&F$ 9@_@V+M+c&'#6&'#` l&P P P Z Z '.y@m&o c c e f ", -" n&n&o&p&f&q&r&s&t& %1%.%2%9&3%#%$%u&%%&%0&*%v$%+G$D$G$ t@v&=@i+P L@'.'.|@O y@,#O w&-@o -@Y }@A#x&c C y&e e ", -" z&A&n&B&C&D&E&q&h&Z$F&G&1%2%~%)&{%#%$%]%T%H&I&z%J&#+W#|&G$ I@t@A@}+Y Y Y o Y Y Y Y Y Y K&A w@D%x&v@v@u@L&u@y&e e f ", -" M&N&z&O&P&Q&R&S&E&T&g&g&U&1&V&W&X&+%{%Y&$%]%^%^%Q$e%v$ #X+4&G$G$ Z@I@I@o+{&K@K@K@Z&K@K@K@x&Z&D%`&v@v@v@o# *g# #>#f# #z#c e e ", -" .*+*z&@*#*O&$*o&p&%*f&&*8&1&1&^&2%2%9&#&#%$%]%**^%Q$*%=*J&. E$G$-&t$ b@X@-*;*E.g#L&>*v@L&v@g#v@v@g#>* *u@u@,*'*b+%&n.E+L =$y#)*m@y& ", -" .*.*!*~*{*n&]*o&^* g&U&/*(*2%<&/&3%#%$%$&**_*Q$*%5%:**+<*=&P$[*o$ a@b@b@}*L !@ #f# #4#|*,*u@4#4# #4#4# # #1*p+p+q+b+$@n.{#@+T#l D+m h.<.h. ", -" .*+*!*2*3*n& 8&8&`$4*5*2%+%#&#%$%]%]%^%Q$O%*%v$g$8 6*G$t$t$t$ q#7*D@a@_@h )*y#S#=$=$=$=$=$J@J@J@I#=$=$y#n#S#:@H+ n.@+L L l $ a U.<. ", -" 8*.*.*M& g&g&9* %1%0*2%+%3%#%H%a*]%^%H&Q$=*v$f%E@/ d@t$b*t$p$8$8$ X#$#L#R@_#q@##8 =$d#`#c*d*;#x#;#;#;#;#;#;#;#;#/$u#/$V+T+:@ @+L L . a 8 e* ", -" f* g*U&9*h*i*!%k&9&j*#%B%a*]%4%y%Q$*%z%Q%g$%##+3 $$p$7$f$8$k*!$l*8%:%U$U$U$W#P#$#V+$ &m#s#2#w#w#5$t#5$t#d#m*Z#5$m*N#d#5$m*w#a&n*5& ^.D o* p*H 9 & 9 ", -" g&q*8&r*^&5*2%+%@%#%#%$%u&x%^%Q$s*=*=*v$g$h$h$u@Q.; 5 =@t*W#u*$#G@o@^.& b.|@|#|##$b#'$b#v*v*s#s#R#R#s#w#m#m#m#c#m#w*m#_@=@=@ m E Q.x* | F b $ a [.F 8 ", -" g&g&9*h*i*:&2%~%y*3%#%S%I%z*T%Q$Q$d%=*v$g$t%J%p%E@&#�#0#+$<#*$A*j#E#E#}#}#}#}$|#|#F#v#b#b#b#b#b#B*'$b#b#v*b#B*b#v&9@p@ %.M.O+^. %.6 = & H K & $ C*|.D* E.D y+ ", -" g&9*1& % %^&2%*&+%3%#%`%$%]%T%U%Q$I&*%R$v$g$3&g%E*E@i$&#<$a$0#7%I$=#Q#Q#M#E#E#E#}#}#}#}$l#|#,$}$|#|#|#|#|#|#m$t@t@9@ - *+H >.>.%.E.a 9 / 7 b H -.h.= . . = & h.-.6 6 H ", -" g&F*U&1& %V&5*k&+%3%3%N%$%$%x%4%y%Q$0&z%v$g$g$g$h$u%E@C%C%&#a$0#0#j$<#k$=#Q#Q#j#E#E#G*E#}#T$T$}#T$H*}#}#Z@I*<*I@ 5 h%%+Q.c.d.}+Q.d.) 8 a F <.% . W.6 $.]#l@#.5 { ", -" J*g&F*1& %4*^&2%<&+%3%#&`%$%]%T%^%Q$Q$*%P%P%v$q$S@%#h$/%E@&#=%&#a$(%0#0#<#<#<#A*=#Q#Q#Y#[#M#Q#j#[#[#Z@Z@K*I* c 7 #+%+*+N.P.b.T./ 9 a -.h.$ { D I W ^. .c c | ", -" g&g&)%j& %^&:&L*+%3%3%#%$%$%u&x%^%^%Q$Q$P%e%v$g$g$g%h$u%h$E@{$=%=%&#&#(%0#+$[$<#*#<#<#=#<#I$A*}*X@Y@ X+W M*#+%+*+N.>+b.T./ 9 H -.K#= | X.#.>.g c L L #.i. ", -" 7&g&Z$N*)% %V&.%2%*&+%3%O*Y&$%I%u&z*^%^%Q$O%*%z%v$v$f%S@h$h$h$p%E@E@E@&#&#&#U@6%U@<$0#a$0#:#0#b@X@ p+*.M.!.(+%+,@z@>+S.j+H h.& $ . . P*6 I ,.5 l n.p+p+5 Q+ ", -" J*7&h&Q*Z$)% % %1%:&~%<&+%3%#%H%$%a*I%]%^%^%&%Q$d%*%*%R$v$g$g$t%%#g%h$T@/%E@/%C%E@{$=%0$=%&#&#V@b@ Z@ V+*.~#L@!.r.%+,@>+9 = I W W W I .@6 6 D#%.W [ l b+X+V+X+].$ ", -" f&&*q&R*h&Z$S*`$ %4*^&2%2%+%3%3%#&N%Y&w%u&]%%%^%o%Q$Q$T**%e%v$v$q$q$g$g$g$h$%#h$h$h$p%/%u%/%3$a@)$ Z@D b+ D #+v@y@!.#++&/ | [ | R {+e L q+p+b+l W = F H F H ", -" B&o&f&E&U*q&1&1&_&_&'&0%^&W&2%k&+%)&3%{%#%B%$%$&]%4%4%^%_*Q$s*I&*%=*5%R$v$v$Q%S$W#X#$#(#(#g$%#t%7*a@b@ C /+:+. ^.B+u.=$v@O !.>@H >. | %.e l n.L l e #.{ . . <.b ", -" V*o&W*X*Y*g*g&1&9*Z*'&&&`*k%X$W&.%~%+%+%3% =#%N%$%$%w%]%T%^%^%^%U%Q$Q$O%d%u*.=U$ $W#X#$#$#R@v$v$v$+=a@a@ R@e O. #;#f#d#1*v@O I.& L 6 $.[ e c e [ >.#.%.$ F ", -" 3*n&n&$*@=#=f&$= Z*'&%=[%X$X$&=x$L*k&/&@%#&3%#%H%B%a*}&]%4%**8$*=v%!$==:%%$U$ P#i#b$O%*%*%7*a@ 9@a b#b#d#=$v@).=.-= 6 %.^.g [ >.6@I | <. ", -" M&z&;=>=O&$*o&,=J* 0%[%,%X$'=x$)=z$n%+%/&)&#% =G$P$t$t$!=~=8$*={=8% ]=$#Q$H&H&q@^=a@ %.|#b#w#S# #) /= (=%.`.W #.S+D | l. ", -" .*.*_=:=~*<=o&e& X$x$x$M$)=N$2%+%+%D$|&G$.&t$V%p$ W#$#$#**]%T%q@a@ | }#|#2#;#I.C+ 6 D D X.6 | . h. ", -" 8*[=.*}=|=:=3*<= b%z$^&^&2%C$E$ 6*]=$%$%$%q@q@_$ b@c.Q#1=s#/$H t@ 6 n+| { . E.& ", -" 2=8*3=.*4=z&z&n& x$b% %(*^&5=B$ W#P#$#b$L#9#q#q@ V+Y Q#}#b#).[ | ~+. = m+h.h.<. ", -" 2=6=7=.*M&z& &=x$)%j&h*N$8= W#W#6*$#9= ^.Q#<#E#0=Q.=@ D { & & U+-.-.m+ ", -" 8*6=.*.* X$l%a=Z$Z$N$B$ U$W#W# :%H 0#0#Q#^$y+Z@ { <.-.m.H b h. ", -" 8* X$X$q&h&b=z$n% U$*+g$&#<#w#R+ 6 y+H a h 8 -.= ", -" 0%X$c=d=q&z$z$ $#e=b+$@#.=$:*E@0#w#5 %.F 9 r 7 O+b h.h.<.$ ", -" 0%0%f=X*E&g=x$ -.v$g$h$0#^%*%h$&#w#l %.H 7 / ) ' c.d.h=/ h. ", -" &&%=C&i=X*g=g= t@| | { b E#Q$g$E@w#e I b ) ' d.c.) C@g.F j= ", -" Z*j%&&0%[%X$X$ p$r.^%R$h$}#>. I 7 c.h%p#v+a k= ", -" 2&_&&&l=0%,%X$ p$m=]%Q$v$&#& } d.>+>+}+O.H ", -" . *%^%*%g$b.W# $ }+O.N.R%L+# ", -" l n=$%U%z%u@/@ [ 9 M.L.L.*+h+| ", -" ~$v@#%]%Q$E@& p$ 6 O.:+:++&%+/ #. ", -" V%` j*#%x%0&P V+ e 9 I.I.I.r.%+h. ", -" t$o=2%3%$%**v$2 W# l = %+/+/+/+!.~&D ", -" 8$ # %2%3%$%^%}#| p= Y.O.).).c&P P r.D ", -" 1&X@c.^& %2%X&3%$%^% #W p$ 9+b.o B Y Y Y K@x@8 %.[ ", -" f&%.*$E#7 q ) **+%{%$%^%=$. W# =@6 }+u@v@v@v@L&).:+%+!.O.#. ", -" n&e y+q@1& x$'+2%+%O*$%^%<#) $@W# I@^+-.#+=$z# #1*=$u@=.[ [ q=& 5 ", -" z&g& I@L@ %~%3%H%]%O%=$V$c b@R@ q@t@c <.:+;#w#N#d#d#d#w#c.c l ", -" V+O 1%2%y*#%u&^%v$}##+c.<.{ { r=7 M.D%b#|#b#b#b#b#b#b#Q.e ", -" *@O.]%!%+%O*$%4%Q$*%g$h$�#0#7%:#=#Q#E#E#T$T$}#v@8 c ", -" D$I.|%^&L*3%#%]%^%Q$*%v$g$h$T@E@�#0#7%<#<#w#}.V+ ", -" x$}+b=)%V&2%+%O*H%w%^%Q$*%z%v$g$g%h$E@E@s=&#K@p+ ", -" 0%%+E#>%7 *+E#+%~%3%#%$%]%^%Q$Q$O%&#u@Q./ #+u@L ", -" b+E@$ '& B$I@A+) v@t=#%3%Q#w##+9 6 p+W#u=l ).>+9@ ", -" t$O :+t$ z$q@t@O <#.+v=Z@!$ <.b#>. ", -" 1&F X+ t$}+s#a@ 9@& p+ ", -" w=z& t$'@|#q@ R@ ", -" D$N.E#R@ ", -" z$= b.:% ", -" z$G$ "}; diff --git a/src/Mod/Ship/Icons/DiscretizeIco.png b/src/Mod/Ship/Icons/DiscretizeIco.png deleted file mode 100644 index bdba9aca0e679ae6c405ae94059960257e3e8eeb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14038 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�#F{R9|;jQ34YOODR6KP(J2VWUspe9<+`Y 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 Wr}8<967wsQzd^f%e?N}@oc{&dx->cf diff --git a/src/Mod/Ship/Icons/DiscretizeIco.xpm b/src/Mod/Ship/Icons/DiscretizeIco.xpm deleted file mode 100644 index 9bff402e3..000000000 --- a/src/Mod/Ship/Icons/DiscretizeIco.xpm +++ /dev/null @@ -1,2028 +0,0 @@ -/* XPM */ -static char * DiscretizeIco_xpm[] = { -"128 128 1897 2", -" c None", -". c #9F6602", -"+ c #9F6601", -"@ c #A06602", -"# c #9F6502", -"$ c #A16702", -"% c #A06701", -"& c #A06700", -"* c #A16703", -"= c #9F6501", -"- c #A26803", -"; c #A16802", -"> c #A16601", -", c #A26905", -"' c #A66E0E", -") c #A76F0F", -"! c #A36902", -"~ c #A36802", -"{ c #A26802", -"] c #A26804", -"^ c #A56D0B", -"/ c #A77011", -"( c #A77012", -"_ c #A87212", -": c #A26A07", -"< c #A06601", -"[ c #A56903", -"} c #A46A04", -"| c #A36803", -"1 c #A56D0A", -"2 c #A67010", -"3 c #A77111", -"4 c #A77010", -"5 c #AA751A", -"6 c #B38432", -"7 c #A66F0F", -"8 c #A06702", -"9 c #A56902", -"0 c #A36904", -"a c #A46B08", -"b c #A56E0F", -"c c #A67011", -"d c #AF7E28", -"e c #BF9854", -"f c #B1802B", -"g c #A36B09", -"h c #A66B03", -"i c #A56A03", -"j c #A46B06", -"k c #A46E0D", -"l c #A56E10", -"m c #B1822E", -"n c #CBAC74", -"o c #C6A366", -"p c #A16803", -"q c #A66B04", -"r c #A66B06", -"s c #A56C0C", -"t c #A46D10", -"u c #A46D0F", -"v c #A46E0F", -"w c #A56F10", -"x c #B78A3D", -"y c #D3B889", -"z c #D6BD91", -"A c #BB9249", -"B c #A46D0B", -"C c #A16602", -"D c #A86C04", -"E c #A76C04", -"F c #A76C03", -"G c #A76C05", -"H c #A46C0B", -"I c #A36D0F", -"J c #A36D10", -"K c #A46E10", -"L c #A56F0F", -"M c #A77317", -"N c #CCAC76", -"O c #E1CFAF", -"P c #DEC9A5", -"Q c #D8C096", -"R c #A97418", -"S c #A16804", -"T c #A96D05", -"U c #A86D05", -"V c #AA6D03", -"W c #A56C09", -"X c #A26D0F", -"Y c #A26D10", -"Z c #B07F2B", -"` c #E9DCC5", -" . c #E7D9C0", -".. c #E6D7BC", -"+. c #C9A86E", -"@. c #A56E0D", -"#. c #AA6D05", -"$. c #A96D04", -"%. c #A66C08", -"&. c #A26B0E", -"*. c #A16B10", -"=. c #A16C0F", -"-. c #A26C0F", -";. c #C19D5D", -">. c #EBDFCB", -",. c #F3ECDF", -"'. c #F0E7D7", -"). c #E9DBC3", -"!. c #B88D40", -"~. c #A36A06", -"{. c #AB6F06", -"]. c #AB6E05", -"^. c #AB6E04", -"/. c #A86D07", -"(. c #A26B0C", -"_. c #A06B10", -":. c #A16B0F", -"<. c #B5893C", -"[. c #E5D6BC", -"}. c #F3EDE1", -"|. c #FCFAF7", -"1. c #F9F5EF", -"2. c #ECE1CE", -"3. c #B48636", -"4. c #A76F10", -"5. c #A36D0E", -"6. c #AC7006", -"7. c #AC6F05", -"8. c #A96D07", -"9. c #A36B0C", -"0. c #9F6A0F", -"a. c #A06A0F", -"b. c #A16A0F", -"c. c #A16A0E", -"d. c #C6A56B", -"e. c #E6D7BE", -"f. c #EFE6D6", -"g. c #F4EEE3", -"h. c #A36E10", -"i. c #BE8013", -"j. c #B9790A", -"k. c #9D6401", -"l. c #AD7006", -"m. c #AC6F06", -"n. c #AD7005", -"o. c #A46C0A", -"p. c #9F6A0D", -"q. c #9E6A0F", -"r. c #9F6A0E", -"s. c #A06B0E", -"t. c #A16B0E", -"u. c #B48639", -"v. c #D4BA8F", -"w. c #E0CEAF", -"x. c #EDE3D1", -"y. c #DAC59F", -"z. c #A47217", -"A. c #B77B12", -"B. c #DF9616", -"C. c #E69B17", -"D. c #DB9315", -"E. c #AE7107", -"F. c #AE7106", -"G. c #AD7007", -"H. c #A66D09", -"I. c #9F690E", -"J. c #9D6A0F", -"K. c #A06A0E", -"L. c #A8761E", -"M. c #C29E5F", -"N. c #D3B88B", -"O. c #DBC6A1", -"P. c #D4BB8F", -"Q. c #B1853A", -"R. c #AD7310", -"S. c #CC8913", -"T. c #E09616", -"U. c #4D3408", -"V. c #A26E14", -"W. c #EDA323", -"X. c #C2800D", -"Y. c #AE7206", -"Z. c #AF7206", -"`. c #B07106", -" + c #A96E08", -".+ c #9F6A0C", -"++ c #9C690D", -"@+ c #9E690D", -"#+ c #9E6A0E", -"$+ c #A7751D", -"%+ c #B88E46", -"&+ c #C4A165", -"*+ c #C5A46A", -"=+ c #B2863D", -"-+ c #C58313", -";+ c #DC9416", -">+ c #DF9515", -",+ c #EA9D17", -"'+ c #875D10", -")+ c #4E483D", -"!+ c #F2C983", -"~+ c #DE9516", -"{+ c #A86C05", -"]+ c #B07207", -"^+ c #B07306", -"/+ c #AC7007", -"(+ c #A06A0B", -"_+ c #9B670D", -":+ c #9C680D", -"<+ c #9D690D", -"[+ c #9E680D", -"}+ c #A7741D", -"|+ c #B18435", -"1+ c #AB7E2F", -"2+ c #BC7E12", -"3+ c #D89115", -"4+ c #DE9415", -"5+ c #DA9215", -"6+ c #DC9316", -"7+ c #E8A125", -"8+ c #827C72", -"9+ c #C8B694", -"0+ c #EFA019", -"a+ c #CC8710", -"b+ c #9D6501", -"c+ c #B17408", -"d+ c #B17207", -"e+ c #B27307", -"f+ c #A26B0B", -"g+ c #9A660D", -"h+ c #9E6A0D", -"i+ c #A27018", -"j+ c #AB7F33", -"k+ c #AC8035", -"l+ c #A87927", -"m+ c #A26D13", -"n+ c #A06C12", -"o+ c #9F6C10", -"p+ c #B47911", -"q+ c #D38E14", -"r+ c #DD9416", -"s+ c #DB9215", -"t+ c #E29816", -"u+ c #EAA32A", -"v+ c #CFB07B", -"w+ c #898988", -"x+ c #E09717", -"y+ c #D68E13", -"z+ c #A26702", -"A+ c #B27408", -"B+ c #B37508", -"C+ c #B17308", -"D+ c #A66D0A", -"E+ c #9B670C", -"F+ c #9D670C", -"G+ c #9D680D", -"H+ c #9E690E", -"I+ c #9E6B0E", -"J+ c #A3721B", -"K+ c #B6965C", -"L+ c #C0A779", -"M+ c #CDBDA4", -"N+ c #AE843D", -"O+ c #A77724", -"P+ c #A26C11", -"Q+ c #AC7410", -"R+ c #DC9314", -"S+ c #D99214", -"T+ c #D99115", -"U+ c #DC9315", -"V+ c #D79015", -"W+ c #432D06", -"X+ c #CA8713", -"Y+ c #F4AC2B", -"Z+ c #422C05", -"`+ c #8C5A05", -" @ c #A86F0A", -".@ c #9C670C", -"+@ c #99660C", -"@@ c #9C670D", -"#@ c #9C680C", -"$@ c #A57626", -"%@ c #B79760", -"&@ c #D2C9BB", -"*@ c #CFC7B7", -"=@ c #C2AC83", -"-@ c #B38D4C", -";@ c #A06B11", -">@ c #9D680E", -",@ c #C58312", -"'@ c #DA9114", -")@ c #D79014", -"!@ c #D89014", -"~@ c #D99114", -"{@ c #D18C14", -"]@ c #C28313", -"^@ c #F3A317", -"/@ c #4A3208", -"(@ c #442E06", -"_@ c #C9840D", -":@ c #A36903", -"<@ c #AD6F03", -"[@ c #B47609", -"}@ c #B57508", -"|@ c #AD7009", -"1@ c #9D670B", -"2@ c #98640C", -"3@ c #9A660C", -"4@ c #A06D16", -"5@ c #B69358", -"6@ c #C7B89D", -"7@ c #D8D7D5", -"8@ c #D1CBC0", -"9@ c #B39359", -"0@ c #A16F16", -"a@ c #9C680E", -"b@ c #C38211", -"c@ c #D69013", -"d@ c #D68F13", -"e@ c #D79013", -"f@ c #E39815", -"g@ c #E39816", -"h@ c #79510C", -"i@ c #140E03", -"j@ c #EB9E17", -"k@ c #C3810E", -"l@ c #996303", -"m@ c #B47608", -"n@ c #B57608", -"o@ c #B67709", -"p@ c #B07309", -"q@ c #97640C", -"r@ c #99650C", -"s@ c #A16F1C", -"t@ c #C0A982", -"u@ c #D2CCC1", -"v@ c #D6D6D6", -"w@ c #D4D3D2", -"x@ c #AC8540", -"y@ c #9B680E", -"z@ c #9D690E", -"A@ c #B47810", -"B@ c #D38C13", -"C@ c #895C0C", -"D@ c #D08C13", -"E@ c #D89114", -"F@ c #D68F14", -"G@ c #DA9214", -"H@ c #D58E13", -"I@ c #2A1C04", -"J@ c #E19716", -"K@ c #E29817", -"L@ c #382402", -"M@ c #A26A05", -"N@ c #A16704", -"O@ c #A76C06", -"P@ c #B87709", -"Q@ c #B47509", -"R@ c #A36B0B", -"S@ c #96630C", -"T@ c #98650C", -"U@ c #9B660C", -"V@ c #A07220", -"W@ c #BDA47A", -"X@ c #D8D8D8", -"Y@ c #D5D5D5", -"Z@ c #D0CCC5", -"`@ c #BCA37A", -" # c #9E680E", -".# c #9B680D", -"+# c #AD730F", -"@# c #CB8811", -"## c #E29714", -"$# c #372505", -"%# c #513607", -"&# c #E59914", -"*# c #AE7510", -"=# c #D38D13", -"-# c #E89C15", -";# c #181003", -"># c #7C520A", -",# c #BD7B09", -"'# c #A86B03", -")# c #AC6F04", -"!# c #AC7618", -"~# c #CDB58A", -"{# c #B6780A", -"]# c #B97809", -"^# c #B67609", -"/# c #A76E0A", -"(# c #98640B", -"_# c #95630C", -":# c #9A670C", -"<# c #BEAB8A", -"[# c #D0CDC9", -"}# c #C4B292", -"|# c #A77B30", -"1# c #99660D", -"2# c #C58311", -"3# c #D48E13", -"4# c #D89013", -"5# c #C38212", -"6# c #000000", -"7# c #BD7F11", -"8# c #E59915", -"9# c #3C2805", -"0# c #483007", -"a# c #EA9C15", -"b# c #AB7009", -"c# c #EAEAEA", -"d# c #B8780A", -"e# c #B87809", -"f# c #B97909", -"g# c #AC710A", -"h# c #99660B", -"i# c #94620B", -"j# c #96630B", -"k# c #97640B", -"l# c #9E6C15", -"m# c #B1925B", -"n# c #D4D4D4", -"o# c #D3D3D4", -"p# c #D7D7D7", -"q# c #B99D6E", -"r# c #A16E14", -"s# c #BC7E10", -"t# c #D38C12", -"u# c #D58E12", -"v# c #D28C12", -"w# c #D38D12", -"x# c #E39714", -"y# c #604009", -"z# c #362405", -"A# c #EC9D16", -"B# c #C68412", -"C# c #4D3202", -"D# c #A46A03", -"E# c #A76B04", -"F# c #E9EAEA", -"G# c #BA790A", -"H# c #BA7A0A", -"I# c #B0740A", -"J# c #9C670B", -"K# c #93620B", -"L# c #94620A", -"M# c #96640B", -"N# c #B2935C", -"O# c #D1CEC6", -"P# c #D3D2D2", -"Q# c #D1D1D0", -"R# c #D2D3D3", -"S# c #CCC4B5", -"T# c #BC8B35", -"U# c #CF8A11", -"V# c #D48D12", -"W# c #D18B12", -"X# c #D08B12", -"Y# c #8F5F0C", -"Z# c #DE9414", -"`# c #D58E14", -" $ c #000001", -".$ c #A66D0B", -"+$ c #B17307", -"@$ c #AF7105", -"#$ c #AA6E05", -"$$ c #EBEBEB", -"%$ c #ECECEC", -"&$ c #BA790B", -"*$ c #BC7B0A", -"=$ c #B5770A", -"-$ c #A06A0A", -";$ c #93600B", -">$ c #93610A", -",$ c #95630A", -"'$ c #95630B", -")$ c #AC8643", -"!$ c #CEC7B8", -"~$ c #D4D3D4", -"{$ c #C8C8C9", -"]$ c #CCCCCC", -"^$ c #D3B683", -"/$ c #D48F18", -"($ c #DE9413", -"_$ c #070501", -":$ c #80550C", -"<$ c #E09412", -"[$ c #A26907", -"}$ c #B47405", -"|$ c #E7E7E8", -"1$ c #BB7B0B", -"2$ c #BA7B0A", -"3$ c #BD7C0A", -"4$ c #B97A0A", -"5$ c #A56C0A", -"6$ c #94610A", -"7$ c #92600A", -"8$ c #95620A", -"9$ c #95620B", -"0$ c #96640C", -"a$ c #9C6C16", -"b$ c #BDA67D", -"c$ c #D0D0CB", -"d$ c #CDCDCD", -"e$ c #C2C1C3", -"f$ c #D2D2D1", -"g$ c #D6D6D5", -"h$ c #D4A95E", -"i$ c #CE8C19", -"j$ c #D18C12", -"k$ c #D28D12", -"l$ c #5E3F08", -"m$ c #F0A115", -"n$ c #764C04", -"o$ c #AA6E04", -"p$ c #A96E05", -"q$ c #E7E7E7", -"r$ c #E8E8E8", -"s$ c #BB7C0B", -"t$ c #BD7C0B", -"u$ c #BC7B0B", -"v$ c #AA700A", -"w$ c #956209", -"x$ c #905F0A", -"y$ c #946109", -"z$ c #A57C36", -"A$ c #C1B298", -"B$ c #D0D0D0", -"C$ c #C8C8C8", -"D$ c #C1C1C1", -"E$ c #CFCFCF", -"F$ c #D6D0C9", -"G$ c #D3A24E", -"H$ c #CD8911", -"I$ c #C88611", -"J$ c #7F550B", -"K$ c #E69A13", -"L$ c #B27710", -"M$ c #050300", -"N$ c #B8790C", -"O$ c #AD6F06", -"P$ c #B37406", -"Q$ c #AC7005", -"R$ c #BC7C0B", -"S$ c #BE7C0B", -"T$ c #BF7D0B", -"U$ c #B0730A", -"V$ c #986409", -"W$ c #8F5F09", -"X$ c #91610A", -"Y$ c #95640B", -"Z$ c #98650B", -"`$ c #94620C", -" % c #BCA580", -".% c #D2CEC8", -"+% c #CECECE", -"@% c #C0C0C0", -"#% c #C0C1C1", -"$% c #D0D0CF", -"%% c #D7CAB6", -"&% c #D6A54F", -"*% c #D08B11", -"=% c #D68F12", -"-% c #C78411", -";% c #AE750F", -">% c #D08A0F", -",% c #A86D06", -"'% c #B47506", -")% c #AC7106", -"!% c #E8E8E7", -"~% c #E9E9E9", -"{% c #C07E0C", -"]% c #B5770B", -"^% c #9C670A", -"/% c #8F5E09", -"(% c #915F09", -"_% c #926009", -":% c #936109", -"<% c #92610A", -"[% c #96630A", -"}% c #97630B", -"|% c #AE7714", -"1% c #D2C2A8", -"2% c #C8C7C7", -"3% c #BDBDBD", -"4% c #BEBDBE", -"5% c #D0CFCF", -"6% c #D5D2CC", -"7% c #D19C3F", -"8% c #221703", -"9% c #8E5F0C", -"0% c #EB9D14", -"a% c #7C5208", -"b% c #9B6407", -"c% c #AD7106", -"d% c #BF7E0C", -"e% c #C2800C", -"f% c #BB7A0B", -"g% c #A26A0A", -"h% c #8E5D09", -"i% c #925F09", -"j% c #926109", -"k% c #A66E0C", -"l% c #CF9A3C", -"m% c #D1C7B6", -"n% c #D0CFD0", -"o% c #C6C5C5", -"p% c #BCBBBB", -"q% c #BDBCBB", -"r% c #CECECD", -"s% c #D4D5D5", -"t% c #E4AB48", -"u% c #81560B", -"v% c #2D1E03", -"w% c #B47507", -"x% c #AF7207", -"y% c #ECEBEB", -"z% c #C07E0D", -"A% c #BF7D0C", -"B% c #A86F0B", -"C% c #905E09", -"D% c #8C5C09", -"E% c #905F09", -"F% c #94610B", -"G% c #91610B", -"H% c #9E6A0C", -"I% c #BC7D0E", -"J% c #CC870F", -"K% c #CB870F", -"L% c #CFAA69", -"M% c #D2CFC9", -"N% c #CBCBCB", -"O% c #C0BFC0", -"P% c #BAB9B9", -"Q% c #BEBEBE", -"R% c #CDCECD", -"S% c #C9C9C9", -"T% c #D0AA69", -"U% c #C17F0C", -"V% c #B37407", -"W% c #E8E9E8", -"X% c #E7E8E7", -"Y% c #EBEAEB", -"Z% c #C3800D", -"`% c #C3800C", -" & c #AF730B", -".& c #8B5C09", -"+& c #8E5E09", -"@& c #916009", -"#& c #91600A", -"$& c #99660A", -"%& c #B5770E", -"&& c #C9850F", -"*& c #CA860F", -"=& c #D2B88A", -"-& c #D1CFCB", -";& c #CACACB", -">& c #BEBEBD", -",& c #B9BABA", -"'& c #CACBCB", -")& c #D3D3D3", -"!& c #C5A672", -"~& c #B07307", -"{& c #E6E6E6", -"]& c #DDDEDD", -"^& c #DEDDDE", -"/& c #C27F0D", -"(& c #C5810D", -"_& c #B6780C", -":& c #98640A", -"<& c #8A5B09", -"[& c #8D5C08", -"}& c #915F0A", -"|& c #95610A", -"1& c #AE730C", -"2& c #C7830E", -"3& c #CA850F", -"4& c #C7840F", -"5& c #C8850F", -"6& c #C9891C", -"7& c #D0B586", -"8& c #D1D1D1", -"9& c #C7C7C7", -"0& c #BCBCBB", -"a& c #BABBBA", -"b& c #B8B8B8", -"c& c #C4C4C4", -"d& c #D6CEC1", -"e& c #BB8B34", -"f& c #DDDCDD", -"g& c #C3810D", -"h& c #C3800E", -"i& c #C6830D", -"j& c #BC7B0C", -"k& c #9D6709", -"l& c #8A5B08", -"m& c #8B5B08", -"n& c #8D5D09", -"o& c #8E5E08", -"p& c #8F5E08", -"q& c #AD720C", -"r& c #C6820E", -"s& c #CE880F", -"t& c #C6830E", -"u& c #C7840E", -"v& c #D28C10", -"w& c #B98323", -"x& c #D6BB8B", -"y& c #B9BAB9", -"z& c #B9B9B9", -"A& c #BFBFBF", -"B& c #D5D4D1", -"C& c #E2E3E1", -"D& c #B3B3B3", -"E& c #E8E8E9", -"F& c #C4810E", -"G& c #C3820D", -"H& c #C7830D", -"I& c #C17F0D", -"J& c #895A07", -"K& c #8D5D08", -"L& c #8E5D08", -"M& c #906009", -"N& c #9E690A", -"O& c #BB7B0D", -"P& c #C1800E", -"Q& c #2A1B03", -"R& c #BE7E0D", -"S& c #C9850E", -"T& c #CD880F", -"U& c #CB860F", -"V& c #080808", -"W& c #D1C0A2", -"X& c #CFCFCE", -"Y& c #C4C3C4", -"Z& c #BABABA", -"`& c #B9B9B8", -" * c #B8B7B7", -".* c #C9CAC9", -"+* c #D7D8D7", -"@* c #DCDCDC", -"#* c #E9EAE9", -"$* c #E4E5E5", -"%* c #CBCBCA", -"&* c #ADADAD", -"** c #D2D1D2", -"=* c #EBEBEC", -"-* c #C4820E", -";* c #C5820E", -">* c #AB710B", -",* c #8E5D07", -"'* c #885907", -")* c #8C5C07", -"!* c #8C5C08", -"~* c #B5780C", -"{* c #D38C0E", -"]* c #3B2704", -"^* c #4A3105", -"/* c #D38B0F", -"(* c #503406", -"_* c #C07F0E", -":* c #D99010", -"<* c #35270E", -"[* c #C1B39B", -"}* c #CFD0D0", -"|* c #B8B9B9", -"1* c #B7B7B7", -"2* c #B5B6B6", -"3* c #BEBFBF", -"4* c #D7D8D8", -"5* c #E7E7E6", -"6* c #DFE0E0", -"7* c #B1B1B1", -"8* c #A6A5A5", -"9* c #C5830F", -"0* c #B4760C", -"a* c #936008", -"b* c #875806", -"c* c #8A5A07", -"d* c #8C5B07", -"e* c #8C5B08", -"f* c #8F5D09", -"g* c #936009", -"h* c #AE720B", -"i* c #C7850E", -"j* c #B8790D", -"k* c #010000", -"l* c #AB720C", -"m* c #D9900F", -"n* c #312004", -"o* c #472F06", -"p* c #CC870E", -"q* c #B9801B", -"r* c #CDB487", -"s* c #C5C4C4", -"t* c #B6B5B6", -"u* c #C6C7C6", -"v* c #E4E4E3", -"w* c #C1C2C2", -"x* c #969797", -"y* c #A3A3A3", -"z* c #DDDDDE", -"A* c #BC7B0D", -"B* c #865706", -"C* c #8B5B07", -"D* c #8A5B07", -"E* c #8D5C09", -"F* c #C07F0D", -"G* c #C5820D", -"H* c #C1800D", -"I* c #CC860E", -"J* c #D58C0F", -"K* c #5D3D06", -"L* c #291C03", -"M* c #D78E0F", -"N* c #B9790C", -"O* c #9F6808", -"P* c #B87909", -"Q* c #B6770A", -"R* c #C9B38E", -"S* c #D1D2D1", -"T* c #C6C7C7", -"U* c #B6B7B7", -"V* c #B5B5B5", -"W* c #B3B3B2", -"X* c #B6B5B5", -"Y* c #C8C6C8", -"Z* c #D7D7D8", -"`* c #E5E5E5", -" = c #D0D1D0", -".= c #9A9B9B", -"+= c #949494", -"@= c #AEAEAE", -"#= c #E5E6E6", -"$= c #C9840F", -"%= c #C2800E", -"&= c #A06909", -"*= c #865806", -"== c #895A06", -"-= c #895B07", -";= c #9F680A", -">= c #BB7C0D", -",= c #C4810D", -"'= c #C4820D", -")= c #B3760C", -"!= c #3A2604", -"~= c #CF880E", -"{= c #281A02", -"]= c #BB7B0A", -"^= c #B8790A", -"/= c #CECECF", -"(= c #BBBBBB", -"_= c #B6B6B6", -":= c #B4B3B3", -"<= c #B2B1B2", -"[= c #B6B6B7", -"}= c #CAC9CA", -"|= c #D8D7D7", -"1= c #E3E3E3", -"2= c #A4A4A4", -"3= c #939393", -"4= c #979797", -"5= c #E6E5E5", -"6= c #CC8810", -"7= c #C8840F", -"8= c #A86E0B", -"9= c #895906", -"0= c #855605", -"a= c #895907", -"b= c #8B5A07", -"c= c #B4760B", -"d= c #C27F0C", -"e= c #C07F0C", -"f= c #CE870E", -"g= c #060401", -"h= c #C6830C", -"i= c #C17E0A", -"j= c #BBBCBB", -"k= c #B4B4B5", -"l= c #B3B2B2", -"m= c #AFAFAF", -"n= c #D9D8D8", -"o= c #D9D9D9", -"p= c #DEDDDD", -"q= c #E7E6E7", -"r= c #E5E5E4", -"s= c #E2E2E2", -"t= c #D3D4D4", -"u= c #9F9F9F", -"v= c #999898", -"w= c #969696", -"x= c #9B9B9C", -"y= c #D2D2D2", -"z= c #EBEAEA", -"A= c #CA8610", -"B= c #CD8710", -"C= c #CC880F", -"D= c #B0750C", -"E= c #835505", -"F= c #885906", -"G= c #8A5A06", -"H= c #8C5D08", -"I= c #8B5B09", -"J= c #946108", -"K= c #B0740B", -"L= c #BE7D0C", -"M= c #CD870D", -"N= c #CA850E", -"O= c #4D3205", -"P= c #D88E0F", -"Q= c #B9790B", -"R= c #CFCECF", -"S= c #B4B4B4", -"T= c #B2B2B2", -"U= c #ADADAE", -"V= c #BFBFC0", -"W= c #DDDEDE", -"X= c #DEDEDE", -"Y= c #E4E4E5", -"Z= c #DADADB", -"`= c #C7C7C6", -" - c #A9A7A8", -".- c #949394", -"+- c #9A9999", -"@- c #979798", -"#- c #A4A4A5", -"$- c #D6D7D7", -"%- c #EAEAE9", -"&- c #CB8710", -"*- c #CE8911", -"=- c #B97A0D", -"-- c #825505", -";- c #855706", -">- c #885806", -",- c #8A5B06", -"'- c #8D5C07", -")- c #895A08", -"!- c #744C07", -"~- c #C9850C", -"{- c #432C05", -"]- c #D68D0E", -"^- c #462E04", -"/- c #B97A0B", -"(- c #BC7C0A", -"_- c #BFBFBE", -":- c #B7B7B6", -"<- c #B5B4B4", -"[- c #B2B3B2", -"}- c #B0B0B0", -"|- c #CACACA", -"1- c #DBDBDB", -"2- c #DEDFDF", -"3- c #DFDFDF", -"4- c #DEDEDF", -"5- c #E0E1E1", -"6- c #E1E2E2", -"7- c #E0DFDF", -"8- c #E4E3E3", -"9- c #DEDEDD", -"0- c #CBCDCC", -"a- c #B7B8B7", -"b- c #A2A2A2", -"c- c #989898", -"d- c #999999", -"e- c #CD8810", -"f- c #D08A11", -"g- c #C2800F", -"h- c #9A6508", -"i- c #825506", -"j- c #835606", -"k- c #895806", -"l- c #8A5A08", -"m- c #9E6809", -"n- c #BF7E0B", -"o- c #C17F0B", -"p- c #010100", -"q- c #845608", -"r- c #C7830C", -"s- c #C3810C", -"t- c #CB860D", -"u- c #C5810C", -"v- c #C2C1C1", -"w- c #B4B5B4", -"x- c #B3B3B4", -"y- c #B1B2B1", -"z- c #B1B1B0", -"A- c #ABABAB", -"B- c #AAAAAA", -"C- c #B6B6B5", -"D- c #D3D4D3", -"E- c #D5D6D5", -"F- c #CECFCE", -"G- c #C4C4C3", -"H- c #A0A0A0", -"I- c #9E9E9D", -"J- c #9A999A", -"K- c #9A9A9A", -"L- c #999899", -"M- c #949495", -"N- c #A8A8A8", -"O- c #CD8811", -"P- c #D18B11", -"Q- c #C98610", -"R- c #A36B0A", -"S- c #825305", -"T- c #986308", -"U- c #B3750A", -"V- c #BE7D0A", -"W- c #7E5308", -"X- c #110B01", -"Y- c #C4800B", -"Z- c #7F5308", -"`- c #D38B0D", -" ; c #C6820C", -".; c #BD7C0C", -"+; c #C3C3C3", -"@; c #B6B7B6", -"#; c #B5B5B6", -"$; c #ACACAD", -"%; c #AAABAB", -"&; c #A9A9A9", -"*; c #A9A9A8", -"=; c #ABAAAA", -"-; c #B0AFAF", -";; c #ACABAB", -">; c #A0A09F", -",; c #A2A2A1", -"'; c #9D9D9D", -"); c #9C9C9C", -"!; c #9B9B9B", -"~; c #9A9A99", -"{; c #989897", -"]; c #E1E1E0", -"^; c #AC720C", -"/; c #875705", -"(; c #805204", -"_; c #865605", -":; c #926007", -"<; c #AC7109", -"[; c #BB7A0A", -"}; c #BD7B0B", -"|; c #C7820D", -"1; c #201502", -"2; c #684506", -"3; c #D78D0D", -"4; c #835608", -"5; c #754D07", -"6; c #BD7D0C", -"7; c #C2C3C2", -"8; c #B8B9B8", -"9; c #B0AFB0", -"0; c #AFAEAF", -"a; c #ADAEAE", -"b; c #ACADAD", -"c; c #A9A8A9", -"d; c #A6A6A6", -"e; c #A5A5A5", -"f; c #A0A0A1", -"g; c #A3A3A2", -"h; c #9E9D9D", -"i; c #9E9E9E", -"j; c #9D9E9D", -"k; c #9D9C9B", -"l; c #989998", -"m; c #969697", -"n; c #D3D3D2", -"o; c #EDEDEC", -"p; c #CF8911", -"q; c #B7790D", -"r; c #8C5B06", -"s; c #7E5103", -"t; c #825405", -"u; c #845505", -"v; c #855606", -"w; c #845708", -"x; c #D1890C", -"y; c #CA850D", -"z; c #C6C6C6", -"A; c #B0B1B0", -"B; c #ADADAC", -"C; c #ABACAC", -"D; c #A6A7A7", -"E; c #A6A7A6", -"F; c #A2A2A3", -"G; c #A1A1A1", -"H; c #9E9E9F", -"I; c #9D9D9E", -"J; c #9C9D9C", -"K; c #9B9C9B", -"L; c #9A9B9A", -"M; c #959695", -"N; c #9F9FA0", -"O; c #CDCCCD", -"P; c #EAEBEA", -"Q; c #D28B12", -"R; c #D58D12", -"S; c #C07F0F", -"T; c #946107", -"U; c #7E5203", -"V; c #815304", -"W; c #835504", -"X; c #845506", -"Y; c #9E6808", -"Z; c #BE7D0B", -"`; c #C07E0B", -" > c #AC7209", -".> c #CA850C", -"+> c #B1750C", -"@> c #CBCCCB", -"#> c #CDCDCC", -"$> c #B8B7B8", -"%> c #B4B3B5", -"&> c #B2B3B3", -"*> c #B1B0B1", -"=> c #AEAEAD", -"-> c #ACACAC", -";> c #ACACAB", -">> c #AAA9A9", -",> c #A9A8A8", -"'> c #A5A4A5", -")> c #A2A1A1", -"!> c #A1A0A0", -"~> c #9A9B9C", -"{> c #9F9F9E", -"]> c #E5E5E6", -"^> c #E6E7E6", -"/> c #9D6708", -"(> c #7F5203", -"_> c #7E5204", -":> c #845605", -"<> c #986307", -"[> c #B27409", -"}> c #BA7A09", -"|> c #B7780A", -"1> c #BD7B0A", -"2> c #261902", -"3> c #D1890B", -"4> c #674406", -"5> c #A16A0B", -"6> c #C1800C", -"7> c #CCCDCD", -"8> c #B7B7B8", -"9> c #AFB0AF", -"0> c #AEAEAF", -"a> c #ACADAC", -"b> c #AAA9AA", -"c> c #A8A7A7", -"d> c #A7A7A7", -"e> c #A3A4A4", -"f> c #A2A3A2", -"g> c #A2A0A0", -"h> c #A09F9F", -"i> c #9C9D9D", -"j> c #AEADAD", -"k> c #D18C13", -"l> c #A66E0A", -"m> c #815404", -"n> c #7C5003", -"o> c #825404", -"p> c #845606", -"q> c #915E06", -"r> c #B77709", -"s> c #A86D08", -"t> c #B7770A", -"u> c #B77809", -"v> c #A26A09", -"w> c #624005", -"x> c #2B1C03", -"y> c #CA860E", -"z> c #C8C9C8", -"A> c #BCBCBC", -"B> c #ADACAC", -"C> c #ACACAA", -"D> c #A9A9AA", -"E> c #A7A6A6", -"F> c #A5A5A4", -"G> c #A4A4A3", -"H> c #9D9D9C", -"I> c #9B9C9C", -"J> c #9FA0A0", -"K> c #BBBCBC", -"L> c #D28C13", -"M> c #D78F13", -"N> c #B2750C", -"O> c #855604", -"P> c #7A4F03", -"Q> c #805304", -"R> c #815303", -"S> c #855506", -"T> c #865606", -"U> c #835506", -"V> c #A56C07", -"W> c #B77708", -"X> c #A56C08", -"Y> c #AD7109", -"Z> c #C07E09", -"`> c #B37509", -" , c #C4800A", -"., c #845607", -"+, c #C8840E", -"@, c #B7B8B8", -"#, c #B1B0B0", -"$, c #AEAFAF", -"%, c #ACABAC", -"&, c #A9AAAA", -"*, c #A7A7A6", -"=, c #A4A5A5", -"-, c #A4A3A3", -";, c #A1A1A0", -">, c #A0A1A1", -",, c #9E9F9F", -"', c #9D9C9C", -"), c #CDCECE", -"!, c #E4E4E4", -"~, c #E7E8E8", -"{, c #D48D13", -"], c #BD7D0E", -"^, c #8D5C05", -"/, c #7A4E02", -"(, c #7E5104", -"_, c #805303", -":, c #805403", -"<, c #875805", -"[, c #9F6707", -"}, c #B47508", -"|, c #C27F0A", -"1, c #3E2803", -"2, c #412A03", -"3, c #C2800A", -"4, c #AA6F08", -"5, c #080500", -"6, c #C6820A", -"7, c #654307", -"8, c #BEBEBF", -"9, c #B4B4B3", -"0, c #AFB0B0", -"a, c #ABABAC", -"b, c #A9AAA9", -"c, c #A2A3A3", -"d, c #E1E1E2", -"e, c #E6E5E6", -"f, c #D58F13", -"g, c #DB9214", -"h, c #966207", -"i, c #7A4F02", -"j, c #7C5002", -"k, c #805203", -"l, c #815203", -"m, c #815405", -"n, c #835405", -"o, c #976306", -"p, c #B07208", -"q, c #B67608", -"r, c #B37408", -"s, c #B37409", -"t, c #B67708", -"u, c #AC6F08", -"v, c #9B6508", -"w, c #CA840A", -"x, c #362202", -"y, c #634206", -"z, c #B2B2B1", -"A, c #B0B0B1", -"B, c #A7A6A7", -"C, c #C9C9CA", -"D, c #C2C2C2", -"E, c #C7C7C8", -"F, c #E2E2E1", -"G, c #E4E5E4", -"H, c #A16A09", -"I, c #7B4F03", -"J, c #794E02", -"K, c #835404", -"L, c #815305", -"M, c #915D06", -"N, c #AA7007", -"O, c #B27508", -"P, c #BF7D09", -"Q, c #C88209", -"R, c #563804", -"S, c #1C1201", -"T, c #D28C0F", -"U, c #C7C8C7", -"V, c #BABAB9", -"W, c #B9B8B9", -"X, c #B5B5B4", -"Y, c #AFAEAE", -"Z, c #AAAAA9", -"`, c #A3A3A4", -" ' c #E0E0E0", -".' c #DADADA", -"+' c #D78F14", -"@' c #AC710C", -"#' c #774C02", -"$' c #7D5003", -"%' c #7F5103", -"&' c #805305", -"*' c #8B5A05", -"=' c #B27308", -"-' c #B77808", -";' c #0C0800", -">' c #BB7A09", -",' c #7C5209", -"'' c #C9860F", -")' c #C6830F", -"!' c #ADACAD", -"~' c #D9D9D8", -"{' c #DDDCDC", -"]' c #E1E1E1", -"^' c #B6780E", -"/' c #754B01", -"(' c #7D5103", -"_' c #865704", -":' c #9E6606", -"<' c #593904", -"[' c #BD7A08", -"}' c #191001", -"|' c #CD8910", -"1' c #C5C5C5", -"2' c #C2C3C3", -"3' c #B7B6B6", -"4' c #A8A9A9", -"5' c #C48310", -"6' c #8E5C06", -"7' c #754A01", -"8' c #7C4F03", -"9' c #815403", -"0' c #7F5104", -"a' c #A16906", -"b' c #AB6F07", -"c' c #C07D08", -"d' c #1E1301", -"e' c #482F02", -"f' c #C8830B", -"g' c #C3820E", -"h' c #D78F10", -"i' c #C5C5C6", -"j' c #BDBEBD", -"k' c #BBBABB", -"l' c #B1B2B2", -"m' c #A4A5A4", -"n' c #DADAD9", -"o' c #724800", -"p' c #764C01", -"q' c #915D05", -"r' c #966105", -"s' c #2E1E02", -"t' c #B87806", -"u' c #B57507", -"v' c #583904", -"w' c #281A01", -"x' c #C17E07", -"y' c #A76D09", -"z' c #A16B0D", -"A' c #C98510", -"B' c #C4C5C4", -"C' c #C3C3C2", -"D' c #BABBBB", -"E' c #BAB9BA", -"F' c #B3B4B3", -"G' c #A7A8A7", -"H' c #DA9314", -"I' c #DE9515", -"J' c #C38210", -"K' c #754C01", -"L' c #7B4F02", -"M' c #7C4F02", -"N' c #7C5103", -"O' c #7D5104", -"P' c #8A5A04", -"Q' c #A36A05", -"R' c #AF7106", -"S' c #B27306", -"T' c #0A0700", -"U' c #764D04", -"V' c #B77607", -"W' c #472E03", -"X' c #BC7907", -"Y' c #A96D06", -"Z' c #191002", -"`' c #B87A0D", -" ) c #CB8610", -".) c #BBBBBC", -"+) c #BBBABA", -"@) c #B3B4B4", -"#) c #B2B1B1", -"$) c #D5D5D4", -"%) c #986408", -"&) c #845503", -"*) c #9D6605", -"=) c #B57606", -"-) c #774D04", -";) c #0E0900", -">) c #B27406", -",) c #794E05", -"') c #C9840C", -")) c #D68E11", -"!) c #C3C4C3", -"~) c #C3C2C3", -"{) c #C0BFBF", -"]) c #B7B6B7", -"^) c #B0B0AF", -"/) c #AEAFAE", -"() c #ABACAB", -"_) c #CF8A13", -":) c #784D02", -"<) c #7E5003", -"[) c #976104", -"}) c #B67606", -"|) c #B77706", -"1) c #201501", -"2) c #563803", -"3) c #C37E07", -"4) c #9C6609", -"5) c #C48210", -"6) c #C2C2C1", -"7) c #BCBCBD", -"8) c #B8B9B7", -"9) c #B4B3B4", -"0) c #B0B1B1", -"a) c #734900", -"b) c #905D04", -"c) c #AB6F05", -"d) c #845604", -"e) c #4E3303", -"f) c #BF7C06", -"g) c #8A5903", -"h) c #CE8810", -"i) c #C0C0BF", -"j) c #B8B8B7", -"k) c #B4B5B5", -"l) c #B3B2B3", -"m) c #7E5102", -"n) c #784E01", -"o) c #7B4E02", -"p) c #A26904", -"q) c #AF7205", -"r) c #8F5D04", -"s) c #B67605", -"t) c #9C6505", -"u) c #A16807", -"v) c #D99112", -"w) c #CE8A12", -"x) c #D6D7D6", -"y) c #B40202", -"z) c #A50303", -"A) c #970303", -"B) c #B2760D", -"C) c #724900", -"D) c #794F02", -"E) c #794D03", -"F) c #875703", -"G) c #9C6404", -"H) c #A86B05", -"I) c #B47305", -"J) c #A96E04", -"K) c #C07C07", -"L) c #BFC0C0", -"M) c #B2B2B3", -"N) c #CCCBCC", -"O) c #BE0B0B", -"P) c #B30101", -"Q) c #A30303", -"R) c #940101", -"S) c #830202", -"T) c #750101", -"U) c #DA9315", -"V) c #956003", -"W) c #9F6603", -"X) c #734903", -"Y) c #B27204", -"Z) c #593903", -"`) c #684403", -" ! c #BD7B04", -".! c #654202", -"+! c #724C09", -"@! c #C0C1C0", -"#! c #C0BFC1", -"$! c #BBBBBA", -"%! c #B8B8B9", -"&! c #ADAEAD", -"*! c #ABABAA", -"=! c #D1D1D2", -"-! c #AF4E51", -";! c #A43637", -">! c #9A1616", -",! c #8C0E0F", -"'! c #7F0202", -")! c #6E0000", -"!! c #630102", -"~! c #BF7F0F", -"{! c #905C03", -"]! c #A46903", -"^! c #8E5C03", -"/! c #9D6404", -"(! c #AA6D04", -"_! c #835403", -":! c #B97805", -"~ c #CF8B13", -",~ c #DD9415", -"'~ c #D58F14", -")~ c #C1C0C0", -"!~ c #B9B8B8", -"~~ c #BDBCBC", -"{~ c #CCCBCB", -"]~ c #CFCECE", -"^~ c #C38229", -"/~ c #B87D28", -"(~ c #AB7425", -"_~ c #9E6B22", -":~ c #92621F", -"<~ c #85591C", -"[~ c #78521A", -"}~ c #6F4B17", -"|~ c #9C6401", -"1~ c #956002", -"2~ c #120C00", -"3~ c #9E6501", -"4~ c #533707", -"5~ c #C88612", -"6~ c #D99215", -"7~ c #BCBDBD", -"8~ c #B9B9BA", -"9~ c #CECDCD", -"0~ c #C08028", -"a~ c #B57A27", -"b~ c #A87124", -"c~ c #9B6921", -"d~ c #90601E", -"e~ c #82591C", -"f~ c #76501A", -"g~ c #A56B04", -"h~ c #AA6E01", -"i~ c #1E1300", -"j~ c #603F04", -"k~ c #C2C2C3", -"l~ c #C9C9C8", -"m~ c #CCCDCC", -"n~ c #BE8029", -"o~ c #B07827", -"p~ c #A46F23", -"q~ c #976620", -"r~ c #8C5E1C", -"s~ c #7F561B", -"t~ c #744E19", -"u~ c #DB9316", -"v~ c #DF9517", -"w~ c #C1C1C2", -"x~ c #BA7D29", -"y~ c #AE7626", -"z~ c #A06D22", -"A~ c #946420", -"B~ c #885C1D", -"C~ c #7C531B", -"D~ c #734C18", -"E~ c #DD9516", -"F~ c #BEBDBD", -"G~ c #BDBDBE", -"H~ c #B5B4B5", -"I~ c #CBCACB", -"J~ c #C28129", -"K~ c #B87C28", -"L~ c #AB7325", -"M~ c #9D6A22", -"N~ c #916220", -"O~ c #855A1C", -"P~ c #795119", -"Q~ c #704B17", -"R~ c #C3C3C4", -"S~ c #B5B6B5", -"T~ c #CCCCCD", -"U~ c #C08129", -"V~ c #A77124", -"W~ c #9A6821", -"X~ c #8E601F", -"Y~ c #81571C", -"Z~ c #765018", -"`~ c #BCBDBC", -" { c #CBCBC9", -".{ c #BC7F28", -"+{ c #B07826", -"@{ c #A46F22", -"#{ c #976621", -"${ c #8B5E1E", -"%{ c #7E551B", -"&{ c #734D18", -"*{ c #C38428", -"={ c #BA7D27", -"-{ c #AE7524", -";{ c #A16D22", -">{ c #724C18", -",{ c #C9C8C9", -"'{ c #C08128", -"){ c #B77B27", -"!{ c #AA7325", -"~{ c #91621F", -"{{ c #845A1C", -"]{ c #714B17", -"^{ c #C1C3C2", -"/{ c #BCBBBC", -"({ c #BF8128", -"_{ c #B47A27", -":{ c #A67124", -"<{ c #8D5F1E", -"[{ c #81571B", -"}{ c #754F18", -"|{ c #C4C3C3", -"1{ c #B9BAB8", -"2{ c #C7C6C6", -"3{ c #B17726", -"4{ c #A36E24", -"5{ c #8A5D1D", -"6{ c #7E541B", -"7{ c #744D18", -"8{ c #C1BFC0", -"9{ c #C7C6C7", -"0{ c #C28329", -"a{ c #B97D28", -"b{ c #AD7526", -"c{ c #A06C23", -"d{ c #875B1D", -"e{ c #7A531A", -"f{ c #724D17", -"g{ c #C5C6C6", -"h{ c #C5C5C4", -"i{ c #B1AFB0", -"j{ c #C6C6C5", -"k{ c #C18229", -"l{ c #B77C27", -"m{ c #A97425", -"n{ c #9D6922", -"o{ c #91611F", -"p{ c #84581C", -"q{ c #775019", -"r{ c #6F4B16", -"s{ c #C4C5C5", -"t{ c #A57123", -"u{ c #9A6721", -"v{ c #8D5F1D", -"w{ c #764F19", -"x{ c #C0C1BF", -"y{ c #B07726", -"z{ c #A26E23", -"A{ c #966520", -"B{ c #7D541A", -"C{ c #744D17", -"D{ c #C8C7C8", -"E{ c #C5C4C5", -"F{ c #BABABB", -"G{ c #BFBEBE", -"H{ c #C3C4C4", -"I{ c #C38329", -"J{ c #AD7625", -"K{ c #9F6C23", -"L{ c #936320", -"M{ c #875B1C", -"N{ c #724C17", -"O{ c #BF8028", -"P{ c #B67B27", -"Q{ c #AA7224", -"R{ c #9C6A21", -"S{ c #8F611E", -"T{ c #83591C", -"U{ c #785119", -"V{ c #6F4A15", -"W{ c #B6B8B8", -"X{ c #C5C7C7", -"Y{ c #BE8128", -"Z{ c #B37926", -"`{ c #A57023", -" ] c #996720", -".] c #80571C", -"+] c #C6C6C7", -"@] c #C3C4C2", -"#] c #C2C3C1", -"$] c #B3B5B3", -"%] c #BB7E27", -"&] c #AF7725", -"*] c #A26D23", -"=] c #96641F", -"-] c #8A5C1D", -";] c #7C541B", -">] c #C1C2C1", -",] c #C1C0C1", -"'] c #C2832A", -")] c #AC7425", -"!] c #9F6B22", -"~] c #92631F", -"{] c #865A1C", -"]] c #7A5219", -"^] c #714B16", -"/] c #BF8029", -"(] c #A97224", -"_] c #9C6922", -":] c #8F601F", -"<] c #83581C", -"[] c #785019", -"}] c #6F4916", -"|] c #C3C2C2", -"1] c #BE8028", -"2] c #B27826", -"3] c #A47023", -"4] c #986821", -"5] c #8B5F1E", -"6] c #80561C", -"7] c #744F17", -"8] c #BB7F27", -"9] c #AE7625", -"0] c #956520", -"a] c #885C1E", -"b] c #C28227", -"c] c #B97D27", -"d] c #865A1D", -"e] c #7A5119", -"f] c #C7C9C7", -"g] c #B67B26", -"h] c #A87223", -"i] c #8E611E", -"j] c #6E4A16", -"k] c #CACBCA", -"l] c #C9CBC9", -"m] c #986721", -"n] c #8B5F1D", -"o] c #80561B", -"p] c #C38327", -"q] c #BB7E28", -"r] c #A16E23", -"s] c #895C1D", -"t] c #714C18", -"u] c #A8A8A7", -"v] c #C2C1C2", -"w] c #C28229", -"x] c #B87C27", -"y] c #9E6B23", -"z] c #85591D", -"A] c #78511A", -"B] c #714C17", -"C] c #C4C3C2", -"D] c #A77224", -"E] c #9B6821", -"F] c #8F601E", -"G] c #82581C", -"H] c #BD7F28", -"I] c #986620", -"J] c #7F561C", -"K] c #734E18", -"L] c #B7B6B8", -"M] c #C38328", -"N] c #BB7D28", -"O] c #AF7625", -"P] c #C08228", -"Q] c #90621F", -"R] c #785219", -"S] c #704B16", -"T] c #9A6822", -"U] c #8D601F", -"V] c #81581C", -"W] c #765019", -"X] c #BDBFBD", -"Y] c #BC7F27", -"Z] c #A36F24", -"`] c #7F561A", -" ^ c #C48328", -".^ c #A06C22", -"+^ c #875C1D", -"@^ c #714D17", -"#^ c #AFAFB0", -"$^ c #CAC9C9", -"%^ c #C18227", -"&^ c #9D6A21", -"*^ c #91611E", -"=^ c #785118", -"-^ c #9A6720", -";^ c #8E5F1D", -">^ c #81571A", -",^ c #C78C35", -"'^ c #7C541A", -")^ c #A7A8A8", -"!^ c #F6C06D", -"~^ c #D9A34F", -"{^ c #C18935", -"]^ c #BD8731", -"^^ c #A47126", -"/^ c #8D601D", -"(^ c #845B1A", -"_^ c #775017", -":^ c #F1BB65", -"<^ c #E7B05A", -"[^ c #DEA74C", -"}^ c #D9A240", -"|^ c #C18C30", -"1^ c #AA7720", -"2^ c #AA771B", -"3^ c #916415", -"4^ c #E8B259", -"5^ c #E3AC4E", -"6^ c #DCA540", -"7^ c #D39B32", -"8^ c #D09625", -"9^ c #D0941C", -"0^ c #E6B056", -"a^ c #E0AA49", -"b^ c #D9A23B", -"c^ c #D49B2F", -"d^ c #D09623", -"e^ c #E5AF51", -"f^ c #DFA847", -"g^ c #D9A139", -"h^ c #D3992C", -"i^ c #CD9321", -"j^ c #B0AEAE", -"k^ c #E2AB4B", -"l^ c #DEA743", -"m^ c #D89F36", -"n^ c #D49A2A", -"o^ c #DBA344", -"p^ c #DAA23E", -"q^ c #D79E33", -"r^ c #826122", -" ", -" ", -" ", -" . ", -" + + @ # ", -" $ % & * = # ", -" - ; > , ' ) + . ", -" ! ~ { ] ^ / ( _ : = < ", -" [ } ! | 1 2 3 4 5 6 7 8 @ ", -" } 9 0 a b c 2 2 c d e f g + . ", -" h h i j k l b l 7 4 2 m n o 4 p < ", -" q q h r s t u v b b l 7 w x y z A B % C ", -" D E F G H I J I u u K L l w M N O P Q R S < ", -" T U V D W X Y X I u I v v u K l Z O ` ...+.@.8 $ ", -" T #.$.%.&.*.=.-.X I u u u v u K v ;.>.,.'.).!.3 ~.% $ ", -" {.].^./.(._.:.=.=.-.X X I I I v u I <.[.}.|.1.2.3.4.5.$ $ ", -" 6.7.7.8.9.0.a.b.c.:.:.-.-.-.X X I I I v d.e.f.g.f.L h.K i.j.k.8 ", -" l.m.n.{.o.p.q.r.r.s.t.t.:.:.=.=.X X X I I u.v.w.` x.y.z.A.B.C.D.| 8 ", -" E.F.G.H.I.J.p.r.K.r.r.s.a.:.:.=.=.=.=.-.X L.M.N.O.P.Q.R.S.T.U.V.W.X.k.$ ", -" Y.Z.`. +.+++@+#+#+#+#+r.K.K.a.b.c.t.=.-.=.X $+%+&+*+=+) -+;+>+,+'+)+!+~+{+8 ", -" ]+]+^+/+(+_+:+<+[+@+@+@+#+r.p.r.r.K.c.t.=.=.=.=.}+|+1+X 2+3+4+5+D.6+7+8+9+0+a+b+$ ", -" c+d+e+E.f+g+_+:+:+<+[+@+@+h+#+#+p.r.i+j+k+l+m+t.=.=.n+o+p+q+r+s+5+5+>+t+u+v+w+x+y+i - z+ ", -" A+A+B+C+D+E+g+_+_+:+:+F+G+<+@+@+H+I+J+K+L+M+N+O+P+t.K.J.Q+S.R+S+T+S+U+3+V+W+X+Y+Z+`+. @ - ", -" B+B+B+ @.@+@E+E+E+E+.@@@:+#@<+<+@+$@%@&@*@=@-@r.;@K.>@7 ,@'@S+)@!@!@~@{@]@^@/@(@_@:@<@| { ", -" [@}@}@|@1@2@3@3@3@E+E+E+E+E+.@.@@@4@5@6@7@8@9@0@r.r.a@:.b@c@~@d@e@)@f@~@g@h@i@j@k@l@:@:@:@ ", -" m@n@o@p@(+q@q@r@+@+@3@E+E+E+E+E+.@_+s@t@u@v@w@x@H+#+y@z@A@B@C@D@E@F@G@H@b@I@J@K@L@M@N@O@i ", -" o@o@P@Q@R@q@S@T@T@+@+@+@3@3@U@E+E+_+E+V@W@X@Y@Z@`@ #:+.#+#@#e@##$#%#&#!@*#=#-#;#>#,#'#)#!#~# ", -" o@{#]#^#/#(#_#(#(#2@T@T@r@+@+@3@3@:#E+E+E+<#[#Y@Y@}#|#1#' 2#y+3#=#4#5#6#7#8#9#0#a#b#7.i E c# ", -" d#e#f#g#h#i#j#k#k#(#2@T@T@T@T@r@+@3@3@E+l#m#n#o#n#p#q#r#s#t#u#v#v#w#d@x#y#z#A#B#C#$.D#D E# F# ", -" j.G#H#I#J#K#L#j#M#k#k#k#k#2@2@2@T@r@+@+@+@:#N#O#P#Q#R#S#T#U#V#W#W#v#X#y+Y#Z#`# $.$+$@$#$U $$%$ ", -" G#&$*$=$-$;$>$,$,$'$j#M#M#k#q@q@2@(#T@T@r@T@r@)$!$~${$]$Y@^$/$X#W#W#t#($v#'@_$:$<$[$}$T #$ c#|$ ", -" 1$2$3$4$5$6$7$6$8$9$,$8$j#'$M#k#0$k#2@2@2@T@T@T@a$b$c$d$e$f$g$h$i$U#t#j$k$l$l$m$#@n$o$p$]. q$r$ ", -" s$t$u$v$w$x$>$y$6$6$8$8$8$,$,$j#j#M#k#k#2@2@2@T@T@z$A$B$C$D$E$F$G$U#H$I$J$K$L$M$N$O$P$Q$Q$ q$r$$$ ", -" R$S$T$U$V$W$X$>$>$>$6$6$L#8$8$8$'$Y$j#j#k#k#2@2@2@Z$`$ %.%+%@%#%$%%%&%*%=%-%6#;%>%,%'%)%/+ r$!%~% ", -" S$S${%]%^%/%(%_%_%_%:%<%>$6$L#L#8$8$9$,$[%j#M#M#k#k#9$}%|%1%E$2%3%4%5%6%7%8%9%0%a%b%{.c%l. q$q$~% ", -" d%d%e%f%g%/%h%(%i%i%<%j%j%>$:%:%>$6$L#L#8$9$,$,$'$Y$'$K#k%k@l%m%n%o%p%q%r%s%t%u%v%G#l.w%x% !%r$~%y% ", -" z%{%X.A%B%C%D%C%E%(%(%_%_%_%<%<%:%>$>$>$6$6$i#F%'$8$i#G%H%I%J%K%L%M%N%O%P%Q%R%S%T%U%}@V%]+ W%X%q$Y% ", -" U%Z%`% &y$.&+&/%W$E%(%(%(%@&_%<%_%j%<%j%>$>$6$L#8$9$#&$&%&&&*&&&&&=&-&;&>&,&,&'&)&!&E.C+~& {&]&^&Y% ", -" /&Z%(&_&:&<&[&/%/%/%/%/%C%E%E%(%i%_%_%j%j%>$<%>$6$y$}&|&1&2&3&4&4&5&6&7&8&9&0&a&b&c&n#d&e& X%c#+%f&W% ", -" g&h&i&j&k&l&m&n&o&/%p&/%/%/%C%/%E%E%(%_%_%7$_%_%j%>$(%#&q&r&s&t&t&u&4&v&w&x&5%o%y&y&z&A&Q#B& ~%C&D&p#E& ", -" F&G&H&I&o.m&J&K&L&h%L&p&p&p&/%/%C%E%E%E%E%(%@&_%j%<%M&W$N&O&P&Q&R&S&&&T&U&J#V&W&X&Y&Z&`& *z&.*+*@* #*$*%*&***=* ", -" -*2&;*>*,*'*)*!*[&[&!*L&h%L&p&/%/%/%/%/%E%E%E%(%_%(%/%:&~*H&;*{*]*^*/*k@(*_*:*<*[*}*Y&P%|*1*2*3*$%4* 5*6*7*8*)&%$ ", -" 9*u&5&0*a*b*c*m&d*e*)*!*K&h%K&K&h%f*/%p&/%C%W$W$E%(%h%g*h*h&;*h&k@i*j*k*l*m*n*o*p*q*r*E$s* *b&1*t*b&u*Y@X@ v*~%w*x*y*z*$$ ", -" u&u&*&A*V$B*J&C*D*m&C*d*)*)*!*[&[&K&n&o&p&f*/%/%/%/%E*E%.$F*G*H*X.h&I*t&J*K*L*M*N*O*P*Q*R*S*T*z&1*U*V*W*X*Y*v@Z* {&`* =.=+=@=#=c# ", -" 5&$=J%%=&=b**===-=C*D*C*C*e*e*)*d*!*[&L&h%L&o&L&/%/%n&D%;=>=,=/&I&X.'=I&)=!=~=t&{=U$Q*]=^= f$/=(=1*_=V*:=<=[=}=|=X@ 1=c#]$2=3=4=1*5=y% ", -" &&5&6=7=8=9=0=a=9=J&J&c*c*b=C*C*m&)*)*e*!*!*n&L&+&h%n&.&:&c=d=U%e=F*F*G*q&Z%f=g=a%h=*$i=j. P#+%j=_=V*k=D&l=m=l=2%n=o=p= q=r=s=t=u=v=w=x=y=!%z= ", -" A=B=C=D=)*E=b*F=F=9===J&G=D*D*D*C*m&d*!*d*!*!*H=[&L&I=J=K=U%{%L=d%d%M={%N=v%O=P=/#Q=4$G#G# R=8&%*j=V*V*S=:=T=7*U=U=V=8&X@W=X= {&Y=r=s=Z=`= -.-+-@-#-$-%- ", -" &-6=*-=-a*--;-b*>->-9=9=9=9=9=c*,-D*C*C*C*m&d*d*!*'-)-K&1 R$!-~-L=L=e=L=n&{-]-8=^-s$/-(-1$ B$B$_-:-V*<-D&[-7*}-m=&*@=3%|-R#1-Z=2-3-z*4-5-6-7-8-9-0-a-b-c-d-w=d-b&c#%- ", -" a+e-f-g-h-i-j-*=b*b*b*b*k-k-9=9=a===G=c*c*D*C*C*C*e*l-b=m-/-n-o-p-q-r-s-@&t-N*6#D+U%u-T$u$ +%E$v-V*_=w-x-D&y-z-m=m=@=A-B-m=C-c&/=Y@D-v@X@E-)&F-G-1*H-I-J-K-L-M-N-y=X% ", -" e-O-P-Q-R-j-S-B*B*B*B**=b*b*b*>-9=9=9=J&a=J&c*D*D*C*J&'*T-U-V-R$1$r-W-X-Y-d=6#Z-`-o. ;R$.; +%d$+;@;V*#;k=x-T=7*}-m=@=&*$;%;&;*;B-=;-;D&T=&*m=;;>;,;';K-);!;~;{;!;z&];c# ", -" H$v#*-^;/;(;0=0=_;B*B*B**=b*b*b*>->->-9===9=J&J&G=J&'*:;<;(-u$[;1$};u$|;1;2;3;4;5;A%L=6; ]$/=7;8;_=X*S=x-W*T=7*9;0;a;b;;;%;&;c;d;d;e;f;b-g;u=h;u=i;j;k;!;K-l;m;N-n;o;y% ", -" p;P-v#q;r;s;t;u;v;v;;-B*B*B*B*B**=b*b*>->-F=k-9=====b*'-H.G#*$4$/-[;H#f%w;x;w$p-R${%y;d%A% N%d$z; *1*_=V*S=D&T=A;}-m=@=B;C;A-B-&;N-D;E;e;#-F;b-G;>;H;I;J;K;L;L-M;N;O;X%P; ", -" f-Q;R;S;T;U;V;W;E=u;X;u;0=v;_;B*B*B**=*=b*b*b*F=>-k-B*a=Y;{#]=^=^=4$Z;n-`; >6#D+.>+>_@d%d% @>#>z;(=[=$>2*V*%>&><=*>}-0;=>->;>B->>,>D;d;8*'>y*b-)>!>>;u=';);~>d-K-{>|-]>^> ", -" X#W#=%Q-/>(>_>E=W;W;E=E=E=u;:>v;0=;-B**=*=*=*=b*b*b*B**=<>[>}>|>|>|>1>|>j.2>[&3>4>5>F*6>F* |-7>z;(=8>1*:-_=S=[-T=7*A;9>0>&*a>;;b>N-c>d>d;#-e>f>,;g>h>i;i;i>!;c-!;j>z;q$`* ", -" v#k>d@*%l>m>n>m>o>E=W;E=W;E=E=u;u;p>0=v;;-B*B*B**=*=B*p>q>r>s>i=o@o@t>u>v>l-3>w>x>,=Z%y>X. |-|-z>A>b&b&1*_=V*D&T=7*}-m=0>a;B>C>=;D>,>c>E>8*F>G>b-G;H-u=i;H>d-I>J>K>)&1=r$ ", -" L>M>H@N>O>P>Q>R>m>o>o>o>W;W;E=E=E=u;u;0=S>0=T>B*B*;-U>r;V>W>X>6#Y>f#Z>`> ,.,6#]=e%;*+,X.X. {$;&9&_-@,8; *_=V*S=D&T=#,}-$,=>&*%,=;&,c;,>*,e;=,-,,;;,>,,,J;!;',b-_=),3-!,~, ", -" {,d@4#],^,/,(,(;_,:,Q>V;m>o>--W;E=W;E=E=E=:>p>v;0=B*E=<,[,},r>},|,1,2,3,4,5,<;6,7,R&-*'=F& S%|-{$8,z&b&b&1*2*k=9,D&T=#,0,m=&*->a,B-b,N-d>y*&;c>d;g;;,,,c,*,}-D$N%X=d,`*e, ", -" f,d@g,-%h,i,j,(;(;(;k,Q>l,Q>m>m>m,o>n,W;E=E=E=u;:>:>t;X;o,p,q,r,s,B+t,u,p-v,w,x,y,2&S&S&-* z>S%V=z&z&b&8>_=V*S=D&z,A,A,m=j>b;->A-B-&;B,8*}-2%E$C,@%D,9&E,E$3-z*];F,G, ", -" F@F@D.X#H,I,J,U;(>(>(>(>k,k,l,V;V;V;m,o>K,----E=W;E=t;L,M,N,m@A+A+O,[>P,4,Q,R,S, ,F*T,7=;* C$U,w*V,P%W,b&1*_=X,D&[-y-#,}-Y,&*->A-B-Z,N-`,x-B$ '.'1-@*1-@*X=3-s=d,1= ", -" +'+'U+)@@'U;#'$'s;s;%'(>(>(>(;k,(;_,V;V;V;o>o>t;--E=t;&'*'j V%e++$='},-'}@9=;'>'P@,'''4&)' 9&E,w*K>V,y&b&1*_=V*S=D&T=7*}-m=@=!'a,=;>>&;2=@=B$~'o= {']'s=3- ", -" )@s+D.^'O>/'I,n>('('('s;U;(>(>k,k,k,k,k,Q>m>m>m>o>o>Q>_':']+e+~&~&~&x%+$<'C+['}'[%&&|'5&+, 1'T*2'K>a&z&|*@,3'X*<-D&l=7*#,0,0>j>B>a,%;4'D;B-]$o=p# ", -" T+~@B.5'6'7' 8'$'n>$'('('s;(>(>(>(>k,k,Q>Q>:,9'R>0'o>a'E.w%x%x%]++$t,b'c'd'e'f'g'h'&&5& i'i'+;j'k'k'z&b&1*3'X*S=&>l'7*}-$,U=b;->A-Z,m'b;c&n'p# ", -" G@S+.$o'p' n>8'$'('('s;U;(>(>(>k,k,k,(;(;(>(>q',%r's't'F.'%+$u'v'w'x'y'z'H$A=A' B'1'C'>&K>D'E'z&a-1*X*S=F'T=7*A;-;@=&*->A-B-G'G'9&E-X@ ", -" H'I'J'K'L' 8'M'n>N'$'('('s;s;(>(>(>k,%'O'P'Q'R'l.S'T'U'V'[$W'X'Y'Z'`'a+f- ) +;c&+;3%K>.)+)z&8;U*C-X,@)&>#)*>}-m=j>B>->A-c;N-A&X@$) ", -" 5+T.%)7'L' 8'j,8'8'n>n>('s;s;U;(>U;n>&)*)n.l.m.m.=)-);)>)w%6#,)')*-))a+&- !)!)~){)A>K>(=Z&`& *])t*<-@)T=y-#,^)/)&*;>()G'&;(=n#v@ ", -" U+_):)i,i,i,L'L'I,M'8'8'$'('('<)s;n>R>[)#$Q$#$].].})m.|)1)2)3)4)5)U#O-e- 6)+;+;A&7)j=j=Z&y&8)1*_=#;9)D&y-0)}-0;@=b;C;B-e;7)8&Y@ ", -" 5+T.5$a)/,i,I,8'M'M'8'8'n>$'n>I,$'b)E 7.T #$p$c)#$d)e)f)g)9#Q-X#P-h) D,D,i)3%3%(=a&z&b&j)@;V*k)x-l)z,}-m=m=@=a>B-c;S=o#~$ ", -" D.F@m)n)i,o)L'L'M'L'8'n>P>P>g)p)#$T T T U q)r)s)t)6#u)K%v)w#w) D$D$@%8,3%A>(=V,P%j)])_=V*9,D&<=#,-;@=&*b;%;N-X*]$x)y= y)z)A) ", -" D.J@B)C)D)i,i,i,L'L'/,E)F)G)$.D H)G {+I)#$J)6#P>K).+M>k>X# L)D$@%Q%Q%3%p%a&z&|*b&])#;k=F'l)7*}--;0>&*->d>M)N)P# O)P)Q)R)S)T) ", -" U)6+<,p'/,/,i,i,:)s;V)W)X)Y)q E#E#D Z)`) !.!+!j$=#X#W# A&@!#!O%Q%Q%A>$!V,%!8>])_=w-@)W*T=7*}-m=&!->*!=>N%y==! -!;!>!,!'!)!!! ", -" D.T.~!a)J,/,#'P>{!]!$.^!6#/!D (!_!:!Z&z&%!1*_=2*S=D&T=7*}-m=@=->&;7*G-o#8& 2!3!4!5!6!7!8!9! ", -" D.J@0!a!:)b!c!h ]!} d!e!f!g!h!6#i!['j!k!=#L> l!|!@%@%}!m!3%0&j=Z&W,$>:-C-k)@)&>n!*>9;@==>A-$;i'E$8& o!p!q!r!s!t!u! ", -" v!w!x!y!i :@:@:@h h z!A!B!C!D!E!F@+'=# Q%m!|!D$@%l!3%A>(=Z&z&b&])#;V*S=F!T=7*A;}-@=->C;G!S*E$ H!I!J!K!L!M!N! ", -" O!T.d#= $ { P!| i!Q!R!S!{=T!U!V!H@ Q%3%Q%W!W!A&Q%X!A>(=Z&`&b&_=t*V*x-#)*>A,m=$,A-Y!7)E$Z! `! ~.~+~@~#~$~ ", -" %~F@$ &~*~- =~-~6#;~(->~,~'~`# A>0&>&)~D${)Q%m!3%.)Z&P%!~1*@;V*S=D&T=*>}-m=&*B-~~{~]~ ^~/~(~_~:~<~[~}~ ", -" D.B.L=|~1~2~3~*~4~5~6~~@)@ (=0&D$D$@%|!m!7~A>(=8~b&$>_=_=k=x-D&<=*>-;Y!->[=9~]$ 0~a~b~c~d~e~f~ ", -" %~D.g~h~i~j~*%v!I')@ D'K>L)k~#%A&Q%3%7)(=$!z&8;1*2*V*S=l)T=0)9;@=$;U*l~+%m~ n~o~p~q~r~s~t~ ", -" u~v~-*i _*g@%~T+ z&D'A&w*w~@%_-Q%7~K>(=Z&z&b&@;2*k)S=l)#)A,m=A-])9&]$ ^~x~y~z~A~B~C~D~ ", -" U+,~U)E~5+6~ Z&V,A&~)w~G!A&F~G~A>(=Z&z&b&1*@;X*H~:=T=7*}-0>0)9&N%I~ J~K~L~M~N~O~P~Q~ ", -" 4+U+u~U) W,E'j'R~k~D$L)A&3%1!0&(=Z&!~8>2*S~w-D&D&#)}-a;D&D,T~|- U~a~V~W~X~Y~Z~ ", -" D. b& *Q%7;+;D$G!}!3*j'`~(=Z&8~b&a-2*w-S=D&T=z-@=n!D,|- { .{+{@{#{${%{&{ ", -" *1*$!!)+;D,D$@%l!j'`~(=+)E'%!b&1*2*S=:=T=y-9;-;@%S%C, *{={-{;{A~B~#~>{ ", -" _=1*(=+;c&~)6)@%A&Q%>&A>k'E'z&b&1*_=V*S=l)M)0,n!.)z>,{ '{){!{M~~{{{P~]{ ", -" _=V*Z&^{1'+;D,@!@%A&m!7)/{(=V,b&@,1*S~k)x-l'A,m=3%z;C$ ({_{:{W~<{[{}{ ", -" #;V*_=+;1'|{D,D$@%A&Q%3%~~(=Z&1{b&1*@;S~S=l)T=-;`&2{9& .{3{4{#{5{6{7{ ", -" S=b&8{2{G-D,w*D$@%3*>&7).)D'8~%!8>_=V*k):=z,7* *c&9{ 0{a{b{c{A~d{e{f{ ", -" w-[-S~@!g{h{+;7;#%{)A&3*j'A>$!E'8~b&1*C-V*S=l=i{b&+;j{ k{l{m{n{o{p{q{r{ ", -" D&[-}!9&s{c&+;D,@!A&Q%j'7~/{$!z&8;b&1*C-w-@)7*H~+;h{j{ ({_{t{u{v{[{w{ ", -" z,:=j=U,z;c&!)7;D$x{_-Q%1!/{+)P%z&a-_=_=X,x-l'X,{)1'G- .{y{z{A{5{B{C{ ", -" 7*#)3%j{D{E{G-+;D,D$O%|!G~A>.)F{z&z&1*_=V*9,z,V*G{H{s{ I{a{J{K{L{M{e{N{ ", -" z-}-8~E,`=1'c&+;D,D$@%A&4%3%.)$!Z&z&b&1*_=V*F'T=j'+;~) O{P{Q{R{S{T{U{V{ ", -" 0,A;W{X{C$z;h{c&D,D,D$L)Q%3%7)j=Z&z&b&8>3'S~F'<-$!7;2' Y{Z{`{ ]<{.]}{ ", -" 9>&!b&c&S%+]i'h{@]#]W!i)A&Q%3%A>(=Z&z&@,])S~$]F'k'L)w* %]&]*]=]-];]f{ ", -" -;/)D&u*l~`=i'1'c&7;>]D${)3*Q%A>(=Z&y&8;1*3'V*9)z&,]D$ ']a{)]!]~]{]]]^] ", -" Y!:=7;N%2%z;1'c&+;D,#%@%|!m!1!0&a&,&`&j)1*C-V*8;i)@% /]P{(]_]:]<][]}] ", -" 0;->n!6)|-C$2{z;s{+;|]v-@%i)8,3%`~p%k'8~`&1*_=w-8;Q%@% 1]2]3]4]5]6]7] ", -" !'&*w~S%z>T*o%h{c&+;|]W!}!3*Q%F~0&+)E'!~b&_=#;2*3%G{ 8]9]z{0]a]C~f{ ", -" A-0>.)]$S%C$9{j{h{+;2'D$@!A&Q%F~A>(=Z&z&b&8>2*1*K>4%G{ b]c])]!]:~d]e]]{ ", -" *!;;7)S%N%f]U,2{1'c&+;D,D$@%A&Q%7).)(=Z&|*1*2*U*(=3%>& ({g]h]c~i]<]w{j] ", -" a,b,V,k]l]C$T*T*z;s{+;7;D$W!A&m!3%A>(=+)W,b&1*_=8~A>3% n~2]p~m]n]o]7{ ", -" 4'%;w-{~@>l~,{9&z;1'c&C'6)@%}!Q%3%A>(=+)Z&W,1* *z&(=1! p]q] ~r]A~s]#~t] ", -" ;>u]_=9&d$|-S%C$E,z;s*G-D,v])~A&4%3%A>(=V,!~j)1*z&D'(= w]x](~y]~{z]A]B] ", -" @=c>^)l~]$'&N%N% z;h{C]6),]V=8,m!3%/{D'V,b&$>b&P%D' '{){D]E]F]G]w{ ", -" -;B>v-+%N% !)#]@!|!Q%3%~~(=Z&z&$>$>,&Z& H]2]p~I]${J]K] ", -" m=a,L],{]$ C'i)_-Q%A>(=a&E'W,$>W,z& M]N]O];{+~B~#~N{ ", -" ->,>D$]$ G!A&G~A>(=E'z&b&$>b& P]){!{M~Q]{{R]S] ", -" ;>j>S%d$ A&3%p%k'P%b&@,1*b& Y{_{:{T]U]V]W] ", -" T=&;9,C$+% X]1!(=F{b&1*1*1* Y]+{Z]#{${`]K] ", -" _=d>1*'&d$ 4%7)(=8;2*t*_= ^c]y~.^A~+^e{@^ ", -" N-#^$^|- X!/{Z&_=V*]) %^l{!{&^*^<~=^^] ", -" b>Y!|{N% X!+)2*S=S= '{Z{`{-^;^>^}{ ", -" 0;N-z&S% (=_=D&S= ,^O]:{q~B~'^t] ", -" 0,)^m=D$z; Z&1*&>D& !^~^{^]^^^/^(^_^ ", -" x-->1*i'9& F{_=D&D& :^<^[^}^|^1^2^3^ ", -" A-&;S=l!C'1'c& A&b&_=#)W* 4^5^6^7^8^9^ ", -" B-A-m=@;K>3%Q%3%8~_=y-<=3'9, 0^a^b^c^d^ ", -" S=}-=;->-;7*}-m=7*z-V, e^f^g^h^i^ ", -" b&#,D&j^}-A;T=b& k^l^m^n^ ", -" o^p^q^ ", -" r^ ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" "}; diff --git a/src/Mod/Ship/Icons/ReparametrizeIco.png b/src/Mod/Ship/Icons/ReparametrizeIco.png deleted file mode 100644 index 0e75e41cca14b4175ae520ee07bdf812b3d665dc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12178 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 UjA>5j!2kdN07*qoM6N<$f)8U!VgLXD diff --git a/src/Mod/Ship/Icons/ReparametrizeIco.xcf b/src/Mod/Ship/Icons/ReparametrizeIco.xcf deleted file mode 100644 index b370b06b0024d464ab3e0f6fa99ac62b467b4b05..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 53229 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%0AN73Rty3 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 diff --git a/src/Mod/Ship/Icons/ReparametrizeIco.xpm b/src/Mod/Ship/Icons/ReparametrizeIco.xpm deleted file mode 100644 index 690b93894..000000000 --- a/src/Mod/Ship/Icons/ReparametrizeIco.xpm +++ /dev/null @@ -1,1737 +0,0 @@ -/* XPM */ -static char * ReparametrizeIco_xpm[] = { -"128 128 1606 2", -" c None", -". c #000000", -"+ c #B50000", -"@ c #6C0000", -"# c #640000", -"$ c #FF0000", -"% c #8E0000", -"& c #8C0000", -"* c #630000", -"= c #CE0000", -"- c #DD0000", -"; c #A20000", -"> c #6A0000", -", c #7C0000", -"' c #860000", -") c #AA0000", -"! c #D50000", -"~ c #000001", -"{ c #00000B", -"] c #00000A", -"^ c #C80033", -"/ c #B5003A", -"( c #09009C", -"_ c #090099", -": c #090097", -"< c #090098", -"[ c #070085", -"} c #04004F", -"| c #040054", -"1 c #03000E", -"2 c #020000", -"3 c #0B0028", -"4 c #090027", -"5 c #14005B", -"6 c #1900B0", -"7 c #1500B2", -"8 c #1000B7", -"9 c #0C00BE", -"0 c #0800AC", -"a c #0700B9", -"b c #0600D5", -"c c #0400E0", -"d c #0200E9", -"e c #0100F2", -"f c #0000FB", -"g c #0000FD", -"h c #0000FE", -"i c #0000FC", -"j c #0000F8", -"k c #0000F3", -"l c #0100EC", -"m c #0100E5", -"n c #0200DF", -"o c #0300D9", -"p c #0400D6", -"q c #0400D3", -"r c #0500D3", -"s c #0400D4", -"t c #0400D9", -"u c #0400E2", -"v c #0400E7", -"w c #0300EB", -"x c #0300ED", -"y c #0300E7", -"z c #0300E2", -"A c #0300DC", -"B c #0300D5", -"C c #0300CF", -"D c #0200C7", -"E c #0200B1", -"F c #0200AE", -"G c #0100C3", -"H c #0200BC", -"I c #0400AD", -"J c #07009B", -"K c #0C008D", -"L c #BA0018", -"M c #E50010", -"N c #450044", -"O c #9E004F", -"P c #3E0070", -"Q c #0800B3", -"R c #0500C3", -"S c #0300D0", -"T c #0100DD", -"U c #0000EA", -"V c #0000F6", -"W c #0000FF", -"X c #0000F7", -"Y c #0000F5", -"Z c #0000F2", -"` c #0000EE", -" . c #0000E6", -".. c #0000E1", -"+. c #0000DE", -"@. c #0000DA", -"#. c #0000D6", -"$. c #0800CE", -"%. c #3700C6", -"&. c #2300BC", -"*. c #0000BB", -"=. c #0100B6", -"-. c #0200AF", -";. c #0300AD", -">. c #0300AE", -",. c #0300AF", -"'. c #0300A9", -"). c #0300A4", -"!. c #0300AC", -"~. c #0300B2", -"{. c #0400B0", -"]. c #0400AA", -"^. c #0400A5", -"/. c #0400A8", -"(. c #0400B3", -"_. c #0400BC", -":. c #0400C5", -"<. c #0300D1", -"[. c #0200E5", -"}. c #0200FB", -"|. c #0100FD", -"1. c #0000F4", -"2. c #0100E7", -"3. c #0100E3", -"4. c #0200DD", -"5. c #3300C8", -"6. c #4D00A4", -"7. c #0A00A6", -"8. c #0C00D8", -"9. c #0600E0", -"0. c #0100E1", -"a. c #0000E5", -"b. c #0000EC", -"c. c #0600EF", -"d. c #0700F7", -"e. c #0000FA", -"f. c #0000E9", -"g. c #0200DC", -"h. c #0500CD", -"i. c #0700BA", -"j. c #0800A7", -"k. c #0A0094", -"l. c #0C0085", -"m. c #0E0076", -"n. c #0F0069", -"o. c #10005C", -"p. c #0F004C", -"q. c #0B002F", -"r. c #120035", -"s. c #600000", -"t. c #800000", -"u. c #06001F", -"v. c #040014", -"w. c #08001E", -"x. c #04004B", -"y. c #020042", -"z. c #01005D", -"A. c #000086", -"B. c #010088", -"C. c #03008E", -"D. c #040097", -"E. c #0500A5", -"F. c #0700B5", -"G. c #0A00C4", -"H. c #2800D0", -"I. c #1100E4", -"J. c #0200E4", -"K. c #070084", -"L. c #0700C3", -"M. c #0100E4", -"N. c #0100FE", -"O. c #0100E2", -"P. c #0400C1", -"Q. c #3600A0", -"R. c #6B0083", -"S. c #190072", -"T. c #070068", -"U. c #06005A", -"V. c #05004D", -"W. c #000003", -"X. c #740000", -"Y. c #700000", -"Z. c #3F0039", -"`. c #C50033", -" + c #59005A", -".+ c #070081", -"++ c #0700B3", -"@+ c #0300D2", -"#+ c #0200E7", -"$+ c #0100F3", -"%+ c #0100EE", -"&+ c #0400CF", -"*+ c #0600AC", -"=+ c #090088", -"-+ c #090067", -";+ c #090051", -">+ c #070046", -",+ c #05003D", -"'+ c #040034", -")+ c #C40010", -"!+ c #F2000A", -"~+ c #620000", -"{+ c #7D0006", -"]+ c #0100E8", -"^+ c #0400D5", -"/+ c #0800B2", -"(+ c #09008A", -"_+ c #070072", -":+ c #06005E", -"<+ c #06004F", -"[+ c #FD0000", -"}+ c #EF0000", -"|+ c #9B0000", -"1+ c #080098", -"2+ c #0700BB", -"3+ c #06008F", -"4+ c #050065", -"5+ c #BD0000", -"6+ c #570000", -"7+ c #9A0000", -"8+ c #D70000", -"9+ c #820000", -"0+ c #010000", -"a+ c #F90000", -"b+ c #FB0000", -"c+ c #B30000", -"d+ c #090000", -"e+ c #DC0000", -"f+ c #0C0000", -"g+ c #7E0000", -"h+ c #470000", -"i+ c #BF0000", -"j+ c #900000", -"k+ c #2B0000", -"l+ c #A80000", -"m+ c #B20000", -"n+ c #2C0000", -"o+ c #950000", -"p+ c #5F0000", -"q+ c #890000", -"r+ c #670000", -"s+ c #6E0000", -"t+ c #780000", -"u+ c #690000", -"v+ c #6F0000", -"w+ c #3F0000", -"x+ c #550000", -"y+ c #350000", -"z+ c #4B0000", -"A+ c #990000", -"B+ c #7F0000", -"C+ c #540000", -"D+ c #4A0000", -"E+ c #A60000", -"F+ c #5C0000", -"G+ c #C80000", -"H+ c #5D0000", -"I+ c #D10000", -"J+ c #DB0000", -"K+ c #E40000", -"L+ c #04000C", -"M+ c #03000F", -"N+ c #000002", -"O+ c #BF0030", -"P+ c #C40037", -"Q+ c #0B00AC", -"R+ c #0B00A7", -"S+ c #0A00A7", -"T+ c #0A00A8", -"U+ c #0900A9", -"V+ c #070086", -"W+ c #06008D", -"X+ c #0600AF", -"Y+ c #0600B1", -"Z+ c #0500B3", -"`+ c #0400B5", -" @ c #0400B6", -".@ c #0300B8", -"+@ c #0300BA", -"@@ c #0300BD", -"#@ c #0100C0", -"$@ c #000091", -"%@ c #000092", -"&@ c #0000C5", -"*@ c #0000C1", -"=@ c #0200B3", -"-@ c #0500A8", -";@ c #06009C", -">@ c #080091", -",@ c #0B008A", -"'@ c #980041", -")@ c #C10032", -"!@ c #0B005F", -"~@ c #0B0071", -"{@ c #0E00B0", -"]@ c #0900C8", -"^@ c #0700D3", -"/@ c #0500DE", -"(@ c #0200EA", -"_@ c #0100FC", -":@ c #0100F8", -"<@ c #0200F2", -"[@ c #0200EB", -"}@ c #0300E4", -"|@ c #0300DE", -"1@ c #0300DA", -"2@ c #0300D7", -"3@ c #0300D6", -"4@ c #0300D8", -"5@ c #0200DB", -"6@ c #0200E0", -"7@ c #0100E6", -"8@ c #1900DE", -"9@ c #1F00DC", -"0@ c #0100DC", -"a@ c #0200CC", -"b@ c #0400BD", -"c@ c #0B00AE", -"d@ c #0E00A5", -"e@ c #0E008C", -"f@ c #080040", -"g@ c #08005C", -"h@ c #0A00A2", -"i@ c #0800B7", -"j@ c #0500C8", -"k@ c #0200D9", -"l@ c #0000F1", -"m@ c #0000ED", -"n@ c #0000E8", -"o@ c #0000E4", -"p@ c #0000DB", -"q@ c #0100D2", -"r@ c #3400CA", -"s@ c #3A00C1", -"t@ c #0000BC", -"u@ c #0000B7", -"v@ c #0100B2", -"w@ c #0100AD", -"x@ c #0300A5", -"y@ c #04009C", -"z@ c #050096", -"A@ c #06008E", -"B@ c #070088", -"C@ c #060061", -"D@ c #06005F", -"E@ c #090081", -"F@ c #0A007F", -"G@ c #09007E", -"H@ c #08007E", -"I@ c #07007E", -"J@ c #06007D", -"K@ c #04007D", -"L@ c #04007E", -"M@ c #020065", -"N@ c #010068", -"O@ c #000088", -"P@ c #010089", -"Q@ c #01008D", -"R@ c #030092", -"S@ c #030097", -"T@ c #04009E", -"U@ c #4C00A1", -"V@ c #4400AF", -"W@ c #0800BD", -"X@ c #0800C1", -"Y@ c #0600C7", -"Z@ c #0500CA", -"`@ c #0000EB", -" # c #C10009", -".# c #C4002C", -"+# c #17008D", -"@# c #0800BF", -"## c #0200D8", -"$# c #0000DF", -"%# c #0400CD", -"&# c #0600B9", -"*# c #0700A5", -"=# c #090091", -"-# c #0A0076", -";# c #0C0060", -"># c #0F0060", -",# c #110052", -"'# c #120044", -")# c #140037", -"!# c #ED0000", -"~# c #DC0019", -"{# c #DC001E", -"]# c #070075", -"^# c #090079", -"/# c #0B007C", -"(# c #0C0084", -"_# c #09009E", -":# c #0400B4", -"<# c #0E00CB", -"[# c #0500DD", -"}# c #2C00C8", -"|# c #1A00E2", -"1# c #0000F0", -"2# c #060098", -"3# c #070079", -"4# c #080071", -"5# c #080060", -"6# c #070053", -"7# c #1000CF", -"8# c #0500D1", -"9# c #0700F4", -"0# c #3A00BA", -"a# c #09008C", -"b# c #05004A", -"c# c #01002F", -"d# c #000006", -"e# c #E20000", -"f# c #0C0081", -"g# c #0600B4", -"h# c #080053", -"i# c #BF002F", -"j# c #DD001D", -"k# c #E00000", -"l# c #080079", -"m# c #080064", -"n# c #060048", -"o# c #DF0000", -"p# c #E60000", -"q# c #F70000", -"r# c #E50000", -"s# c #040000", -"t# c #F50000", -"u# c #030000", -"v# c #EB0000", -"w# c #050000", -"x# c #D20000", -"y# c #C30000", -"z# c #9D0000", -"A# c #760000", -"B# c #8A0000", -"C# c #500000", -"D# c #4D0000", -"E# c #5E0000", -"F# c #400000", -"G# c #3D0000", -"H# c #720000", -"I# c #520000", -"J# c #4F0000", -"K# c #510000", -"L# c #980000", -"M# c #750000", -"N# c #8D0000", -"O# c #B00000", -"P# c #610000", -"Q# c #850000", -"R# c #6D0000", -"S# c #D90000", -"T# c #580000", -"U# c #5B0000", -"V# c #F30000", -"W# c #680000", -"X# c #050010", -"Y# c #03000D", -"Z# c #000004", -"`# c #620038", -" $ c #C20039", -".$ c #45004F", -"+$ c #0A00AE", -"@$ c #0A00AA", -"#$ c #0A00A9", -"$$ c #0900AA", -"%$ c #0800A9", -"&$ c #070095", -"*$ c #050086", -"=$ c #0600AD", -"-$ c #0500AE", -";$ c #0400B1", -">$ c #0300B3", -",$ c #0300B6", -"'$ c #0200BE", -")$ c #0100C4", -"!$ c #00009B", -"~$ c #000089", -"{$ c #0100A1", -"]$ c #0300B1", -"^$ c #0500A3", -"/$ c #080095", -"($ c #0C007F", -"_$ c #A50024", -":$ c #DF0019", -"<$ c #010005", -"[$ c #0D0071", -"}$ c #0B0078", -"|$ c #0D00AA", -"1$ c #0B00C0", -"2$ c #0900CA", -"3$ c #0700D5", -"4$ c #0500E0", -"5$ c #0100F5", -"6$ c #0200FC", -"7$ c #0200EF", -"8$ c #0200E1", -"9$ c #0100E9", -"0$ c #0100EA", -"a$ c #1800D5", -"b$ c #2A00D2", -"c$ c #0800D7", -"d$ c #0200D0", -"e$ c #0300BF", -"f$ c #0F00A4", -"g$ c #120099", -"h$ c #08005D", -"i$ c #070074", -"j$ c #0700AF", -"k$ c #0500C6", -"l$ c #0000EF", -"m$ c #0000D9", -"n$ c #0000D1", -"o$ c #0800CA", -"p$ c #3D00C1", -"q$ c #2700BC", -"r$ c #0000B3", -"s$ c #0100AC", -"t$ c #0200A5", -"u$ c #03009D", -"v$ c #050097", -"w$ c #060091", -"x$ c #060064", -"y$ c #070087", -"z$ c #060086", -"A$ c #050084", -"B$ c #040084", -"C$ c #040085", -"D$ c #030087", -"E$ c #020083", -"F$ c #010070", -"G$ c #010078", -"H$ c #030090", -"I$ c #04009D", -"J$ c #0600AE", -"K$ c #0600B8", -"L$ c #1A00C1", -"M$ c #2900CF", -"N$ c #0F00D3", -"O$ c #0500D2", -"P$ c #0100DF", -"Q$ c #0200D1", -"R$ c #B8002E", -"S$ c #970057", -"T$ c #0900BD", -"U$ c #0000F9", -"V$ c #0200D4", -"W$ c #0400C2", -"X$ c #08009C", -"Y$ c #0C0073", -"Z$ c #0D0059", -"`$ c #0E004E", -" % c #11004D", -".% c #130041", -"+% c #130035", -"@% c #50002F", -"#% c #D40028", -"$% c #64002F", -"%% c #07007D", -"&% c #07007F", -"*% c #090083", -"=% c #0B0085", -"-% c #0B0093", -";% c #0700B1", -">% c #080096", -",% c #0F00D4", -"'% c #0600DD", -")% c #0100E0", -"!% c #1700DE", -"~% c #0900F5", -"{% c #0400C4", -"]% c #0600A4", -"^% c #070080", -"/% c #07005E", -"(% c #060055", -"_% c #070054", -":% c #A30000", -"<% c #090065", -"[% c #0500D0", -"}% c #0100EB", -"|% c #2600B6", -"1% c #6B0085", -"2% c #1F005F", -"3% c #050047", -"4% c #02002E", -"5% c #000007", -"6% c #0600B2", -"7% c #09007C", -"8% c #090055", -"9% c #060043", -"0% c #650022", -"a% c #E90010", -"b% c #5A000A", -"c% c #08007A", -"d% c #090080", -"e% c #070062", -"f% c #D99214", -"g% c #D99215", -"h% c #DD9516", -"i% c #DC9416", -"j% c #DC9315", -"k% c #D89014", -"l% c #D79014", -"m% c #DD9415", -"n% c #DE9516", -"o% c #E59A16", -"p% c #D18C12", -"q% c #DB9315", -"r% c #D68F13", -"s% c #D68F14", -"t% c #DA9115", -"u% c #DC9314", -"v% c #D89114", -"w% c #B87B12", -"x% c #A46C0C", -"y% c #B37407", -"z% c #312001", -"A% c #744A00", -"B% c #B47506", -"C% c #DB9215", -"D% c #DD9416", -"E% c #D89013", -"F% c #D78F13", -"G% c #D48D13", -"H% c #D18B13", -"I% c #D38C12", -"J% c #C58411", -"K% c #B0750F", -"L% c #B4760B", -"M% c #593A05", -"N% c #9E6603", -"O% c #593800", -"P% c #251700", -"Q% c #B37202", -"R% c #563701", -"S% c #6E4701", -"T% c #AC6F04", -"U% c #D78F12", -"V% c #D58E13", -"W% c #D79013", -"X% c #D18B11", -"Y% c #BF7F0F", -"Z% c #B2760D", -"`% c #BB7B0B", -" & c #624107", -".& c #B67507", -"+& c #6C4602", -"@& c #1B1100", -"#& c #B17102", -"$& c #352100", -"%& c #7C5002", -"&& c #9B6403", -"*& c #714902", -"=& c #A86B03", -"-& c #A76C03", -";& c #A66A02", -">& c #9C6301", -",& c #D18B12", -"'& c #CF8910", -")& c #CF8911", -"!& c #D38D11", -"~& c #E19612", -"{& c #CE8A12", -"]& c #C18110", -"^& c #C0800E", -"/& c #BE7D0C", -"(& c #573B07", -"_& c #BF7D09", -":& c #7B5005", -"<& c #3B2701", -"[& c #B27304", -"}& c #271901", -"|& c #9C6403", -"1& c #6C4502", -"2& c #B37304", -"3& c #4B3102", -"4& c #674202", -"5& c #A76B03", -"6& c #AD7003", -"7& c #A36803", -"8& c #A26803", -"9& c #A26802", -"0& c #9D6400", -"a& c #C6830E", -"b& c #DC9415", -"c& c #C78410", -"d& c #CB8610", -"e& c #CE8910", -"f& c #D88F12", -"g& c #CE8911", -"h& c #D38C11", -"i& c #C1800E", -"j& c #5C3D07", -"k& c #C37F09", -"l& c #6D4706", -"m& c #6B4604", -"n& c #BB7906", -"o& c #A96D05", -"p& c #9C6504", -"q& c #704903", -"r& c #AE7105", -"s& c #9D6505", -"t& c #A76B05", -"u& c #A86C05", -"v& c #AB6E04", -"w& c #AF7004", -"x& c #5E3C02", -"y& c #412A01", -"z& c #A36904", -"A& c #A56A03", -"B& c #A86C03", -"C& c #A46A02", -"D& c #966001", -"E& c #AA7009", -"F& c #DF9617", -"G& c #DC9216", -"H& c #C8830F", -"I& c #C9850E", -"J& c #C9860F", -"K& c #C98610", -"L& c #DC9211", -"M& c #CC880F", -"N& c #C2810F", -"O& c #92610B", -"P& c #C7830B", -"Q& c #422B03", -"R& c #845505", -"S& c #BC7907", -"T& c #AE7107", -"U& c #734B04", -"V& c #4C3103", -"W& c #AE7106", -"X& c #A26906", -"Y& c #AB6F05", -"Z& c #AA6E05", -"`& c #A86D05", -" * c #A86B04", -".* c #AB6F04", -"+* c #9B6303", -"@* c #905C03", -"#* c #A46903", -"$* c #9D6503", -"%* c #905D03", -"&* c #835503", -"** c #764B01", -"=* c #815304", -"-* c #DF9616", -";* c #C5830E", -">* c #C6820E", -",* c #C6830F", -"'* c #CD890F", -")* c #C7840F", -"!* c #C4830F", -"~* c #BC7D0D", -"{* c #CD870D", -"]* c #412B05", -"^* c #996307", -"/* c #B17306", -"(* c #100A00", -"_* c #B27307", -":* c #5B3B04", -"<* c #6D4705", -"[* c #B97707", -"}* c #8E5C05", -"|* c #8A5A05", -"1* c #3D2802", -"2* c #A16905", -"3* c #AD7106", -"4* c #AC6F06", -"5* c #AB6E05", -"6* c #AA6F05", -"7* c #AA6E04", -"8* c #A66C05", -"9* c #9D6604", -"0* c #915D03", -"a* c #865703", -"b* c #7B4E03", -"c* c #774D03", -"d* c #784D02", -"e* c #794E02", -"f* c #7A4E02", -"g* c #724800", -"h* c #D58E14", -"i* c #C5820D", -"j* c #C3810D", -"k* c #C2800E", -"l* c #BA7C0D", -"m* c #CB860E", -"n* c #704A07", -"o* c #9D6709", -"p* c #986407", -"q* c #2F1E02", -"r* c #BA7808", -"s* c #452C03", -"t* c #6E4705", -"u* c #C17D09", -"v* c #774D05", -"w* c #A46A07", -"x* c #B87808", -"y* c #BA7908", -"z* c #B47507", -"A* c #A16906", -"B* c #382502", -"C* c #956005", -"D* c #AF7106", -"E* c #AB6F06", -"F* c #A96E05", -"G* c #A46A05", -"H* c #9B6505", -"I* c #905D04", -"J* c #855603", -"K* c #7C4F03", -"L* c #784D03", -"M* c #794E03", -"N* c #7A4F03", -"O* c #7B4F02", -"P* c #7B4F03", -"Q* c #7A4F02", -"R* c #6E4600", -"S* c #DF9615", -"T* c #C3800C", -"U* c #C17F0C", -"V* c #C9840D", -"W* c #BC7C0D", -"X* c #B4760C", -"Y* c #C6830D", -"Z* c #905E0A", -"`* c #A56D0A", -" = c #8C5C08", -".= c #412B03", -"+= c #C7830A", -"@= c #452D03", -"#= c #644105", -"$= c #B77809", -"%= c #3F2903", -"&= c #956107", -"*= c #B37508", -"== c #B27408", -"-= c #B17308", -";= c #BC7B08", -">= c #B67608", -",= c #B07307", -"'= c #B07207", -")= c #B17307", -"!= c #AF7206", -"~= c #8B5B05", -"{= c #A06705", -"]= c #996305", -"^= c #8E5C04", -"/= c #855604", -"(= c #7E5103", -"_= c #7C5103", -":= c #7D5003", -"<= c #7C5003", -"[= c #714900", -"}= c #A16A09", -"|= c #E39817", -"1= c #BD7C0C", -"2= c #C07E0B", -"3= c #C9840C", -"4= c #BF7D0C", -"5= c #BF7E0C", -"6= c #8F5E09", -"7= c #AE720B", -"8= c #946109", -"9= c #3D2803", -"0= c #D18A0B", -"a= c #533604", -"b= c #5B3C05", -"c= c #B3750A", -"d= c #6E4806", -"e= c #B87809", -"f= c #A76D08", -"g= c #A66C08", -"h= c #4B3104", -"i= c #794F06", -"j= c #B47609", -"k= c #B37408", -"l= c #B47608", -"m= c #B57608", -"n= c #B57607", -"o= c #B17407", -"p= c #AC6F07", -"q= c #A36A06", -"r= c #9B6406", -"s= c #936006", -"t= c #936005", -"u= c #895805", -"v= c #805204", -"w= c #7D5103", -"x= c #7E5104", -"y= c #805203", -"z= c #7F5203", -"A= c #7C4F02", -"B= c #774D02", -"C= c #B9780B", -"D= c #C17F0B", -"E= c #B97A0B", -"F= c #C4810B", -"G= c #B9790B", -"H= c #915E09", -"I= c #9D670A", -"J= c #362303", -"K= c #D28A0C", -"L= c #563905", -"M= c #794F07", -"N= c #B3760A", -"O= c #4C3204", -"P= c #C2800A", -"Q= c #AB700A", -"R= c #A76E09", -"S= c #BB7B0A", -"T= c #B97909", -"U= c #B7780A", -"V= c #B9780A", -"W= c #BB7A09", -"X= c #BD7C09", -"Y= c #624105", -"Z= c #6B4605", -"`= c #B97808", -" - c #AD7008", -".- c #A16907", -"+- c #966206", -"@- c #8E5C06", -"#- c #855605", -"$- c #825405", -"%- c #815405", -"&- c #815404", -"*- c #805304", -"=- c #754B01", -"-- c #D99114", -";- c #B77909", -">- c #B8790A", -",- c #B9790A", -"'- c #C07E0A", -")- c #C27F0A", -"!- c #A76D0A", -"~- c #C4820C", -"{- c #9E690A", -"]- c #452D04", -"^- c #D38A0D", -"/- c #362403", -"(- c #9C660A", -"_- c #BA7B0C", -":- c #160F01", -"<- c #CF870D", -"[- c #6F4906", -"}- c #5C3C06", -"|- c #BE7D0B", -"1- c #BC7B0B", -"2- c #BB7A0A", -"3- c #B8780A", -"4- c #BA7B09", -"5- c #BB7B09", -"6- c #B47509", -"7- c #AE7208", -"8- c #A16807", -"9- c #8A5906", -"0- c #865706", -"a- c #855606", -"b- c #855706", -"c- c #855705", -"d- c #835605", -"e- c #845605", -"f- c #835505", -"g- c #825505", -"h- c #835404", -"i- c #825404", -"j- c #714901", -"k- c #C38111", -"l- c #E09716", -"m- c #B67709", -"n- c #B57709", -"o- c #BC7B09", -"p- c #BB7A0B", -"q- c #986409", -"r- c #7D5208", -"s- c #D48C0E", -"t- c #130D01", -"u- c #B7780C", -"v- c #1A1102", -"w- c #D1890E", -"x- c #8B5C09", -"y- c #A86F0B", -"z- c #CA860D", -"A- c #875808", -"B- c #BC7C0B", -"C- c #AF7309", -"D- c #A06808", -"E- c #915F08", -"F- c #895906", -"G- c #875806", -"H- c #865806", -"I- c #865606", -"J- c #845506", -"K- c #835504", -"L- c #835405", -"M- c #805303", -"N- c #744B01", -"O- c #A66D0A", -"P- c #E49917", -"Q- c #B27308", -"R- c #B57609", -"S- c #B57708", -"T- c #B37509", -"U- c #986308", -"V- c #A46B0A", -"W- c #D28A0F", -"X- c #010100", -"Y- c #C5830F", -"Z- c #99650B", -"`- c #3B2704", -" ; c #D68C0E", -".; c #553806", -"+; c #AC710C", -"@; c #C8830D", -"#; c #BF7F0D", -"$; c #C17F0D", -"%; c #C4810C", -"&; c #BD7D0C", -"*; c #A26B0A", -"=; c #503405", -"-; c #AD720A", -";; c #BD7D0B", -">; c #B5770A", -",; c #AD7109", -"'; c #9F6808", -"); c #926007", -"!; c #895A07", -"~; c #855807", -"{; c #875906", -"]; c #885806", -"^; c #855506", -"/; c #774C02", -"(; c #895B05", -"_; c #DA9215", -":; c #B97907", -"<; c #AF7207", -"[; c #B07208", -"}; c #976307", -"|; c #A76E0A", -"1; c #C9850D", -"2; c #352303", -"3; c #704B09", -"4; c #5D3E07", -"5; c #DC9111", -"6; c #462E05", -"7; c #AD720D", -"8; c #D78E0F", -"9; c #CA840E", -"0; c #C4810D", -"a; c #C27F0D", -"b; c #C2800D", -"c; c #C2800C", -"d; c #BC7C0C", -"e; c #B97A0C", -"f; c #B8790C", -"g; c #AA700A", -"h; c #9E6809", -"i; c #926009", -"j; c #8A5A07", -"k; c #875807", -"l; c #895907", -"m; c #8B5B07", -"n; c #8A5A06", -"o; c #895A06", -"p; c #885906", -"q; c #825504", -"r; c #805404", -"s; c #815203", -"t; c #7B5003", -"u; c #845604", -"v; c #8E5D06", -"w; c #DA9314", -"x; c #AE7206", -"y; c #B27306", -"z; c #B67607", -"A; c #B67708", -"B; c #946006", -"C; c #A56C09", -"D; c #BC7B0C", -"E; c #644106", -"F; c #C8840F", -"G; c #583A07", -"H; c #604008", -"I; c #E39712", -"J; c #503606", -"K; c #A9700E", -"L; c #B87B0E", -"M; c #A36C0C", -"N; c #C7830E", -"O; c #CB860F", -"P; c #CC870F", -"Q; c #BD7C0D", -"R; c #422B05", -"S; c #8D5D0A", -"T; c #C4810E", -"U; c #B4770C", -"V; c #AC720B", -"W; c #A36B0A", -"X; c #9B660A", -"Y; c #936109", -"Z; c #8D5D09", -"`; c #8A5A09", -" > c #8A5B08", -".> c #8C5C07", -"+> c #8C5B08", -"@> c #8C5B07", -"#> c #8A5B07", -"$> c #845606", -"%> c #764C02", -"&> c #7F5204", -"*> c #8B5B06", -"=> c #9B6508", -"-> c #A86E0B", -";> c #B7790E", -">> c #C98611", -",> c #DA9214", -"'> c #AC6F05", -")> c #B17304", -"!> c #B67506", -"~> c #AA6E06", -"{> c #AC7109", -"]> c #AA710B", -"^> c #674406", -"/> c #D28B10", -"(> c #614007", -"_> c #4D3406", -":> c #DF9412", -"<> c #452E06", -"[> c #9A670C", -"}> c #B6790F", -"|> c #A76F0D", -"1> c #C1810F", -"2> c #C78310", -"3> c #C8850E", -"4> c #8D5E0A", -"5> c #A36C0B", -"6> c #C8850F", -"7> c #BD7D0D", -"8> c #B2760C", -"9> c #A66D0B", -"0> c #9E680A", -"a> c #98640A", -"b> c #905E09", -"c> c #8D5C09", -"d> c #8C5C09", -"e> c #8E5D09", -"f> c #8E5E09", -"g> c #8E5D08", -"h> c #8C5D08", -"i> c #815403", -"j> c #794D02", -"k> c #825403", -"l> c #936007", -"m> c #A76E0B", -"n> c #B87A0E", -"o> c #C58310", -"p> c #CE8913", -"q> c #B07105", -"r> c #A36903", -"s> c #AF7105", -"t> c #684406", -"u> c #E09512", -"v> c #734D09", -"w> c #4F3507", -"x> c #D58F12", -"y> c #3A2705", -"z> c #B67910", -"A> c #B2770F", -"B> c #93620D", -"C> c #D48D11", -"D> c #6B4709", -"E> c #704A09", -"F> c #D68F11", -"G> c #CD880F", -"H> c #CA8710", -"I> c #CB870F", -"J> c #CA860F", -"K> c #C9850F", -"L> c #BE7E0D", -"M> c #B0740C", -"N> c #A26B0B", -"O> c #98650A", -"P> c #946209", -"Q> c #926109", -"R> c #92600A", -"S> c #915F09", -"T> c #905F09", -"U> c #8F5F09", -"V> c #8F5D08", -"W> c #8E5E08", -"X> c #8D5C08", -"Y> c #8B5B08", -"Z> c #895806", -"`> c #865705", -" , c #7D5104", -"., c #7A4E03", -"+, c #986408", -"@, c #C38110", -"#, c #D48E13", -"$, c #A76A04", -"%, c #A76C04", -"&, c #A86C04", -"*, c #A66A03", -"=, c #AE7004", -"-, c #A56B06", -";, c #794E05", -">, c #D78F10", -",, c #724B0A", -"', c #704B0B", -"), c #110B02", -"!, c #B4770F", -"~, c #644208", -"{, c #DB9213", -"], c #D08B12", -"^, c #D08B11", -"/, c #CF8A11", -"(, c #D48D12", -"_, c #D28B11", -":, c #84580B", -"<, c #563A07", -"[, c #D08A10", -"}, c #CB8710", -"|, c #CD8810", -"1, c #CE890F", -"2, c #BF7F0E", -"3, c #AF750D", -"4, c #A06B0C", -"5, c #96630A", -"6, c #935F0A", -"7, c #93610A", -"8, c #8F5E08", -"9, c #8D5D08", -"0, c #8B5A07", -"a, c #895905", -"b, c #B5770C", -"c, c #C98510", -"d, c #D38E12", -"e, c #D28D12", -"f, c #D28C13", -"g, c #A46904", -"h, c #A96E04", -"i, c #925D04", -"j, c #634106", -"k, c #A16B0F", -"l, c #D79015", -"m, c #EB9D16", -"n, c #98660E", -"o, c #4A3106", -"p, c #E29614", -"q, c #B47910", -"r, c #CF8A13", -"s, c #E49813", -"t, c #CF8B12", -"u, c #D08A12", -"v, c #D08A11", -"w, c #CE8A11", -"x, c #D28C11", -"y, c #B3770E", -"z, c #885B0B", -"A, c #BE7E0F", -"B, c #AF750E", -"C, c #A06A0C", -"D, c #95630B", -"E, c #91610B", -"F, c #94630B", -"G, c #95620B", -"H, c #95620A", -"I, c #94620A", -"J, c #94610A", -"K, c #92610A", -"L, c #916009", -"M, c #8F5D09", -"N, c #8D5B08", -"O, c #855505", -"P, c #905E08", -"Q, c #A26A09", -"R, c #B8790E", -"S, c #CA8711", -"T, c #D58E12", -"U, c #D18A12", -"V, c #935E04", -"W, c #BE7D0A", -"X, c #5B3B03", -"Y, c #BE7F0F", -"Z, c #D59014", -"`, c #F2A319", -" ' c #81560D", -".' c #8F5F0D", -"+' c #E49814", -"@' c #7C530B", -"#' c #B27710", -"$' c #402B06", -"%' c #CB8812", -"&' c #DD9314", -"*' c #D28C12", -"=' c #D38D12", -"-' c #CE8811", -";' c #C28211", -">' c #BE7F10", -",' c #BB7C0F", -"'' c #A26C0D", -")' c #97640C", -"!' c #93600C", -"~' c #93610C", -"{' c #96630B", -"]' c #98640C", -"^' c #98640B", -"/' c #96640B", -"(' c #95630A", -"_' c #94620B", -":' c #885A07", -"<' c #865707", -"[' c #9A6508", -"}' c #A86F0A", -"|' c #BA7B0E", -"1' c #CD8911", -"2' c #A16703", -"3' c #9F6601", -"4' c #C7830F", -"5' c #BD8015", -"6' c #63543B", -"7' c #F5AD32", -"8' c #533809", -"9' c #A97211", -"0' c #714C0B", -"a' c #E79A15", -"b' c #C48312", -"c' c #462F06", -"d' c #B07610", -"e' c #CF8912", -"f' c #C68411", -"g' c #BC7E10", -"h' c #B4780E", -"i' c #AA720E", -"j' c #A06B0D", -"k' c #99660C", -"l' c #96640C", -"m' c #95630C", -"n' c #98650C", -"o' c #99650C", -"p' c #97640B", -"q' c #925F09", -"r' c #885907", -"s' c #875907", -"t' c #926008", -"u' c #9C6609", -"v' c #B1740B", -"w' c #D08911", -"x' c #CC8710", -"y' c #9B6400", -"z' c #E0A640", -"A' c #B0A99B", -"B' c #CFA050", -"C' c #CD8A16", -"D' c #D18C14", -"E' c #E39816", -"F' c #D99013", -"G' c #DB9214", -"H' c #B17710", -"I' c #C28111", -"J' c #B77A0F", -"K' c #AE7310", -"L' c #A76F0E", -"M' c #A16A0D", -"N' c #9C680D", -"O' c #9A660C", -"P' c #99650D", -"Q' c #9B670C", -"R' c #8A5A08", -"S' c #865907", -"T' c #A46C0A", -"U' c #AF730B", -"V' c #B87A0D", -"W' c #BF7E0E", -"X' c #C5820E", -"Y' c #BA7A0A", -"Z' c #E9B04E", -"`' c #A18E6F", -" ) c #996F25", -".) c #EA9D18", -"+) c #DE9515", -"@) c #DE9514", -"#) c #D08B13", -"$) c #C18111", -"%) c #B37710", -"&) c #AB710F", -"*) c #A46D0F", -"=) c #A06A0E", -"-) c #9D6A0E", -";) c #9D690E", -">) c #9D680D", -",) c #9D680E", -"') c #9C670D", -")) c #895A08", -"!) c #895A09", -"~) c #AA6F0B", -"{) c #C4820D", -"]) c #C6840E", -"^) c #C7840E", -"/) c #A16702", -"() c #E69D1E", -"_) c #865E1B", -":) c #64430A", -"<) c #E89B16", -"[) c #DF9516", -"}) c #E09615", -"|) c #D08B14", -"1) c #BF8112", -"2) c #AF7510", -"3) c #9E6A0F", -"4) c #9F6B0F", -"5) c #A16B0E", -"6) c #9F6A0E", -"7) c #9E6A0D", -"8) c #9E690E", -"9) c #8C5D09", -"0) c #936009", -"a) c #9F680A", -"b) c #AE730B", -"c) c #BB7B0C", -"d) c #C27F0C", -"e) c #C3800D", -"f) c #C4800D", -"g) c #C3810E", -"h) c #A06702", -"i) c #A16602", -"j) c #D28E15", -"k) c #C08216", -"l) c #B07918", -"m) c #A67319", -"n) c #A97A2A", -"o) c #B0863D", -"p) c #B3883E", -"q) c #AB7B28", -"r) c #A26D11", -"s) c #A16C0F", -"t) c #A06B0E", -"u) c #9F6A0F", -"v) c #9E6A0E", -"w) c #9E690D", -"x) c #9B670D", -"y) c #9C670C", -"z) c #9B660C", -"A) c #976409", -"B) c #C27F0B", -"C) c #C3810C", -"D) c #C07F0C", -"E) c #C07E0D", -"F) c #9E6501", -"G) c #B87B0F", -"H) c #B17712", -"I) c #A66F10", -"J) c #A57621", -"K) c #CCB180", -"L) c #DBC7A4", -"M) c #E1CFAF", -"N) c #D9C39D", -"O) c #CCAE7A", -"P) c #BB934F", -"Q) c #AA7923", -"R) c #A26C0F", -"S) c #9D670D", -"T) c #A56D09", -"U) c #B0730A", -"V) c #BF7D0B", -"W) c #C17E0B", -"X) c #C07E0C", -"Y) c #BE7C0B", -"Z) c #A16701", -"`) c #A06909", -" ! c #A56F11", -".! c #B28332", -"+! c #D5BB8F", -"@! c #F9F5EF", -"#! c #F2EBDF", -"$! c #E7D8BF", -"%! c #D8C098", -"&! c #BC934F", -"*! c #A67218", -"=! c #A26D0F", -"-! c #9D690D", -";! c #9D680C", -">! c #96630C", -",! c #9A660B", -"'! c #A96F0A", -")! c #B1740A", -"!! c #BC7B0A", -"~! c #BE7C0A", -"{! c #BD7C0A", -"]! c #BC7C0A", -"^! c #AF7D25", -"/! c #DAC39B", -"(! c #F5EFE5", -"_! c #F9F6F0", -":! c #F6F0E7", -"~ c #AA6D04", -",~ c #A06601", -"'~ c #A16704", -")~ c #A87316", -"!~ c #AA761B", -"~~ c #A77011", -"{~ c #A77111", -"]~ c #A67111", -"^~ c #A67011", -"/~ c #A46D0D", -"(~ c #A46D0A", -"_~ c #A56B08", -":~ c #A56C07", -"<~ c #A56B05", -"[~ c #A66B04", -"}~ c #A06703", -"|~ c #A66E0D", -"1~ c #A87213", -"2~ c #A66E0C", -"3~ c #A46C09", -"4~ c #A46B07", -"5~ c #A36A04", -"6~ c #A56903", -"7~ c #A66B03", -"8~ c #A26804", -"9~ c #A26904", -"0~ c #A26702", -"a~ c #A36902", -"b~ c #A46A03", -"c~ c #A26902", -" ", -" ", -" ", -" . ", -" + @ . . . ", -" # $ % . . . . ", -" . & $ * . . . . + @ ", -" . . = $ . . . . # $ % ", -" . . . $ - . . . . & $ * ", -" . . . . $ ; . . . . = $ ", -" + @ . . . . > $ , . . . . $ - ", -" # $ % . . . . ' $ * . . . . $ ; ", -" & $ * . . . . ) $ . . . . > $ , ", -" = $ . . . . ! $ ~ . . . ' $ * ", -" $ - . . { ] ^ / ( _ : < < [ } | 1 2 ) $ ", -" $ ; 3 4 5 6 7 8 9 0 a b c d e f g g g g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M ", -" N O P Q R S T U V g h W W W h g f X Y Z ` U ...+.@.#.$.%.&.*.=.E F -.;.>.,.'.).!.~.{.].^./.I (._.:.<.[.}.|.|.1.2.3.4.o 5.6.7. ", -" 8.9.0.a.b.c.d.i i e.1.f.g.h.i.j.k.l.m.n.o.p.q.3 r. s.$ t. u.v.w. x.y.z.A.B.C.D.E.F.G.H.I.J.K. ", -" L.<.M.1.N.W h O.P.Q.R.S.T.U.V. ] W. . . X.$ Y. . . . . Z.`. +.+ ", -" ++@+#+$+%+&+*+=+-+;+>+,+'+)+!+ . . . . ' $ ~+ . . . . # $ {+ ", -" a d ]+^+/+(+_+:+<+ [+}+ . . . . |+$ . . . . X.$ Y. ", -" 1+2+3+4+ $ 5+ . . . . + $ . . . . ' $ ~+ ", -" 6+$ 7+ . . . . 8+$ . . . . |+$ ", -" # $ 9+ . . . . . . . . . . . . 0+a+b+2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . c+$ ", -" X.$ @ . . . . . . . . . . . . . . . . . . . . d+$ e+. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ! $ f+. . . ", -" g+$ h+. . . . . . . . . . . . . . . . . $ i+ . . . . a+b+2 . . . . ", -" . . . . j+$ k+. . . . . . . . . $ l+ . . . . $ - . ", -" . . . . . . . . m+$ n+ . . . . 6+$ o+ . . . . $ i+ ", -" . . . . . . . 8+$ . . . . p+$ q+ . . . . $ l+ ", -" . . . . a+b+ . . . . r+$ g+ . . . . 6+$ o+ ", -" $ - . . . . s+$ X. . . . . p+$ q+ ", -" $ i+ . . . . t+$ u+ . . . . . . r+$ g+ ", -" $ l+ . . . . . . . . . . . . v+$ w+. . . . . . . . . . . . . . . . . . . . . . . . . . . . . x+$ s.. ", -" 6+$ o+ . . . . . . . . . . . . . . . . . . . . g+$ y+. . . . . . . . . . . . . . . . . . . . . . . . . . . . . s.$ z+. . . . . . . ", -" 6+$ 9+ . . . . . . . . . . . . . . . . . A+$ . . . . B+$ C+ . . . . . . . ", -" . D+$ r+. . . . . . . . . . E+$ . . . . % $ F+ ", -" . . . . . C+$ s.. . . . . m+$ . . . . 7+$ ", -" . . . . . . . Y.$ > . . . . 5+$ . . . . E+$ ", -" . . . 9+$ * . . . . G+$ . . . . m+$ ", -" % $ H+ . . . . I+$ . . . . 5+$ ", -" 7+$ . . . . J+$ . . . . G+$ ", -" E+$ . . . . K+$ L+M+ 0+. I+$ ", -" m+$ . . N+W. O+P+ Q+R+S+T+U+V+W+X+Y+Z+Z+`+ @.@+@@@#@$@%@&@*@=@-@;@>@,@'@)@ ", -" 5+$ . W. !@~@{@9 ]@^@/@(@V |.h h W W W W h h |._@}.:@<@[@}@|@1@2@3@4@5@6@2.k _@W h h |.j %+7@0.8@9@o 5@0@a@b@++c@d@e@ ", -" G+$ f@g@h@i@j@k@f.1.h W h f j Y l@m@n@o@p@q@r@s@t@u@v@w@x@y@z@A@B@C@D@E@F@G@H@H@I@J@J@K@L@M@N@O@P@Q@R@S@T@E.U@V@W@X@Y@Z@2@`@N.e.Z +._. ", -" #.#+#@###` Y X f g V b.$#%#&#*#=#-#;#>#,#'#)# $ !# . . . . ~#{# ]#^#/#(#_#:.:# ", -" <#[#}#|#V W W h 1#:.2#3#4#5#6# . . $ K+ . . . . $ a+ ", -" 7#8#m e.W 9#0#a#T.b#c# d#W. . . $ e# . . . . $ !# ", -" f#j i g#G@h#i#j# . . . . $ k# . . . . $ K+ ", -" l#m#n# b+$ . . . . $ o# . . . . $ e# ", -" $ a+ . . . . $ o# . . . . $ k# ", -" $ !# . . . . $ p# . . . . $ o# ", -" $ K+ . . . . $ }+ . . . . $ o# ", -" $ e# . . . . $ q# . . . . . . . . . . . . . $ r# ", -" $ k# . . . . . . . . . . [+$ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . s#$ }+. . . . . . . . ", -" $ o# . . . . . . . . . . . . . . . . . t#$ 2 . . . . . . . . . . . . . . . . . . . . u#$ q#. . . . . . . . . . . . . ", -" $ o# . . . . . . . . . . . . . . . . v#$ . . . . [+$ . . . . . . ", -" $ r#. . . . . . . . . . . . . o#$ . . . . t#$ ", -" w#$ }+. . . . . . . . . x#$ . . . . v#$ ", -" . . . 2 $ q#. . . . . y#$ . . . . o#$ ", -" . . . [+$ . . . . + $ . . . . x#$ ", -" t#$ . . . . ) $ . . . . y#$ ", -" v#$ . . . . z#$ . . . . + $ ", -" o#$ . . . . j+$ F+ . . . . ) $ ", -" x#$ . . . . 9+$ * . . . . z#$ ", -" y#$ . . . . A#$ > . . . . . . . . . . . . B#$ C# ", -" + $ . . . . . . . . . . . D#$ E#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . s+$ F#. . . . . . ", -" ) $ . . . . . . . . . . . . . . . . . . G#$ H#. . . . . . . . . . . . . . . . . . . . . . . # $ I#. . . . . . . . . . . ", -" z#$ J# . . . . . . . . . . . . . . . . . K#$ L# . . . . r+$ M# . . . . . . ", -" N#$ F#. . . . . . . . . . . . $ O# . . . . P#$ Q# ", -" . . R#$ w+. . . . . . . . $ S# . . . . T#$ L# ", -" . . . . p+$ U# . . . . V#[+ . . . . $ O# ", -" . . . W#$ t+ . . . . G+$ . . . . $ S# ", -" P#$ Q# . . . . ; $ X#Y# . . V#[+ ", -" T#$ L# . . W.Z# `# $.$ +$@$#$$$%$&$*$z@=$-$-$;$>$,$+@'$)$!$~${$]$^$/$=+($ _$:$ ", -" $ O# N+<$ [$}$|$1$2$3$4$[@5$_@h W W W W W W h |._@6$:@7$#+8$A 1@1@1@4.8$9$Y g h W h _@5$0$3.n 4.a$b$c$d$e$X+7.f$g$ ", -" $ S# h$i$j$k$2@ .k W W W g e.X k l$`@ ...m$n$o$p$q$*.r$s$t$u$v$w$A@V+4+x$V+V+y$z$*$A$B$C$D$E$F$G$H$S@I$E.J$K$L$M$N$O$s P$k j Y o@Q$( ", -" R$S$T$5@` Y X f i U$l@o@V$W$X+X$,@Y$Z$`$ %.%+% $ k# . . . . @%#%$% %%&%*%=%-%;%B >% ", -" ,%'%)%!%~%W W W l@{%]%^%/%(%_% . . = $ . . . . $ :% <% ", -" 7#[%2.f W }%|%1%2%3%4% 5%N+~ . . & $ * . . . . $ k# ", -" Z+5$2.6%7%8%9%0%a%b% . . . . # $ & . . . . = $ ", -" c%d%e%n# W#$ B+ . . . . $ k# . . . . & $ * ", -" $ :% . . . . :%9+ . . # $ & ", -" $ k# . . . . $ k# ", -" = $ . . . . :%9+ f%g%h%i%j% ", -" & $ * . . k%l%m%h%n%o%p%p%q% ", -" # $ & . . r%r%s%t%u%v%w%x%y%z%A%B%C%D% ", -" $ k# E%F%G%H%I%J%K%L%M%N%O%P%Q%R%S%T%l%j% ", -" :%9+ U%V%V%W%X%Y%Z%`% &.&+&@&#&$&%&&&*&=&-&;&>&,&m% ", -" '&)&!&~&{&]&^&/&(&_&:&<&[&}&&&|&1&2&3&4&5&6&7&8&9&0&a&b& ", -" c&d&e&f&g&h&'&i&j&k&l&m&n&. o&p&q&r&s&t&u&v&w&x&y&z&A&B&-&C&D&E&F&G& ", -" H&I&J&K&L&M&N&O&P&Q&R&S&. T&U&V&W&X&r&o&Y&o&Z&`&u& *.*+*@*#*$*%*&*%&**=*-*j% ", -" ;*>*,*'*)*!*~*{*]*^*/*(*_*:*<*[*}*_*|*1*2*3*4*5*Z&Z&Z&6*7*8*9*0*a*b*c*d*e*f*e*g*h*q% ", -" i*j*>*i*k*l*m*n*o*p*q*r*s*t*u*v*w*x*y*T&z*/*A*B*C*D*4*E*F*G*H*I*J*K*L*M*N*K*O*P*Q*Q*f*R*Y%S* ", -" T*U*V*i*W*X*Y*Z*`* =.=+=@=#=$=%=&=*===-=;=>=,='=)=_*)=!=~=H*{=]=^=/=(=P*P*_=(=:=:=<=K*O*O*O*O*Q*[=}=|= ", -" 1=2=3=4=U*1=5=6=7=8=9=0=a=b=c=d=e=f=g=$=h=i=y*j=k=l=m=n=o=p=q=r=s=t=u=v=(=w=x=v=y=z=z=(=w=w=<=<=K*A=P*P*O*B=a*|=C% ", -" C=`%D=E=F=3=G=H=5=I=J=K=L=M=N=O=P=Q=R=S=T=U=V=W=X=Y=Z=y*`=m= -.-+-@-u=#-$-%-%-%-$-&-&-*-*-y=y=z=z=(=w=:=<=K*A=K*O*O*f*=---q% ", -" ;->-,-'-)-,-!-~-{-]-^-/-(-_-:-<-[-}-5=|-1-2-`%,->-3->-4-5-6-7-8-s=9-0-a-b-c-d-e-R&f-f-g-h-i-i-*-y=v=y=z=z=z=(=w=_=<=%&K* O*j-k-l- ", -" m-n-V=m-$=o-p-q-r-s-t-1=u-v-w-x-y-/&z-~-A-h=>-B-p-2-p-S=2-3-C-D-E-F-a-a-0-G-H-H-0-I-a-J-e-f-f-K-L-i-=*=*M-y=y=y=z=z=(=w=:=K*K* N-O-P- ", -" Q-m=R-S-T-e=U-V-W-X-Y-Z-`- ;.;+;@;#;$;@;%;5=&;T**;=;-;;;`%>;,;';);!;~;0-{;F-F-];G-G-H-H-0-#-#-^;R&f-f-K-$-i-%-&-*-v=y=v=z=z=z=w=w=:=<=:= /;(;P-_; ", -" T&:;==<;[;T=};|;1;2;N&3;4;5;6;+;Z%]*7;8;9;$;0;a;b;b;c;5=d;e;f;g;h;i;j;k;k;l;m;j;n;!;o;F-p;];G-G-H-H-b-a-#-e-R&K-f-f-f-q;&-r;s;y=y=z=z=z=(=(=w=t;d* :=u;v;m%w; ", -" x;y;W&!=z;A;B;C;D;E;F;G;H;I;J;K;L;M;N;O;P;Q;R;S;I&T;N;>*j*1=U;V;W;X;Y;Z;`; > >.>+>@>m;#>#>!;!;F-!;F-];G-G-H-0-0-0-#-$>e-R&f-K-K-i-i-&-r;M-v=v=z=(=e*%>d*&>*>=>->;>>>s%,>g% ", -" Y&'>7*)>!>~>q={>]>^>/>(>_>:><>[>}>|>e&1>2>d&'&)*)*a&3>4>5>6>7>8>9>0>a>Y;b>c>d>e>e>f>g>g>h> =+>+>@>m;m;#>o;!;F-F-];G-G-H-0-0-0-b-#-f-f-f-K-K-K-i-i>z=b*/;j>k>l>m>n>o>p>h*_;j%j% ", -" u&`&5*q>r>s>n=D-t>u>v>w>x>y>z>A>B>C>D>E>F>G>H>I>J>K>J>P;P;I&L>M>N>O>P>Q>R>S>S>S>T>U>U>6=6=V>W>Z;g>X> =.>m;Y>m;#>j;F-F-l;Z>];G-H-0-0-0-`>a-R&f-f-K-$- ,.,P*#-+,M>@,g&I%#,V%r%k% ", -" $,%,&,*,=,v&-,;,>,,,',h*),W%!,~,{,],^,/,(,_,:,<,[,d&},|,1,J>2,3,4,5,R>6,8=8=7,Q>Q>i;Q>S>S>T>T>6=8,6=W>Z;9,X>.>.>+>m;m;0,#>o;o;F-F-];G-G-0-0-0-I-#-$>=*x=*-a,o*b,c,(,x>d,e,f,G% ", -" 7&A&g,A&g,h,i,%;j,k,l,X-m,n,o,p,q,r,d,s,t,u,/,v,w,x,y,z,K>c,A,B,C,D,E,O&F,G,H,G,I,J,7,K,7,Q>i;L,S>T>b>6=6=6=M,g>9,9,N, =@>+>m;m;j;!;!;F-p;];G-0-H-0-b-O,];P,Q,R,S,T,r%I%U,v,U, ", -" 9&8&r>g,V,W,X,Y,Z,~ `, '.'+'@'l%#'$'%'&'*'*',&='*',&-'>>;'>',''')'!'~'{']'^'/'/'D,('G,_'J,7,Y;Q>Q>i;i;S>T>T>b>6=6=8,g>e>e>h>.>@>m;m;m;#>#>:'k;<'G-F-m;E-['}'|'c,,&(,*'[,1' ", -" 2'3'4'5'6'7'8'9'o%0'k%h*f,V%a'--b'c'd'u%U%G%e'f'g'h'i'j'k'l'm'n'o'k'n'n']']'p'/'{'('G,H,I,7,Y;Y;Q>i;R>q'T>T>6=6=6=6=8,g>g>9,9, = =j;r'G-s'm;t'u'O-v'~*)*e&w'/,|,x' ", -" 9&y',&z'A'B'C'D'_;E',>--f%l%F'G'v%H'I'b'J'K'L'M'N'O'P'k'Q'Q'[>[>O'n'o'n']']'p'p'{'/'D,H,H,I,I,7,7,K,R>i;i;S>T>U>6=6=6=8,f>d>R'S'k;g>+,T'U'V'W'X'K>P;x'I> ", -" 0&Y'Z'`' ).)j%_;_;j%+)@),>#)$)%)&)*)=)-);)>),)>)N'N'')Q'Q'Q'[>k'k'k'o'n'^')')'l'p'D,('G,H,I,J,7,Y;Q>K,q'S>S>S>6=f>d>))!)b>(-~)u-4=b;{)X'])^) ", -" /)h,()_):)<)[)})q%|)1)2)*)3)4)=)5)=)6)6)7)8)7)>)>)N'N'')Q'Q'Q'[>O'k'o'n']')'p'p'/'D,H,H,H,J,J,7,K,i;i;i;q'M,c>9)0)a)b)c)d)e)f)a;e)g) ", -" h)i)l-h%j)|)k)l)m)n)o)p)q)r)s)5)5)t)u)u)v)v)v)w)w)N'')x)y)x)Q'z)O'k'o'n'^']'p'p'p'/'D,('G,J,J,Y;7,K,L,Y;A)Q,U'`%B)C)d)D)E)U* ", -" /)F)G)H)I)J)K)L)M)N)O)P)Q)R)s)s)s)5)u)=)6)7)8)w)w)>)S)y)y)Q'Q'Q'O'O'k'o'n']'^'p'p'{'H,I,I,H,5,a>I=T)U)G=V)W)X)/&Y)/& ", -" Z)`) !.!+!@!#!$!%!&!*!=!=!s)R)k,5)=)6)6)6)v)w)w)-!;!N'y)Q'Q'Q'O'O'k'k'n')'>!>!D,p',!{-W;'!)!>-!!~!{!]!`% ", -" /)X&^!/!(!_!:!)N'x)Q'x)Q'O'n')'l'n'2!3!'!-;4!5!>-6!2-2- ", -" i)7!8!9!0!a!b!c!d!*)|!|!|!=!R)s)k,k,e!t)6)v)v)v)w)f!-!g!')h!i!k'Q'j!O-k!l!k=j=>=m!e= ", -" i)/)n!o!p!q!r!s!s!t!u!*)|!|!R)=!k,5)v!t)6)=)w!v)w)-!x!y!;!z!|;A!)=B!==k=*=m= ", -" C!D!E!F!G!H!I!s!u!u!|!*)|!=!R)s)k,5)J!=)6)v)v)w!3!K!L!M!N!M!O!O!== ", -" P!Q!R!S!T!I!U!s!V!*)|!*)|!=!R)s)W!5)X!Y!Z!f=~>`! ~.~!=T&T& ", -" C!X&+~@~#~$~U!s!s!%~%~&~|!*~M;=~-~;~`&>~v&5*'>'> ", -" ,~'~)~!~~~{~]~^~s!/~(~_~:~<~[~%,B&>~o& ", -" }~|~1~$~2~3~4~G*5~6~A&7~5& ", -" C!8~9~/)/)0~9&a~b~ ", -" i),~h)/)c~ ", -" ", -" ", -" ", -" "}; diff --git a/src/Mod/Ship/InitGui.py b/src/Mod/Ship/InitGui.py index e735befa1..5b556753d 100644 --- a/src/Mod/Ship/InitGui.py +++ b/src/Mod/Ship/InitGui.py @@ -1,68 +1,73 @@ #*************************************************************************** -#* * -#* Copyright (c) 2011, 2012 * -#* Jose Luis Cercos Pita * -#* * +#* * +#* Copyright (c) 2011, 2012 * +#* Jose Luis Cercos Pita * +#* * #* This program is free software; you can redistribute it and/or modify * -#* it under the terms of the GNU Lesser General Public License (LGPL) * -#* as published by the Free Software Foundation; either version 2 of * -#* the License, or (at your option) any later version. * -#* for detail see the LICENCE text file. * -#* * -#* 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 Library General Public License for more details. * -#* * -#* You should have received a copy of the GNU Library General Public * +#* it under the terms of the GNU Lesser General Public License (LGPL) * +#* as published by the Free Software Foundation; either version 2 of * +#* the License, or (at your option) any later version. * +#* for detail see the LICENCE text file. * +#* * +#* 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 Library General Public License for more details. * +#* * +#* You should have received a copy of the GNU Library General Public * #* License along with this program; if not, write to the Free Software * #* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * -#* USA * -#* * +#* USA * +#* * #*************************************************************************** class ShipWorkbench ( Workbench ): - """ @brief Workbench of Ship design module. Here toolbars & icons are append. """ - from shipUtils import Paths, Translator - import ShipGui + """ @brief Workbench of Ship design module. Here toolbars & icons are append. """ + from PyQt4 import QtCore, QtGui + from shipUtils import Paths + import ShipGui - Icon = Paths.iconsPath() + "/Ico.png" - MenuText = str(Translator.translate("Ship design")) - ToolTip = str(Translator.translate("Ship design")) + Icon = "Ico" + MenuText = str(QtCore.QT_TRANSLATE_NOOP("Ship", "Ship")) + ToolTip = str(QtCore.QT_TRANSLATE_NOOP("Ship", "Ship module provides some of the commonly used tool to design ship forms")) - def Initialize(self): - from shipUtils import Translator - # ToolBar - list = ["Ship_LoadExample", "Ship_CreateShip", "Ship_OutlineDraw", "Ship_AreasCurve", "Ship_Hydrostatics"] - self.appendToolbar("Ship design",list) - list = ["Ship_Weights", "Ship_CreateTank", "Ship_GZ"] - self.appendToolbar("Weights",list) - # Simulation stuff only if pyOpenCL & numpy are present - hasOpenCL = True - hasNumpy = True - try: - import pyopencl - except ImportError: - hasOpenCL = False - msg = Translator.translate("pyOpenCL not installed, ship simulations disabled\n") - App.Console.PrintWarning(msg) - try: - import numpy - except ImportError: - hasNumpy = False - msg = Translator.translate("numpy not installed, ship simulations disabled\n") - App.Console.PrintWarning(msg) - if hasOpenCL and hasNumpy: - list = ["Ship_CreateSim", "Ship_RunSim", "Ship_StopSim", "Ship_TrackSim"] - self.appendToolbar("Simulation",list) - - # Menu - list = ["Ship_LoadExample", "Ship_CreateShip", "Ship_OutlineDraw", "Ship_AreasCurve", "Ship_Hydrostatics"] - self.appendMenu("Ship design",list) - list = ["Ship_Weights", "Ship_CreateTank", "Ship_GZ"] - self.appendMenu("Weights",list) - if hasOpenCL and hasNumpy: - list = ["Ship_CreateSim", "Ship_RunSim", "Ship_StopSim", "Ship_TrackSim"] - self.appendMenu("Simulation",list) + def Initialize(self): + from PyQt4 import QtCore, QtGui + + # Print a warning if Plot module can't be used + try: + import matplotlib + except ImportError: + msg = QtGui.QApplication.translate("ship_console", "Plot module is disabled, tools can't graph output curves", + None,QtGui.QApplication.UnicodeUTF8) + FreeCAD.Console.PrintMessage(msg + '\n') + # ToolBar + shiplist = ["Ship_LoadExample", "Ship_CreateShip", "Ship_OutlineDraw", "Ship_AreasCurve", "Ship_Hydrostatics"] + weightslist = ["Ship_Weights", "Ship_CreateTank", "Ship_GZ"] + self.appendToolbar(str(QtCore.QT_TRANSLATE_NOOP("Ship", "Ship design")),shiplist) + self.appendToolbar(str(QtCore.QT_TRANSLATE_NOOP("Ship", "Weights")),weightslist) + self.appendMenu(str(QtCore.QT_TRANSLATE_NOOP("Ship", "Ship design")),shiplist) + self.appendMenu(str(QtCore.QT_TRANSLATE_NOOP("Ship", "Weights")),weightslist) + # Simulation stuff only if pyOpenCL & numpy are present + hasOpenCL = True + hasNumpy = True + try: + import pyopencl + except ImportError: + hasOpenCL = False + msg = QtGui.QApplication.translate("ship_console", "pyOpenCL not installed, simulations stuff will disabled therefore", + None,QtGui.QApplication.UnicodeUTF8) + FreeCAD.Console.PrintMessage(msg + '\n') + try: + import numpy + except ImportError: + hasNumpy = False + msg = QtGui.QApplication.translate("ship_console", "numpy not installed, simulations stuff will disabled therefore", + None,QtGui.QApplication.UnicodeUTF8) + FreeCAD.Console.PrintMessage(msg + '\n') + if hasOpenCL and hasNumpy: + simlist = ["Ship_CreateSim", "Ship_RunSim", "Ship_StopSim", "Ship_TrackSim"] + self.appendToolbar(str(QtCore.QT_TRANSLATE_NOOP("Ship", "Simulation")),simlist) + self.appendMenu(str(QtCore.QT_TRANSLATE_NOOP("Ship", "Simulation")),simlist) Gui.addWorkbench(ShipWorkbench()) diff --git a/src/Mod/Ship/Instance.py b/src/Mod/Ship/Instance.py index 40fd10992..da022b8b8 100644 --- a/src/Mod/Ship/Instance.py +++ b/src/Mod/Ship/Instance.py @@ -1,29 +1,32 @@ #*************************************************************************** -#* * -#* Copyright (c) 2011, 2012 * -#* Jose Luis Cercos Pita * -#* * +#* * +#* Copyright (c) 2011, 2012 * +#* Jose Luis Cercos Pita * +#* * #* This program is free software; you can redistribute it and/or modify * -#* it under the terms of the GNU Lesser General Public License (LGPL) * -#* as published by the Free Software Foundation; either version 2 of * -#* the License, or (at your option) any later version. * -#* for detail see the LICENCE text file. * -#* * -#* 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 Library General Public License for more details. * -#* * -#* You should have received a copy of the GNU Library General Public * +#* it under the terms of the GNU Lesser General Public License (LGPL) * +#* as published by the Free Software Foundation; either version 2 of * +#* the License, or (at your option) any later version. * +#* for detail see the LICENCE text file. * +#* * +#* 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 Library General Public License for more details. * +#* * +#* You should have received a copy of the GNU Library General Public * #* License along with this program; if not, write to the Free Software * #* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * -#* USA * -#* * +#* USA * +#* * #*************************************************************************** import time from math import * +# Qt library +from PyQt4 import QtGui,QtCore + # COIN from pivy.coin import * from pivy import coin @@ -34,554 +37,563 @@ from FreeCAD import Base, Vector import Part # Ship design module -from shipUtils import Paths, Translator, Math +from shipUtils import Paths, Math class Ship: - def __init__(self, obj, solids): - """ Creates a new ship on active document. - @param obj Part::FeaturePython created object. - @param faces Ship solids components. - """ - # Add uniqueness property to identify Ship instances - obj.addProperty("App::PropertyBool","IsShip","Ship", str(Translator.translate("True if is a valid ship instance"))).IsShip=True - # Add main dimensions - obj.addProperty("App::PropertyLength","Length","Ship", str(Translator.translate("Ship length (Lpp) [m]"))).Length=0.0 - obj.addProperty("App::PropertyLength","Beam","Ship", str(Translator.translate("Ship beam (B) [m]"))).Beam=0.0 - obj.addProperty("App::PropertyLength","Draft","Ship", str(Translator.translate("Ship draft (T) [m]"))).Draft=0.0 - # Add shapes - obj.Shape = Part.makeCompound(solids) - obj.addProperty("Part::PropertyPartShape","ExternalFaces","Ship", str(Translator.translate("Ship only external faces"))) - obj.Proxy = self + def __init__(self, obj, solids): + """ Creates a new ship on active document. + @param obj Part::FeaturePython created object. + @param faces Ship solids components. + """ + # Add uniqueness property to identify Ship instances + tooltip = str(QtGui.QApplication.translate("Ship","True if is a valid ship instance",None,QtGui.QApplication.UnicodeUTF8)) + obj.addProperty("App::PropertyBool","IsShip","Ship", tooltip).IsShip=True + # Add main dimensions + tooltip = str(QtGui.QApplication.translate("Ship","True if is a valid ship instance",None,QtGui.QApplication.UnicodeUTF8)) + obj.addProperty("App::PropertyLength","Length","Ship", tooltip).Length=0.0 + tooltip = str(QtGui.QApplication.translate("Ship","True if is a valid ship instance",None,QtGui.QApplication.UnicodeUTF8)) + obj.addProperty("App::PropertyLength","Beam","Ship", tooltip).Beam=0.0 + tooltip = str(QtGui.QApplication.translate("Ship","True if is a valid ship instance",None,QtGui.QApplication.UnicodeUTF8)) + obj.addProperty("App::PropertyLength","Draft","Ship", tooltip).Draft=0.0 + # Add shapes + obj.Shape = Part.makeCompound(solids) + tooltip = str(QtGui.QApplication.translate("Ship","True if is a valid ship instance",None,QtGui.QApplication.UnicodeUTF8)) + obj.addProperty("Part::PropertyPartShape","ExternalFaces","Ship", tooltip) + obj.Proxy = self - def onChanged(self, fp, prop): - """ Called when a ship property is modified - @param fp Part::FeaturePython object. - @param prop Property changed. - """ - if prop == "Length" or prop == "Beam" or prop == "Draft": - pass + def onChanged(self, fp, prop): + """ Called when a ship property is modified + @param fp Part::FeaturePython object. + @param prop Property changed. + """ + if prop == "Length" or prop == "Beam" or prop == "Draft": + pass - def execute(self, fp): - """ Called when a recomputation is needed. - @param fp Part::FeaturePython object. - """ - fp.Shape = Part.makeCompound(fp.Shape.Solids) + def execute(self, fp): + """ Called when a recomputation is needed. + @param fp Part::FeaturePython object. + """ + fp.Shape = Part.makeCompound(fp.Shape.Solids) class ViewProviderShip: - def __init__(self, obj): - "Set this object to the proxy object of the actual view provider" - obj.Proxy = self + def __init__(self, obj): + "Set this object to the proxy object of the actual view provider" + obj.Proxy = self - def attach(self, obj): - ''' Setup the scene sub-graph of the view provider, this method is mandatory ''' - return + def attach(self, obj): + ''' Setup the scene sub-graph of the view provider, this method is mandatory ''' + return - def updateData(self, fp, prop): - ''' If a property of the handled feature has changed we have the chance to handle this here ''' - return + def updateData(self, fp, prop): + ''' If a property of the handled feature has changed we have the chance to handle this here ''' + return - def getDisplayModes(self,obj): - ''' Return a list of display modes. ''' - modes=[] - return modes + def getDisplayModes(self,obj): + ''' Return a list of display modes. ''' + modes=[] + return modes - def getDefaultDisplayMode(self): - ''' Return the name of the default display mode. It must be defined in getDisplayModes. ''' - return "Shaded" + def getDefaultDisplayMode(self): + ''' Return the name of the default display mode. It must be defined in getDisplayModes. ''' + return "Shaded" - def setDisplayMode(self,mode): - ''' Map the display mode defined in attach with those defined in getDisplayModes. - Since they have the same names nothing needs to be done. This method is optinal. - ''' - return mode + def setDisplayMode(self,mode): + ''' Map the display mode defined in attach with those defined in getDisplayModes. + Since they have the same names nothing needs to be done. This method is optinal. + ''' + return mode - def onChanged(self, vp, prop): - ''' Print the name of the property that has changed ''' - # FreeCAD.Console.PrintMessage("Change property: " + str(prop) + "\n") + def onChanged(self, vp, prop): + ''' Print the name of the property that has changed ''' + # FreeCAD.Console.PrintMessage("Change property: " + str(prop) + "\n") - def __getstate__(self): - ''' When saving the document this object gets stored using Python's cPickle module. - Since we have some un-pickable here -- the Coin stuff -- we must define this method - to return a tuple of all pickable objects or None. - ''' - return None + def __getstate__(self): + ''' When saving the document this object gets stored using Python's cPickle module. + Since we have some un-pickable here -- the Coin stuff -- we must define this method + to return a tuple of all pickable objects or None. + ''' + return None - def __setstate__(self,state): - ''' When restoring the pickled object from document we have the chance to set some - internals here. Since no data were pickled nothing needs to be done here. - ''' - return None + def __setstate__(self,state): + ''' When restoring the pickled object from document we have the chance to set some + internals here. Since no data were pickled nothing needs to be done here. + ''' + return None - def getIcon(self): - return """ - /* XPM */ - static char * Ship_xpm[] = { - "32 32 396 2", - " c None", - ". c #2C2C2C", - "+ c #3A3A3A", - "@ c #585857", - "# c #161616", - "$ c #000000", - "% c #363636", - "& c #333333", - "* c #B3B3B3", - "= c #B4B4B4", - "- c #949494", - "; c #565653", - "> c #141414", - ", c #080807", - "' c #585858", - ") c #878787", - "! c #9F9E9F", - "~ c #9F9F9E", - "{ c #8F8F90", - "] c #6B6B6B", - "^ c #101010", - "/ c #737373", - "( c #4C4C4C", - "_ c #B1B1B7", - ": c #9090C0", - "< c #A7A7B2", - "[ c #87878E", - "} c #4F4F52", - "| c #191919", - "1 c #656565", - "2 c #D1D1D2", - "3 c #D1D1D1", - "4 c #CECECE", - "5 c #CDCCCC", - "6 c #CCCCCC", - "7 c #CCCCCB", - "8 c #CDCECD", - "9 c #BDBDBD", - "0 c #424242", - "a c #373737", - "b c #0A0A0A", - "c c #241414", - "d c #0E0C0C", - "e c #929393", - "f c #383738", - "g c #9B9B9A", - "h c #A0A0AF", - "i c #2929E4", - "j c #2525E5", - "k c #3F3FD7", - "l c #5B5BC8", - "m c #535368", - "n c #686866", - "o c #C8C8C8", - "p c #C8C8C7", - "q c #C7C6C7", - "r c #C6C6C6", - "s c #C5C5C5", - "t c #C4C5C5", - "u c #C3C4C3", - "v c #C3C3C2", - "w c #BCBCBC", - "x c #595959", - "y c #A6A6A6", - "z c #969696", - "A c #0B0B0B", - "B c #0D0707", - "C c #894646", - "D c #1C1A1A", - "E c #525252", - "F c #6C6D6C", - "G c #A3A3A2", - "H c #A3A296", - "I c #8E8F98", - "J c #6F6EA5", - "K c #5354AF", - "L c #373753", - "M c #8D8D8B", - "N c #C5C5C4", - "O c #C2C2C2", - "P c #C1C1C1", - "Q c #C0C0C0", - "R c #C0BFBF", - "S c #BFBFBF", - "T c #BEBEBE", - "U c #B1B2B2", - "V c #404040", - "W c #ABAAAA", - "X c #797979", - "Y c #2A1212", - "Z c #662828", - "` c #3D403F", - " . c #B5B5B5", - ".. c #6B6A6B", - "+. c #4A4A4A", - "@. c #9A9A9A", - "#. c #909090", - "$. c #8B8B8A", - "%. c #898A86", - "&. c #84837F", - "*. c #3D3D3C", - "=. c #9E9E9E", - "-. c #BFBFBE", - ";. c #BDBEBD", - ">. c #BBBBBB", - ",. c #BABABA", - "'. c #B9B9B9", - "). c #B8B8B8", - "!. c #999999", - "~. c #BABAB9", - "{. c #ABABAB", - "]. c #292929", - "^. c #381212", - "/. c #4C1514", - "(. c #535656", - "_. c #717171", - ":. c #919090", - "<. c #818181", - "[. c #4E4E4E", - "}. c #4B4B4B", - "|. c #B1B1B1", - "1. c #B8B7B8", - "2. c #B6B6B6", - "3. c #B6B5B5", - "4. c #B4B5B4", - "5. c #B2B3B2", - "6. c #5C5D5C", - "7. c #AFAFAF", - "8. c #ADACAC", - "9. c #5B5B5B", - "0. c #410C0C", - "a. c #3E0707", - "b. c #525555", - "c. c #9C9C9C", - "d. c #2D2D2D", - "e. c #757575", - "f. c #474747", - "g. c #484848", - "h. c #9F9F9F", - "i. c #B3B3B4", - "j. c #B2B2B2", - "k. c #B0B0B0", - "l. c #ADAEAD", - "m. c #ADADAD", - "n. c #B0B1B0", - "o. c #1E1E1E", - "p. c #ACABAC", - "q. c #AAA9A9", - "r. c #A8A8A8", - "s. c #5D5D5D", - "t. c #290202", - "u. c #281010", - "v. c #272828", - "w. c #767777", - "x. c #505050", - "y. c #1F1F1F", - "z. c #5E5E5D", - "A. c #A4A5A5", - "B. c #B1B2B1", - "C. c #AEAEAE", - "D. c #AEADAD", - "E. c #ABACAC", - "F. c #AAAAAA", - "G. c #A9A8A8", - "H. c #ABABAC", - "I. c #7B7B7B", - "J. c #2B2B2B", - "K. c #A4A4A4", - "L. c #A6A5A6", - "M. c #888888", - "N. c #0E0E0E", - "O. c #101312", - "P. c #7E8080", - "Q. c #5E5E5E", - "R. c #242424", - "S. c #555555", - "T. c #7F7F7F", - "U. c #A4A3A4", - "V. c #B3B3B2", - "W. c #ACACAC", - "X. c #A9A9A9", - "Y. c #A8A7A7", - "Z. c #A7A6A7", - "`. c #A7A7A7", - " + c #A8A8A7", - ".+ c #A5A5A5", - "++ c #A2A2A2", - "@+ c #222122", - "#+ c #7E7E7E", - "$+ c #A3A3A3", - "%+ c #9B9B9B", - "&+ c #050505", - "*+ c #6E6E6E", - "=+ c #A7A7A6", - "-+ c #989898", - ";+ c #A5A4A4", - ">+ c #A7A7A8", - ",+ c #A5A6A7", - "'+ c #979A99", - ")+ c #818383", - "!+ c #757878", - "~+ c #757979", - "{+ c #878A8A", - "]+ c #A3A5A5", - "^+ c #828282", - "/+ c #A0A0A0", - "(+ c #232323", - "_+ c #939393", - ":+ c #A5A6A5", - "<+ c #A2A3A2", - "[+ c #A2A1A1", - "}+ c #A1A0A1", - "|+ c #939292", - "1+ c #636262", - "2+ c #554D4D", - "3+ c #634C4C", - "4+ c #755555", - "5+ c #936464", - "6+ c #9F6868", - "7+ c #9B6060", - "8+ c #804A4A", - "9+ c #5C3737", - "0+ c #1D1616", - "a+ c #A1A1A1", - "b+ c #010101", - "c+ c #151516", - "d+ c #707070", - "e+ c #9D9E9E", - "f+ c #8C8D8D", - "g+ c #8B8888", - "h+ c #726A6A", - "i+ c #6D5959", - "j+ c #866261", - "k+ c #C18B8B", - "l+ c #D79696", - "m+ c #D18C8C", - "n+ c #CB8180", - "o+ c #C57575", - "p+ c #BF6B6A", - "q+ c #BB6161", - "r+ c #B95958", - "s+ c #9C4544", - "t+ c #2E1212", - "u+ c #6F6C6C", - "v+ c #A0A1A1", - "w+ c #575757", - "x+ c #0C0C0C", - "y+ c #9C9D9D", - "z+ c #7A7272", - "A+ c #876F6F", - "B+ c #977070", - "C+ c #C28C8C", - "D+ c #D59595", - "E+ c #D08A8A", - "F+ c #C67D7D", - "G+ c #C07272", - "H+ c #BC6969", - "I+ c #B85F5F", - "J+ c #B35656", - "K+ c #B04C4C", - "L+ c #AB4243", - "M+ c #A63939", - "N+ c #591B1B", - "O+ c #6A2121", - "P+ c #542323", - "Q+ c #585A5A", - "R+ c #191515", - "S+ c #706262", - "T+ c #A58080", - "U+ c #B58383", - "V+ c #CE8F8F", - "W+ c #CD8989", - "X+ c #C17372", - "Y+ c #B45656", - "Z+ c #AF4C4C", - "`+ c #AB4242", - " @ c #A73A39", - ".@ c #A3302F", - "+@ c #9F2626", - "@@ c #8E1A1A", - "#@ c #2C0808", - "$@ c #91191A", - "%@ c #2F0200", - "&@ c #90C6FB", - "*@ c #8BBFFB", - "=@ c #94CBFC", - "-@ c #AFEFFB", - ";@ c #7DABA0", - ">@ c #3C2521", - ",@ c #C88484", - "'@ c #C57C7D", - ")@ c #C17273", - "!@ c #B86060", - "~@ c #AB4343", - "{@ c #A73939", - "]@ c #A32F2F", - "^@ c #9B1C1D", - "/@ c #961313", - "(@ c #96090A", - "_@ c #3C0202", - ":@ c #4E0202", - "<@ c #300000", - "[@ c #3E5378", - "}@ c #7EABF9", - "|@ c #84B5FC", - "1@ c #96CDFB", - "2@ c #B2F2FA", - "3@ c #C4FFFA", - "4@ c #2E3FFD", - "5@ c #3346FD", - "6@ c #2A3AFD", - "7@ c #161EFE", - "8@ c #1B25FD", - "9@ c #1F25B4", - "0@ c #7C6196", - "a@ c #AA6075", - "b@ c #AC5763", - "c@ c #AD5155", - "d@ c #AD4645", - "e@ c #A83938", - "f@ c #A3302E", - "g@ c #A02624", - "h@ c #9B1C1B", - "i@ c #971311", - "j@ c #930A09", - "k@ c #900300", - "l@ c #900505", - "m@ c #660007", - "n@ c #00000D", - "o@ c #200112", - "p@ c #597F88", - "q@ c #6E97FD", - "r@ c #384CFD", - "s@ c #394EFD", - "t@ c #2D3EFD", - "u@ c #151DFE", - "v@ c #1821FE", - "w@ c #3C52FD", - "x@ c #6388FC", - "y@ c #9CD6FB", - "z@ c #D0FFFA", - "A@ c #AEEEFB", - "B@ c #749FFF", - "C@ c #3F5DFF", - "D@ c #4165FF", - "E@ c #525AE3", - "F@ c #6153C4", - "G@ c #672D8D", - "H@ c #6C1B6A", - "I@ c #722164", - "J@ c #75225E", - "K@ c #731D57", - "L@ c #701653", - "M@ c #690E52", - "N@ c #5F0050", - "O@ c #562086", - "P@ c #11108D", - "Q@ c #2330BE", - "R@ c #344AE1", - "S@ c #4E6BFF", - "T@ c #4E6BFD", - "U@ c #597AFC", - "V@ c #6184FC", - "W@ c #7099FC", - "X@ c #8BBEFB", - "Y@ c #95CCFB", - "Z@ c #5B7CFC", - "`@ c #1C26FD", - " # c #121AFE", - ".# c #9ED7FB", - "+# c #81B4FF", - "@# c #6893FF", - "## c #6997FF", - "$# c #6695FF", - "%# c #6390FF", - "&# c #618DFF", - "*# c #608DFF", - "=# c #618EFF", - "-# c #6391FF", - ";# c #6898FF", - "># c #6B9AFF", - ",# c #5171ED", - "'# c #90C4FF", - ")# c #7EABFC", - "!# c #729CFC", - "~# c #6287FC", - "{# c #4761FD", - "]# c #070AFE", - "^# c #6084FC", - "/# c #9AD2FB", - "(# c #A2DDFB", - "_# c #8ABDFB", - ":# c #2B3AFD", - "<# c #A9E8FB", - "[# c #B9FCFA", - "}# c #BAFEFA", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " . + @ # $ $ $ $ $ ", - " % & * = - ; > $ $ , ' ) ! ~ { ] & $ $ $ ", - " ^ / ( = _ : < [ } | $ 1 2 3 4 5 6 7 6 8 9 0 a b ", - " c d e f g h i j k l m n 4 o p q r s t u v w x y z A ", - " B C D * E F G H I J K L M N O O P Q R S T 9 U V W O X $ ", - " Y Z ` ...+.@.#.$.%.&.*.=.-.;.w >.>.,.'.).).!.+ ~. .{.]. ", - " ^./.(.y _.f :.) <.[.^ }.|.).1.2.3. .4.* 5. .6.1 4.7.8.9. ", - " 0.a.b.c./ d.e.f.| g.h.9 i.* j.|.k.7.7.l.m.n.o.@.p.q.r.s. ", - " t.u.v.w.x.y.% z.A.).B.C.D.m.E.{.F.F.G.r.H.I.J.k.K.L.M.N. ", - " O.P.Q.R.S.T.U.V.W.q.X.r.Y.Z.`.Y. +`..+++{.@+#+$+++%+y. ", - " &+*+W.=+-+;+X.>+y .+K.K.y y ,+'+)+!+~+{+]+^+].$+/+$+J. ", - " (+_+:+U.$+<+[+}+/+h.=.|+1+2+3+4+5+6+7+8+9+0+_.a+/+0 b+ ", - " c+d+h.a+/+++e+f+g+h+i+j+k+l+m+n+o+p+q+r+s+t+u+v+w+$ ", - " x+f.- y+w.z+A+B+C+D+E+F+G+H+I+J+K+L+M+N+O+P+Q+$ ", - " R+S+T+U+V+W+F+X+H+I+Y+Z+`+ @.@+@@@#@$@%@$ ", - "&@*@=@-@;@>@,@'@)@H+!@Y+K+~@{@]@+@^@/@(@_@:@<@[@}@|@1@2@3@ ", - "4@5@6@7@8@9@0@a@b@c@d@e@f@g@h@i@j@k@l@m@n@o@p@q@r@s@t@u@v@w@x@y@", - " z@A@B@C@D@E@F@G@H@I@J@K@L@M@N@O@P@Q@R@S@T@U@V@W@X@Y@Z@`@ #", - " .#+#@###$#%#&#*#=#-#;#>#,#'# )#!#~#{#]#^#/#", - " (#_#:#<#", - " [#}#", - " ", - " ", - " ", - " "}; - """ + def getIcon(self): + return """ + /* XPM */ + static char * Ship_xpm[] = { + "32 32 396 2", + " c None", + ". c #2C2C2C", + "+ c #3A3A3A", + "@ c #585857", + "# c #161616", + "$ c #000000", + "% c #363636", + "& c #333333", + "* c #B3B3B3", + "= c #B4B4B4", + "- c #949494", + "; c #565653", + "> c #141414", + ", c #080807", + "' c #585858", + ") c #878787", + "! c #9F9E9F", + "~ c #9F9F9E", + "{ c #8F8F90", + "] c #6B6B6B", + "^ c #101010", + "/ c #737373", + "( c #4C4C4C", + "_ c #B1B1B7", + ": c #9090C0", + "< c #A7A7B2", + "[ c #87878E", + "} c #4F4F52", + "| c #191919", + "1 c #656565", + "2 c #D1D1D2", + "3 c #D1D1D1", + "4 c #CECECE", + "5 c #CDCCCC", + "6 c #CCCCCC", + "7 c #CCCCCB", + "8 c #CDCECD", + "9 c #BDBDBD", + "0 c #424242", + "a c #373737", + "b c #0A0A0A", + "c c #241414", + "d c #0E0C0C", + "e c #929393", + "f c #383738", + "g c #9B9B9A", + "h c #A0A0AF", + "i c #2929E4", + "j c #2525E5", + "k c #3F3FD7", + "l c #5B5BC8", + "m c #535368", + "n c #686866", + "o c #C8C8C8", + "p c #C8C8C7", + "q c #C7C6C7", + "r c #C6C6C6", + "s c #C5C5C5", + "t c #C4C5C5", + "u c #C3C4C3", + "v c #C3C3C2", + "w c #BCBCBC", + "x c #595959", + "y c #A6A6A6", + "z c #969696", + "A c #0B0B0B", + "B c #0D0707", + "C c #894646", + "D c #1C1A1A", + "E c #525252", + "F c #6C6D6C", + "G c #A3A3A2", + "H c #A3A296", + "I c #8E8F98", + "J c #6F6EA5", + "K c #5354AF", + "L c #373753", + "M c #8D8D8B", + "N c #C5C5C4", + "O c #C2C2C2", + "P c #C1C1C1", + "Q c #C0C0C0", + "R c #C0BFBF", + "S c #BFBFBF", + "T c #BEBEBE", + "U c #B1B2B2", + "V c #404040", + "W c #ABAAAA", + "X c #797979", + "Y c #2A1212", + "Z c #662828", + "` c #3D403F", + " . c #B5B5B5", + ".. c #6B6A6B", + "+. c #4A4A4A", + "@. c #9A9A9A", + "#. c #909090", + "$. c #8B8B8A", + "%. c #898A86", + "&. c #84837F", + "*. c #3D3D3C", + "=. c #9E9E9E", + "-. c #BFBFBE", + ";. c #BDBEBD", + ">. c #BBBBBB", + ",. c #BABABA", + "'. c #B9B9B9", + "). c #B8B8B8", + "!. c #999999", + "~. c #BABAB9", + "{. c #ABABAB", + "]. c #292929", + "^. c #381212", + "/. c #4C1514", + "(. c #535656", + "_. c #717171", + ":. c #919090", + "<. c #818181", + "[. c #4E4E4E", + "}. c #4B4B4B", + "|. c #B1B1B1", + "1. c #B8B7B8", + "2. c #B6B6B6", + "3. c #B6B5B5", + "4. c #B4B5B4", + "5. c #B2B3B2", + "6. c #5C5D5C", + "7. c #AFAFAF", + "8. c #ADACAC", + "9. c #5B5B5B", + "0. c #410C0C", + "a. c #3E0707", + "b. c #525555", + "c. c #9C9C9C", + "d. c #2D2D2D", + "e. c #757575", + "f. c #474747", + "g. c #484848", + "h. c #9F9F9F", + "i. c #B3B3B4", + "j. c #B2B2B2", + "k. c #B0B0B0", + "l. c #ADAEAD", + "m. c #ADADAD", + "n. c #B0B1B0", + "o. c #1E1E1E", + "p. c #ACABAC", + "q. c #AAA9A9", + "r. c #A8A8A8", + "s. c #5D5D5D", + "t. c #290202", + "u. c #281010", + "v. c #272828", + "w. c #767777", + "x. c #505050", + "y. c #1F1F1F", + "z. c #5E5E5D", + "A. c #A4A5A5", + "B. c #B1B2B1", + "C. c #AEAEAE", + "D. c #AEADAD", + "E. c #ABACAC", + "F. c #AAAAAA", + "G. c #A9A8A8", + "H. c #ABABAC", + "I. c #7B7B7B", + "J. c #2B2B2B", + "K. c #A4A4A4", + "L. c #A6A5A6", + "M. c #888888", + "N. c #0E0E0E", + "O. c #101312", + "P. c #7E8080", + "Q. c #5E5E5E", + "R. c #242424", + "S. c #555555", + "T. c #7F7F7F", + "U. c #A4A3A4", + "V. c #B3B3B2", + "W. c #ACACAC", + "X. c #A9A9A9", + "Y. c #A8A7A7", + "Z. c #A7A6A7", + "`. c #A7A7A7", + " + c #A8A8A7", + ".+ c #A5A5A5", + "++ c #A2A2A2", + "@+ c #222122", + "#+ c #7E7E7E", + "$+ c #A3A3A3", + "%+ c #9B9B9B", + "&+ c #050505", + "*+ c #6E6E6E", + "=+ c #A7A7A6", + "-+ c #989898", + ";+ c #A5A4A4", + ">+ c #A7A7A8", + ",+ c #A5A6A7", + "'+ c #979A99", + ")+ c #818383", + "!+ c #757878", + "~+ c #757979", + "{+ c #878A8A", + "]+ c #A3A5A5", + "^+ c #828282", + "/+ c #A0A0A0", + "(+ c #232323", + "_+ c #939393", + ":+ c #A5A6A5", + "<+ c #A2A3A2", + "[+ c #A2A1A1", + "}+ c #A1A0A1", + "|+ c #939292", + "1+ c #636262", + "2+ c #554D4D", + "3+ c #634C4C", + "4+ c #755555", + "5+ c #936464", + "6+ c #9F6868", + "7+ c #9B6060", + "8+ c #804A4A", + "9+ c #5C3737", + "0+ c #1D1616", + "a+ c #A1A1A1", + "b+ c #010101", + "c+ c #151516", + "d+ c #707070", + "e+ c #9D9E9E", + "f+ c #8C8D8D", + "g+ c #8B8888", + "h+ c #726A6A", + "i+ c #6D5959", + "j+ c #866261", + "k+ c #C18B8B", + "l+ c #D79696", + "m+ c #D18C8C", + "n+ c #CB8180", + "o+ c #C57575", + "p+ c #BF6B6A", + "q+ c #BB6161", + "r+ c #B95958", + "s+ c #9C4544", + "t+ c #2E1212", + "u+ c #6F6C6C", + "v+ c #A0A1A1", + "w+ c #575757", + "x+ c #0C0C0C", + "y+ c #9C9D9D", + "z+ c #7A7272", + "A+ c #876F6F", + "B+ c #977070", + "C+ c #C28C8C", + "D+ c #D59595", + "E+ c #D08A8A", + "F+ c #C67D7D", + "G+ c #C07272", + "H+ c #BC6969", + "I+ c #B85F5F", + "J+ c #B35656", + "K+ c #B04C4C", + "L+ c #AB4243", + "M+ c #A63939", + "N+ c #591B1B", + "O+ c #6A2121", + "P+ c #542323", + "Q+ c #585A5A", + "R+ c #191515", + "S+ c #706262", + "T+ c #A58080", + "U+ c #B58383", + "V+ c #CE8F8F", + "W+ c #CD8989", + "X+ c #C17372", + "Y+ c #B45656", + "Z+ c #AF4C4C", + "`+ c #AB4242", + " @ c #A73A39", + ".@ c #A3302F", + "+@ c #9F2626", + "@@ c #8E1A1A", + "#@ c #2C0808", + "$@ c #91191A", + "%@ c #2F0200", + "&@ c #90C6FB", + "*@ c #8BBFFB", + "=@ c #94CBFC", + "-@ c #AFEFFB", + ";@ c #7DABA0", + ">@ c #3C2521", + ",@ c #C88484", + "'@ c #C57C7D", + ")@ c #C17273", + "!@ c #B86060", + "~@ c #AB4343", + "{@ c #A73939", + "]@ c #A32F2F", + "^@ c #9B1C1D", + "/@ c #961313", + "(@ c #96090A", + "_@ c #3C0202", + ":@ c #4E0202", + "<@ c #300000", + "[@ c #3E5378", + "}@ c #7EABF9", + "|@ c #84B5FC", + "1@ c #96CDFB", + "2@ c #B2F2FA", + "3@ c #C4FFFA", + "4@ c #2E3FFD", + "5@ c #3346FD", + "6@ c #2A3AFD", + "7@ c #161EFE", + "8@ c #1B25FD", + "9@ c #1F25B4", + "0@ c #7C6196", + "a@ c #AA6075", + "b@ c #AC5763", + "c@ c #AD5155", + "d@ c #AD4645", + "e@ c #A83938", + "f@ c #A3302E", + "g@ c #A02624", + "h@ c #9B1C1B", + "i@ c #971311", + "j@ c #930A09", + "k@ c #900300", + "l@ c #900505", + "m@ c #660007", + "n@ c #00000D", + "o@ c #200112", + "p@ c #597F88", + "q@ c #6E97FD", + "r@ c #384CFD", + "s@ c #394EFD", + "t@ c #2D3EFD", + "u@ c #151DFE", + "v@ c #1821FE", + "w@ c #3C52FD", + "x@ c #6388FC", + "y@ c #9CD6FB", + "z@ c #D0FFFA", + "A@ c #AEEEFB", + "B@ c #749FFF", + "C@ c #3F5DFF", + "D@ c #4165FF", + "E@ c #525AE3", + "F@ c #6153C4", + "G@ c #672D8D", + "H@ c #6C1B6A", + "I@ c #722164", + "J@ c #75225E", + "K@ c #731D57", + "L@ c #701653", + "M@ c #690E52", + "N@ c #5F0050", + "O@ c #562086", + "P@ c #11108D", + "Q@ c #2330BE", + "R@ c #344AE1", + "S@ c #4E6BFF", + "T@ c #4E6BFD", + "U@ c #597AFC", + "V@ c #6184FC", + "W@ c #7099FC", + "X@ c #8BBEFB", + "Y@ c #95CCFB", + "Z@ c #5B7CFC", + "`@ c #1C26FD", + " # c #121AFE", + ".# c #9ED7FB", + "+# c #81B4FF", + "@# c #6893FF", + "## c #6997FF", + "$# c #6695FF", + "%# c #6390FF", + "&# c #618DFF", + "*# c #608DFF", + "=# c #618EFF", + "-# c #6391FF", + ";# c #6898FF", + "># c #6B9AFF", + ",# c #5171ED", + "'# c #90C4FF", + ")# c #7EABFC", + "!# c #729CFC", + "~# c #6287FC", + "{# c #4761FD", + "]# c #070AFE", + "^# c #6084FC", + "/# c #9AD2FB", + "(# c #A2DDFB", + "_# c #8ABDFB", + ":# c #2B3AFD", + "<# c #A9E8FB", + "[# c #B9FCFA", + "}# c #BAFEFA", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " . + @ # $ $ $ $ $ ", + " % & * = - ; > $ $ , ' ) ! ~ { ] & $ $ $ ", + " ^ / ( = _ : < [ } | $ 1 2 3 4 5 6 7 6 8 9 0 a b ", + " c d e f g h i j k l m n 4 o p q r s t u v w x y z A ", + " B C D * E F G H I J K L M N O O P Q R S T 9 U V W O X $ ", + " Y Z ` ...+.@.#.$.%.&.*.=.-.;.w >.>.,.'.).).!.+ ~. .{.]. ", + " ^./.(.y _.f :.) <.[.^ }.|.).1.2.3. .4.* 5. .6.1 4.7.8.9. ", + " 0.a.b.c./ d.e.f.| g.h.9 i.* j.|.k.7.7.l.m.n.o.@.p.q.r.s. ", + " t.u.v.w.x.y.% z.A.).B.C.D.m.E.{.F.F.G.r.H.I.J.k.K.L.M.N. ", + " O.P.Q.R.S.T.U.V.W.q.X.r.Y.Z.`.Y. +`..+++{.@+#+$+++%+y. ", + " &+*+W.=+-+;+X.>+y .+K.K.y y ,+'+)+!+~+{+]+^+].$+/+$+J. ", + " (+_+:+U.$+<+[+}+/+h.=.|+1+2+3+4+5+6+7+8+9+0+_.a+/+0 b+ ", + " c+d+h.a+/+++e+f+g+h+i+j+k+l+m+n+o+p+q+r+s+t+u+v+w+$ ", + " x+f.- y+w.z+A+B+C+D+E+F+G+H+I+J+K+L+M+N+O+P+Q+$ ", + " R+S+T+U+V+W+F+X+H+I+Y+Z+`+ @.@+@@@#@$@%@$ ", + "&@*@=@-@;@>@,@'@)@H+!@Y+K+~@{@]@+@^@/@(@_@:@<@[@}@|@1@2@3@ ", + "4@5@6@7@8@9@0@a@b@c@d@e@f@g@h@i@j@k@l@m@n@o@p@q@r@s@t@u@v@w@x@y@", + " z@A@B@C@D@E@F@G@H@I@J@K@L@M@N@O@P@Q@R@S@T@U@V@W@X@Y@Z@`@ #", + " .#+#@###$#%#&#*#=#-#;#>#,#'# )#!#~#{#]#^#/#", + " (#_#:#<#", + " [#}#", + " ", + " ", + " ", + " "}; + """ def weights(obj): - """ Returns Ship weights list. If weights has not been sets, - this tool creates it. - @param obj Ship object - @return Weights list. None if errors - """ - # Test if is a ship instance - props = obj.PropertiesList - try: - props.index("IsShip") - except ValueError: - return None - if not obj.IsShip: - return None - # Test if properties already exist - try: - props.index("WeightNames") - except ValueError: - obj.addProperty("App::PropertyStringList","WeightNames","Ship", str(Translator.translate("Ship Weights names"))).WeightNames=[Translator.translate("Lightweight").__str__()] - try: - props.index("WeightMass") - except ValueError: - # Compute mass aproximation - from shipHydrostatics import Tools - disp = Tools.displacement(obj,obj.Draft) - obj.addProperty("App::PropertyFloatList","WeightMass","Ship", str(Translator.translate("Ship Weights masses"))).WeightMass=[1000.0 * disp[0]] - try: - props.index("WeightPos") - except ValueError: - # Compute mass aproximation - from shipHydrostatics import Tools - disp = Tools.displacement(obj,obj.Draft) - obj.addProperty("App::PropertyVectorList","WeightPos","Ship", str(Translator.translate("Ship Weights centers of gravity"))).WeightPos=[Vector(disp[1].x,0.0,obj.Draft)] - # Setup list - weights = [] - for i in range(0,len(obj.WeightNames)): - weights.append([obj.WeightNames[i], obj.WeightMass[i], obj.WeightPos[i]]) - return weights + """ Returns Ship weights list. If weights has not been sets, + this tool creates it. + @param obj Ship object + @return Weights list. None if errors + """ + # Test if is a ship instance + props = obj.PropertiesList + try: + props.index("IsShip") + except ValueError: + return None + if not obj.IsShip: + return None + # Test if properties already exist + try: + props.index("WeightNames") + except ValueError: + tooltip = str(QtGui.QApplication.translate("Ship","Ship Weights names",None,QtGui.QApplication.UnicodeUTF8)) + lighweight = str(QtGui.QApplication.translate("Ship","Lightweight",None,QtGui.QApplication.UnicodeUTF8)) + obj.addProperty("App::PropertyStringList","WeightNames","Ship", tooltip).WeightNames=[lighweight] + try: + props.index("WeightMass") + except ValueError: + # Compute mass aproximation + from shipHydrostatics import Tools + disp = Tools.displacement(obj,obj.Draft) + tooltip = str(QtGui.QApplication.translate("Ship","Ship Weights masses",None,QtGui.QApplication.UnicodeUTF8)) + obj.addProperty("App::PropertyFloatList","WeightMass","Ship", tooltip).WeightMass=[1000.0 * disp[0]] + try: + props.index("WeightPos") + except ValueError: + # Compute mass aproximation + from shipHydrostatics import Tools + disp = Tools.displacement(obj,obj.Draft) + tooltip = str(QtGui.QApplication.translate("Ship","Ship Weights centers of gravity",None,QtGui.QApplication.UnicodeUTF8)) + obj.addProperty("App::PropertyVectorList","WeightPos","Ship", tooltip).WeightPos=[Vector(disp[1].x,0.0,obj.Draft)] + # Setup list + weights = [] + for i in range(0,len(obj.WeightNames)): + weights.append([obj.WeightNames[i], obj.WeightMass[i], obj.WeightPos[i]]) + return weights diff --git a/src/Mod/Ship/Makefile.am b/src/Mod/Ship/Makefile.am index 87e1f22cb..fd24beac6 100644 --- a/src/Mod/Ship/Makefile.am +++ b/src/Mod/Ship/Makefile.am @@ -6,55 +6,15 @@ data_DATA = \ ShipGui.py \ Instance.py \ SimInstance.py \ - TankInstance.py + TankInstance.py \ + Ship_rc.py nobase_data_DATA = \ - Icons/AreaCurveIco.png \ - Icons/AreaCurveIco.xcf \ - Icons/AreaCurveIco.xpm \ - Icons/DataIco.png \ - Icons/DataIco.xcf \ - Icons/DataIco.xpm \ - Icons/DiscretizeIco.png \ - Icons/DiscretizeIco.xcf \ - Icons/DiscretizeIco.xpm \ - Icons/HydrostaticsIco.png \ - Icons/HydrostaticsIco.xcf \ - Icons/HydrostaticsIco.xpm \ - Icons/Ico.png \ - Icons/Ico.xcf \ - Icons/Ico.xpm \ - Icons/LoadIco.png \ - Icons/LoadIco.xcf \ - Icons/LoadIco.xpm \ - Icons/OutlineDrawIco.png \ - Icons/OutlineDrawIco.xcf \ - Icons/OutlineDrawIco.xpm \ - Icons/ReparametrizeIco.png \ - Icons/ReparametrizeIco.xcf \ - Icons/ReparametrizeIco.xpm \ - Icons/Ship.xcf \ - Icons/Ship.xpm \ - Icons/Weight.png \ - Icons/Weight.xcf \ - Icons/Weight.xpm \ - Icons/SimIco.xcf \ - Icons/Sim.xpm \ - Icons/SimCreateIco.png \ - Icons/SimCreateIco.xpm \ - Icons/SimRunIco.png \ - Icons/SimRunIco.xpm \ - Icons/SimStopIco.png \ - Icons/SimStopIco.xpm \ - Icons/SimPostIco.png \ - Icons/SimPostIco.xpm \ - Icons/Tank.png \ - Icons/Tank.xcf \ - Icons/Tank.xpm \ - Examples/s60.fcstd \ - Examples/s60_katamaran.fcstd \ - Examples/wigley.fcstd \ - Examples/wigley_katamaran.fcstd \ + resources/examples/s60.fcstd \ + resources/examples/s60_katamaran.fcstd \ + resources/examples/wigley.fcstd \ + resources/examples/wigley_katamaran.fcstd \ + resources/icons/Ico.xpm \ shipLoadExample/__init__.py \ shipLoadExample/TaskPanel.py \ shipLoadExample/TaskPanel.ui \ @@ -68,19 +28,18 @@ nobase_data_DATA = \ shipOutlineDraw/TaskPanel.py \ shipOutlineDraw/TaskPanel.ui \ shipAreasCurve/__init__.py \ - shipAreasCurve/Plot.py \ + shipAreasCurve/PlotAux.py \ shipAreasCurve/Preview.py \ shipAreasCurve/TaskPanel.py \ shipAreasCurve/TaskPanel.ui \ shipHydrostatics/__init__.py \ - shipHydrostatics/Plot.py \ + shipHydrostatics/PlotAux.py \ shipHydrostatics/TaskPanel.py \ shipHydrostatics/TaskPanel.ui \ shipHydrostatics/Tools.py \ shipUtils/__init__.py \ shipUtils/Math.py \ shipUtils/Paths.py \ - shipUtils/Translator.py \ tankWeights/__init__.py \ tankWeights/Preview.py \ tankWeights/TaskPanel.py \ @@ -89,7 +48,7 @@ nobase_data_DATA = \ tankCreateTank/TaskPanel.py \ tankCreateTank/TaskPanel.ui \ tankGZ/__init__.py \ - tankGZ/Plot.py \ + tankGZ/PlotAux.py \ tankGZ/TaskPanel.py \ tankGZ/TaskPanel.ui \ simCreate/__init__.py \ diff --git a/src/Mod/Ship/ShipGui.py b/src/Mod/Ship/ShipGui.py index 4848a6609..f2796835f 100644 --- a/src/Mod/Ship/ShipGui.py +++ b/src/Mod/Ship/ShipGui.py @@ -24,17 +24,20 @@ from PyQt4 import QtCore, QtGui import FreeCAD, FreeCADGui, os +# Load resources +import Ship_rc +FreeCADGui.addLanguagePath(":/Ship/translations") +FreeCADGui.addIconPath(":/Ship/icons") + class LoadExample: def Activated(self): import shipLoadExample shipLoadExample.load() def GetResources(self): - from shipUtils import Paths, Translator - IconPath = Paths.iconsPath() + "/LoadIco.png" - MenuText = str(Translator.translate('Load an example ship geometry')) - ToolTip = str(Translator.translate('Load an example ship geometry able to be converted into a ship.')) - return {'Pixmap' : IconPath, 'MenuText': MenuText, 'ToolTip': ToolTip} + MenuText = QtCore.QT_TRANSLATE_NOOP('Ship_LoadExample', 'Load an example ship geometry') + ToolTip = QtCore.QT_TRANSLATE_NOOP('Ship_LoadExample', 'Load an example ship geometry able to be converted into a ship.') + return {'Pixmap' : 'LoadIco', 'MenuText': MenuText, 'ToolTip': ToolTip} class CreateShip: def Activated(self): @@ -42,11 +45,9 @@ class CreateShip: shipCreateShip.load() def GetResources(self): - from shipUtils import Paths, Translator - IconPath = Paths.iconsPath() + "/Ico.png" - MenuText = str(Translator.translate('Create a new ship')) - ToolTip = str(Translator.translate('Create a new ship in order to work with them')) - return {'Pixmap' : IconPath, 'MenuText': MenuText, 'ToolTip': ToolTip} + MenuText = QtCore.QT_TRANSLATE_NOOP('Ship_CreateShip', 'Create a new ship') + ToolTip = QtCore.QT_TRANSLATE_NOOP('Ship_CreateShip', 'Create a new ship in order to work with them') + return {'Pixmap' : 'Ico', 'MenuText': MenuText, 'ToolTip': ToolTip} class OutlineDraw: def Activated(self): @@ -54,11 +55,9 @@ class OutlineDraw: shipOutlineDraw.load() def GetResources(self): - from shipUtils import Paths, Translator - IconPath = Paths.iconsPath() + "/OutlineDrawIco.png" - MenuText = str(Translator.translate('Outline draw')) - ToolTip = str(Translator.translate('Plot ship outline draw')) - return {'Pixmap' : IconPath, 'MenuText': MenuText, 'ToolTip': ToolTip} + MenuText = QtCore.QT_TRANSLATE_NOOP('Ship_OutlineDraw', 'Outline draw') + ToolTip = QtCore.QT_TRANSLATE_NOOP('Ship_OutlineDraw', 'Plot ship outline draw') + return {'Pixmap' : 'OutlineDrawIco', 'MenuText': MenuText, 'ToolTip': ToolTip} class AreasCurve: def Activated(self): @@ -66,11 +65,9 @@ class AreasCurve: shipAreasCurve.load() def GetResources(self): - from shipUtils import Paths, Translator - IconPath = Paths.iconsPath() + "/AreaCurveIco.png" - MenuText = str(Translator.translate('Areas curve')) - ToolTip = str(Translator.translate('Plot transversal areas curve')) - return {'Pixmap' : IconPath, 'MenuText': MenuText, 'ToolTip': ToolTip} + MenuText = QtCore.QT_TRANSLATE_NOOP('Ship_AreasCurve', 'Areas curve') + ToolTip = QtCore.QT_TRANSLATE_NOOP('Ship_AreasCurve', 'Plot transversal areas curve') + return {'Pixmap' : 'AreaCurveIco', 'MenuText': MenuText, 'ToolTip': ToolTip} class Hydrostatics: def Activated(self): @@ -78,11 +75,9 @@ class Hydrostatics: shipHydrostatics.load() def GetResources(self): - from shipUtils import Paths, Translator - IconPath = Paths.iconsPath() + "/HydrostaticsIco.png" - MenuText = str(Translator.translate('Hydrostatics')) - ToolTip = str(Translator.translate('Plot ship hydrostatics')) - return {'Pixmap' : IconPath, 'MenuText': MenuText, 'ToolTip': ToolTip} + MenuText = QtCore.QT_TRANSLATE_NOOP('Ship_Hydrostatics', 'Hydrostatics') + ToolTip = QtCore.QT_TRANSLATE_NOOP('Ship_Hydrostatics', 'Plot ship hydrostatics') + return {'Pixmap' : 'HydrostaticsIco', 'MenuText': MenuText, 'ToolTip': ToolTip} class SetWeights: def Activated(self): @@ -90,11 +85,9 @@ class SetWeights: tankWeights.load() def GetResources(self): - from shipUtils import Paths, Translator - IconPath = Paths.iconsPath() + "/Weight.png" - MenuText = str(Translator.translate('Set ship weights')) - ToolTip = str(Translator.translate('Set ship weights, tanks must be added later')) - return {'Pixmap' : IconPath, 'MenuText': MenuText, 'ToolTip': ToolTip} + MenuText = QtCore.QT_TRANSLATE_NOOP('Ship_Weights', 'Set ship weights') + ToolTip = QtCore.QT_TRANSLATE_NOOP('Ship_Weights', 'Set ship weights, tanks must be added later') + return {'Pixmap' : 'Weight', 'MenuText': MenuText, 'ToolTip': ToolTip} class CreateTank: def Activated(self): @@ -102,11 +95,9 @@ class CreateTank: tankCreateTank.load() def GetResources(self): - from shipUtils import Paths, Translator - IconPath = Paths.iconsPath() + "/Tank.png" - MenuText = str(Translator.translate('Create a new tank')) - ToolTip = str(Translator.translate('Create a new ship tank')) - return {'Pixmap' : IconPath, 'MenuText': MenuText, 'ToolTip': ToolTip} + MenuText = QtCore.QT_TRANSLATE_NOOP('Ship_CreateTank', 'Create a new tank') + ToolTip = QtCore.QT_TRANSLATE_NOOP('Ship_CreateTank', 'Create a new ship tank') + return {'Pixmap' : 'Tank', 'MenuText': MenuText, 'ToolTip': ToolTip} class GZ: def Activated(self): @@ -114,11 +105,9 @@ class GZ: tankGZ.load() def GetResources(self): - from shipUtils import Paths, Translator - IconPath = Paths.iconsPath() + "/HydrostaticsIco.png" - MenuText = str(Translator.translate('GZ curve')) - ToolTip = str(Translator.translate('Transversal stability GZ curve computation')) - return {'Pixmap' : IconPath, 'MenuText': MenuText, 'ToolTip': ToolTip} + MenuText = QtCore.QT_TRANSLATE_NOOP('Ship_GZ', 'GZ curve') + ToolTip = QtCore.QT_TRANSLATE_NOOP('Ship_GZ', 'Transversal stability GZ curve computation') + return {'Pixmap' : 'HydrostaticsIco', 'MenuText': MenuText, 'ToolTip': ToolTip} class CreateSim: def Activated(self): @@ -126,11 +115,9 @@ class CreateSim: simCreate.load() def GetResources(self): - from shipUtils import Paths, Translator - IconPath = Paths.iconsPath() + "/SimCreateIco.png" - MenuText = str(Translator.translate('Create a new simulation')) - ToolTip = str(Translator.translate('Create a new simulation in order to process later')) - return {'Pixmap' : IconPath, 'MenuText': MenuText, 'ToolTip': ToolTip} + MenuText = QtCore.QT_TRANSLATE_NOOP('Ship_CreateSim', 'Create a new simulation') + ToolTip = QtCore.QT_TRANSLATE_NOOP('Ship_CreateSim', 'Create a new simulation in order to process later') + return {'Pixmap' : 'SimCreateIco', 'MenuText': MenuText, 'ToolTip': ToolTip} class RunSim: def Activated(self): @@ -138,11 +125,9 @@ class RunSim: simRun.load() def GetResources(self): - from shipUtils import Paths, Translator - IconPath = Paths.iconsPath() + "/SimRunIco.png" - MenuText = str(Translator.translate('Run a simulation')) - ToolTip = str(Translator.translate('Run a simulation')) - return {'Pixmap' : IconPath, 'MenuText': MenuText, 'ToolTip': ToolTip} + MenuText = QtCore.QT_TRANSLATE_NOOP('Ship_RunSim', 'Run a simulation') + ToolTip = QtCore.QT_TRANSLATE_NOOP('Ship_RunSim', 'Run a simulation') + return {'Pixmap' : 'SimRunIco', 'MenuText': MenuText, 'ToolTip': ToolTip} class StopSim: def Activated(self): @@ -150,11 +135,9 @@ class StopSim: simRun.stop() def GetResources(self): - from shipUtils import Paths, Translator - IconPath = Paths.iconsPath() + "/SimStopIco.png" - MenuText = str(Translator.translate('Stop active simulation')) - ToolTip = str(Translator.translate('Stop active simulation')) - return {'Pixmap' : IconPath, 'MenuText': MenuText, 'ToolTip': ToolTip} + MenuText = QtCore.QT_TRANSLATE_NOOP('Ship_StopSim', 'Stop active simulation') + ToolTip = QtCore.QT_TRANSLATE_NOOP('Ship_StopSim', 'Stop active simulation') + return {'Pixmap' : 'SimStopIco', 'MenuText': MenuText, 'ToolTip': ToolTip} class TrackSim: def Activated(self): @@ -162,11 +145,9 @@ class TrackSim: simPost.load() def GetResources(self): - from shipUtils import Paths, Translator - IconPath = Paths.iconsPath() + "/SimPostIco.png" - MenuText = str(Translator.translate('Track simulation')) - ToolTip = str(Translator.translate('Track simulation')) - return {'Pixmap' : IconPath, 'MenuText': MenuText, 'ToolTip': ToolTip} + MenuText = QtCore.QT_TRANSLATE_NOOP('Ship_TrackSim', 'Track simulation') + ToolTip = QtCore.QT_TRANSLATE_NOOP('Ship_TrackSim', 'Track simulation') + return {'Pixmap' : 'SimPostIco', 'MenuText': MenuText, 'ToolTip': ToolTip} FreeCADGui.addCommand('Ship_LoadExample', LoadExample()) diff --git a/src/Mod/Ship/Ship_rc.py b/src/Mod/Ship/Ship_rc.py new file mode 100644 index 000000000..99736bc99 --- /dev/null +++ b/src/Mod/Ship/Ship_rc.py @@ -0,0 +1,8700 @@ +# -*- coding: utf-8 -*- + +# Resource object code +# +# Created: Fri Nov 16 15:25:47 2012 +# by: The Resource Compiler for PyQt (Qt v4.8.1) +# +# WARNING! All changes made in this file will be lost! + +from PyQt4 import QtCore + +qt_resource_data = "\ +\x00\x00\x00\x10\ +\x3c\ +\xb8\x64\x18\xca\xef\x9c\x95\xcd\x21\x1c\xbf\x60\xa1\xbd\xdd\ +\x00\x00\x00\x10\ +\x3c\ +\xb8\x64\x18\xca\xef\x9c\x95\xcd\x21\x1c\xbf\x60\xa1\xbd\xdd\ +\x00\x00\x00\x10\ +\x3c\ +\xb8\x64\x18\xca\xef\x9c\x95\xcd\x21\x1c\xbf\x60\xa1\xbd\xdd\ +\x00\x00\x00\x10\ +\x3c\ +\xb8\x64\x18\xca\xef\x9c\x95\xcd\x21\x1c\xbf\x60\xa1\xbd\xdd\ +\x00\x00\x00\x10\ +\x3c\ +\xb8\x64\x18\xca\xef\x9c\x95\xcd\x21\x1c\xbf\x60\xa1\xbd\xdd\ +\x00\x00\x00\x10\ +\x3c\ +\xb8\x64\x18\xca\xef\x9c\x95\xcd\x21\x1c\xbf\x60\xa1\xbd\xdd\ +\x00\x00\x16\x2a\ +\x00\ +\x00\x51\x13\x78\x9c\xd5\x3c\x0b\x74\x1c\xd5\x75\xcf\x92\x56\xb2\ +\x56\xab\xb5\xfc\x41\x18\x47\x36\xe3\x0f\x20\x63\x21\x6c\x3e\xb6\ +\xe3\x18\xb0\x6c\x59\xf2\x47\xfe\xd4\x32\x10\x6c\x08\x8c\x76\x66\ +\xb5\x63\x66\x67\x36\x33\xb3\x92\x65\x9c\x84\x00\x0d\x25\xe1\x90\ +\x86\x84\xd6\xe4\x40\x08\xa4\xe1\x40\xa0\x29\xe7\x84\x16\x9a\x43\ +\x02\x29\xf9\x14\x4e\x68\x9b\x92\xf4\x93\xb4\x09\x24\x94\x40\x80\ +\xf4\x50\x9a\x53\xa0\x21\xed\x7d\xf7\xbd\x99\xf7\x66\xf6\x8d\xb4\ +\xb6\x6c\x4a\x0f\x07\x8f\x34\x9f\xfb\x7b\xf7\xff\xee\xd3\xfa\x47\ +\x8d\xf9\x4f\xff\xfb\x1d\xb7\x3d\xb3\xb8\xeb\xf1\xab\xee\xfe\xc6\ +\xbf\x6e\x24\xa4\xe9\x25\x42\x86\xfa\x09\xd9\xe2\x13\x72\xf1\x28\ +\x21\x03\x57\x91\xa6\xbf\xd8\x4c\x48\xd7\x2b\x24\xb3\xf6\x4b\x84\ +\x6c\xdf\x4f\x32\x5b\xce\x87\xeb\xcd\x24\x73\x17\x81\xf7\x37\x93\ +\xcc\xa3\xef\x10\xd2\xf9\x5d\x76\x5d\xff\x4b\x76\xdd\x76\x1f\xd1\ +\xfe\x79\x13\x21\x17\x0e\x92\xc5\x3f\xfc\x4b\x42\x1a\x3f\x4f\xb6\ +\xdf\xf8\x43\x78\xef\x0c\x76\x5d\xd3\xcd\xae\x5b\x36\x92\x4b\x5e\ +\xba\x8d\x90\xfe\xa7\xc9\x65\x47\x4e\x23\x64\xc3\xd7\xc9\xbe\xfb\ +\x3e\x07\xdf\x57\xc9\x15\x37\x3f\x09\xf7\xdf\x26\xa5\x27\x00\xdf\ +\xda\xd5\xe4\x86\x7f\x2c\x10\x92\x79\x83\x3c\xf1\x12\xbc\xb7\xf9\ +\x4c\xf2\x83\x9b\x5e\x26\xe4\xcc\x55\xe4\x57\xdf\xb8\x98\x90\x96\ +\xa5\x33\x16\xb4\xdd\x48\xc8\xec\xdf\x63\xd7\x8b\x5e\x9e\xb1\xf2\ +\xee\x1b\x00\xce\x8f\x67\xd8\x2f\x6c\x25\xe4\xb4\xa7\x66\x3c\xb2\ +\x2f\x47\xc8\x92\x37\x67\x3c\xb9\xe6\x9b\xf0\xfd\x9f\x35\x64\x5e\ +\x07\xba\x66\x3d\xd9\x70\xfe\x87\x2e\x23\xe4\xf4\x07\x1a\x2e\xd0\ +\x6f\x27\xa4\x75\x7e\xc3\x8e\x4f\xbc\x40\xc8\x59\x0f\x35\x7c\xe7\ +\x63\x80\x77\x60\x66\xc3\xab\x06\x7c\xbf\xe1\xbc\x86\xd7\xee\xfc\ +\x02\x21\x1d\x83\x0d\xff\x7d\xc7\x04\x21\xdd\xcf\x34\xfc\xf6\x6f\ +\x80\xee\x96\x87\x1b\x7e\xf7\x73\xa0\xe3\x8c\x7b\x1a\x7b\xee\x0c\ +\x08\x39\xe9\x39\x76\x1d\x7c\xbb\xf1\xfd\x4f\x95\x08\x59\xb8\xa0\ +\xb1\xcf\x05\x78\xeb\x5e\x6c\xdc\xba\x78\x0f\x21\xb9\xc3\x8d\xdb\ +\x7a\x9e\x02\xb9\xd9\x8d\x1f\x59\x36\x0f\xe4\x7a\x4f\xe3\xb7\xdf\ +\xd4\x40\x2e\xff\xd5\xf8\xf6\x1f\x38\x84\xcc\x79\x8e\x5d\x07\x3e\ +\xdd\xb4\xeb\x96\x46\x42\xfa\x9e\x6e\xfa\xf0\x6f\x1f\x03\x78\x7b\ +\x9a\x6e\x59\x73\x3f\xd0\x77\x53\xd3\xd7\xb7\x7f\x04\xee\xf7\x36\ +\x3d\xfd\x99\xaf\x12\xb2\xb5\xb9\xe9\x57\x5f\xed\x20\xe4\x82\x45\ +\x4d\xbf\xde\x06\xf4\x82\x84\x96\x6c\x84\xf5\xca\x5e\x92\xe9\xd9\ +\x79\x1f\xc8\xad\x89\x5d\xfb\xdb\x33\xe7\x8f\xcf\x05\xbc\x6f\x66\ +\x8a\xf7\x0f\x82\x9c\xbe\x98\xb1\xff\x70\x2f\xdc\xff\x6c\xc6\x7e\ +\xe4\xdb\x20\x8f\xc3\x99\xca\x9d\x8b\x08\x59\x70\x72\xe6\xc1\x85\ +\x20\x97\x55\x83\x99\x87\xff\xe8\x2d\x80\x7b\x4d\xe6\x7b\x5f\x06\ +\xbe\x67\x7c\x3c\xf3\xd7\xab\x81\x9e\xae\xc1\xcc\xcf\x06\x6e\x25\ +\x64\xfe\x55\x99\x57\x96\xfe\x3d\xac\xe3\x65\xcd\x0d\x57\x8c\x03\ +\x9f\x8f\x35\xaf\x3e\x83\xf2\x7f\x6e\xf3\x05\xe7\x7c\x14\xf8\x70\ +\x9b\x2f\x78\x62\x29\xc8\xbf\xbb\x79\xe7\x79\xb0\xce\xeb\x3a\x9b\ +\x1f\x58\xf0\x29\x42\xda\x8f\xb0\xeb\xc0\x5b\xcd\x0f\x2c\x7e\x82\ +\x90\xb6\xb9\xec\xba\xfa\x47\xcd\xcf\xf9\x7f\x0e\xfa\xd2\xd8\xfc\ +\x1b\xf7\x77\xc0\xc5\x93\x2d\xd9\xfd\x9f\x01\x76\xf4\x96\xf9\x2b\ +\xfe\x0d\xf8\x7c\xa0\x65\xe5\x1b\x70\xdd\xf8\xd9\x96\x03\x2f\xbf\ +\x01\xef\xdd\xde\xf2\x85\x31\x58\xaf\xc1\x2f\xb5\x3c\xd8\xd2\x0b\ +\x7a\xf4\xc5\x96\x87\x7a\x33\xc0\xf7\xdd\xec\xda\x79\xe9\x4c\xf3\ +\xba\x3c\x21\x9b\x1a\x67\x5e\xf3\x00\xc0\x5b\xb4\xa6\xf5\xec\xf2\ +\x8f\x08\x39\x9f\xb4\x96\xd7\xc3\xf7\xcb\x7e\xda\x3a\x5e\xfa\x0e\ +\xe0\x1d\x6d\xfd\xc8\x61\xb8\x9e\xfb\x3f\xad\x37\xf9\xed\x84\xbc\ +\x7f\x7b\xeb\x27\x9b\x7e\x41\xc8\x29\x1f\x6b\xfd\xd4\x35\x60\x0b\ +\xab\xff\x84\x5d\x37\xfe\x6d\xeb\x2d\x05\xb0\x8b\x93\x6f\x6c\x7d\ +\x66\xd5\x0e\x42\xe6\x5d\xdf\xfa\x0f\xde\x9f\x82\x9e\x6d\x6b\xfd\ +\xc5\xc0\xf7\x08\x39\xe7\x99\xec\xd2\x3e\xb0\x8f\xb9\xdb\xb2\x2b\ +\xbe\x76\x3d\xe8\x55\x5f\x76\xc3\xa9\xc0\x7f\xef\x3b\xd9\xc3\xef\ +\xfc\x9a\x90\xfc\x8a\xec\x1f\xcf\xee\x01\x3d\x7a\x35\x7b\xff\x96\ +\xf5\xa0\x87\x27\x67\xff\x69\x1c\xe8\x3f\xf5\x93\xd9\x9f\x34\xbe\ +\x06\x72\x38\x90\x7d\x25\x7f\x21\xd0\xd1\x93\x7d\xeb\xde\x9f\x12\ +\xa2\xdd\xd5\xe6\x5c\x7f\x1e\x21\x1f\x78\xa1\xed\xda\x93\x60\x1d\ +\xce\xfe\xcf\xb6\x9b\x48\x13\xac\x5f\x4b\xdb\xed\x01\xac\xe3\xfb\ +\x9e\x6b\xfb\xfc\xe3\x27\x11\x32\xd3\x69\xfb\xf2\xc3\x87\x41\x4e\ +\xaf\xb6\x3d\x71\xd7\x5f\x01\xfe\x47\xda\xfe\x6e\x26\xac\xeb\xfc\ +\xef\xb7\xbd\x3c\xe7\x3f\x80\xfe\x6c\x8e\x68\x40\xd7\xfa\xdf\xcf\ +\xcd\xfa\x31\xc8\x61\xf1\xd9\xb9\xb3\x3a\x60\x9d\x9b\x5f\xcd\xf5\ +\x1d\x59\x06\xbf\x3f\x9b\xdb\xd1\xb9\x1f\xd6\x65\x75\xae\xf0\x38\ +\xe8\x59\xcf\x47\x73\xe6\xa3\x80\x77\x19\xc9\x1d\x78\x06\xe4\xd8\ +\xfe\x7a\xce\xcf\x81\xbe\x2f\xba\x35\x77\x13\xf9\x25\xac\xf3\x3b\ +\xb9\x17\x90\xae\x23\xed\xcb\xa9\xbc\xd6\x5e\xdb\xbe\xf7\x9b\xc0\ +\x67\xe6\xf2\xf6\x4b\xae\xd3\x01\x6f\xbe\xfd\xf1\x9f\x81\xfc\xb2\ +\x3d\xed\x2f\x9e\x02\xf6\xbb\xfd\x5b\xf9\xe6\x4f\x9b\xa0\x57\x5f\ +\xc9\xb7\x7f\x02\xf4\x7e\x45\x77\x3e\xff\xf3\x3b\x41\x9e\x73\xf2\ +\x1d\x15\x58\xcf\x35\x8f\xb2\xeb\xa6\xeb\xf2\x0b\x1e\x04\xba\xe6\ +\x2c\xcc\x5f\xda\x09\xdf\xe5\x7f\x93\x1f\x79\x36\x0b\x7c\x76\xe5\ +\xaf\xbf\x05\xe4\x91\xeb\xcc\xdf\xfc\x34\xf0\x79\x51\x26\xff\xc8\ +\x43\x2d\xf0\xfe\x0f\xf2\xcf\x7e\x05\xe4\x71\xf6\x0d\xb3\x96\xce\ +\x80\xe7\xbd\x6b\x66\x7d\xae\x00\x76\xd3\xd0\x35\xeb\x36\xbc\xfe\ +\x64\xd6\x3d\x5d\x5f\x83\xef\xab\xb3\x1e\xfe\x3e\xe8\xed\xfa\x95\ +\xec\xda\xbf\x81\x5d\xb7\xee\xb7\xc0\xd1\xcd\x86\x9f\xc8\x99\x64\ +\x37\x71\x89\x47\x0a\xc4\x24\x0e\x09\x88\x4e\x46\xe1\x27\x8d\x18\ +\xf8\xaf\x0d\xff\xd1\xfb\x3a\xfc\xee\xce\xa4\x06\xd6\x0c\xff\x2f\ +\x1a\xb0\xab\x96\xa1\x15\x2d\xdb\xb6\x9c\x51\xcd\x36\xc7\x4c\x5b\ +\xab\x98\x5e\xc1\x74\x02\x7d\xd4\x6c\xa1\x9e\x71\xb8\x64\x55\x66\ +\x50\x04\x1f\x24\x7d\x00\xde\x04\x10\x02\xa8\x4b\x7c\xb8\x9a\x08\ +\xbc\xcc\x11\xb3\x7b\xe1\x1b\xf4\x6d\x9f\x54\x49\x05\x7e\xf7\x48\ +\x91\x58\x40\xa0\xc5\x9f\x59\x64\x84\x42\x8c\xc8\x59\x30\xe0\x99\ +\xa6\xe6\x57\xbd\xa2\x5e\x30\x35\xd3\x36\xcb\x40\x87\xaf\xe9\x9e\ +\xa9\xc7\x49\xb9\x8a\xec\x44\x5e\xcb\x00\x9e\xa2\xf6\x4f\x18\x49\ +\x5d\x6a\x92\x1c\xd7\x2b\xeb\x76\x9c\x28\x03\x17\xc0\xe7\xe0\x5c\ +\x40\x7c\x22\x09\x5b\xa4\x26\xac\xe2\xfa\x56\x60\xb9\x4e\x9c\xb4\ +\x83\x20\xaf\x2a\x22\xf5\x00\x65\x88\x50\x45\x0a\xfd\x39\x24\xc5\ +\x00\xa4\x74\xc1\x0b\x48\xc6\x1b\xf8\xe4\x60\xe2\x9d\x7a\xc9\xed\ +\x8d\x91\xeb\x54\xcb\x23\xa6\xa7\xb9\x45\x69\x91\x03\xed\xa0\x66\ +\x58\x9e\x59\x38\x91\xe4\x4f\x9c\x40\xf2\x27\xd2\xc8\xdf\x40\xfa\ +\x11\x29\x55\x0d\x03\x2d\x90\xb1\x60\xc3\xb5\x08\xff\x56\xf1\xbe\ +\x2b\xdd\xb5\x90\x25\x4a\x16\x55\x24\x2f\x22\x63\xde\x56\xc7\xb7\ +\x0c\x53\x2b\xa2\xd9\x1a\x26\xfc\x16\x4c\xc4\x91\x2d\x00\x2d\xa4\ +\x7a\xe7\x46\x9c\x7a\x28\x9b\x02\xd1\x23\x30\x6d\x43\xd6\x68\x29\ +\x18\x37\xe9\xbf\xf1\xaf\xb3\x64\x23\x90\xf3\x61\xf8\x5f\xf0\x8e\ +\x4f\xe3\xaf\xed\x25\x9b\xb8\xd8\xbd\x98\x0a\x8f\xc2\xef\x3a\x19\ +\x83\x9f\x65\x3e\x85\xf2\x57\x38\x69\xbe\xc4\xeb\x48\x0d\xc2\x53\ +\x29\x1e\xed\x52\x24\xcf\xd7\xa8\x2f\x32\x3d\x9f\x4a\x7b\xd4\xd3\ +\xc7\x6a\x18\x5e\x4b\x76\x00\x2e\x1f\xff\x3f\x36\x7c\x73\x63\xf8\ +\xca\xba\xef\x9b\x7e\x1c\xc7\x7a\xf4\x37\x65\xa6\x14\xc7\x8c\x67\ +\x4e\x0c\x8f\xa3\x97\x93\x68\x72\x42\xfa\xc4\x17\xab\x85\x9f\x19\ +\xa6\x6f\x8d\x26\x14\xeb\x08\xd9\x8c\xa8\xca\xa0\xdd\x06\x7c\x65\ +\x4b\xd6\x41\xb5\xdf\x87\x9f\x5e\x97\xee\x8d\x08\xe8\x48\x34\x5d\ +\x3c\xba\x58\xf4\x19\x75\xa4\xa3\xf0\xcc\x49\x08\x92\xfd\x56\x42\ +\x65\xa4\x8b\x5b\x46\x1b\x61\x01\xc6\x47\xdc\xcf\xe3\xb5\x80\x02\ +\xaa\x32\xaf\x17\xd1\xbe\x05\x69\x2f\xbb\x46\xd5\x36\xb5\x8a\xe7\ +\x8e\x81\xf6\xfa\x9a\xef\x96\x4d\xba\x9e\x41\xc9\xd4\x0a\x6e\xb9\ +\xec\x3a\xf6\x84\x56\xf5\x4d\x43\x0b\x5c\xd7\x86\x7f\x38\xb7\x9a\ +\x4f\xbf\x2e\x82\xaf\x4d\x08\x6a\x1e\x19\x06\x32\xca\xc8\xb2\x1e\ +\x9a\x77\x84\x34\x3b\x6c\x95\xab\xb6\x5e\x6b\x88\x1f\x04\xc5\xf5\ +\x90\x7f\x0d\x8d\x51\x43\x09\x69\xa8\xc6\x3a\x72\x14\xf2\xcd\xe4\ +\xa0\x71\x4e\x85\xd9\x0a\x09\x6a\x20\x39\x1d\x3d\x85\x21\x59\x96\ +\xb6\xd7\xab\x9a\x9a\x55\xd4\x2c\x70\x09\xda\x98\x6e\x83\x99\x22\ +\x13\x96\xe3\x07\xba\x53\x48\x84\xd4\xb1\x69\x13\xe4\x27\xe4\xe0\ +\xa2\xc9\xab\x96\x7b\x0c\x16\x2a\x49\xee\x8a\x34\x72\xfd\x48\x82\ +\x29\x94\xdb\xd3\xa6\x9c\xbe\xe3\x44\xc2\x4c\x52\xac\x16\xef\x69\ +\x69\xf4\x02\x85\x57\xa7\x50\xba\x8e\xec\x8a\xd4\xb8\x1b\x15\xb8\ +\x82\x70\x03\xc0\x63\x90\x1e\xee\xfe\xa9\xe4\xa8\x0f\xa6\xbf\x97\ +\xf0\x6d\x93\x2c\x17\xc1\xf6\x52\x7d\x0c\xf4\xb6\xbb\xaf\x5c\xb1\ +\xad\xa0\x6a\x98\x3d\x90\x24\x59\xae\xd1\x53\x29\xe9\xbe\xb9\x3c\ +\x99\x07\xf4\xc7\x22\x8f\xbc\x24\x21\x21\xae\x44\xd2\xca\xc8\x71\ +\x1a\x91\x3b\xd1\xf1\x77\xf9\x3d\xf6\x7d\x05\xee\xd0\xa7\x82\xb4\ +\xd3\x19\x69\x51\xe8\xd1\xba\x57\x82\xf5\x8c\x52\x23\xf2\xc1\x6f\ +\x3a\xda\x38\x7d\xbe\x3c\xe9\xe6\xc3\x20\x21\x4c\xb5\x85\x3b\xa6\ +\xf8\x9b\x5d\xe0\xe9\xab\x40\xcc\x98\xb4\xa2\xcf\xf3\x34\x50\x72\ +\x51\x7d\x90\xa2\x81\xab\xae\x7a\x63\x28\xfd\x59\xf4\xfb\x2b\xf1\ +\xe6\x26\x7a\x0f\x41\x9d\x43\x06\x91\x2b\x16\x69\xf5\x28\x06\x17\ +\xea\x40\xd0\xb5\xdb\x76\x03\x2d\xf0\x74\xc7\x1f\x83\x60\xa0\xdb\ +\x98\x14\x4e\x85\x71\x09\x10\xcf\x20\x79\x00\xd5\x41\xc5\x1a\x43\ +\x7f\x38\x82\xf7\x0a\x52\x2a\x3c\x7b\x13\x7c\x1b\x98\xa0\x56\x8e\ +\x39\x8e\x4a\x25\xc0\xb2\x47\x91\x4c\x2e\x8f\xc0\x32\xed\x4e\x01\ +\x1d\x5b\xc8\x0a\xea\x97\x89\x84\x30\x1b\xa1\xef\x1d\xe0\xa4\x15\ +\xb8\x92\xbc\x4c\xec\x88\xa0\x9e\x1a\x82\x40\xc1\x35\xd7\x33\x20\ +\xf3\x80\xc5\x1d\x77\xbd\xab\xb5\x71\x2b\x28\x51\x2f\x5a\x4e\xa5\ +\xb5\x47\x29\x02\x5d\xe1\x39\x64\x0f\x7a\x72\x1c\x77\xcc\x9d\xe6\ +\x65\x34\x56\x19\xb1\x14\x13\x12\xd1\xa7\xc6\x95\x90\x0e\x0d\x45\ +\x05\xd4\x49\x7a\x8f\x29\x46\x18\x5a\x02\xbc\x67\x48\x91\x74\x55\ +\x0a\x7d\x31\x09\x41\xb8\x29\x98\xbe\xaf\xc1\x23\xd3\x4b\xa3\xbc\ +\x7b\xd2\xb5\x94\x7c\x54\x84\xbb\xb3\x76\x5d\xa8\xf7\x49\xae\xc0\ +\x5e\xb8\x87\x18\x96\xa5\x2a\xa1\x0a\x7a\x5c\x0d\x27\x05\xdc\xa9\ +\x30\xcd\x41\xb2\x2f\x02\x35\x73\x70\x9f\xb0\x8f\x16\x84\x30\xb8\ +\x0f\xbf\xbc\x01\xbe\xa4\xce\xb5\xc0\x97\x24\xdd\x12\x47\x70\x81\ +\x0e\x71\xbf\x44\x3d\x14\x75\x95\x87\x90\xf0\x80\x07\x16\xc0\x89\ +\x7e\x8c\xfe\x16\xa0\x62\x5b\xa1\xe3\xe6\x8e\xde\xc3\xf7\x7d\xcc\ +\x35\x3c\x5c\x62\x5b\xf2\x60\x67\xee\x95\xcc\x1a\x3c\xf8\x88\x05\ +\x3e\x76\x42\x0b\xa9\xa7\x19\x42\xa5\x1a\x44\xfa\x17\xe3\x64\x01\ +\xd9\x82\x98\x58\x1a\x1a\x80\xc2\x04\xdc\xbb\x08\xdf\x91\xdb\x32\ +\x61\x78\xae\x4f\x21\x14\xd0\xbb\xcd\x46\x08\xf2\x5d\x84\x35\xa0\ +\xf4\x4f\x7e\x4c\x2e\xc2\x13\x97\xa6\xc4\xdb\x89\x3e\x0b\x15\xa4\ +\x54\x1f\x05\x1b\x71\x5d\x3c\x88\x06\x4c\x59\x8a\x51\x91\xeb\x13\ +\x55\x88\x0c\xeb\xa0\x03\x58\x07\xd1\xb0\x26\xfc\xd9\xc2\x21\x57\ +\x37\x34\xdd\xd1\xcc\x83\x3a\x44\x2d\x93\x11\x32\x6a\x42\xea\x15\ +\x78\x98\x42\x77\x20\x11\xf4\xb5\xcd\xec\x15\xa4\xe1\x5e\x89\x06\ +\x35\x05\x31\x7c\x29\xc9\x46\x48\x61\x05\xaf\x06\xaf\x44\x7c\xee\ +\x00\x45\x65\x16\x60\x40\x36\xb9\x36\x85\x8e\x90\xe9\x49\x98\x2c\ +\x88\xba\x4e\xc2\x11\xf1\x79\xd1\xa4\x7c\x6a\xfa\x08\xdc\x02\x67\ +\x30\x42\xf5\xc8\x01\x25\x0b\x20\xcb\xb4\x1c\xb8\xa3\xe3\x9b\xbd\ +\xe9\x92\x58\x04\x41\xd2\x46\xcd\x15\x5c\x4a\xf2\x10\xfa\xb5\xab\ +\x1a\xd8\x96\x63\x6a\x86\xa7\x8f\x0b\x70\xfc\x6e\x3f\xdc\xe4\x8b\ +\xbb\x97\x1b\x13\xcb\x86\x6c\x14\xcf\x24\x08\x6a\x45\xab\x52\x2d\ +\xb7\x2e\xe4\x4b\xc8\x10\x22\x3a\xc4\x35\x6b\x32\xe7\xdf\xb1\xa7\ +\xea\x50\xe9\xc4\xbc\x3e\x16\x21\x57\xc2\x93\xd0\x71\xae\xc3\xa2\ +\x96\x15\xa9\x0e\x5f\xd7\xb0\xa6\x56\x39\x7b\x1d\x57\xdb\xa2\x56\ +\x24\xd8\x18\x0e\xdc\x8a\xa6\x43\xde\x02\x66\x1e\xc7\x97\x43\x7c\ +\xf4\x79\x88\x70\x2d\xe4\xfc\x26\x96\x28\x96\x54\x84\x08\xc9\xa5\ +\x22\x17\x8c\x81\xa3\x29\x5c\x9d\x40\xd4\x8e\x88\xf0\x49\x88\x69\ +\x3d\x94\x55\xa1\x2b\xb3\x51\x4d\x43\xf6\x8e\xa6\xda\xeb\x18\x36\ +\xf9\x12\x8d\x8b\xc4\x8a\xb1\xc5\x33\x2d\x44\x76\x6d\x02\xd9\xa1\ +\xc8\xf7\xd4\x81\x8c\xf4\xc2\x6f\x43\xfc\x69\x3c\xa1\xf6\x79\x55\ +\xf7\x3a\x7a\x61\x6a\x6f\xcf\xe3\x3a\xa4\x07\xd5\x15\x49\x82\x7b\ +\x30\xfe\x40\x45\x5c\xf5\x03\x6a\x40\xba\x61\x80\xf1\x44\xe1\xb4\ +\x96\x17\x87\xc7\x15\x9d\xb7\x33\x7c\xde\xa3\x11\x79\x70\xf8\x44\ +\xee\xc1\xa8\x6b\xcb\x70\x59\x6b\x63\x92\x5e\x93\x1d\x2e\x95\xd2\ +\x4f\x56\x42\x82\x35\x14\x81\x19\xd3\x86\xa4\x18\x68\xde\x5f\xbe\ +\x82\x52\x9c\xa5\xdc\x5d\x89\x99\x23\xd2\x5b\x41\x93\xb4\xd0\xdc\ +\xde\x5d\x8a\x17\xd5\x50\x1c\x78\x56\x39\x22\x58\x45\x6c\x17\x1a\ +\x9c\xcf\x7d\xc6\xa1\x18\x72\xe1\xf6\x73\xfd\x96\x5f\xb1\xf5\x02\ +\xb6\xa5\x54\x60\x72\xf2\x1a\x45\x9f\x65\xfa\xa9\xc0\x54\xef\x9f\ +\x97\x88\x8a\xc2\xce\x8f\x4b\xde\x9e\x44\x97\x8f\x2f\x89\x68\x42\ +\xed\x05\xf9\xa8\x3e\xd8\x83\xad\x99\x50\xdf\xa9\x38\x0a\x68\x01\ +\x0e\xcf\x3b\x68\xca\x45\xdb\x69\x61\x6f\x23\xad\x64\x56\xf9\xa7\ +\x85\x7d\xce\x44\xad\x7b\x62\xa5\x95\x8b\xf5\x41\x0e\xa9\x81\xc8\ +\xe2\xbb\x3c\x6a\x6c\x53\xd0\xe3\x46\xad\x32\x15\x35\xf1\x3a\x51\ +\x55\xf6\x76\x51\x3a\xe4\xea\x9c\x97\x7a\x45\xb7\xea\x18\x6a\x32\ +\x68\xd6\xe9\x62\xd2\x15\x60\x9d\x3e\x81\xa4\x84\x5d\x46\x9d\x35\ +\x4c\x23\x04\xed\x1b\xab\x96\x6d\xd0\x2d\x00\x43\x0f\x74\x35\xc4\ +\xb5\x31\xc6\x44\x60\xa7\x8a\x20\xf2\xdb\x50\x35\xe8\x6f\x15\x0c\ +\x10\x82\x8d\xb9\x9b\x74\xe7\x8c\x40\x2b\xb0\x0c\xb7\xe8\xda\x06\ +\x77\x24\x35\xb8\x8a\x29\xb8\x1c\x14\xe9\x41\xbe\xb4\x22\xe8\xf8\ +\x11\xce\x30\x5d\x38\x28\xf7\x4f\x89\x39\x85\xaf\xee\x61\x94\x19\ +\x66\x00\x92\x85\x4c\x82\x16\xce\xa0\xab\xb4\xd9\xeb\x6b\x45\xcf\ +\x2d\xf3\x58\x3b\x72\x00\x9e\xab\x49\xfe\x50\xaa\x78\xe2\x3a\x10\ +\x96\x01\x42\x0b\xc2\x5e\x5d\x85\xef\x1e\x30\x2d\xa4\xb0\x76\xa1\ +\x08\xa9\x57\x1d\x8a\x48\x3d\x85\x91\x5a\xb4\x1c\x43\xdb\x55\x31\ +\x9d\x4d\x43\x40\xf6\x98\x55\x60\xbd\xc4\x5a\xba\x4e\xa4\x7d\x68\ +\x12\x2d\xba\xca\x54\xd4\x24\x5d\x38\x89\xa8\x7c\x2c\x39\x2c\x2c\ +\x22\xbc\x28\x4f\x62\x15\x75\x89\x09\x26\xa9\x4f\xe3\x9e\x15\x60\ +\x8e\x57\xb4\x6c\x53\x8d\xb1\x27\x51\xf0\x84\x96\x50\xeb\xc2\xe4\ +\x02\x2a\xb7\x09\x2b\x0f\x6a\x16\x83\xfb\xd4\x80\xcf\x49\x05\xac\ +\x52\x46\x27\xe6\x1b\xe7\x0b\xf0\x71\x8d\x53\xa3\x5a\x99\x82\x2a\ +\x5e\x88\xe8\xaa\x42\x44\x20\x4a\x16\x22\xb5\x68\xba\x53\xd0\xc4\ +\xfd\x94\x9c\x81\xcf\x11\xe0\xb9\x63\x4a\x01\xbd\x08\x22\x98\x1e\ +\x6d\xd5\x50\x85\x63\x29\x08\x6f\x7c\x89\xfe\x6d\x3f\x38\x21\xcd\ +\xd7\xc7\xcc\x14\xe7\x96\x85\xaa\xcf\x44\x85\x90\x02\x44\xbf\xeb\ +\xa4\xac\xfe\x08\xac\xaa\xc9\x93\x54\xc1\x50\x19\x69\x61\xe5\xac\ +\xf0\x0d\x3e\x9a\x62\x80\x05\x0e\x4b\xc3\x2c\xfc\x52\xe7\x85\x0b\ +\xd3\xd2\x02\xd2\xae\x12\xc6\xa9\x83\xa6\x63\x7a\x3a\x4a\x83\x66\ +\xe0\xba\xa7\xf9\x13\x7e\x60\x96\xb5\xb2\x0e\x21\xfe\xa0\x9a\xc2\ +\x39\x64\x2b\x9a\x21\x85\xc8\x29\x8c\x20\xe6\xb7\x3a\x56\x60\x81\ +\xf3\x3f\x84\x50\xd5\x00\x3a\x00\x40\x20\x33\x18\x7d\xde\xba\x35\ +\xe0\xf4\xa8\xbf\x3c\x5d\xaa\x0c\xc4\x5a\xd7\x78\x00\xb1\x05\x35\ +\xa4\x57\x9d\x42\x09\x57\x7b\x0a\x3b\xbf\x83\xef\xcc\xc8\x9d\xe0\ +\x78\x01\x5b\x8a\x1c\xce\x54\xe9\x57\x37\x26\xc1\xb6\xe4\x37\x0a\ +\x3c\xbe\x59\xbc\xaf\x16\xf6\x92\xc2\xca\x8a\x65\x11\xb5\x5b\x86\ +\x2c\xb1\x16\xed\x87\x0f\xec\x70\x3d\x70\x1f\x25\x28\x21\x41\x83\ +\xc2\x00\xcb\x13\xc7\x6e\xb0\x4c\x8f\x55\x8a\xbe\x36\x6e\xd9\x36\ +\xcd\x83\x1d\x73\x94\x3d\x5e\xae\xe6\xfb\x3e\x05\xdf\xe9\x8e\xb5\ +\x3e\x19\xe8\x47\x25\x03\x16\x85\x65\x19\xe8\x09\x19\xe8\x31\x19\ +\x0c\xa9\x64\x20\x12\x9e\x1a\x71\x44\x8f\xea\x17\xca\x6e\xbe\x57\ +\xe5\x82\x02\x1c\xc0\xc4\x80\x65\x43\x2e\x77\xfb\x53\x89\xa9\xa6\ +\xcb\x20\x4c\x6e\x17\x86\x65\xba\x27\xe0\x40\xb2\xa9\x27\xc9\x4f\ +\x8b\xd7\xc7\x99\x9e\x94\xdc\xed\xb4\x24\x75\xca\x5d\x16\x35\x8d\ +\xf3\x12\xb9\x77\xdc\xb2\x67\xed\x36\x3d\xba\x37\x46\x4d\xb1\x02\ +\x69\xb6\x1a\xc6\xcd\x7c\x2c\x84\xb6\x16\x74\xcc\x2b\x3c\x08\x87\ +\x61\xd2\x26\x0a\x67\x3a\x2c\xe2\xa2\xb2\x30\xa7\x18\x2a\x8c\x5d\ +\x53\x59\xca\xbd\xbf\x50\xc1\x7d\xee\x20\xc3\x1e\x60\x4a\x8d\x14\ +\xd1\x7e\xde\x6e\x1b\x12\x78\x33\xcc\x05\x75\xb6\x81\x13\x75\x6d\ +\x46\xcc\x22\x55\xc8\xaa\x4f\x79\x0b\x4a\x20\x3b\x5a\x23\xa9\x19\ +\xbc\x77\x4a\x06\x45\x40\x1e\xe5\x2c\x84\x4b\xab\x62\xba\x92\xf0\ +\x24\x18\x4b\x79\x3f\xff\x78\xb0\xde\x17\x67\xdd\xf5\x34\x1b\x3b\ +\x58\xbc\x53\x58\x05\x73\x3a\x26\x39\xdc\x3a\xc9\x66\xf0\x68\x4c\ +\x8d\x8c\x48\xc9\x69\xe3\x92\xbd\xe3\xcb\x09\x1e\xdf\x09\x0b\xcd\ +\x21\xcc\xd3\x5c\xcc\x33\x74\x54\xff\x20\xea\x65\xc9\x9d\x11\x19\ +\x8f\x1c\xd1\x57\x60\x19\xc8\xb7\x81\x2d\xba\x5b\xe5\xd3\xc6\x9c\ +\xd1\xa3\x15\x30\x85\xab\x30\x4d\x9e\x44\x8d\x05\x77\xee\x51\x70\ +\xa7\xbf\x2b\xdc\xad\x4d\xe5\x8e\xae\x96\xcf\x79\x1c\xf5\xf4\x4a\ +\x89\xb6\xeb\x20\x57\x62\xf5\x6f\x4a\x9a\x74\x0b\xb9\x38\x65\xcb\ +\x54\xdd\x01\x1e\x21\x61\xbf\xc7\x9b\x22\x7c\xec\x8c\x55\x1d\x71\ +\xcf\x97\x16\x7a\x45\x90\x38\x77\x58\xde\xc8\x8e\xba\x42\x22\x38\ +\x38\x2e\xaf\x90\xa2\x7b\x29\xb1\xe0\xbd\xca\xe1\x96\x3a\x38\x94\ +\xdc\x37\x96\xdf\x74\xf2\x27\x7a\x81\xb1\xef\xa7\xb0\xfd\x58\xd4\ +\xaa\x8b\x87\x8d\x64\x54\x4f\xab\xad\x85\x77\x0a\x78\x75\x24\x77\ +\x3e\x27\x73\xe0\xb2\x0f\x9b\xae\x90\x76\x0e\x8b\x52\x18\x75\x5b\ +\xc3\xf1\x8d\x91\xd0\xa3\x81\x14\x68\x8b\xa4\x42\x07\x3c\xe2\xde\ +\xac\x9b\xd6\x88\xf5\x69\xc8\x8b\xef\x19\x51\x31\x67\x72\x30\x2a\ +\x0b\x9c\x88\x0a\x2b\xda\xaf\x0f\x7b\x83\x2e\xdf\xdb\x17\x02\xf5\ +\x27\x11\xa9\x9c\x80\x5d\x71\xec\x42\x05\x9d\x04\xb1\xd1\x29\xce\ +\xa3\x54\xc7\x23\x53\x58\x61\x7a\xde\xf3\x6e\xd9\xe3\x85\xc3\x29\ +\xb3\x28\xd3\x71\x3e\xff\xf2\xae\xb0\x9d\x54\x9b\xa9\xd2\x49\x29\ +\x75\x3c\x2e\x0a\x75\xd9\xd1\x89\x8e\x7b\x35\xf1\xfa\xd1\x2a\xd3\ +\x77\x23\x83\x9d\x7c\xc3\x22\x8c\xba\x25\x5e\x21\x89\xba\x47\x6c\ +\x1f\x33\xde\x42\xf3\xa2\x5b\x1c\x3b\x89\xc9\xa7\x03\x2c\x1e\xd5\ +\x93\x6f\x9b\x38\x35\x10\x6e\x53\x4f\x3f\x4b\xdb\x3e\x2c\x6d\x84\ +\x68\x25\x9d\x65\xef\x23\xa6\x49\xab\xa1\xa0\x57\xbb\xcc\xad\x42\ +\xc9\x83\x13\x6b\xf4\x46\xf4\x66\x94\xb1\x99\x53\xe5\x6b\x43\x58\ +\x78\xa7\xe9\xc3\x04\x09\x9b\xc3\xea\xa6\x9d\x41\x4c\xee\x8e\xe2\ +\xe5\xc6\x02\x31\xfb\xa6\xe9\x36\xf8\x0e\x63\x02\x9b\xd5\x95\xb4\ +\x5e\x8a\x37\x29\x19\x7e\x14\x83\x19\x32\x83\xa3\xd7\x09\x1b\x5e\ +\xb5\x50\xf9\xec\x84\x7f\x65\xc9\x56\x95\x3f\xb1\xa2\xce\x44\xb2\ +\x97\x70\xae\x44\x2c\xd6\x91\x3e\xee\x07\x06\x38\x18\x68\x82\xfe\ +\x81\xb7\xd3\x0b\x41\x55\xb7\x35\x8b\x75\x31\xd2\x2a\xa5\xdd\x64\ +\x0f\x57\x3b\x1b\x4c\xc9\x22\xa2\xd9\x3d\xdd\x86\x4e\xe7\xb0\x6b\ +\x8f\xd5\x74\x73\x52\x52\xb7\xd5\x3c\x4b\x8d\x17\x4c\x42\xe3\x65\ +\x7d\x0f\xc3\x95\x5c\xd2\x9d\x42\x87\x3b\xe2\xda\xc6\xfd\xbf\x1a\ +\xdf\x73\xb8\x78\x61\x08\x12\xbe\xcc\x54\x6e\x08\xa6\x85\x4e\xe7\ +\xb8\x04\xcf\xf0\xb9\x19\xed\x39\x30\x25\xf0\x8e\x4b\x28\xd8\x83\ +\x92\xa9\x2f\x40\xfa\x81\x57\x05\xad\x01\x33\x8c\x45\xc9\xba\xc2\ +\xc3\x8c\xec\xff\x2b\x91\xbe\x3b\xd9\xc9\xfe\xe9\x0b\x1f\x53\x94\ +\xb0\x14\x1a\x09\x87\x7a\x52\x83\x74\x2f\x36\x44\x29\x47\xa3\xb1\ +\xa6\x6d\xb8\x05\xc4\x8c\xcc\x22\x6c\x0e\x45\x18\x50\xc7\x5e\xab\ +\x6c\xd2\xf9\x0e\x73\x74\xb2\xa6\xe7\xe1\xd8\xf9\x11\x79\x00\xa5\ +\xca\x05\x69\x44\x76\xcb\x96\xde\x8c\xba\x02\xac\x02\xb5\x62\x1b\ +\xa2\x22\xaa\xd0\xf1\x4c\xe1\x3e\xcb\x48\x7a\x35\x8e\x25\x22\x76\ +\xf5\xc5\xbe\x0f\xbe\x0d\x24\x39\x01\xd1\xc4\x70\x71\x33\x43\x77\ +\x02\x1a\x53\xa0\x9a\xb4\x8a\x13\x5a\x59\x77\xd8\x1b\x18\x4c\xdc\ +\x4a\xba\x07\xbc\x07\x11\x51\x69\x4c\x90\x78\x69\xab\x0a\x1f\x16\ +\xdf\x1a\x14\xbb\xf5\x3d\xa4\x9e\x69\x6f\xd1\x1c\x91\xe3\x45\x98\ +\x0e\x85\xe5\xb3\xaa\xe4\x96\x37\x24\x2e\x74\xaa\xe5\xca\x04\xfa\ +\x38\x4c\x4b\x6c\x2c\x96\xe5\xae\xa2\x1f\x54\x8b\x45\x16\x13\xc2\ +\x6a\x9a\x06\x05\x0f\xa3\x6b\x5a\xd7\x95\xb2\x2e\x6d\x99\xbd\xe7\ +\xc5\xd0\x57\x99\xe0\x3b\x78\xc7\x57\x12\x67\xe2\x74\xaf\xc7\x25\ +\x61\xa0\x9e\x0a\x0a\x63\x83\xc4\x62\x2f\xad\xaf\x08\x11\x96\x36\ +\x62\x80\x22\xc3\x2a\x00\x7e\xdc\x9b\x6d\x63\xd0\xd1\xcc\x79\x4f\ +\x72\x28\x8a\xa0\x6c\xd8\xd5\x97\x54\xba\x75\x23\x6d\x6d\xd1\x50\ +\xa9\xfc\x38\x8b\x9d\x71\x1a\x05\x04\xe6\x96\x8d\x34\x4b\x09\x4a\ +\xca\x0f\xa6\x3f\xc1\x5b\x03\x72\xaa\x01\x88\x9a\x0f\xea\x13\x27\ +\xdd\x66\x10\x4c\x9d\x34\xe0\x7a\xe3\xba\x67\xd4\x21\x50\x8d\x0c\ +\x93\xfa\x0e\x21\xe5\xe4\x43\x48\x29\xbc\xd1\x61\x22\x1b\x7d\x9b\ +\x20\xa6\x79\xc8\x74\x46\x53\x04\xac\xe1\x10\xa9\xce\xf7\x0f\x1c\ +\xee\xe1\xf4\x28\xe4\x08\x28\xd9\x1d\xba\x05\x75\x81\xa7\x97\xd5\ +\xb8\x0f\x25\x86\x7f\x28\x94\x83\x68\x1d\xc7\x6b\xb0\x66\xea\x9d\ +\xce\x1e\x79\xa4\x92\xcd\xd5\x94\xf5\x83\x60\x4d\xe5\x94\x89\xa0\ +\x0e\xe4\x42\xda\x15\x4d\x61\xc5\xc2\x44\xfb\xff\x9a\x15\xcb\x39\ +\x6a\x56\xae\x55\x1e\x9d\xab\x60\x16\x36\x55\x0a\x70\x7c\x19\x5a\ +\x51\xcb\x90\x38\x47\x57\x71\x2d\x7a\x8a\x4e\x9e\x7f\x52\xf3\xe3\ +\x9c\x90\x91\xad\xa9\xa9\x3f\xb5\x96\xfa\x9a\x89\x2d\x35\xc5\x0b\ +\x6a\x94\xe9\xf9\xd0\x2e\xc4\xfc\xcd\x0e\x59\x4b\x8f\x06\xd6\x6b\ +\xa1\x62\x4a\xb0\x64\x35\x49\x87\x45\xab\xea\xb7\x27\xd3\x0c\x91\ +\x54\xed\x4c\xac\x53\x3a\xd0\x1e\xc5\xb4\x58\x89\xe7\xa2\x5e\xaa\ +\x70\x67\x63\x03\x3d\x39\x9b\xa0\xc6\x30\xe5\x80\x98\xfa\xb3\xde\ +\xc4\x68\x75\xbd\x63\xd4\xb3\x71\xbc\x58\x9e\x2d\xa6\x38\x5a\x11\ +\x07\xdd\xb7\x41\xe0\x3b\xb1\xec\xb3\xf0\x38\x47\x3d\x3d\xc6\x7a\ +\x91\x77\x0d\xa3\x76\xb1\x6e\x73\x48\x83\x3c\xc2\x9d\xa0\x63\x3e\ +\xe9\x03\xa8\x74\xf1\xce\x42\xfc\xe1\xc8\x83\x38\x40\xda\xd6\x57\ +\x85\xe4\x92\x79\x6d\x91\x3c\xf0\x19\x62\x1e\x71\xe5\x61\x89\x30\ +\xa5\x51\x4f\x7e\xcc\xe2\x11\xb7\x76\xec\x43\x86\xb8\x96\x4b\xa7\ +\xcc\xbb\x05\xec\x08\x8c\x4b\xc2\xd9\xee\x30\xdd\x4a\xc7\x33\xb7\ +\x1f\xe4\x40\x23\x3b\x6d\x11\x4c\x8a\x6b\x3e\xb6\xa1\x68\x82\x11\ +\x1e\xf0\xe2\x1d\x0a\x11\x44\x87\x5c\x67\x94\x9e\xe1\xb2\x1c\xdd\ +\x56\x03\xb9\x7c\x8a\x83\xdc\x29\xe4\xf2\x22\x4b\x81\x9c\x3f\xdd\ +\x0f\x22\xb8\x22\x22\x64\x89\x4c\x48\xc4\x56\x74\x80\x3b\x74\xeb\ +\xb5\xe4\x1d\xf3\x5c\x7a\x2d\xa8\x6d\x98\x2f\x14\xb8\x4f\x11\x0a\ +\x1a\xdf\xe9\xa2\xa5\xa6\x40\xc0\x2a\xf6\x55\x64\x1d\x72\x15\x7e\ +\x2b\x8a\xc5\xf7\xb1\xd9\xf4\x82\x0e\xba\xda\xbd\x6a\x1d\xfb\x81\ +\xee\xee\xe9\xc1\x72\x35\x15\x39\x99\x0a\x91\x91\x0d\xd3\x2f\xd5\ +\x5f\x74\xf2\x59\xfa\xc4\xa1\x12\xa1\xe6\xd2\x91\x12\x35\x84\x7d\ +\xc7\xbc\xc6\xea\xe3\x2c\xaa\x15\x5e\x1c\x3b\xd8\x52\xff\x02\x77\ +\x49\x29\xb6\xa0\x49\x67\x13\x53\x82\xc7\x4b\xe9\x20\x36\xe6\xda\ +\x29\xc6\xb0\xa5\x2e\x1e\xed\x74\x5c\x35\x1c\xcd\x97\x70\xd6\xc1\ +\x48\x07\xf8\xa3\xd8\x71\x4b\x51\x27\x44\x27\x29\xf1\x60\x16\xce\ +\xd7\x58\xe5\x78\xa9\xd0\x87\x05\x9b\x3c\xe3\x25\x97\x0a\xaa\x6f\ +\x36\xd4\x7d\xd8\x6d\xaa\x99\x92\xae\xda\x43\x5e\x89\x53\x70\x0a\ +\xf4\xd3\xc8\xe4\x55\xe0\xe6\x24\xce\x91\xca\x47\x19\x5a\xb6\x80\ +\x20\x78\x7b\x43\x2d\xbd\x21\x1e\xee\x5c\x55\x19\xa0\xa6\x7e\x5a\ +\xf9\x80\x0a\x64\x9e\x57\x4e\xfc\x70\xad\xa0\x64\x37\x9e\x9e\x4d\ +\xfb\x6c\x26\x19\x48\x94\x95\x99\xdd\xf4\x9c\x6d\xfa\xfb\xfc\x84\ +\xaf\x78\x1f\x0f\xc5\xa6\xbd\xbf\x0c\x05\x5b\xef\xc0\x6d\x7b\x6c\ +\xca\x36\x52\x74\x0a\x93\xb6\xab\xb9\x07\x1b\x26\xb5\xa3\x3f\xcd\ +\xbb\x70\xb3\x5f\xfd\x89\x3c\x77\x57\xcf\xe1\x95\x39\xf4\x54\x0e\ +\xed\x8b\x2b\x86\x86\x62\x80\xbb\xc1\x37\x46\x8d\xb1\x68\x1d\x27\ +\x03\x3d\x4b\x6a\xc3\x07\x56\x39\x85\x47\x6a\x90\xa5\x44\x65\xd9\ +\xb8\xd3\xc5\xc8\xd2\x1e\xbe\x1d\xd0\x73\x34\x27\xf4\xb8\x4e\x2d\ +\xa6\xe3\x72\xc0\x92\x82\xa5\xbf\x24\x2d\xc2\x42\x2f\x2f\x6f\x70\ +\xa8\xfe\x8e\x4e\xfb\x80\xfc\x17\x74\x52\x01\x9e\x5e\xdf\x1f\x02\ +\x91\xc0\x26\xff\xce\x87\x12\xec\x31\x9e\x0c\x69\x8b\x60\x8d\x1e\ +\xaa\xbf\x33\x22\x7f\x90\x05\x43\x4d\xe6\x57\x8d\x9b\xd9\x91\x84\ +\x9a\x97\xe9\xa8\x34\xfd\x0b\x04\x85\xc4\xf4\x4e\xda\x61\x12\x79\ +\x12\x7b\x5e\xda\x61\xd0\x1a\x2c\xe1\xb9\x07\x83\xfb\xdf\x37\x24\ +\x47\x1f\xce\x80\x09\xfd\xc5\xec\x9e\xae\x5b\xc1\x75\x0c\x2b\x15\ +\xe8\x34\x5d\x63\x0d\xbc\x01\xf0\x8b\xec\x50\x42\x58\xb0\xc6\xf7\ +\xcc\xac\x68\xf4\x48\x34\x1a\x59\x7a\x24\x3a\x4f\x72\x9d\x70\xf2\ +\x6e\x8f\x1e\x74\xae\x56\x0c\x9d\x4d\xc2\xf3\xee\xba\x12\xf9\x12\ +\xf2\x2d\xbe\x0f\x13\x6e\x09\x88\xd9\xfb\x42\xc2\xbe\xdb\xf6\xb8\ +\x90\x72\xeb\xce\xa8\x6d\xaa\x39\xc9\xc7\x06\x97\x6d\x29\x79\x0b\ +\x74\x4f\xad\x34\x53\x16\x70\x35\x5f\xf4\x83\xe7\x51\x09\xc7\x48\ +\xd7\x7a\xc2\xfe\xd4\x4f\x41\xa1\xcf\x0b\x2f\x66\x62\x32\x24\x73\ +\x00\x16\x0d\x51\x2f\xd7\x10\x30\x33\xfc\x13\x33\x82\xd8\x1d\xba\ +\x2f\x8a\x54\x7c\x77\x5c\x3a\x08\x97\x93\xff\x5e\x8c\xf8\x68\x27\ +\xef\x9d\xa9\x3f\xd2\x52\x8e\x1d\x46\x1b\xea\x62\x59\x86\xc5\x8e\ +\xb3\x1a\xde\xff\x02\xb7\xa1\x0e\xab\ +\x00\x00\x00\x10\ +\x3c\ +\xb8\x64\x18\xca\xef\x9c\x95\xcd\x21\x1c\xbf\x60\xa1\xbd\xdd\ +\x00\x00\x00\x10\ +\x3c\ +\xb8\x64\x18\xca\xef\x9c\x95\xcd\x21\x1c\xbf\x60\xa1\xbd\xdd\ +\x00\x00\x00\x10\ +\x3c\ +\xb8\x64\x18\xca\xef\x9c\x95\xcd\x21\x1c\xbf\x60\xa1\xbd\xdd\ +\x00\x00\x00\x10\ +\x3c\ +\xb8\x64\x18\xca\xef\x9c\x95\xcd\x21\x1c\xbf\x60\xa1\xbd\xdd\ +\x00\x00\x00\x10\ +\x3c\ +\xb8\x64\x18\xca\xef\x9c\x95\xcd\x21\x1c\xbf\x60\xa1\xbd\xdd\ +\x00\x00\x00\x10\ +\x3c\ +\xb8\x64\x18\xca\xef\x9c\x95\xcd\x21\x1c\xbf\x60\xa1\xbd\xdd\ +\x00\x00\x00\x10\ +\x3c\ +\xb8\x64\x18\xca\xef\x9c\x95\xcd\x21\x1c\xbf\x60\xa1\xbd\xdd\ +\x00\x00\x00\x10\ +\x3c\ +\xb8\x64\x18\xca\xef\x9c\x95\xcd\x21\x1c\xbf\x60\xa1\xbd\xdd\ +\x00\x00\x00\x10\ +\x3c\ +\xb8\x64\x18\xca\xef\x9c\x95\xcd\x21\x1c\xbf\x60\xa1\xbd\xdd\ +\x00\x00\x00\x10\ +\x3c\ +\xb8\x64\x18\xca\xef\x9c\x95\xcd\x21\x1c\xbf\x60\xa1\xbd\xdd\ +\x00\x00\x00\x10\ +\x3c\ +\xb8\x64\x18\xca\xef\x9c\x95\xcd\x21\x1c\xbf\x60\xa1\xbd\xdd\ +\x00\x00\x00\x10\ +\x3c\ +\xb8\x64\x18\xca\xef\x9c\x95\xcd\x21\x1c\xbf\x60\xa1\xbd\xdd\ +\x00\x00\x00\x10\ +\x3c\ +\xb8\x64\x18\xca\xef\x9c\x95\xcd\x21\x1c\xbf\x60\xa1\xbd\xdd\ +\x00\x00\x00\x10\ +\x3c\ +\xb8\x64\x18\xca\xef\x9c\x95\xcd\x21\x1c\xbf\x60\xa1\xbd\xdd\ +\x00\x00\x00\x10\ +\x3c\ +\xb8\x64\x18\xca\xef\x9c\x95\xcd\x21\x1c\xbf\x60\xa1\xbd\xdd\ +\x00\x00\x00\x10\ +\x3c\ +\xb8\x64\x18\xca\xef\x9c\x95\xcd\x21\x1c\xbf\x60\xa1\xbd\xdd\ +\x00\x00\x28\xe4\ +\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\x00\x01\x73\x52\x47\x42\x00\xae\xce\x1c\xe9\x00\x00\x00\ +\x06\x62\x4b\x47\x44\x00\xdc\x00\x07\x00\x07\x2e\x6d\xaa\x01\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\xdb\x06\x03\ +\x0b\x21\x39\xf6\x17\x6e\x08\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\x20\x00\ +\x49\x44\x41\x54\x78\xda\xed\x7d\x79\x94\x5d\x55\x99\xef\xef\x3b\ +\xe7\xdc\x7b\x6b\xae\x54\x8a\x84\x84\x40\x12\x22\x61\x4a\x40\xc3\ +\x68\x10\x14\x70\x68\x27\x94\x38\x34\xad\x32\xf8\x96\xba\x7c\xb6\ +\xdd\xfd\xc4\xd5\xbe\x7e\xaf\x9f\x6b\xbd\x7f\x7c\x2d\xb6\xb6\x0a\ +\xab\x97\xad\xaf\xd7\x7b\xad\x88\x8a\x08\xe8\x0b\x04\x19\x14\x50\ +\x22\x04\x85\x30\x0f\x01\x22\x21\x33\x19\x2a\x55\xa9\xe9\x0e\x67\ +\xef\xef\xfd\xb1\xa7\x6f\x9f\x5b\x36\x4d\xaa\x92\xaa\xc0\xdd\xac\ +\x0a\x77\x3a\xe7\xdc\x7b\xf6\xb7\xbf\xe1\xf7\xfd\xbe\x6f\x03\xad\ +\xd1\x1a\xad\xd1\x1a\xad\xd1\x1a\xad\xd1\x1a\xad\xd1\x1a\xad\xd1\ +\x1a\xad\xd1\x1a\xad\xd1\x1a\xad\xd1\x1a\xad\xd1\x1a\xad\xd1\x1a\ +\xad\xd1\x1a\xad\xd1\x1a\xad\xf1\xda\x1c\x34\xd3\xbe\xd0\xce\x27\ +\xbe\xc2\x4c\x00\x81\xcc\xd7\x23\x06\x11\x81\x61\x5f\xa3\xf0\x95\ +\xc9\x3f\x26\x84\xb7\x0a\xef\x13\xcc\xb1\xe4\x1f\x88\x53\x98\x07\ +\xfd\x4b\xae\xa4\x96\x00\x1c\xc2\x71\xfb\x95\xc7\x31\x40\x38\xf5\ +\x8a\xcb\x40\x72\x82\xec\x24\x1b\x01\x00\x18\x76\xb2\x88\xc2\x17\ +\xb5\x93\x6a\x3f\x09\xf6\xef\x39\x21\x70\x27\xb4\x9f\x75\x47\xfa\ +\x63\x0a\xc2\xe3\x3f\x27\x06\x17\xee\x0c\x87\xe3\xfb\x8f\xfd\x02\ +\xb5\x04\x60\x0a\x26\x1f\x00\xd2\x8c\xb0\xec\xd2\x4f\xf8\xaf\xe1\ +\x57\x70\x61\xb2\xe4\x0a\x67\xab\x19\xc2\xe2\x97\xc7\x8a\x9f\x94\ +\x18\x41\x20\x2f\x30\xf6\x9c\x64\x44\x0b\x91\x46\x20\x30\x71\x74\ +\xc5\xf8\x16\x71\xb3\x30\xb0\xbb\xa8\x79\xaf\xff\xd8\xc3\x53\x8b\ +\x24\x87\x76\xf2\x97\xfa\x3b\x99\xa6\x84\x2c\x01\x98\xe1\xfe\x01\ +\x33\xc0\xcc\x80\x16\xaf\xd9\xff\xdc\xfb\xee\xf5\x70\x8c\x06\xd8\ +\x1d\x0b\xfb\x59\xb8\x27\xe6\xb9\xfb\xb8\xff\xbc\xbd\x8e\xfd\x1c\ +\x33\x83\xdc\x6b\x2c\x26\xda\x9d\x67\xc2\x25\x63\x27\x9f\x63\xf9\ +\x38\xdc\x46\x36\x1d\x93\x9f\xa4\x84\x2c\x35\x1a\x40\xd5\x6a\x48\ +\xcb\xe5\x78\xed\x11\x83\x99\xc0\x6e\x05\x87\x69\x35\xab\x95\x8d\ +\x12\x21\x6d\x6d\x3c\x01\xe4\x27\xaa\x79\xc5\x46\x8b\x16\x66\xb5\ +\x83\x61\x57\x7d\x02\xb0\x06\x3b\xbb\x23\x0f\x67\x6a\xd6\x91\xde\ +\xbc\xb0\xbb\xf0\x61\xbb\xfa\x0f\x99\x06\x30\x93\xcf\x61\xe5\xa7\ +\xe6\xff\x49\x42\xd8\x7e\xfb\xcd\xe6\xae\xea\x58\x13\x90\x5b\xc1\ +\x76\x85\xc2\xad\x60\xed\x96\xba\xd5\x0c\xcc\x80\xb6\x9f\x41\xe1\ +\x75\x7b\x5e\xf6\xe7\xb4\xe7\xd3\xf0\x2b\x57\x9e\x1b\x00\x58\x73\ +\xa4\x49\x8a\x0a\x20\x12\x08\x3a\x34\xab\xff\xae\x72\x89\x0e\x5b\ +\x01\x08\x2b\x9f\x90\xa4\x84\xd4\xfe\x25\x29\x21\xcd\xac\x19\xd5\ +\x56\xd1\x0b\xf5\xef\x27\xd4\x4d\x2a\x73\xa4\xfe\xe5\xfb\x0c\x6b\ +\x06\xbc\x70\x08\xc1\x81\xb6\x02\xa2\x8d\xfa\x07\x40\xe6\x22\xe1\ +\x7d\x67\x42\xb4\x9b\x74\x6d\x56\xb7\xbf\x5e\x41\x10\xbc\xda\xe7\ +\x83\xe2\x45\x6d\x68\x2b\x13\x00\xdc\x5b\x2e\xb7\x01\xc0\x30\xa1\ +\xfd\xa6\x72\xe9\x43\xd7\x95\x4a\xa5\xc3\xca\x09\x0c\x93\xcf\x48\ +\x92\x30\xf9\x59\x46\x48\x53\x20\xcb\x08\x47\xbe\x63\x15\x92\x52\ +\x16\x7b\xef\x3e\x84\xa3\x82\x43\x2e\x3c\x7d\xbf\x02\x49\xf8\x8d\ +\x52\x65\x27\xcd\x8e\x22\x0a\x1e\xbf\x8d\x20\x42\xd8\x19\xa2\x02\ +\xb2\xea\xdd\x79\x9f\xd1\xb1\x24\xcd\xc1\xc1\x89\x0c\x7e\x5f\x29\ +\xaf\x1a\x67\x7c\xbe\x0e\x3e\x7f\x0c\x78\xae\xc6\x38\x69\x1c\xd0\ +\xe3\x8c\x3b\xab\xc0\xf7\xab\xe0\x5b\xfe\x5b\x9e\x8f\xcd\x58\x0d\ +\x60\xbc\x7d\xb6\x0e\x79\x82\x34\x31\xaa\x3f\xcb\x80\x34\x01\x32\ +\x2b\x0c\xce\x91\x66\xad\x83\x63\x66\x57\x27\x6b\x1d\xab\x7b\xb0\ +\x09\xfd\x38\xa8\xfe\xa0\xf6\x85\x3a\x77\xce\xa2\x5d\xf1\xde\x51\ +\x44\xd0\x0c\x7b\x06\x46\xf0\xc0\xef\x37\x82\x21\x1d\x40\x73\x3c\ +\x59\xcd\xc0\xde\x89\x10\xe7\x87\x30\x49\x34\x91\x8d\x98\x9a\xc1\ +\xc0\xcd\x00\xde\x9e\x83\x52\xcd\x38\x29\x07\xa0\x80\x44\x01\xef\ +\x56\xe0\xeb\x15\x30\xfa\xe5\x2c\x5b\xff\xdf\xb3\xec\x94\x19\x27\ +\x00\x66\xe5\x87\xf0\x2c\x4d\x81\x24\x23\x24\x69\xe2\xcd\x40\x92\ +\x1a\x41\xa0\xc4\x38\x61\xde\xfe\x6b\xe1\xa5\x8b\xc9\x27\x3b\xa9\ +\xec\x4d\x44\xec\xe4\x41\x4c\x8e\x53\xed\x6c\x05\x2b\x12\x08\x7b\ +\xce\xb1\xb1\x1a\x1e\x5c\xbf\x29\x32\x27\xec\xcd\x8b\x3d\x9d\x0e\ +\xd1\x83\x34\x43\xc4\xd1\x85\xa7\xfc\xfe\x3d\x04\xbc\x93\x6b\x75\ +\x28\x66\x28\x33\xf1\xd0\x64\xac\xa3\x26\x86\x26\xf3\x9a\x62\xac\ +\xa8\x33\xbf\xab\xc7\xce\xe3\x5f\xa5\x29\x4d\xbb\x00\x48\xb5\x4f\ +\x24\xec\x7d\x62\x04\x21\x4b\xec\xe4\x5b\x41\x60\x0e\x2b\xac\xb8\ +\x92\xfd\xfd\x8d\x1c\x41\x1d\x1c\x42\x76\x61\x9d\x16\x0e\x1b\xc7\ +\x0e\x1e\x44\x38\xe9\x7c\x03\x00\xe5\x52\x8a\x7a\x3d\x0f\x17\x61\ +\x21\x27\x52\x28\x58\x87\xf0\xd3\x0a\x20\xb3\xb6\xce\xa2\x46\xff\ +\x92\x2f\x4e\xb9\xfa\xdf\xf9\xe5\x2f\x7f\x72\xff\x79\xe7\x21\xaf\ +\x54\x80\x7a\x1d\xdc\x68\x40\x2b\x46\x6e\x95\x9e\x62\xf2\x42\xd1\ +\x00\xbe\xf1\x17\x69\x3a\x0e\x00\xff\xac\xd4\xab\x96\xc6\x6c\xea\ +\xd5\x7e\xb0\xe1\x66\x92\xe1\xbd\x7e\xff\x97\x85\xe7\x60\xf3\x43\ +\x88\xd9\x20\x7f\x0e\xa4\x81\x06\x38\x31\xff\x37\x8a\x5f\xc4\x72\ +\xc6\x49\x13\x96\x1d\x0c\x6d\xec\x38\x87\x30\x12\x64\x43\xc9\x09\ +\x50\x9c\xac\x94\xa2\x5e\x57\x76\xa2\xcd\x75\x29\x8e\xf3\x62\x93\ +\x64\xaf\xc5\x22\xfc\x23\x3e\x38\x2e\xd4\xd8\x59\x67\x7d\x60\xe0\ +\x8c\x33\xd0\x18\xd8\x07\x7e\xf2\x49\x24\xeb\x1e\x00\x3f\xf9\x04\ +\x78\xff\x30\x34\x00\x95\xa5\xd0\x44\x50\x6c\xdc\xdf\x9c\x50\xbe\ +\x34\x4d\xff\xfe\x3a\xa5\xfe\x61\xda\x04\x40\xae\x7c\x80\x90\x24\ +\xb0\x8e\x5f\x98\xec\xcc\x0a\x44\x6a\x5f\x4f\x52\xe7\x69\x5b\x67\ +\x8f\x82\x6a\x27\x87\x07\x00\xd8\xb6\x7d\x1f\xd6\x3d\xb2\x05\x1f\ +\x7e\xdf\xa9\x02\x7c\x23\xff\x3e\xc1\x2c\x07\x26\xb6\x0e\x9c\x8b\ +\xd3\x39\x08\x8f\x47\x02\xcd\xf1\x95\x52\x8a\x5a\xad\x1e\x7c\x00\ +\xe7\x0d\xfa\x6f\xc3\xde\xe9\x63\x16\x00\x25\x87\xdf\xc8\x34\xf5\ +\xea\xff\x86\x9b\x56\x9f\xab\xeb\xd4\xc5\xe3\xa3\xd0\x2a\xc7\xf8\ +\x09\xc7\xa3\x7a\xdc\x1b\xd0\xd8\x3f\x04\xbd\x71\x23\xf8\xd1\x47\ +\xc1\x1b\x9e\x83\xde\xbf\xdf\x9a\x84\x84\xb4\x71\x52\x77\x4e\x1b\ +\x10\x74\xfb\x95\x4b\x3b\xdd\xe3\xa5\x1f\xbc\xc8\xd8\x75\xad\xb1\ +\xf5\xae\xdb\x90\x39\x7b\x9f\x59\x5f\x20\x0d\xa6\xa0\x74\xda\x7b\ +\xa0\xc1\x18\x1f\xab\x61\x60\xa8\x8a\xa3\xe7\xf7\x82\x40\xb8\xe7\ +\xfe\xe7\x51\xab\x2b\xbc\xfb\xfc\x13\x00\x22\xd4\x1b\x0a\xbb\x76\ +\x0f\x9b\x89\x61\x97\x23\xd0\x16\x28\x82\x59\xed\x0e\xe6\xb1\x9a\ +\xc4\x7e\x4a\x00\x36\x42\xd5\x93\x31\x01\xb5\xba\x8a\x4c\x80\x83\ +\xa0\xd9\x3f\x8e\xcf\xe1\xb4\x10\x79\x14\x70\xea\x35\xc0\xfc\x3f\ +\x5e\x75\xf9\x70\xfb\xc9\x18\x28\x1d\x8f\x1c\xb3\xa1\xea\x00\x57\ +\xc7\xa1\x1b\x39\xaa\x47\x2d\xc0\xf8\xbc\x79\xa8\x9f\x7b\x1e\xf2\ +\xad\x5b\xc0\x1b\x36\x40\xbd\xb8\x09\x7a\x78\x18\x65\xe0\x67\xd3\ +\x22\x00\xb7\x5f\xb9\x94\x4e\xb8\xf8\xa2\x11\x1f\xa2\x59\xcf\x8f\ +\xd3\x0c\x0b\xdf\x7d\x91\x0f\xa1\xf2\x46\x8e\xd1\x87\xee\x34\x1a\ +\x20\x33\xf8\x7b\x9a\x18\x35\xbb\x65\xdb\x10\xee\x5f\xff\x12\xfe\ +\xd3\x25\x67\x80\x19\x28\x65\x29\x86\x47\xea\x1e\x8a\x25\x22\x68\ +\x66\x68\xcd\x6e\x8e\x3c\x72\xe7\xa6\xdb\x79\xe4\xde\x8c\xd8\x15\ +\x4a\x72\x6e\xfd\x64\x02\xa5\x34\x01\xc0\xc8\x1b\x39\xb2\x52\x16\ +\x39\x74\x02\xe2\x17\xc7\x8a\xfc\x81\x3f\x97\x9e\x7a\x60\xa6\xbe\ +\xef\xc3\x9d\x23\x77\x23\x6d\xfc\x1a\x1d\x34\x0b\x43\xd9\x62\x0c\ +\xa4\xc7\x62\x9c\xfb\xa0\x1a\x04\xae\xd6\xc0\xf5\x1a\x1a\x7d\xb3\ +\x51\x3d\xf3\x2c\xd4\x96\x2d\x87\xda\xbb\xfb\x81\x9f\xdf\xf9\xab\ +\xe1\x69\x11\x80\xe3\x3f\xf8\x7e\xed\x9c\x2f\x77\xeb\xbd\xe3\x65\ +\x96\x27\x98\x08\x69\x29\x43\xcf\xca\xf7\x61\xf8\x89\x07\x90\xe4\ +\x83\x5e\xb5\x12\x80\x5a\xbd\x81\x72\x29\xf5\x5e\x58\xb9\xec\x1c\ +\x34\x8b\x1e\x12\x41\x29\x0b\xde\xd8\x55\x0e\x69\x0a\xdc\xb9\xec\ +\xaa\x65\xb2\x9f\x61\x93\x59\xf4\x3e\x81\xf8\x76\x00\x50\x29\x97\ +\x50\xad\x36\xd0\x95\x26\x22\x73\x18\xcc\x85\x39\xa7\x33\x4b\xee\ +\xba\xce\x0f\x98\x7a\x0d\x70\xff\x3f\x2c\x3b\x5d\x69\xcc\x6e\xa0\ +\x82\x3c\x61\x50\x7d\x04\x9d\xa3\xeb\x91\xe5\x0f\xa1\x53\x77\x62\ +\x90\xe6\x63\x1f\x8e\xc2\xb8\xee\x41\x9e\x13\x74\xad\x06\x5d\xab\ +\x43\x77\xf6\x5c\x3b\x6d\xb9\x00\x66\x0e\x8e\x1b\x87\x55\xe2\x27\ +\xc1\xc3\xe6\x46\x3c\xba\x97\xbf\x19\x0c\x46\xfe\xe8\xed\x1e\xf6\ +\x6d\xe4\x0a\xa5\x34\xb1\xe7\x72\xea\x39\xb7\xc2\x63\xc2\x45\xa5\ +\x84\xf7\x2f\x57\x34\xd8\x6a\x78\x33\xc9\xe4\x85\x2e\x84\xe9\x24\ +\xd0\x24\x9f\xf3\x23\xa0\x52\x4e\x51\xad\xe5\xe8\xea\x2c\x3b\xdf\ +\xd1\x9e\x3f\xb1\x68\x21\xf9\x63\x12\x7b\x12\xe9\x34\x1e\x84\x71\ +\x99\x83\x37\xb4\x66\x28\x26\xe4\x28\x21\x07\x03\xaa\x86\xce\xfa\ +\x73\xc8\xf2\x67\xd1\xa9\xca\x18\xd2\xfd\x18\xd0\x47\xa0\xca\x1d\ +\x60\x94\x6e\x9c\x16\x01\xd8\x78\xf7\x7f\x61\x09\x88\x30\x82\x10\ +\xf8\x1b\xe4\xd0\x3c\xe1\xdd\x11\x80\xd2\x8a\xf7\xf8\xa4\x4e\xa3\ +\xa1\x91\x65\xe4\xcf\x51\xca\x12\xd4\xeb\xb9\x0d\xfd\x08\x94\x18\ +\x0d\xc0\xd6\x1c\x84\x55\xac\xad\x27\xce\x21\x99\xe3\x04\x84\x85\ +\x93\x16\xa9\x6e\xab\x99\x34\xa3\xad\x92\xa1\x5a\x6b\x84\x4c\x61\ +\x14\x2d\x38\xcd\x21\xf0\x1e\xc7\x1d\x70\x61\xeb\xd4\xbb\x00\x7f\ +\xae\x98\xbd\xb9\xd3\xcc\x46\x18\x98\xa1\x99\xa0\x50\x82\x62\x0d\ +\x56\x0a\xed\xf9\x36\xcc\x69\x6c\x41\xb7\xca\x1e\xbd\x66\xcd\x8e\ +\x3d\xd3\x03\x04\xf9\x78\x3c\x28\x57\x1f\xcf\x6b\xfb\x58\x07\x30\ +\x47\x82\x37\x32\x69\xd3\xc8\x73\x64\x69\xe2\x63\xed\x52\x9a\xa0\ +\xde\x50\xfe\x8c\x59\x92\x78\x0d\x10\xd0\xbe\x38\xdd\x6b\xd4\x8c\ +\x8e\xd1\x3a\x9f\xd0\xb1\x78\x41\x21\x8f\xd0\x56\x29\x61\x7c\xbc\ +\x6e\x51\xc5\x10\xeb\xfb\x6c\x11\xcb\x20\xd0\xe5\x2a\x44\x62\x80\ +\xa7\xce\x07\x78\xf0\x6b\xa7\x9c\xcc\xa0\xf9\x4a\x33\xb4\x46\xf4\ +\xa7\xb4\xd5\x08\x9a\x5d\xe8\x87\x5c\xa7\x68\xe8\x0c\x00\xff\x70\ +\xfa\xd2\xc1\x5c\xc8\xb5\xda\x50\xce\xdb\x53\x01\xf0\x78\x06\x8f\ +\x0e\x2b\xd2\x79\xd3\x79\xae\x0d\x28\x64\x43\xb2\x52\x96\xa0\xd1\ +\x50\x3e\x0e\x4f\x53\x42\x9e\x6b\x6f\x22\x38\x4a\x64\x50\x6c\xd9\ +\x45\xdc\x1f\x94\x0e\xf9\x89\xf4\x26\x02\x64\x34\x40\xb5\xe1\x1d\ +\x49\xef\x47\x70\xf8\xee\x8e\x91\xc4\x14\xe3\x01\x34\xc5\x10\x70\ +\xae\xf4\xa5\x4a\x71\x98\x70\xb6\x93\x6f\xb5\x81\x62\x86\xb2\xaf\ +\x69\x65\xdf\x37\xf7\xf0\xa7\xd3\x26\x00\x11\xf9\xc2\x4f\xba\x98\ +\x05\x1d\x6e\x20\x34\x83\x1d\x4b\x47\x1e\x4f\x04\x95\x6b\x24\xce\ +\x77\x00\x1b\x13\xd0\x88\x7d\x80\x5c\xe9\x26\xdc\x9d\x11\x85\xeb\ +\x5e\x6d\x43\x93\xd1\x6d\xda\xaa\x71\x97\xd7\x89\x54\xb9\x35\x01\ +\xd5\x7a\x10\x54\x21\x28\x3e\x62\xf0\x7e\x04\x05\x1e\x80\xb6\x66\ +\x64\x6a\xc1\xff\x8f\x29\x6b\xfb\x23\xd5\xaf\x85\x49\xf0\xef\x19\ +\x61\x60\xf0\xb3\xd7\xac\xd9\xb9\x6d\xfa\x04\x80\x5d\x9c\x8c\x78\ +\xc5\xb8\x54\xaa\x0b\xd7\x9c\xed\xd6\x1c\x48\x9a\x30\xef\x11\x18\ +\x4a\x6b\xa4\x89\xf0\x01\x4a\x09\x1a\xb9\xb2\x6a\x38\x41\x96\x26\ +\xc8\x73\xe5\xaf\x09\xcf\xea\x22\xaf\x9a\xc3\xf7\xb0\xf1\xba\x0e\ +\x9a\x29\x68\x0d\x8b\x0f\x58\x03\x5e\xa9\x64\x18\xab\x36\x82\x29\ +\x11\x59\x42\xa7\x15\x34\x3b\xee\xa1\x43\xfe\xa8\x80\x1b\x4c\x7e\ +\xac\xbb\x6a\xf9\x92\x5c\xf1\x62\x37\xf1\x4a\x33\x94\xe2\x48\x13\ +\xb0\x15\x08\x25\x9c\x44\x80\x7e\x34\xd9\x6b\x1f\xb0\x00\x3c\x7f\ +\xe7\xe7\xd9\x4f\xba\x08\x8d\xdd\xa4\x06\xe7\x4b\x42\xb8\xf6\x7d\ +\x1b\x1a\x82\x0c\x13\x87\x35\x23\x11\x51\x40\x29\x71\x26\xc0\x2c\ +\x8d\x34\x31\x26\x20\xc2\x75\x19\xd1\xf3\x00\xfe\x44\xf3\xe8\xc3\ +\x3f\xf9\x3d\x5d\x44\xd8\xd1\x66\x7c\x00\x66\x8e\x30\x02\x2f\x04\ +\x12\x96\xe4\x42\x10\x49\xc0\xfc\x65\x5f\x9e\x12\x11\x50\x9a\x3f\ +\xae\x35\xa0\xac\x6a\xb7\x79\x28\x3f\xf9\x41\x1b\x38\xbf\xc0\x08\ +\x7d\x4a\xf8\xf1\xb4\xa5\x83\xa5\x33\x16\xb8\x1a\xc1\xc9\x62\x9b\ +\xd9\xf3\x9c\xbc\x88\xd3\x07\xe1\x78\x09\x7e\x9e\x3d\x6f\x96\x19\ +\x27\xd0\x39\x6b\x59\x96\x40\x6b\x0d\xe5\xd3\xc3\x5a\xb8\x66\x62\ +\x62\x74\x48\xe6\x00\x46\x55\x06\x87\x30\xfe\x8e\x60\x46\x7b\x25\ +\xc3\xd8\x78\xc3\xdb\x12\x2f\x2a\x3e\x73\x28\x32\x8f\xc5\x3f\x3d\ +\xa5\x3e\xc0\x27\x94\x5b\xfd\x7e\xa2\x9d\xca\xd7\x56\x2b\x04\xbb\ +\x6f\xfe\x68\xd3\xb7\x6e\xdd\xf9\xc7\x69\xd3\x00\xb1\xca\x8f\x57\ +\xa1\x47\x05\x39\x20\xf1\x14\xfe\x09\x50\x3e\x82\x00\x10\x19\x46\ +\x0e\x11\x50\xca\x08\x79\x23\x30\x75\x88\x80\x2c\x4b\xd1\xa8\xe7\ +\x48\x2b\x59\x04\xfa\xf8\x13\x49\x12\xa7\x4d\x02\xc5\xef\x73\x9c\ +\x10\x22\x46\x7b\x7b\x86\xf1\x97\xeb\x96\x51\x14\x6c\x93\x34\x07\ +\x4e\x89\x09\x40\x23\x98\x9b\x29\x18\xbf\xfb\x5f\xcb\x17\x80\xf9\ +\x44\xb3\xd2\xc5\xe4\x4b\x95\xaf\xc3\xff\xcd\x42\x60\x10\xe1\x27\ +\x53\x71\xfd\x6c\x72\xf6\xdf\x4e\x3a\x31\x28\xc6\x4d\xe1\xee\xa9\ +\x07\x6b\x24\x78\xe2\xd2\xb5\x1e\x2f\x88\x89\x1d\x69\x6a\xc2\x3e\ +\xd6\x0c\x32\x88\x2d\xca\x59\x82\x7a\x43\xa3\x5c\x0e\x67\xf4\x89\ +\x1f\xa1\xe4\x83\xd5\xe1\x90\x25\xb4\xd7\x82\x04\xac\x00\xb4\x57\ +\x4a\x18\x1d\x6b\x04\x01\x26\x2d\xec\x7c\x90\x17\x4a\x1c\x1e\x10\ +\xe0\xe7\xa9\xc2\x81\x28\xa1\x3f\xcf\xf3\xe0\xdc\x69\x36\x69\x5f\ +\xe5\x9d\x3f\x18\x87\x2f\x72\x0e\x81\x04\xb8\x6e\x5a\x05\x20\x24\ +\xc2\x5c\xba\xb6\x80\x8e\x91\x05\x63\x1c\x1a\x48\x02\xac\x71\x1c\ +\x7c\xe7\x0b\x78\x3e\x1e\x7b\xe7\x2e\x49\x80\x3c\xd7\xc8\x4a\x09\ +\x00\x42\xa9\x94\xa2\x5e\xaf\x83\x3a\x4a\x81\x0a\x56\x80\x6e\x82\ +\xfe\x71\x70\xb0\x04\x8d\x24\x96\x6f\x3e\xd5\xd1\x1e\x7c\x00\xcf\ +\x4c\x8a\x12\x3e\xda\x82\x5b\x21\x0a\x60\xd6\x7f\xa2\x7e\xe0\x80\ +\x17\xd2\x65\xde\xd6\x3b\xfb\x2e\x26\x5b\x89\x08\x40\x79\x87\x90\ +\x77\x7c\x7b\xcd\xce\xa7\xa7\x24\xf7\x30\x29\x0c\x28\x5a\xd1\xda\ +\x13\x29\xd8\x01\x41\x2c\x41\x13\xaf\xef\xad\x6a\x77\xfe\x81\x16\ +\x60\x4d\x00\x6e\x8c\x16\x50\xde\xa7\x28\x65\x09\x1a\xb9\x8e\x19\ +\xbf\x0e\x4c\xd2\x2e\xe9\xc3\x11\x43\x28\x50\xc1\x24\x99\x54\x7b\ +\xd2\x49\x47\xa5\x84\x31\x0b\x04\xf9\xef\xeb\xfd\x13\x1d\xd5\x29\ +\x70\x13\x10\x34\x79\x15\xf0\xe8\x37\x4e\xed\x07\xf3\x0a\x0f\xf2\ +\x28\xe9\xe5\x3b\x61\x80\xd7\x02\x4e\x08\x18\xf4\xb3\xa9\x12\xc0\ +\x03\x47\x02\x75\x98\x68\x48\x6a\xb5\x70\xa8\xa4\xa0\xb0\x78\x2f\ +\x70\xfa\xa4\xd3\x86\x88\x0a\x96\xa6\x26\x14\x74\xc7\x57\xca\x29\ +\x6a\x16\xb6\x0d\xac\x9d\x80\x28\xb2\xa0\x80\xe3\x15\xa9\xe3\xe6\ +\xb8\x8e\x8e\x12\x46\xc7\xea\xb1\x13\xe8\xe9\x61\x88\x18\xc6\xc1\ +\xd3\xa5\xf8\x3b\x4f\x86\xf8\x51\xd7\x1f\xf1\xab\xdc\x7d\x6d\x8d\ +\x68\xb5\x2b\xa9\x05\xac\x10\x10\xe1\xda\x69\x17\x00\x16\x5c\x69\ +\x2e\x4c\xb0\x5c\x31\xc4\x5a\x20\xab\x1c\x55\xdf\xb8\x73\x24\x09\ +\x41\x2b\x2d\x26\xd5\xa4\x6b\x73\xa5\x40\x96\xa7\x1f\x12\x44\x3a\ +\x9a\x44\x8e\x28\xe3\x3a\x9a\xf4\x02\x43\x4c\x14\x14\x69\xeb\x03\ +\x64\xa8\xd5\x72\x68\xa5\xe2\x89\xd6\x88\x85\x5a\x0a\xad\xbf\xce\ +\x94\xa8\xff\x2b\xa4\xad\x8f\x84\xc1\xad\x76\x1d\x4f\x3e\x33\x0f\ +\x5c\x7d\xeb\x8e\x87\xa7\x5f\x03\x44\x2c\x5b\x14\xf0\x7e\x77\x13\ +\x2d\x69\x03\x3a\xbe\x81\x45\xc2\x27\x19\x8f\x57\x86\x91\x49\x02\ +\x28\xc5\x3e\x91\x54\x29\x67\xa8\x56\x73\xc1\xd1\x17\xdc\x7e\x2e\ +\x70\xf9\x38\xe4\x21\x42\x58\x07\x61\x06\xe0\x13\x4b\x6d\x6d\x19\ +\x46\xc6\xeb\x96\xfb\x67\x8e\xd7\x62\xc2\x25\x3f\x31\x22\x9b\x4e\ +\x52\x03\x3c\xfc\x8d\x53\xbb\x99\x68\xa5\x62\x07\xf8\x34\x27\x81\ +\x94\x00\x7e\x94\x06\x72\xf6\x6c\x61\xcc\x08\x0d\xe0\x0a\x2d\x02\ +\x7a\x21\x93\x2d\xda\x57\xd8\xe8\x88\xc4\x89\x28\x46\x87\x06\x12\ +\x18\x38\x38\xe4\x17\x0c\xf8\xa3\x72\xed\xcf\xd7\x5e\x4e\x31\x5e\ +\x6b\xd8\x09\xd1\xe0\xc8\x14\x37\x17\x8d\xc8\x4a\xa1\xa8\xb0\xc4\ +\xbe\x4e\xf6\xb5\xce\xf6\x12\x46\x47\x6b\x71\xf2\x20\x62\x23\x87\ +\xc2\x93\x48\x4b\x4c\x52\x05\xd4\x1a\xfa\x62\x96\xe0\x8e\x77\xf6\ +\x10\x04\x22\xd2\x0e\x6c\xd1\x3f\xfc\x60\x2a\x05\x60\x52\x38\x80\ +\x07\xfc\x25\x8d\x8a\x11\x7b\xdb\x4c\x40\xe2\xa0\xd9\x10\x12\x06\ +\x58\xd7\x4e\xb6\xe2\xe0\x8d\x83\x90\x5a\x13\xe0\x56\x6a\x7b\x5b\ +\x86\xf1\xf1\x86\x4f\xfd\x1a\x34\x51\xf0\x7f\x8a\x59\x22\xc7\xd7\ +\xd0\x21\x3d\xed\xca\xd0\x59\xfb\xac\x0f\x3a\xdb\xcb\x18\x1d\xab\ +\xf9\xb0\x16\x4d\x09\x26\x12\x91\x85\x0b\x26\x18\xac\x27\x1b\x09\ +\xf0\x15\x5a\xb9\xd5\xae\x6d\xd8\x17\x60\x5e\x16\x0e\xa0\x33\x01\ +\x60\x8c\x5c\xb3\x66\xe7\xda\x19\xa1\x01\x5c\x01\x45\xf0\xfc\x11\ +\x15\x65\xc8\xd5\x5e\xf4\xc4\xa3\x15\xc4\x86\x35\x9c\x6b\x1d\xa1\ +\x88\x09\x01\x5a\x05\xcf\xbd\x52\xc9\x50\xad\xe5\x51\xd5\xb0\xf4\ +\x23\x9c\x17\xcf\xf2\x1a\xba\x58\x5a\x06\x11\x69\x18\x95\xdf\xd5\ +\x59\xc6\xc8\x68\x3d\xf8\x33\x45\x7f\x82\xd9\x32\xbf\x42\x5d\x01\ +\x6b\x9e\x14\x21\xe4\x85\xef\xbc\xa9\xc2\x8c\xb7\x2b\x09\xf5\x7a\ +\xe7\xcf\xa9\x7f\x6b\x02\x34\x43\xc1\xfc\x1f\xc0\xea\xa9\x26\x20\ +\x24\x93\x51\x00\x92\xb7\x4f\x05\x35\x1c\xbd\x16\x41\xc4\x88\x1d\ +\x2d\x30\x92\x24\x81\xf2\xc9\x1f\xb3\x6a\x13\x32\x8e\xa1\x13\x92\ +\xf6\x4a\x86\xd1\xb1\xba\x9d\x9b\xa2\xc9\x91\x7c\x0f\x8e\xe0\x60\ +\xe9\xc8\xc5\x7c\x00\xf3\x7a\x57\x47\x19\xc3\x23\xb5\x88\x6b\x10\ +\x71\x17\x5c\xed\xa1\x6e\x3a\xcd\x01\x8f\xdd\x83\x8d\xf7\xb3\xb6\ +\x49\x1f\x1d\x84\x20\xb7\x32\xe6\x42\x42\x9f\x08\xb2\xc2\x41\xc0\ +\xf7\xa7\x5a\x00\x26\x61\x02\x42\x49\x35\x45\xd4\xeb\x02\x22\xe7\ +\xad\x44\x5c\xe6\xed\x33\x75\x6c\xe8\xe2\xb9\xd2\x5e\x63\xd8\xb2\ +\x40\xc3\x7e\x61\x93\x53\xee\x6c\x13\x31\xbb\xcf\xd4\x46\x78\xb2\ +\xa5\x84\x85\xbc\x7f\xc4\x1a\x96\xb4\x1e\x97\xf4\x61\x32\x02\x30\ +\x5a\xf3\xc4\x16\x72\xe9\xe4\x82\x4d\x71\x25\xe5\x44\xdc\x0c\x7a\ +\xbd\xda\x08\x9a\xf0\x49\x1f\xef\x0b\xa0\x87\x65\x14\x00\x88\xc8\ +\x00\xd0\x4c\xf5\x6b\xd6\xec\xb8\x6b\xc6\x68\x00\xc8\x5a\x3d\xc8\ +\xd8\x59\x3a\x51\xd6\x9e\xa1\x99\xa5\x23\x43\xb6\x2c\x25\xe4\x0d\ +\x15\x55\xe3\x12\x11\xb4\x0a\x1a\xa3\xab\xb3\x84\xfd\x9e\x29\xec\ +\x34\x90\x8e\xe3\x7b\x77\xac\x70\x4c\x9d\xd3\xf8\xa7\x4a\xc8\x7b\ +\x3a\x8d\x06\xf0\xab\x5f\x0b\xb3\x52\x70\x1e\xa3\x84\xd6\x01\xce\ +\x3f\xdf\x73\x5e\x02\xc6\xbb\x95\x66\x68\xc5\x51\x82\x47\x6a\x03\ +\x16\xce\xa1\x51\xff\x7c\x1b\x0e\xc2\x98\x54\x2e\x40\xe2\xea\x22\ +\x97\x16\x9c\x40\xd6\x76\x25\x92\xcf\x06\xc0\x3a\x6f\x60\x32\xab\ +\x8d\x19\x59\x6a\x50\xbe\x70\x2e\x04\x50\xc6\xf2\x02\xbb\xed\x4a\ +\x95\xea\x9b\x44\xa5\x0e\x8b\xac\x83\x84\xab\x7d\x9f\x21\xef\x15\ +\xfa\xbc\x34\x98\x80\xce\x8e\x32\x46\x46\xab\x31\x7b\x94\x43\x33\ +\x09\x93\x23\x08\x1c\x82\x26\x32\xcc\xab\x1c\x0f\xae\xdb\xf7\x67\ +\xac\x91\x79\xa7\x4f\xc1\x3b\x80\x3e\xe6\xf7\xf4\x2f\xed\x1d\xc2\ +\x83\xa1\xfe\x27\x69\x02\x64\x9e\xfd\x4f\xdc\x0c\x42\x9c\x95\x13\ +\x19\x35\x5f\x6c\x41\x84\x52\x6a\x8a\x3f\x02\x99\xc8\x8a\x93\x0e\ +\x9a\xa4\xbb\xd3\x08\x80\xd6\x1a\x09\x25\x71\x86\x4f\xe0\xf8\x86\ +\xf2\x25\xaa\x86\x7c\xad\x80\x44\x26\x9d\x25\x60\x74\x77\x96\x8d\ +\x66\x11\xf4\x36\x23\x34\x1c\xfd\x90\x88\x38\x3a\x89\xc6\x10\xcc\ +\xec\xd5\xbf\x27\x80\x3a\x12\x88\xe5\xfb\xf9\xa4\x4f\x30\x01\xba\ +\xa7\x23\x3d\x28\x1a\x60\x12\x4e\xa0\x0e\x5e\xb1\x4b\xe6\x70\x11\ +\x24\x42\xe1\x35\xe1\xa0\x89\x98\xba\x5c\x4a\x43\xfe\x9f\x63\x07\ +\xcc\x9d\x28\x4b\x13\x74\xb4\x95\x30\x34\x5c\xf5\x88\x62\x84\x2c\ +\x46\x1d\x3f\xb4\xe0\x1a\x20\x8a\x2e\x44\x33\x21\x30\x18\x3d\x5d\ +\x15\xec\x1f\xa9\x7a\x07\xd5\xc7\x16\x3c\x51\x19\x3a\xc2\xf3\x03\ +\xf4\x02\x15\xe8\x22\xd5\xc4\xf8\x8d\x53\xc1\x4a\x07\x6a\x98\xf5\ +\xfe\xef\xfa\xca\xcf\xb6\x35\x66\x94\x00\x48\xf4\xcd\x19\x5e\xb6\ +\x88\x1f\x4f\x10\x4e\x4d\x78\x23\xed\x49\x4a\x59\x82\x5a\x3d\xb7\ +\xab\xd5\x1e\x43\x1c\xd5\xec\x83\x19\x47\xf4\xb5\x63\xcf\xbe\xb1\ +\x42\xd4\x11\x58\xbf\x12\x05\x64\x14\x42\x54\xc0\xc3\xca\xa1\xaa\ +\xd8\xb0\x82\x6a\xb5\x3c\x98\x20\x5d\x3c\xaf\x89\x02\x9a\x5a\xd3\ +\x1c\xc0\xb8\xff\xab\xcb\xce\x07\xb8\x3d\xca\xfe\x09\xdb\xcf\x5a\ +\x82\x3e\xe1\x75\x80\x7e\x80\x83\x34\x26\x21\x00\x3a\x9a\x1c\xc8\ +\x3a\x7c\x49\x05\xd7\xa1\x24\x3b\x84\x65\x3a\xd2\x06\x95\xb2\xa9\ +\xd3\x0b\xd9\x36\x93\xff\xaf\xb9\xda\x00\x2b\x44\xf3\xfa\x3b\xb1\ +\x63\xd7\x70\xdc\x15\x4c\x66\xf1\x80\x48\xc3\x14\x43\x3f\xd9\x64\ +\x42\x0a\x61\x77\x67\x05\xfb\x87\xab\x71\x17\x32\x11\x62\x42\x07\ +\xbf\x27\x64\x1a\xf9\x00\xb4\x26\xae\x50\x0a\x11\xc1\xd3\xa1\x7e\ +\x0e\xf6\x75\xb4\x70\xe5\x4c\x01\x18\x09\x78\xf5\x8c\x13\x80\xa8\ +\x04\x4c\xf6\xe5\x11\x8a\x94\x26\x9a\x84\x09\x20\xd5\x72\xc9\xb0\ +\x80\xe5\x7b\x6d\x95\x0c\xe3\xd5\x5c\x94\x00\x30\x16\x1e\xd5\x83\ +\x17\x5e\x1a\xb0\x9f\x09\x02\x48\x11\x8d\xcb\xa9\x77\x3d\x41\xde\ +\xc1\x9c\xbb\x48\x15\xeb\xed\xae\x60\x68\xb8\x1a\xd2\x5a\x02\x95\ +\x96\x20\x96\x4c\x80\x1d\xa0\x12\x58\xa5\xbc\x83\x17\xd4\x3c\xeb\ +\x80\x00\x4a\x34\xd0\xae\xa9\xfb\xbe\xbd\x66\xe7\xe8\x8c\x13\x00\ +\xe2\xd8\x9e\x6b\x17\x82\x69\x99\x4f\x0f\x2a\x98\xa3\x0e\x1e\x01\ +\x45\x84\x66\x54\x32\x57\xa9\x1b\x84\x67\x56\x57\x05\xfb\x86\xc6\ +\x23\x54\x71\xe9\xc2\x3e\xec\xd9\x37\x8e\xad\x2f\xef\x17\x9e\x78\ +\x9c\xb8\x91\x40\x93\xef\x06\x26\x52\xc2\x9e\xcf\xaf\xc3\x67\xbb\ +\x3b\x85\x1f\x50\xec\x3f\x28\x34\x15\x45\xda\x41\xbf\x5a\xf5\x7f\ +\x36\x03\xbd\x31\xaf\x2f\x14\x7c\x78\x14\xd0\xd2\xbe\x9c\x6f\x00\ +\xc6\x41\x53\xff\x93\x12\x00\xed\x89\x91\x46\x47\x92\xb0\xc3\xd1\ +\x44\x14\xc8\xa2\x81\x3c\x12\x2c\x42\x42\x40\xb9\x94\x60\xac\x96\ +\x7b\xfb\x3c\x77\x76\x27\x76\xee\x1e\x81\x5c\x8e\xa5\x34\xc1\xdb\ +\xce\x38\x06\xbf\x7a\xe0\xc5\x90\xe3\x97\x5d\xbc\x18\x22\xde\x17\ +\x6d\x26\x19\x31\xc2\xa7\x63\x35\xdf\xdb\x5d\xc6\xe0\x50\x15\xc4\ +\xa1\x15\x8d\x14\x1c\x2a\xf4\x09\xe2\x03\x81\x02\x19\x97\x9b\xc2\ +\x8f\x90\xf5\x53\xbe\xe0\x83\x3d\xe2\xa7\x10\x43\xc3\x09\x4d\x6d\ +\xf6\x6f\xea\x34\x80\xec\xa9\xa3\x43\x18\xed\x1d\x24\x2d\xd2\xc4\ +\x8c\x82\xf3\x87\x18\x94\x71\x0c\xdd\xb1\xba\xff\xdc\xb1\x0b\x7a\ +\xf0\xe2\xb6\xa1\xe0\x9c\xd9\xbf\xd3\x4e\x9a\x8b\xfd\x23\x35\x3c\ +\xf6\xcc\xcb\x02\xfa\x2d\xe6\x1b\x20\x4a\xc1\xd0\xd4\x67\xc8\x0b\ +\xb0\x7d\xda\xdb\x55\xc1\xe0\xf0\xb8\x75\x3f\x0a\xde\xbf\xf0\x33\ +\xb8\x60\x4e\x5e\xe5\x1d\xfb\x88\xcc\xf8\xe9\x02\xf3\x47\xb2\x7e\ +\xdc\xfb\x00\x1e\xfa\xf6\xad\x3b\xf7\xcd\x48\x01\x70\xed\x55\xa1\ +\x85\x2f\xe0\x3b\x6e\xe9\x82\xdd\xd4\xde\x19\x04\x0a\xf5\x7b\x56\ +\x40\x0c\xd4\x1b\x8a\x34\x3a\xdb\x4a\x58\xbc\xa0\x17\x8f\x3c\xbd\ +\x33\x52\xc5\x49\x92\xe0\xe2\x0b\x8f\xc3\xed\x6b\x37\x62\x68\xa4\ +\x2a\xfa\x0a\x86\x46\x90\x3e\xf2\xd0\x1c\x5d\x4b\x73\x33\x2f\x81\ +\x99\x31\xab\xa7\x1d\xfb\x86\xc6\x6d\x85\x31\x0a\xfd\x85\x74\x94\ +\xa3\x00\x5e\x7d\x6f\xa8\x07\xbe\xba\xfc\x54\xcd\x98\xab\x34\x89\ +\xe4\x0f\x47\x36\x5f\x41\xc6\xfe\x46\x3b\x30\xe8\x5a\x1c\xe4\x31\ +\xc9\x30\x50\x30\x81\x04\x99\xc2\xb7\x5a\x9b\x20\x37\xcf\x3a\x36\ +\x0d\x6e\xc2\x3a\xda\x32\x8c\x8e\x35\xa2\xd5\x7c\xde\x8a\xa3\xf1\ +\x9b\x87\xb7\x98\xea\x1d\x1d\x6c\xfe\xd1\x47\x76\xe3\xac\x53\x8f\ +\xc2\xf5\xb7\x3d\x8d\x5c\xa9\xd8\x19\x05\xc7\x31\xbd\xc8\x54\x86\ +\xf2\xef\x50\xdc\x49\xcc\xe8\xed\x32\x26\x80\x85\x23\xe9\x78\x0c\ +\xae\x65\x2d\xb8\xc8\x0c\xd2\xaf\xc6\x5c\x5e\xa6\xb5\x09\x25\x15\ +\x62\x1b\xef\x78\x7f\x1c\xc5\xfe\xe6\x71\x96\xe2\x86\x19\x2b\x00\ +\xd2\x01\x93\x84\x4e\x09\xe7\xa2\x10\xc7\xcb\xfa\x7e\x16\x95\xbc\ +\x60\x42\x67\x7b\x09\x23\xe3\xf5\x28\x9b\xb8\x60\x6e\x17\x4e\x39\ +\x6e\x0e\x6e\xba\x73\x03\x98\x55\x94\xe9\x7b\xeb\xe9\xc7\x60\x76\ +\x6f\x3b\xae\xbb\xf5\x29\xd4\x6d\x9a\x98\x25\xff\x4b\x3a\x7c\x5c\ +\xec\x25\x68\x26\xd0\x61\x57\x7d\xbd\x15\xec\xdb\x5f\x15\xe9\x04\ +\xe9\x0b\xe8\x02\xb0\x15\xce\xf5\xc7\x7b\xaf\xfc\x8f\xea\x81\x4b\ +\x14\x93\x77\xf6\x42\xec\x2f\x52\xbf\xd2\x09\x34\xdf\xfb\xc9\x6f\ +\xae\xde\xf1\xf2\xcc\xd5\x00\x7a\x02\xdb\xab\x39\x66\xe3\xca\x49\ +\x8f\xec\xab\x8e\x85\x82\x35\xba\x3b\x32\x8c\x8c\xd5\x45\x1f\x5f\ +\x73\xce\x77\x9c\xbd\x10\x1a\x8c\x5f\xae\x7d\x51\x5c\xc3\x68\x98\ +\x55\x17\x2e\x45\x5f\x77\x05\xff\x7a\xd3\x63\xd8\xb9\x77\xa4\x09\ +\xa1\x8b\x00\x22\xc8\xeb\x8a\xaa\x32\xd6\xa8\x94\x32\x64\x29\x61\ +\xc4\x12\x43\x9a\xa8\x65\x02\xf7\xe0\x26\x1e\xe2\x2b\x7a\xff\xc7\ +\x33\xf3\x31\x5a\x3b\x98\x97\xa0\x2c\xe8\xa3\x58\xb0\x7f\xbc\xfa\ +\x27\x07\xfe\x5c\x87\x43\x30\x26\xd9\x27\x50\xb4\x5c\xd7\x11\x3c\ +\x18\x11\x42\xe2\x92\x2c\xc8\xd2\x7b\xaf\xae\x7b\x3a\x2b\xd8\x3f\ +\x5c\x43\x33\x6f\x0f\xb8\xe4\x5d\x27\x60\xd3\xb6\x21\xdc\xfb\x87\ +\xcd\x41\x88\x6c\xf4\x70\xd1\xf9\x6f\xc0\xd9\xa7\xcc\xc7\xbf\xdd\ +\xfc\x38\x6e\xbb\x6f\x23\x86\x86\x6b\x05\xe8\x17\x71\xf9\x5a\x41\ +\x8d\xbb\xef\x36\xbb\xb7\x1d\x7b\x2d\xca\xe8\x23\x06\x14\xc8\x2d\ +\x51\x24\xf3\x1f\xcc\x08\x12\x7d\xdc\xf3\xfb\x74\xa1\xfa\x57\x64\ +\xfc\xb8\x50\x01\x0c\xe0\xfa\x19\x2d\x00\x31\xf7\x3f\xc6\xdb\xe3\ +\xb0\x8b\x43\xf5\x8f\x24\x6e\x4a\xcf\x5a\x6b\xf4\x74\x96\x30\x34\ +\x5a\x6b\x6a\x0c\x4d\x30\xfd\x02\x2e\x7f\xff\xc9\x78\xfc\xb9\xdd\ +\x78\xe0\xb1\x6d\x85\x89\x00\x4e\x3b\xe9\x48\x7c\xee\x92\x15\x48\ +\x13\xc2\x77\x7e\xba\x1e\xd7\xae\x7e\x02\xeb\x1e\xdd\x8a\x97\x77\ +\x0f\xa3\xe1\xd2\xcc\xba\x50\xb7\xc8\x92\xab\x08\xf4\xf5\xb4\x61\ +\x60\x70\x3c\x08\xb6\x33\x21\x45\x6d\x50\x20\x8e\xbc\x32\x60\xca\ +\x1f\x77\xf6\x9f\x25\xdd\x5b\x4b\x3a\x98\x7d\x0e\x5b\x05\xc4\x78\ +\xe1\xea\x35\x3b\x5e\x3a\x14\x02\x30\xe9\xd2\xb0\x50\xa6\x85\x28\ +\x65\x1a\x52\xa8\x8e\x87\x61\x5a\xbb\x91\xac\x22\x12\xa4\x8e\xde\ +\xae\x0a\x06\x86\xaa\x51\xa2\x95\x74\xa0\x18\x76\xb6\x95\x70\xd9\ +\xfb\x4e\xc6\x0f\x6e\x79\x0a\xd5\x5a\x8e\xf3\xcf\x5c\x18\x55\x25\ +\x77\x77\x96\xf1\xae\x95\x8b\x71\xfe\xe9\xc7\x60\xe3\xd6\x41\x3c\ +\xbf\x79\x10\x0f\x3f\xfd\x32\xf6\x0c\x8e\xa1\x5c\xca\xd0\xdf\xdb\ +\x86\xfe\x59\x1d\xe8\xe9\x2a\xa3\xbf\xaf\x03\x5d\x1d\x25\xcc\xea\ +\x69\xc7\xec\x9e\x36\x94\xcb\x19\x66\xf7\xb6\x61\x60\x68\x2c\xd8\ +\x7f\x47\x72\x91\x4d\x23\xa2\xb6\x37\xfc\x8a\x4d\xc2\xd6\x7d\x75\ +\xf9\xc2\x5c\xf3\xd2\x5c\xf0\xfb\x79\x02\xb4\xaf\x18\x19\x30\xd3\ +\x4f\x70\x88\xc6\x01\x0b\xc0\x8a\xcb\x7f\x46\x8f\x5c\xfb\x51\x8e\ +\xcb\xb3\xc8\x27\x74\x7c\xef\x4d\x0a\xdd\x37\x1c\xa3\x26\xea\xfe\ +\x6d\x27\x7c\x56\x57\x19\x43\x23\x35\x28\x65\xea\x04\x5c\xc6\x99\ +\x7c\x0f\x50\x8d\xde\xae\x32\x3e\xb5\xea\x14\x5c\x7f\xfb\x06\xec\ +\xde\xb7\x01\x17\x5f\x70\x9c\xe9\x2e\x86\xd0\x2d\xa4\x5c\x4e\x71\ +\xd2\x92\x7e\x9c\xf4\x86\x7e\x5f\xcb\x37\x32\x56\xc7\xc0\x50\x1d\ +\x7b\x86\xc6\x30\x36\x9e\x63\xfb\xae\x61\xec\x1b\xaa\x62\x68\xc4\ +\xf4\x27\x4c\x12\xd3\x2d\x64\xde\x11\x9d\xb6\xa6\x91\x3d\x93\x88\ +\x84\xc3\x6b\xe4\x3c\x09\x5d\x49\x5f\xa1\x44\x4c\x33\xff\x45\x14\ +\xef\x4b\x87\xcf\x69\x03\x01\x0a\xb9\xb4\x30\x08\x3f\x9a\xf1\x02\ +\x10\x1c\xa3\x98\x3e\x15\x76\xe8\xb2\xd4\x2d\xdb\xa5\xc3\xd5\xeb\ +\xc1\xe7\xfc\xc9\xd7\x04\x30\x9b\xc6\x50\xdd\x1d\x25\x0c\xec\xaf\ +\xa2\xbf\xb7\x3d\xea\x31\x40\x5a\xfb\x56\xf0\x9d\x6d\x19\x2e\x7f\ +\xff\xc9\xb8\xf5\xbe\x8d\xf8\xdf\x37\x3d\x8e\x4b\xfe\xec\x04\xcc\ +\xe9\xeb\xb0\x5a\xc8\x34\x71\x90\x3b\x83\x10\x13\xba\xda\xcb\xe8\ +\x6a\x2f\x63\xe1\xfc\xee\x88\xb9\xec\xbe\x4e\xad\xa1\xb0\xe1\xc5\ +\x01\xdc\xff\xc8\xb6\x60\xaa\x3c\x8e\xe1\x3a\x8f\x3a\xa1\xd4\xbe\ +\xe6\x50\xbf\xb2\x09\xb8\x54\x56\xfb\xb8\xd5\xce\x5c\xac\xfd\x0f\ +\x59\x41\x80\xb6\x5e\xb3\x66\xc7\x86\x43\x25\x00\x93\x76\x02\xd9\ +\x93\x26\x0b\x4d\x9a\x7d\xfa\x57\x46\x80\xc1\x99\xd2\xae\xc6\xdf\ +\x95\x90\x33\x30\xb7\xaf\x03\xbb\xf6\x8e\x58\xb0\x48\x07\x14\xae\ +\xe0\x73\x94\x52\x60\xd5\x05\xc7\xe1\xcd\xcb\xe7\xe1\xdf\x7e\xf1\ +\x04\x1e\x7e\x7a\x67\x84\x4d\x14\x59\xc0\x11\x77\x40\x17\xf6\x14\ +\x62\xa0\x92\x65\x58\xba\xb0\x0f\x03\x43\xe3\xf1\x0e\x25\x02\x37\ +\xe0\x42\x2d\x80\x4f\x46\xfd\x49\xf0\x67\xd9\x91\x0c\x9c\xa2\x94\ +\xf6\xec\x5e\x1f\xe7\xb3\x28\x00\x2d\x94\x85\x33\xf8\xa7\x38\x84\ +\x63\x52\x02\xe0\xbd\x7b\x8d\x18\x27\xb7\x0e\x8d\x0f\xbd\xa4\xdb\ +\xaf\x39\x70\xf0\x39\x74\xf6\x22\xd6\x98\xd7\xdf\x8e\xed\xbb\xc7\ +\x04\x5c\xac\x51\xa4\x92\x93\xf0\xce\x4f\x3b\x69\x2e\x3e\xf9\x81\ +\x65\x78\xf0\x89\x1d\xf8\xf1\x6d\x4f\x63\x70\xb8\x16\x0b\x67\x81\ +\xb6\x1e\xe1\x02\x88\xc3\xd8\xb6\x4a\x86\x34\x25\x41\x10\x8d\x4b\ +\xd5\x64\x42\xc9\xb7\xa0\xff\xf7\x34\x00\xe3\xa3\xb2\xc3\x97\xeb\ +\xf8\xa1\x0a\x36\xdf\x33\x83\xad\x53\x9a\x80\x7e\x78\xd8\x08\x40\ +\x91\x69\xc3\x36\x29\x14\xe7\xe0\x45\x3c\xae\xe3\x2d\x58\x64\xe7\ +\x0e\x06\x63\xe1\xbc\x6e\x6c\xda\xbe\xbf\x40\xcf\x16\x9d\x40\x8a\ +\xe1\x18\x80\x39\xb3\x3a\xf0\xe9\x55\xcb\x71\xe4\xec\x0e\x7c\xf7\ +\x86\x47\xb1\xf6\x91\xad\xb6\xa0\x24\x0e\xd5\xc8\xd2\xad\xb8\x40\ +\xee\x94\x80\xd5\x9c\x59\x1d\xd8\x33\x30\xda\x5c\x4c\x28\xca\x01\ +\xb9\x90\x02\xff\x77\x02\xe4\xcb\x95\xcd\x87\x44\x59\x3f\x16\xa5\ +\xde\x4c\x88\xf3\x03\xbc\xfb\xdb\x6b\x76\x3c\x76\x18\x69\x80\x42\ +\x4c\x2c\x2c\x41\x53\x51\x86\xdf\xed\xa3\x50\x58\x2a\xfa\xf0\x1f\ +\x33\xb7\x0b\x7b\x86\xc6\x30\x32\xda\x28\x9c\x7b\x22\x44\x11\x5e\ +\xe8\x4a\x69\x82\x0b\xcf\x5c\x88\x4f\xad\x5a\x8e\x17\xb7\x0e\xe1\ +\xbb\x37\x3c\x86\xe7\x5e\xdc\x1b\x69\x0e\x9e\xe0\x3c\xc5\xba\xc1\ +\xfe\xbe\x36\xbc\xbc\x77\xd4\x68\x25\x14\x8e\x2d\xd4\x21\x86\x84\ +\x56\xf3\xf8\xc3\xd7\x96\xcf\x62\xc6\x99\x91\x93\x67\x1f\x7b\x00\ +\x88\x63\x5a\x98\x32\xc4\xcf\x1b\x71\x88\xc7\xe4\x35\xc0\x04\x9b\ +\x38\x21\xca\xa6\x8a\x8c\x61\x30\xd4\xb1\xdf\x60\x8f\x4b\x13\xc2\ +\xb2\xc5\xb3\xb1\xee\xc9\x1d\x91\x7a\xe6\x28\xa9\x13\xa8\x67\x51\ +\xb1\x11\x18\xfd\xbd\x15\x5c\xfa\xde\x13\xf1\xae\x95\x0b\xf1\xeb\ +\xdf\x6f\xc6\xf7\x6e\x7c\x1c\xcf\x6e\xda\x63\x2a\x8c\x64\x16\x87\ +\x8b\xf4\x2f\xf3\xe5\xe6\xf6\x75\x60\xf7\xc0\x98\x60\xb2\xf1\x84\ +\xe6\x22\x22\x9f\x4c\x30\xea\x8a\x3f\x24\x5b\xbc\x28\x4d\x9e\xf4\ +\x11\x65\xfc\x54\x9c\x10\xc2\x21\x48\xfe\x4c\xb1\x00\x08\x67\x4a\ +\x3c\x77\x36\x3d\xf0\x05\x5c\xd0\xa0\x0b\xa4\xcc\x78\x77\x0e\x80\ +\x71\xde\x8a\xf9\x78\xec\xb9\x3d\xd8\xf2\xf2\xfe\xa6\x62\x4e\x44\ +\x84\x4f\x51\xb4\x29\x84\x89\x01\x2c\x3d\xa6\x0f\x9f\xfd\xc8\x29\ +\x58\xf9\xc6\xf9\xf8\xcd\x43\x5b\xf1\x9d\x9f\x3e\x82\xfb\x1f\xdd\ +\x86\xd1\xf1\x5a\x93\x42\x91\x1b\x56\xce\xed\xef\x34\x1a\xc0\xfa\ +\xf8\xc5\x5d\x47\x3c\xdf\x40\x28\xa6\x3f\x31\xae\x88\x52\xbd\xac\ +\xa3\x4e\x1f\x2c\xfb\xfe\xb0\xcb\x10\xf2\xd0\xd5\x6b\x76\xac\x3b\ +\xd4\x02\x90\x4d\x56\x00\x8c\xe0\x72\x54\x1f\x20\xf6\x5e\x88\x5b\ +\xc9\x90\x2c\x22\x65\xff\x69\xd3\x20\xca\x60\x06\x5d\xed\x65\xbc\ +\x67\xe5\x42\xfc\xf2\x77\x2f\xe1\x33\x17\x2f\x03\x25\x62\x8f\x60\ +\x1b\x5a\x86\xf3\xc6\x60\x8d\xa7\xf6\x5b\xd6\xf8\x29\x6f\xe8\xc7\ +\xb2\x25\xb3\xb1\x79\xe7\x30\xd6\x3f\xbb\x0b\xbf\x79\x78\x2b\xfa\ +\x7b\xdb\xb0\x74\xd1\x6c\xcc\x3f\xa2\x13\x9d\x1d\x25\x74\x77\x94\ +\x51\xa9\x64\xe8\x68\xcb\x30\xa7\xaf\x0d\x2f\xef\x19\x85\xd6\xa6\ +\x9e\x21\x94\x13\x30\x26\xee\x0b\xd5\x2c\x01\x0f\x7f\xfd\x94\x8e\ +\x6a\x5d\xbf\x35\x57\x1a\xa1\xf8\x53\xb4\x7d\x65\x16\x85\xa0\x41\ +\x28\x08\xf8\x05\xa6\x61\x4c\xb2\x5b\xb8\x8e\x8b\x32\xe4\x24\x15\ +\x5a\xfa\x15\x7b\xf8\xf9\xb2\x0b\x32\xea\xd0\x14\x89\x98\x8e\x50\ +\x27\x2d\xee\xc3\xfa\x0d\xbb\xf1\xd0\x33\xbb\x70\xe6\xc9\x73\x43\ +\xd1\x89\x6f\x0a\x15\x77\xff\x04\x01\xf5\x5c\x61\xfb\xae\x51\x28\ +\x0d\x74\xb6\x97\x70\xc4\xac\x76\x64\x59\x82\x04\x84\xc5\xf3\x7b\ +\xb1\x78\x7e\x0f\x1a\x39\xe3\xa5\x1d\x43\xd8\xb2\x6b\x04\xeb\x9f\ +\xde\x89\x91\x6a\x8e\x91\xb1\x3a\x6a\x75\x85\x5c\xd9\xf6\x74\xf5\ +\x1c\xd7\xdd\xf2\x14\x2e\xbb\x68\x99\xe8\x06\x4f\xb6\x8c\x41\x70\ +\x1d\x6d\x15\xf3\x86\x35\x9f\xe5\x13\xde\xf7\x3d\xff\xc9\x5a\x83\ +\x3f\xe0\x3d\xfe\x62\xf9\xb7\x5f\xf1\x5a\x84\x84\xda\xa9\xff\x1f\ +\x1c\x76\x02\x70\xfa\x67\x6e\xa1\x87\xfe\xf5\x22\x26\xdb\x97\x9f\ +\x34\x47\x37\x8d\x51\xa8\xf4\x29\xf4\xe4\x0d\x5b\xf3\xc5\x2d\x66\ +\x99\x81\x77\xbf\x79\x21\xbe\x7f\xeb\xb3\x38\x69\x51\x1f\xba\x3a\ +\x4b\xa0\xa6\xfd\x9b\x43\xbb\xb9\x97\xf7\x8e\xe3\xba\xdb\x9e\xc5\ +\xac\xee\x0a\xca\xa5\x04\xc3\xa3\x0d\x0c\x8f\x37\xb0\x68\x7e\x37\ +\x4e\x3b\x61\x0e\x4e\x5c\xd2\x0f\x30\xa1\x94\x11\x8e\x5b\x38\x0b\ +\xc7\x2d\xec\x83\x68\x37\x0a\x02\xa1\x9e\x2b\xe4\x4a\xe3\xfa\xdb\ +\x9f\xc5\x92\xa3\x7b\xe3\x56\x37\xa1\x60\x28\xae\x09\x71\xea\x26\ +\x96\xeb\x2b\xe2\x66\xcf\x21\xc7\xaf\x5c\x03\x28\xc8\x5e\xc0\x04\ +\xcd\x7a\xfc\xea\x35\x3b\xef\x39\x0c\x35\x00\x84\x87\x1f\xb6\x5d\ +\xa2\x89\x7a\x08\x52\xdc\xc2\x3d\x84\xd1\xa2\x5b\x58\x68\xc5\x8c\ +\xd9\x3d\x15\xbc\xe9\xf8\x23\x70\xe7\x83\x9b\xb1\xea\x82\x25\x85\ +\x04\x5b\xdc\x81\xf4\x57\xeb\x36\xe3\xfc\xd3\x17\xe0\xf4\x93\xe6\ +\xfa\xf7\xeb\x0d\x85\xe7\x36\x0f\xe2\xde\x87\xb7\x61\xfd\x86\xdd\ +\x78\xdf\xb9\xc7\xa2\xb7\xab\x12\xb0\x7d\xa1\x9e\x98\x4c\x6d\x42\ +\xb9\x94\x62\xd1\xfc\x1e\xd3\x8a\xc6\x3b\x9c\xae\x84\x4d\x88\x70\ +\xb4\x61\x94\x96\xd8\x7f\x49\x69\x7e\x97\x52\xb2\xcb\x07\x7c\xfa\ +\xd7\xe1\x00\x4e\x18\x54\x00\xba\x6e\xc5\x34\x8d\xc9\x6f\x1b\x37\ +\x41\xa7\xd0\xa6\xdd\xc0\x81\x08\x1f\xf0\x25\xe5\x51\x81\x88\x6e\ +\x0a\xdb\xce\x7b\xd3\x7c\x6c\xdb\x3d\x8a\xa7\x36\x0e\x34\x77\x22\ +\xf5\x04\x50\x60\xf3\xcb\xc3\x58\x76\x6c\x5f\xc4\x0c\x2a\x95\x52\ +\x2c\x7f\x43\x3f\x3e\x7d\xf1\xc9\x98\xd7\xdf\x81\xff\xf3\x8b\x27\ +\xb1\x6b\x60\x4c\xf0\x43\xb8\xa9\x73\x19\x98\x71\xd4\x9c\x2e\x6c\ +\xdf\x35\x62\x90\x4a\x99\xc9\xb4\x4e\x21\x15\xaa\x9d\xe2\x7d\xaa\ +\xf9\x3d\x0c\x24\xaa\x50\xda\xc5\x1e\xea\x95\x6d\x60\x2c\x27\x40\ +\xe3\xa0\xd5\xfd\x1d\x22\x01\x88\x09\x13\xa1\x7d\x3f\x47\xd0\x6f\ +\xd4\xdd\x4b\x54\xe8\x72\x71\x0b\x76\x31\x39\x59\x4a\xf8\xe8\x85\ +\xc7\xe2\x8e\x75\x9b\xb1\x6d\xf7\x48\x04\x29\x3b\x04\x71\xbc\xda\ +\x40\x42\x40\x5b\x39\x8b\x68\x5f\x64\xdf\x4f\x29\xc1\x05\xa7\x1f\ +\x8d\x77\x9e\xbd\x10\xd7\xdd\xf6\x8c\xa1\x9a\xcb\x50\xae\x50\x09\ +\xb4\x60\x4e\x27\xb6\xed\x1a\x11\x99\x4c\xf6\x65\x6f\xec\xe9\xef\ +\xa1\xb2\x28\x26\xa0\xd0\x27\x95\xe8\xf1\xaf\x7c\xa3\x47\x0b\xff\ +\x42\xb4\x7c\x55\xfe\xd2\x79\x77\x7b\x76\xc7\x61\xad\x01\xe0\x7a\ +\xef\x21\x90\x2c\x74\x81\x47\x17\x31\x81\x74\xa1\x46\x4f\x6a\x87\ +\xc2\x8a\x3c\xb2\xaf\x03\x17\xbd\x65\x11\x7e\x7a\xd7\x0b\x78\x61\ +\xcb\xbe\x48\x89\x00\xc0\xde\xc1\x71\xcc\xee\xae\xc4\x39\x00\x8d\ +\x98\xdc\xc9\xc0\xf2\x25\xfd\x78\xdb\x8a\x05\xf8\xe1\x6d\xcf\x62\ +\x6c\xbc\xd1\x2c\x8c\x76\x92\xbb\x3b\xca\x48\x13\xc2\xc0\xfe\x6a\ +\xb4\x69\x64\x14\xda\x16\xf8\x8e\xcf\xae\xfe\x94\x93\xcb\xf7\x2a\ +\xe1\xe0\xc5\x24\x8f\xa2\x06\x30\xab\x9f\x81\x3b\xbe\x72\xe3\x56\ +\x35\x5d\x02\x90\x4d\x85\x02\xf0\x5b\xbd\x8b\xd6\xb0\x28\x3c\x94\ +\x7d\x7b\x5c\xd9\x36\xc0\xa2\x95\xaf\xec\xf6\x4d\xd1\x46\x4f\xc7\ +\x1d\xd3\x83\x0f\x5d\x70\x2c\x7e\xf1\x9b\x4d\x38\x72\xf6\x1e\x2c\ +\x5f\x32\x1b\x7d\x3d\x65\x28\x06\xee\x5b\xbf\x1d\x27\x2c\x9a\x65\ +\x85\x90\xfc\xb1\xd1\x3e\x41\xf6\xf1\x8a\x13\xe7\x60\xd7\xe0\x38\ +\x6e\xba\xfb\x79\x5c\xfa\x9e\x13\x05\x77\x21\xe0\x01\x44\xc0\x82\ +\xb9\x5d\xd8\xb2\x63\x08\x7d\xdd\x73\xa3\x8d\x06\xa4\x9f\xc2\x51\ +\xa7\x0b\xe0\x81\xaf\x2e\x7f\x47\xae\xb8\xa2\x35\x45\x9d\x3d\x7d\ +\x25\xb0\x0a\x65\x72\x71\xdd\xff\xf4\xa9\xff\x29\xd1\x00\x67\x7d\ +\xee\x36\x6a\x6e\x01\xa7\xa3\x7a\x81\x18\x2c\x2a\xd4\x09\x0a\xed\ +\xc0\xb6\x7b\x98\xe4\x0e\xba\x15\xba\x68\x6e\x27\xfe\xf2\x43\x27\ +\xe3\xf8\x85\x3d\x78\x61\xeb\x20\xee\x58\xb7\x05\x77\xff\x61\x2b\ +\x16\xce\xeb\xc2\xca\xe5\x73\x25\x32\xd5\xcc\x46\x16\x6a\xe3\x9d\ +\x67\x1d\x83\x5a\x5d\x61\xdd\xe3\x3b\xe0\xda\xbf\xb0\x8e\xfd\x96\ +\x85\xf3\xba\xf0\xd2\x8e\x61\xe1\x67\xf0\x04\x4d\x23\xe0\xe1\x6d\ +\x80\x91\xf5\xcc\xbe\xcb\x51\xcf\x43\xea\x97\x7d\xc1\x27\x8b\x94\ +\xaf\xf2\x20\x24\xa3\x92\xd1\xad\xd3\x29\x00\x53\xb6\x73\x28\x4b\ +\xd0\xa4\xb8\xb5\x5b\xa1\xa3\x38\x91\x68\x2f\xa3\xe1\x6b\xf2\x7d\ +\x34\xe1\xba\x85\x89\xed\x5d\x08\xc6\x27\x38\xed\xf8\x23\x70\xda\ +\xf1\x73\xe2\x5d\x42\xdc\x31\x3e\xca\x98\xa8\x85\x8b\xb9\x58\x42\ +\x84\x0f\xbe\x6d\x09\xbe\xbf\xfa\x69\xcc\xeb\xef\xc0\xe2\x05\x3d\ +\x32\x41\x08\x22\xc6\xa2\x79\xdd\x78\xf8\x99\x5d\x70\xbd\x82\x09\ +\xf1\x16\x32\x61\x4f\x84\xf0\x6f\x6d\xff\xbe\x50\xdc\x01\x16\xdd\ +\x3f\xe3\x34\xb0\xec\x07\x08\xe0\xee\xaf\xff\xbf\xed\xd5\xc3\x5a\ +\x03\x18\xff\xaf\x50\x34\xa9\x9b\x09\x95\xec\x6b\x02\x74\x44\xdd\ +\x8e\x3a\x8c\x16\xda\xc6\x46\x09\xa0\xc2\x36\xef\xa1\x2b\x18\x22\ +\xa7\x32\xea\xe4\xe9\x95\x51\x5c\xe3\xd7\xdf\x53\xc1\x47\xde\x7e\ +\x1c\x6e\xbc\xfb\x05\x6c\xda\xbe\x1f\xb2\xc1\x00\x33\x30\xaf\xbf\ +\x03\x23\x63\x75\xb3\x79\x65\x13\xb7\x00\x85\x46\x54\x1a\x8d\xd1\ +\x61\xb0\xd2\xc8\xed\x7e\x3e\x26\xb6\x47\x94\x04\x92\x4c\x20\xf7\ +\x3a\x08\x3f\xc0\x34\x8f\x29\xdb\x3d\xbc\xd8\x88\x31\x2e\xd5\xd2\ +\xa2\x6a\x98\x82\x43\x88\xf8\xc6\x06\x26\xae\x8e\x88\x1c\x11\x4b\ +\x38\xaa\xea\x71\xe7\x7c\xa7\x02\x00\x00\x08\x33\x49\x44\x41\x54\ +\xe1\x64\xa1\x16\x51\xcb\xce\x9e\x71\x93\x67\x17\xc6\x2d\x9a\xdf\ +\x8d\x0f\x9d\xbf\x04\x37\xdf\xbd\x11\x8f\x3d\xb7\x5b\x60\xfb\x1a\ +\x04\x60\xf1\xfc\x1e\xfc\x71\xeb\x60\xc4\x61\x28\x66\x27\xed\x46\ +\x65\xa8\x0d\xee\xf6\x5b\xba\x68\xb0\xe8\xf8\x1d\xe2\x7e\x2d\x4c\ +\x81\x8b\xff\x13\x9a\x1e\xf8\x77\xca\x05\xe0\xec\xbf\xba\x83\x80\ +\x98\xf1\x2b\x5d\x75\x6e\x8a\xf7\x11\xa5\x64\x7d\x53\x08\xd7\x5b\ +\xb8\x40\xc0\x90\xc4\x12\x29\x28\x4e\x18\xb4\xac\x44\x9a\xa0\x01\ +\x45\x91\xd9\xe3\xd8\x3c\xc7\x1e\xd5\x83\xcb\xdf\x7b\x22\x7e\xbb\ +\x7e\x3b\x6e\xbe\x7b\xa3\xed\x11\x60\xf2\x15\x4b\x8f\xe9\xc5\xf3\ +\x9b\x07\x45\x88\x28\x48\x26\x82\x70\x02\x30\xf2\xe1\x7d\x4d\xac\ +\x9f\xc8\xeb\x8f\xd2\xbe\x9e\x20\xb2\xee\x5b\xb7\xec\xdc\xff\x9a\ +\xd1\x00\xa2\xa2\x23\xf4\x0d\x63\x1d\x75\xfe\xf2\xf1\x34\x8a\x1d\ +\xb7\x78\x82\x96\x2e\xe2\x6c\x1c\x57\x1a\x71\x21\xbc\x24\x88\x7d\ +\x0a\x99\xc1\xa4\x63\x2d\x81\xd0\xf0\x51\xa6\xa9\x99\x81\xd9\xbd\ +\x15\x7c\x76\xd5\x32\xf4\x76\x96\xf0\xdd\x9b\x9f\xc0\xaf\x7f\xff\ +\x12\x46\xc7\xeb\x58\xba\x70\x16\x5e\xd8\x32\x68\x3a\x96\xb3\xb6\ +\x5c\x86\x42\x9d\x01\x18\x6a\x7c\x14\x2a\x57\x21\xc1\xa3\x03\xed\ +\x9b\xe5\xee\x1f\xb2\xfb\x87\x71\x8f\xa6\x5d\xfd\x4f\xb1\x09\x40\ +\x5c\x39\xab\xe3\x8d\x1e\x9b\x2a\x6e\x38\xee\xb8\x18\x57\xf1\x40\ +\xa8\xd9\x58\xe5\x73\xb1\xd9\xa3\x83\x53\x29\x16\x26\x9e\x80\x04\ +\xe2\x0b\x47\x0b\x98\x43\x96\x26\x78\xfb\x19\x47\xe3\x3f\xaf\x3a\ +\x05\x23\x63\x0d\xfc\xf3\x0d\x8f\xe3\xbe\x47\xb6\xa3\xad\x92\x61\ +\xe3\x96\xc1\xe6\x96\xf1\x22\xd2\xa9\xef\xdf\x5b\x70\xf4\x04\xc9\ +\x33\xaa\x01\x90\x55\xc0\x8c\x34\xa5\x1b\x5f\x53\x02\xf0\xe6\xbf\ +\xb9\x8b\x34\xc7\x54\xab\x89\xba\x81\xc4\x25\xe2\x08\xa1\x56\x01\ +\x26\x0e\x50\x72\x2c\x60\x1c\xb5\xa3\xd5\x62\xaf\x80\x62\xd8\x29\ +\x7a\x04\x30\x0a\xa5\xe3\x85\xbd\x0e\xec\x39\xba\xbb\x32\x7c\xf0\ +\xbc\x63\xf1\xb9\x0f\x2f\x47\x5b\xc9\xb4\xa8\x79\x74\xc3\x1e\xc1\ +\x3b\x28\xee\x80\xca\x68\x8c\xec\x0b\x1b\x3a\x8a\xd5\x1f\x55\x01\ +\x15\x84\x80\x18\x8f\x7e\x73\xf5\x81\x6f\xf7\x3a\x23\xc3\xc0\x90\ +\x1d\x16\x5b\x30\xda\xc6\xcc\x61\x63\xee\xc0\xf2\xf7\xc9\x1c\x9f\ +\x08\x0c\x89\x7e\x16\x3c\x02\x8e\x12\x4a\x64\x7c\x04\xdf\xf6\x2d\ +\x84\x63\x72\x83\x40\xcf\x49\x70\xfb\x15\x12\x47\x6d\x02\xc9\x6f\ +\x75\xcf\x51\x4f\x40\x27\x32\x5d\x1d\x25\xbc\xed\xf4\x05\x38\xe7\ +\x8d\xf3\xf0\xf8\xf3\x03\xa8\x55\x35\x2a\x95\xd4\xe7\x38\xdd\xd7\ +\xd7\xf5\x2a\x74\xa3\x61\xda\xba\x22\xf4\xfa\x89\xc3\x3e\xab\xf6\ +\x95\xd8\x03\x80\x71\x1d\x66\xc8\x48\xa6\xf2\x64\x2b\xbf\xf0\x2b\ +\x6a\xea\x19\x5c\xb4\xf7\x28\x42\xc4\x88\xdb\xcc\xfb\x10\x0f\x4d\ +\xdb\xd0\xa1\x50\x6f\xe8\x4a\xb8\x83\x1e\x90\x1d\x3d\x85\xf3\x28\ +\x37\xe3\x13\x34\x33\xdd\x54\xf3\x17\xf3\x0e\xcb\x69\x8a\x33\x4e\ +\x9c\x83\x4a\x99\xe2\x96\x78\xf6\xb3\x8d\xe1\x01\x8f\xed\xab\x02\ +\xe7\x9f\xe5\x36\xaf\x96\xc4\x64\x27\x1f\x59\x9a\x5c\x3f\x53\x04\ +\x20\x9b\xea\x13\xb2\x66\x53\xb5\x29\x2a\x6b\x49\xee\x1c\x46\x1c\ +\x53\xa9\x58\xb2\x7d\x44\xe7\x51\xb9\x5a\x21\x5e\x93\x84\x0c\x96\ +\x1c\x24\x08\x38\x9a\x45\x55\x4f\xd0\x00\xf1\x0e\xb3\x61\x3f\xe0\ +\xc2\xce\x90\x31\xd7\x87\x10\x9d\xdf\x78\x92\x46\x83\x34\x46\x06\ +\x9b\xfb\xfd\xc9\xd5\x0f\xfb\x27\x01\x20\x60\xc3\xb7\x6f\xd9\xbe\ +\xed\xb5\x2b\x00\x30\xc4\x10\x4d\x13\xa0\x71\x76\x21\xc5\x3d\xfe\ +\x59\xf0\x05\xc4\x56\x72\xb6\xc1\xb4\x6b\x49\x4b\x32\xac\xb4\x02\ +\x46\x92\x78\x52\xa8\x4d\xf4\x42\x20\x3a\x93\xb2\xd8\xdb\x38\x10\ +\x58\x28\x62\xf8\xc8\xa6\xd7\x2c\xb6\x9d\xa7\xc2\xaf\x54\x8d\x06\ +\x54\xa3\x8e\xbc\x50\xde\x25\xb7\x7c\xf1\x59\x41\xd1\x00\x92\x99\ +\x7f\x84\x19\x34\xa6\x5c\x00\xce\xb9\xf2\x6e\xba\xff\x9b\x17\x8a\ +\x25\x57\xd0\x06\x44\xd1\x6e\xa2\x5e\x18\xfc\x73\x9e\x70\x5b\x5e\ +\x57\x27\x28\x97\x27\x87\xbc\x11\x5c\x3b\x57\x5f\x74\x4a\x2e\xa1\ +\x24\x72\x51\x7e\xbb\xba\x60\x89\x64\x7f\x61\x92\xff\x44\xda\x85\ +\x71\xea\xa5\x37\x44\x5f\xe9\xfe\x7f\x58\xfe\x3f\x34\xe3\x2b\x81\ +\xe1\x2b\x26\x5d\xc5\x6c\x20\x2d\x48\x21\x53\xb1\xdd\xeb\x8c\x16\ +\x00\xa9\x8b\x59\x6c\xba\xe8\x56\x31\x17\x76\xfb\x66\xd9\x6c\xde\ +\xb1\x49\x29\x6c\x25\x6f\x19\xa3\x9e\x7b\x08\xb9\x62\xed\xe3\xa8\ +\x5d\x75\x00\xec\x0d\x6b\x27\x11\x99\xbe\xc0\x41\x8b\x51\x49\x02\ +\x4e\xbb\xe2\xe6\x57\xb9\x05\x08\x7f\x42\x15\xd5\x3d\x17\xb6\x7f\ +\x29\xec\x06\xce\xa0\x97\xae\xbe\x75\xc7\xc6\xd7\x87\x00\x08\x7c\ +\xc8\x51\xb8\xb4\x48\xfd\x7a\x73\xef\x6c\xaa\x20\x89\xfa\xed\xd9\ +\x20\xd2\xba\x91\xd0\x68\x5b\x04\xca\x91\x2f\xcb\xd0\x20\x4a\x84\ +\x59\x09\xbd\xff\xc3\x96\x2f\x84\xd3\x3f\xf5\xf3\x49\xed\xf7\xf2\ +\xe0\x55\xcb\x8f\xca\x15\x9f\x14\xaf\x7e\xd1\xff\x3f\x8a\x06\x82\ +\x36\x00\xf8\x27\x98\x61\xe3\xa0\x08\xc0\x39\x5f\xbc\x97\xee\xff\ +\xa7\xf3\xa3\x6d\x84\x4c\x32\x8e\x3c\xc5\x5a\x56\x08\x73\x93\x13\ +\x61\x0d\x03\x91\xdf\xd7\x57\x58\xf6\x38\xfc\x23\x1b\x7f\xca\x7d\ +\x88\x10\xd7\xf4\x9f\xf1\x99\xd5\x34\x95\xbf\xaf\xde\x68\x5c\xc2\ +\x48\xa3\x6e\x9f\xf2\x71\xb1\x07\xb0\x13\x04\xa2\x99\x13\xfe\x1d\ +\x64\x0d\x80\xb0\x25\x7b\x64\x61\xed\x23\x7b\x37\x98\xa2\xe0\x3c\ +\xda\x7a\xbe\x79\xbb\xf7\xd0\xe7\x1f\x89\x55\xf8\xb2\x15\x3c\xc7\ +\x6e\xfe\x19\x9f\x5d\x43\x07\xeb\xb7\x1d\x71\xd4\xa2\xcb\xf6\xee\ +\xde\x05\x55\xaf\x16\x56\x7d\x73\xaf\x3f\x15\x48\x44\x3b\xaf\x5e\ +\xb3\xf3\xa9\xd7\x8d\x00\xbc\xe5\x6f\x7f\x43\xbf\xfb\xc6\x5b\x3d\ +\x6a\xe2\x1d\x2c\x4d\x51\x38\x17\x7a\xfc\x33\x62\xbe\x3f\xc9\xfd\ +\xc5\x10\x55\x66\x30\x47\x0e\x20\x03\x38\xeb\x2f\x7f\x49\x87\xe2\ +\x86\xd5\xd6\x7e\xb1\x3f\x57\xbc\xe2\xc8\xa3\x17\xe3\x77\xf7\xde\ +\x03\xa5\x09\xb9\x06\xea\x0d\x8d\x5a\x5d\x1b\x40\x08\x05\x73\x60\ +\xd4\xff\x0d\x98\x81\x23\x3b\xa8\x67\xf7\xd1\x9c\x44\xdc\x10\x39\ +\x5f\x9e\xcc\x21\x1d\x33\x11\xb7\x73\xb4\xe1\x73\xac\x19\xce\xfe\ +\xfc\x1d\x74\xa8\x6f\x58\x3d\x57\x17\xaa\x3c\x07\x88\x71\xf4\xa2\ +\x45\xf8\xe3\xc6\xcd\xe8\xea\xac\x60\xc5\x1b\x8f\xc4\xa6\xcd\x7b\ +\xb1\x61\xd3\x20\x5c\x4b\xd8\x5c\x45\x84\xd0\x1f\xbe\xee\x04\xe0\ +\x2d\x5f\xfa\x2d\xad\xfd\xc7\xb7\xfa\x06\xf1\x72\xb3\x10\xe1\xf0\ +\xdb\x49\xd7\x82\x6b\x2f\x26\xdb\x39\x84\x56\x4b\xbc\xf9\x6f\xee\ +\xa2\x69\xbd\x63\xcc\x8a\x39\xdf\xa5\x54\x3e\xb7\xa7\xb7\x1b\x27\ +\x9c\xb8\x10\xb3\x67\x77\xa2\xd1\x18\xc7\xbc\x23\xdb\xf1\xcc\x8b\ +\xfb\xd0\x50\x66\xdb\xfb\x9e\x2e\x60\xc7\x5e\x00\x4c\xfb\xae\x59\ +\xb3\xe3\xa1\xd7\x9f\x06\xb0\x09\x02\xf6\x3a\x3f\xb4\x8e\x29\x04\ +\x0b\xc1\xbd\x8b\x76\xf6\x32\x1e\xc1\xca\x2f\xfc\x8a\x66\xca\x0d\ +\x23\xe8\xf5\x60\xdd\xcb\x5a\xa1\xab\xab\x1d\x95\x0a\xa3\x51\xaf\ +\x21\x57\x39\xfa\x7a\x32\xf4\xcf\x6a\x43\xa5\x9c\xe3\xa8\x23\x80\ +\x79\x7d\x39\xee\x7e\x58\xe1\xc1\x67\x0e\x6e\xc3\xe7\x19\x2d\x00\ +\xe7\xfe\xd7\xb5\xb4\xf6\x6b\xe7\xb2\x43\xf5\x02\xda\x2b\x60\x61\ +\x01\xeb\xba\x32\xb1\x73\xae\xbc\x9b\x66\xe2\x0d\x6b\xe4\x8d\x4e\ +\xa5\x79\x37\xb3\x3e\x3a\x57\x0d\x68\xad\xc0\xac\xc0\x5a\xa1\xda\ +\x68\xe0\xcc\xe5\x9d\xc8\x1b\x55\xa8\xbc\x86\xc1\x61\x85\xa5\x47\ +\xe7\xd0\x8c\x6b\xff\xef\x3d\x33\x53\x00\x92\x43\x71\x91\x73\xff\ +\x6e\x2d\x15\x77\x18\x25\xe8\x09\x1b\x40\x9c\xf3\xc5\x7b\xe8\x9c\ +\x2f\xce\xcc\xc9\x07\x80\x24\xc9\xf6\x30\xe7\x9b\x0c\x77\x41\x19\ +\x16\xb0\xdd\xdf\x90\x59\x43\x29\x05\xad\x15\x34\x2b\x00\xba\xde\ +\xd9\xa6\x7f\xfb\xb9\x7f\xd9\xfd\xdb\x99\xfa\x7b\x0e\xe9\x8d\x5e\ +\x7b\xd5\xb9\xa1\x44\x98\x02\x87\xff\xdc\x2f\xdd\x37\x63\x27\x7c\ +\xa2\xb1\xeb\xd6\xcb\x36\x28\xd5\x38\x3e\x57\x35\xa8\xbc\x6a\xff\ +\xea\xc8\x73\xf7\xbc\x06\x95\xd7\xa0\x75\xfd\xb6\x3c\xaf\xfd\xcf\ +\x95\x7f\xbb\xef\xa1\x96\x00\xd8\x71\xdf\x55\x6f\x61\x22\xc2\xb9\ +\x7f\xb7\xf6\xb0\x9a\x74\x37\x86\x7f\xfd\x99\x9e\xb1\xf1\xf1\x7f\ +\x52\x79\xed\xd3\x41\x00\xea\xc8\x1b\x66\xd2\x95\xb2\x02\xa0\x6a\ +\x8f\x27\xa4\x2e\x3f\xed\xaf\x0f\x6d\xcf\x9f\x19\x2f\x00\xaf\x85\ +\xb1\x63\xf5\xc7\xbe\xc5\xba\xf1\x85\xbc\x51\x45\xae\xaa\x26\x2b\ +\x98\xd7\xa0\xf3\xaa\xd1\x02\xaa\xbe\x33\x6f\x8c\x7f\xec\xac\x2b\ +\x77\xdc\x3b\xd3\x7f\x4b\xd6\x9a\xce\x03\x89\x04\x75\x43\xeb\xbc\ +\xc6\xac\x2b\x86\xbc\xa2\x00\x56\x60\xb3\xe1\xcb\x33\x04\xfe\xd6\ +\xe1\x30\xf9\x87\xcc\x09\x7c\x6d\x4d\xfe\xd7\x09\xac\xd6\x32\xeb\ +\x8a\xb6\xde\x3f\xb3\x61\x0e\x6b\xad\x01\xf0\xdf\xb3\x56\x3f\x3e\ +\x5c\x7e\x4f\x4b\x03\xbc\x5a\x9b\x49\x5f\xe2\x6d\x3f\x5f\x55\x66\ +\xd6\x39\xb4\xca\x18\x0a\xac\x35\x98\xf5\x3e\x66\xfd\xdd\x37\x7e\ +\xee\xf9\x5f\x1c\x4e\xbf\xa7\xa5\x01\x0e\x44\x0b\x68\xec\x2a\x67\ +\xd8\x95\x24\xb0\x55\x4c\xba\x41\xc0\xf7\xf2\x46\xed\xaa\xc3\xed\ +\xb7\xb4\x34\xc0\x01\x8c\xf5\xcf\xed\x79\xfa\x85\x6d\x83\xb3\x56\ +\x9e\xd8\x8d\x63\xe6\x10\x46\x72\xfe\x97\x24\xa5\xaf\x9f\xfe\xd7\ +\x2f\xee\x6f\xdd\x9d\xd7\xc1\x78\xcb\x29\xfd\xc7\x57\x4a\xe9\x53\ +\x00\xd4\x05\x6f\xea\xbb\x97\x9f\x78\xdb\xac\xd6\x5d\x79\x3d\x99\ +\x80\xfd\x9f\xed\x98\xdd\x5d\x7a\xf0\xe8\x39\x95\xd5\x6f\x5f\x31\ +\xfb\xac\xd6\x1d\x79\x1d\x8e\x13\x8f\xe9\xfc\xd1\xe5\xef\x9c\xb7\ +\x90\xf7\x7e\xa4\xe5\x47\xbd\x3e\xc3\xc1\x5b\x2a\xad\xbb\xd0\x1a\ +\xad\xd1\x1a\xad\xd1\x1a\xad\xd1\x1a\xad\xd1\x1a\xad\xd1\x1a\xad\ +\xd1\x1a\xad\xd1\x1a\xad\xd1\x1a\xad\xd1\x1a\x87\xc7\xf8\xff\x96\ +\x1a\xe5\x8e\xbc\x46\xb7\xf4\x00\x00\x00\x00\x49\x45\x4e\x44\xae\ +\x42\x60\x82\ +\x00\x00\x38\xa6\ +\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\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\xdc\x06\x1d\ +\x0e\x3a\x1e\x51\x23\xc2\x06\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\x20\x00\ +\x49\x44\x41\x54\x78\xda\xed\xbd\x77\x94\x5d\xd7\x75\xe6\xf9\x3b\ +\xf7\xde\x97\x73\xa1\x0a\x40\x55\x21\x10\x91\x48\x04\x40\x8a\x19\ +\xa2\x48\x31\x67\xca\x96\xec\x6e\xc9\x9a\xb6\x5b\xf6\x2c\x7b\xba\ +\xa5\x96\x67\x8d\x48\xcd\x58\x96\xe3\x52\xcf\x9a\xb6\xbb\x67\x64\ +\x59\xb2\xe5\x19\x5b\x2d\x59\x96\x64\x5b\x52\x4b\x22\xc1\x04\x30\ +\x8b\x04\xc0\x4c\x01\x20\x89\x1c\x0a\x55\x85\x8a\x2f\xd5\xcb\xef\ +\x9e\x33\x7f\xdc\xf0\xce\x7d\x55\x60\x10\x01\x8a\x84\x70\xb8\x8a\ +\xf5\xea\xe1\xc5\xbb\xf7\xd9\xfb\xdb\xdf\x0e\x07\xce\xad\x73\xeb\ +\xdc\x3a\xb7\xce\xad\x73\xeb\xdc\x3a\xb7\xce\xad\x73\xeb\xdc\x3a\ +\xb7\xce\xad\x73\xeb\xdc\x3a\xb7\xce\xad\x5f\x8a\x25\xde\xad\x37\ +\xfa\xc2\x17\xbe\xa0\xbc\xdb\x5f\xfa\xd2\x97\xc4\xb9\x4b\xff\x4b\ +\xa2\x00\xe3\xe3\xe3\xbe\xe0\xbf\xfc\xe5\x2f\x9f\xf2\x71\xe7\x94\ +\xe2\x2c\x54\x00\x5d\xf8\xde\x52\x28\x50\x9d\xbf\xfe\xea\xaf\xbe\ +\x72\x4e\x21\xce\x76\x05\xc8\xe7\xf3\xe4\x72\x39\x47\xfc\xca\x51\ +\x02\xe1\xeb\x81\x73\x1f\xee\xfd\x5f\xfd\xea\x57\xcf\x29\xc3\xd9\ +\xa6\x00\x77\xdf\x7d\x37\x42\x08\x56\xaf\x5e\xcd\x9a\x35\x6b\xe8\ +\xeb\xed\x25\x9d\xc9\x30\xaf\xa7\x07\xd3\xb2\x50\x4a\x05\x2c\x84\ +\x50\xa0\x14\x7c\xed\x6f\xbe\xf6\x86\xaf\x7f\x4e\x31\xde\x47\x0a\ +\xd0\xbd\x92\xc9\x24\xd9\x4c\x86\x54\x3a\xc3\x8a\x15\xcb\x59\xb7\ +\x6e\x1d\xd9\x5c\xce\x91\x7c\x97\xab\x50\xae\x89\xf0\xf4\xe4\xeb\ +\x5f\xff\xfa\x39\x65\x78\xbf\x28\x80\x52\x8a\x7b\xee\xb9\x67\xd6\ +\xbf\x29\xa5\xb4\x1f\x47\xe0\xa6\x61\xb0\xfa\xfc\xf3\xb9\xec\xd2\ +\x4b\x59\xb9\x72\x25\x96\x65\x39\x1f\x52\xb8\xba\xa0\xf4\xdf\x12\ +\x81\xe0\xef\xfe\xee\xef\xce\x59\x87\xf7\xac\x02\x8c\x8d\x29\x05\ +\x01\x05\x50\x00\x52\xe1\xff\xa7\x94\xfb\xb7\xbb\xd3\x95\x77\x3f\ +\xe4\x72\x39\xd6\xac\x59\xc3\x92\x25\x4b\xc8\x66\xb3\xf4\xf5\xf6\ +\x91\xce\xa4\x35\xab\x80\xaf\x11\xd2\xfd\xfd\xf7\x7f\xff\xf7\xe7\ +\x5c\xc6\x7b\x45\x01\xc6\xc6\xc6\x14\xba\x02\x78\x3b\x3e\x20\x6c\ +\x50\x4a\xba\x8a\xd1\xb9\xad\x5b\x07\x50\x58\x96\x49\x26\x9d\x21\ +\x9e\x4c\x32\xd0\xbf\x90\x0d\x1b\x36\xb2\x76\xed\x1a\x5f\x11\x02\ +\x38\xc2\x77\x23\x20\x94\xe2\x1f\xbe\xf1\x8d\x73\x0a\xf1\x8b\x50\ +\x80\x93\x63\x63\x4a\xa0\xb8\xe7\x9e\xcf\xe3\x6c\x7c\x85\xf0\x84\ +\x2b\x3b\x16\xc0\xf1\xf7\x8e\xb0\xa5\xec\x08\x54\x21\x11\x8e\x81\ +\x40\x29\xe9\xe0\x00\xa9\x90\x74\xa2\x86\x9e\x5c\x8e\x4b\x2e\xb9\ +\x84\x4b\x2e\xbe\x98\x4c\x36\x87\x30\xc0\x10\x86\xe3\x36\x54\x37\ +\x96\x70\x9e\xf8\xcd\x6f\x7e\xf3\x9c\x32\xbc\x2b\x0a\x70\x72\x4c\ +\x81\xe2\xf3\x9f\xff\xbc\xbf\xa3\x01\xa4\x94\xce\x3b\x4b\x90\x4a\ +\x6a\x96\x40\x05\x76\xb4\x8f\x0f\x5c\xe1\x4b\xd5\xb1\x22\x40\x47\ +\x89\x34\xeb\xb2\x6a\xd5\x2a\x56\xad\x5a\x4d\x5f\x5f\x2f\x7d\xbd\ +\x7d\x2c\xec\x5f\x80\x65\x85\xdc\xe7\x38\x6f\xaa\x10\xfe\x7b\xfe\ +\xe3\xb7\xbe\xf5\x4b\x1d\x69\x9c\x61\x05\x38\xa9\xf0\x2c\x80\x72\ +\x84\xed\x0b\x0b\xd5\xc1\x02\x3e\x10\x04\x25\x65\x40\x01\xbc\x9d\ +\xee\x29\x8d\x67\x3d\x82\x8f\x71\x84\xe9\x28\x93\xbb\xdb\xa5\x24\ +\x9e\x48\x90\x4a\xa5\x48\xa5\x52\xac\x5d\xbb\x96\x8b\x2e\xba\x88\ +\x79\x3d\x3d\xbe\x25\xe8\xc4\x1b\x22\xa8\x58\x0a\xbe\xf3\x9d\x7f\ +\xfa\xa5\x50\x86\x33\xac\x00\xa3\x4a\x29\xf8\xfc\xe7\xef\x71\x77\ +\x72\x47\x60\x52\xc7\x04\x01\x21\x3a\x6e\x42\x4a\xd9\xb1\x18\x1d\ +\xa6\x08\x25\xa5\x6b\xd6\x05\x12\x57\xe0\xba\x72\xb9\xff\xae\x5c\ +\x6b\x21\x95\x9a\xa5\x50\xeb\xd6\xaf\xe3\xca\x2d\x57\xb2\x76\xcd\ +\x5a\x84\x10\x98\xa6\x89\x61\x18\x1d\x9c\xe2\x38\x2a\xff\x79\xdf\ +\xfd\xee\x77\xcf\x5a\xeb\x70\x46\xbf\xc0\xe8\xc9\x93\x0a\x37\x0c\ +\xd4\x01\x9d\xe3\xe7\x95\xbf\x53\xa5\x0b\xd6\xa4\x06\x12\x3d\xeb\ +\x10\x70\x07\x2e\x06\xd0\x79\x01\xe5\x09\xd9\x17\xb4\xc4\xff\x53\ +\xc9\x80\xa2\x79\xd6\x44\x0f\x3d\x73\xb9\x2c\x6b\xce\x77\x22\x8d\ +\x5c\x2e\xc7\xa2\x45\x83\xf4\xe4\xe6\x69\xd6\xc1\x07\x0f\x3e\xb0\ +\xfc\xe7\xef\x7d\xef\xac\x71\x19\x67\x56\x01\x46\x47\x95\x42\x71\ +\xcf\xdd\xf7\xb8\xe6\x5d\xb9\x4c\x9f\x72\x77\xac\x00\xa9\x1c\xaf\ +\xec\x2b\x80\x2b\x30\xa1\x50\x76\x47\x0c\xd2\x77\x0d\xae\x60\x03\ +\xe8\xdf\x05\x90\x7a\x64\xe1\x3d\x1e\xcf\x65\x28\x90\x60\xe3\xfb\ +\x9a\x40\x44\xa2\x94\xc2\xb2\x2c\x12\x89\x04\xf1\x78\x9c\xc1\xc1\ +\x45\x5c\x7c\xc9\xc5\x6c\xde\xb8\x51\x73\x5b\x04\x08\x29\xe7\x73\ +\x3a\xcf\xff\xfe\xbf\x7e\xff\x7d\xa9\x10\x67\x56\x01\x46\x1c\x05\ +\xb8\xfb\x9e\x7b\xe6\x30\xf7\x2a\xe8\x16\xd0\x76\xb3\x2b\x2c\xa9\ +\xa4\x7f\xa1\x7d\x81\x4b\x39\x2b\x8c\xf4\xac\x4a\x10\x40\x4a\xd7\ +\x35\xe8\x20\x11\xff\xfe\x8e\x25\x50\x7e\xa4\xd0\xf9\x2c\x2a\x10\ +\x8d\x64\x73\x59\x2e\xbf\xec\x72\x2e\xbb\xec\x32\x7a\xe6\xf5\x60\ +\x1a\x26\x56\x28\xe4\x5e\x3c\xc7\x1d\xe9\xd6\x0a\x05\x3f\xf8\xe1\ +\x0f\xde\x17\x56\xe2\x8c\x7e\x90\x91\x91\x11\x87\x0a\xfe\xdc\xdd\ +\x1d\xbf\x8c\xf2\x85\xe8\x47\x04\x01\xd3\xdd\x85\x11\x74\xe2\x48\ +\x67\x0f\xe7\xb8\xdf\xd1\x1b\x4d\xc0\x72\x0e\xc5\xf2\x05\xed\x1a\ +\x78\x29\x3b\xae\xc9\x7b\x6f\xef\x73\xea\x8f\xd3\xde\x7b\xd5\xaa\ +\x55\xac\x58\xb1\x92\xf9\xf3\x7b\x19\x1c\x1c\x64\xf1\xe2\x25\x84\ +\xc2\x21\x9f\x94\x52\x5a\xb6\xd3\x7b\xed\x87\x1e\x7a\x98\x6a\xb5\ +\xfa\x9e\x53\x88\x33\xab\x00\xc3\x23\x8e\x05\xb8\xfb\xee\x00\x06\ +\xf0\x04\x22\xbc\xd0\x4e\x0b\xe7\x7c\xe5\xe8\xda\x9d\x52\x69\xa6\ +\xbb\xdb\x7a\x74\xef\x68\x6d\xb7\x0b\xd1\xe1\x16\x7c\x17\x71\x8a\ +\xe7\xa1\x09\x7c\x6e\xb0\xea\x50\xd0\xbe\x12\x01\xd1\x68\x94\x44\ +\x2c\x4e\x2a\x9d\x64\xe3\xa6\x4d\x5c\x7e\xf9\xe5\x2c\x98\xbf\x20\ +\xa0\x08\xde\xf7\x0e\xba\x0f\xf8\xf1\x4f\x7e\xfc\x0b\x57\x86\x33\ +\xfa\x66\xc3\xc3\xc3\x7e\x32\x28\x08\xe4\x34\xdf\xad\xf9\x6b\xc7\ +\x1a\x78\x02\xf7\x84\xdd\x11\x9c\xaf\x08\x74\xf0\x83\xf2\x14\x42\ +\x0a\x1c\x34\xa1\xb9\x87\x00\xdb\xa8\x2b\x86\xea\xec\x70\x9d\x84\ +\xf2\xdf\x47\xb7\x40\x1d\x0c\xa1\x24\x9a\xe2\xea\x60\x54\x38\x8a\ +\x2b\xf0\x3f\xe7\xba\xf5\xeb\xb8\xea\xaa\xab\x58\x7d\xfe\x6a\x22\ +\xe1\x08\x91\x70\x04\xd3\x32\x3d\x7e\x32\xf0\x5c\x50\xdc\x7b\xef\ +\xbd\xbf\x10\xeb\x70\xc6\x15\x40\xa1\xb8\xfb\x73\x9f\x43\x2a\x5c\ +\x56\x4f\x6a\x3c\xbe\x73\xa1\x95\x74\x19\x3f\x74\x53\xae\x09\x91\ +\xce\xee\x0b\x28\x8f\xec\x98\x67\x49\xd0\xbf\x63\x2b\xa4\x08\x9a\ +\x7c\x5c\x76\x51\x49\x81\x12\x2e\x46\xe8\xe2\x1d\x3a\xa1\xa4\x86\ +\x3d\x3c\x2e\x42\x57\x2c\x98\xc3\x25\xe9\x34\x76\xc7\xda\x65\x73\ +\x59\x56\xad\x5a\xc5\xe2\xc1\xc5\x2c\x58\xb8\x80\xe5\xcb\x96\xd3\ +\xb7\xa0\xcf\x0f\x61\x41\x75\x38\x0e\xe5\x90\x55\x5b\xb7\xde\xcf\ +\xf2\xe5\xcb\x01\xf8\xed\xdf\xfe\xed\x33\x26\x27\xeb\x4c\x2a\x40\ +\xc0\x04\x2a\xdd\x37\x76\x4c\x28\x9a\xc0\x55\x20\xc9\x13\x24\x66\ +\xa4\x92\x8e\xb6\x76\x3c\x81\xe6\xa7\xf5\xe7\xb8\xd7\x54\x04\x81\ +\x5d\x87\x53\x70\x93\x0e\x92\xa0\x20\xe9\x28\x15\x73\x80\x4c\xe5\ +\xbb\x20\xba\xac\x0a\x1d\x65\x71\x77\x94\xf3\xb7\xf4\x23\x84\xe9\ +\xa9\x69\x76\x4d\xed\x62\x87\xda\x81\x69\x98\xc4\x62\x31\xc2\xe1\ +\x08\xcb\x97\x9f\xc7\x15\x57\x5c\xc9\xa5\x97\x5e\x8a\xee\x1b\x94\ +\x82\x5b\x6f\xbd\x8d\xd7\x5f\x7f\xed\x8c\xbb\x00\xeb\xcc\xbe\xbc\ +\xea\x2a\xf6\x90\xbe\x32\x30\x87\x9f\xf7\x4c\xb8\x0e\xd6\x3a\xbe\ +\x9b\x0e\xdb\x17\x10\xca\xec\xf8\x7f\xae\x1d\xaa\x03\x32\xe8\x4e\ +\x3a\x75\x14\xab\x5b\x21\x84\xef\x76\x1c\xc5\x09\x2a\xb1\xa7\x89\ +\x22\xa8\x30\xfe\xef\x8e\x1b\x11\xee\x7b\xb4\xed\x36\xa5\x52\x19\ +\x28\x31\x31\x31\xce\xae\x5d\xcf\x22\xa5\x22\x97\xcb\x70\xe5\x15\ +\x5b\xb8\xf4\xb2\x4b\x58\xb5\x7a\x75\x80\x7b\x38\x93\xcb\x38\xb3\ +\xe2\xef\x20\x7d\x3d\xe6\x96\x6e\x98\x16\x08\xbb\x3c\x1a\x57\xa9\ +\x59\x24\x90\xf0\x4d\xbe\xce\x0c\x7a\x22\xf1\x14\x49\x04\x49\x1b\ +\xd5\x79\x0d\x6f\xe7\xbb\xf0\x41\x0b\x25\x35\x80\xa6\x2b\x8a\x1b\ +\x86\xa2\x04\x1e\x85\xa0\xfc\xf7\x50\x7e\x98\xe9\x7f\x27\x82\x58\ +\x83\x40\xae\x82\x8e\x4b\xf3\xc1\x0d\x01\x20\x0b\x8a\xe9\xe9\x02\ +\xf7\xdd\x77\x2f\x5f\xfc\xc3\x3f\x0a\x28\xf1\xfb\xda\x02\x08\xf4\ +\x5d\xa5\xd5\x82\x82\x7f\x31\xbd\x6b\x22\x7c\x21\x05\xd1\xb9\x2f\ +\x0b\xa9\x10\xee\x4e\x13\x1a\x48\x73\x4c\xaf\xf2\xa5\xec\xbf\xa6\ +\xc7\x25\xe0\xd3\x82\x1d\xd0\xa9\x11\x48\x81\x1d\xaf\x5b\x0f\xe1\ +\x2a\xdc\x2c\xc1\x2a\x82\x46\x4c\x79\x54\x00\xd8\x0e\x81\xd5\xe1\ +\x2b\x84\x1f\x35\xe8\x8a\xab\x7c\x1c\xd4\xa5\x54\x74\xa2\x85\x77\ +\x6b\x9d\x61\x0c\xa0\xef\x46\x8f\x7d\xeb\xec\x38\x1f\xb0\x21\x91\ +\x2e\xf8\xf1\x2f\x66\x60\xa7\x68\xb7\xbb\x5f\x5f\x31\x4b\x88\x3e\ +\x17\x20\x14\x42\xba\x56\x42\x76\x04\xdf\xbd\x63\x03\x69\x69\x82\ +\x78\x45\x75\xb9\x04\xa9\x14\xc2\x45\xee\x3e\xd0\x13\x1d\x96\x53\ +\x0f\x11\xe9\x76\x2f\x3a\x8c\xf0\x4d\xa4\xf4\x0b\x62\x84\xc7\x41\ +\x28\xde\x35\x25\xb0\xce\x30\x04\x08\x12\x40\x4a\xbb\xe0\x04\xc9\ +\x16\x2f\xe4\xd3\x13\x39\x7e\x05\x31\x6a\x56\x82\x47\x04\x5e\x5f\ +\xcd\xde\x65\x5d\x8a\xe3\xf8\x6f\xa1\xd5\x1c\x76\x95\xa8\x0b\xcf\ +\x9f\x78\x56\x43\x7f\x0d\xe5\x2b\x10\x3a\x26\xe8\x52\xa2\xd9\xb8\ +\x83\xc0\x67\x51\xaa\x8b\x46\xd6\xb2\x92\x01\xd7\xf1\xee\xc9\xff\ +\x0c\x5b\x80\x0e\xb6\xee\xfa\xf2\x68\x66\x59\xbb\x90\x01\x53\xa8\ +\x25\x6c\xb5\x42\x11\x7c\x25\x70\x90\xbe\x92\x4e\x9e\xc0\xb6\x6d\ +\x84\x10\x08\x21\x7c\x96\xd0\x8f\xb3\xdd\x0c\x9f\x1e\x9e\xa1\xba\ +\xcd\xbb\xc7\x06\x76\x14\xab\xf3\xef\x3a\xab\xe7\xd5\x13\x80\x12\ +\x41\x50\x88\x9e\x8e\xf6\x8a\x5f\xd0\x52\xdd\x74\x57\x2d\x69\x6e\ +\xc7\xcb\x86\x4a\xf5\x6e\x7a\x80\x33\x6d\x01\xdc\x22\x0c\xff\x3b\ +\x05\x59\x3e\xdd\x4d\x28\x7f\x97\xb9\x3e\xa0\x2b\x96\xee\xf0\x06\ +\xda\x45\x94\x8a\x76\xbb\xcd\xf0\xf0\x30\xcd\x66\x93\x64\x2a\x49\ +\x2a\x95\x22\x1a\x8e\x6a\x9e\x54\x6a\x3b\x5d\x63\x1f\x09\x0a\xdf\ +\xc3\x0c\x73\x85\x96\xba\xe6\x4a\xd5\xa9\x50\x55\x52\x78\xf1\x68\ +\x40\xc1\x7d\x0a\xda\x47\x9f\x9a\x45\xec\x0a\x6f\xbb\xcb\xd7\x84\ +\x93\xf3\x3e\x4b\x14\xc0\xaf\xbc\x91\x81\xf8\x5d\x79\xc4\x87\xd4\ +\xdd\x02\x01\x50\x36\x7b\x17\x2a\xed\x22\x76\xcc\x77\xbb\x6d\x53\ +\xab\xd5\x48\x24\x12\x24\x13\x49\x6a\x95\x2a\x53\x93\x53\x64\xb2\ +\x59\xa2\x91\x08\x42\x08\x4d\xb1\x3c\xc2\xa8\xab\x46\x40\x8f\x1a\ +\xf4\xb4\xb5\xd2\x43\x52\x2d\x6d\xed\xf3\x05\x6a\x4e\xda\x5a\x07\ +\x99\x7a\xe8\xaa\x5b\x37\xb4\xa4\x98\xfb\x20\x87\xb8\x0a\x5c\x89\ +\xf7\xb9\x02\x48\x14\x42\x04\x3b\x7f\x7c\x21\xea\xa1\xde\x5c\xbb\ +\x23\x10\x3a\x68\x60\x2f\xc0\xf8\x81\x61\x08\xda\xad\x16\xc9\x64\ +\x92\x25\x4b\x96\x70\xf9\xe5\x97\xf3\xe2\x8b\x2f\xb2\x67\xcf\x1e\ +\x0a\xf9\x3c\xe9\x54\x8a\x70\x24\x82\x61\x1a\x5d\xae\x41\x73\x50\ +\x1a\x32\xd3\x3f\xa3\xd0\x3a\x99\x5c\x02\x57\xf3\xed\x5e\x28\x18\ +\x0c\x3f\x03\x96\xa0\x1b\xd0\x6b\xce\x5d\x6a\x5c\x81\x52\x2e\x4d\ +\xaa\x57\x46\x9d\x0d\x18\x40\xcc\x91\x43\x57\x73\x30\x82\x1e\xe2\ +\xd7\xaf\x91\x4f\xf8\xb8\x75\x01\xaa\x9b\x29\x04\xda\xed\x16\xcd\ +\x56\x93\x56\xbb\x4d\x34\x1a\xa5\x5e\xaf\x53\x2c\x16\xf9\xd4\xa7\ +\x3e\xc5\x81\x03\x07\xd9\xb5\xeb\x69\xf6\xec\xd9\x4d\x3e\x9f\x27\ +\x1e\x8f\x11\x8d\xc6\x82\xb1\x84\x66\x4d\xa4\x74\x6a\x13\x11\x86\ +\x16\xa6\xe1\xe7\x08\x34\x9a\x5f\xab\x4d\x24\x68\xdd\x74\xf4\xd2\ +\x4d\x62\x09\x15\x00\xa6\x41\xf7\xa2\x66\x91\x58\x67\x47\x18\x18\ +\xc0\x46\x1d\x13\xdb\xf1\xbf\x52\xe3\x07\xbc\x1c\xbe\x03\xdc\x04\ +\x9d\x1a\xbf\x20\xbb\xd6\xf1\xd1\x85\x42\x91\xa9\xf1\x31\xb2\x96\ +\xc5\x4c\xa9\xc4\x8d\x37\xde\xc8\x23\x8f\x3c\xc2\xe2\xc5\x8b\x59\ +\xbc\x78\x09\x95\xca\x20\xd9\xec\x05\x1c\x38\xf0\x0c\xfb\xf7\xef\ +\x61\x7c\x7c\x82\x6c\x26\x4b\x34\x16\x05\x04\xcd\x66\x83\x46\xa3\ +\x81\x94\x12\x43\x18\x98\x96\x89\x69\x18\x08\xc3\xf0\x4b\xc4\x02\ +\x89\x23\xcd\x95\xf8\xda\xd3\x05\xf4\xe8\x62\x1f\x3d\x06\x14\x29\ +\x02\xa1\x6f\x37\x43\xa9\xa4\x13\x4e\xd2\x05\x84\xdf\xe7\x18\x80\ +\x40\x68\xa7\x5b\x03\x9d\x25\x53\x74\x13\x2c\xc1\x74\xad\x4e\xf0\ +\xf9\x17\x58\x2a\xaa\x95\x19\xd6\xc4\xe3\xcc\x4b\x26\x39\x16\x0a\ +\xb1\x6c\xd9\x32\x16\x2c\x58\xc0\x73\xcf\x3d\xc7\x4d\x37\xf5\x31\ +\x3e\xde\xcf\xd4\xd4\x0a\x36\x6e\xbc\x98\x0b\x2f\x7c\x85\x43\x87\ +\x76\xf0\xfa\xeb\xfb\x18\x1f\x1f\xf7\x85\xbb\x78\xf1\x62\xe2\xf1\ +\x38\xb5\x5a\x8d\x42\xa1\x40\xa5\x5a\xa5\xdd\x6e\x63\x08\x41\x24\ +\x1a\x25\x12\x89\x74\x5c\x90\x08\x96\x98\x3b\xd1\x80\x24\x68\x4e\ +\x82\x3c\x03\x52\x69\x89\x25\x8d\x75\xa4\xcb\x05\xe8\xc9\xa4\xb3\ +\x26\x0c\xec\x06\x58\x6e\xb6\xc4\x17\xbe\x6e\x36\x75\x57\xd0\x15\ +\x33\xeb\xdc\x81\x4e\xd0\xb4\x9b\x4d\x7a\xa2\x51\x6a\x8d\x3a\xcb\ +\xd7\xad\x25\x1a\x8d\xb2\x62\xc5\x4a\x5e\x78\xe1\x79\x4a\xa5\x02\ +\x7d\x7d\x8a\xe1\x61\x9b\xc7\x1f\x1f\xa0\xdd\x5e\x44\x6f\xef\x26\ +\x56\xac\xd8\xca\xc8\xc8\xb7\xd9\xbc\x79\x33\x1f\xbe\xf6\x5a\x16\ +\x2f\x5a\x84\x69\x18\xc4\xe2\x71\x84\x10\x14\x0a\x05\x8e\x1c\x39\ +\xc2\xee\xdd\xbb\xd9\xbb\x77\x2f\xe3\xe3\xe3\xc4\xa2\x31\x62\xf1\ +\x18\x86\x30\x5c\xdf\x7d\x0a\x21\xea\x7e\xdd\xa7\x80\x5d\xdd\x11\ +\xc1\x4a\xa8\x00\x2b\x84\x42\x6a\x5e\x41\x9c\x4d\x16\xa0\x93\xf2\ +\xd5\x76\x3f\x1a\x69\xa3\x82\xe0\x47\x2a\x27\x35\xac\x27\x5f\x82\ +\xc4\x4a\x27\xf6\x6f\xb5\x5a\x44\x2c\x8b\xe1\x66\x83\x95\xfd\x03\ +\xb4\xdb\x36\xb9\x6c\x96\x42\xa1\x40\xb1\x58\x20\x97\x6b\x72\xf5\ +\xd5\xa3\x6c\xdc\x68\x71\x62\x28\xcb\xd0\x89\x3e\x6c\xbb\x9f\xe5\ +\xcb\x97\xf3\x89\x4f\x7c\x82\x95\xab\x56\x12\x0e\x85\xb1\x4c\xd3\ +\x8d\xc1\x25\x0b\x17\x2e\x60\xe5\xca\x55\x5c\x79\xe5\x95\x0c\x0d\ +\x0d\xf1\xc2\x0b\x2f\xf0\xdc\xb3\xcf\x32\x74\xe2\x04\xa6\x69\x12\ +\x89\x44\x08\x59\x21\xbf\x7e\xd1\xab\x71\x0c\xec\x7a\x35\x3b\x51\ +\x85\x9a\x9d\xe1\xd4\x6f\x07\x73\x11\xa0\xce\x0a\x26\x50\xab\xb9\ +\x0f\xb0\x7e\x5e\x62\x47\x28\x3f\xa1\x23\xb4\x1d\xa1\xbc\x78\x5b\ +\xba\xb4\xb0\x6e\x09\xdc\xfb\x6c\xbb\x85\x68\xb5\x08\x03\x35\xdb\ +\x26\xe6\x82\x40\x61\x08\x9a\xcd\x26\xa5\x52\x09\xc3\x30\x1c\xff\ +\x6e\x54\x18\x18\x2c\x90\xcd\x8d\xb2\x6b\xd7\x2b\xf4\xf4\xf4\xb0\ +\x70\xe1\x42\x50\xd0\x6c\x36\x69\x81\xd3\x81\xea\xfe\x32\x0c\x83\ +\x4c\x26\xe3\x54\x0c\xaf\x59\xc3\x35\x57\x5f\xcd\x77\xbf\xf7\x3d\ +\x76\xee\xdc\x49\xb5\x5a\xc5\x30\x0d\x12\xf1\x04\x42\x38\xf5\x09\ +\xb2\x2b\xec\x0b\xe4\x14\x34\x4e\x40\xd2\x45\x2f\xab\x4e\x1d\x80\ +\xef\xee\xbc\xac\x95\x38\x5b\x2c\x80\x76\x51\x74\x02\x67\x16\x0b\ +\xa6\xb4\x74\xb1\x97\x37\x20\x58\x1c\xe2\xb1\x6f\x28\xb0\x6d\x09\ +\xb6\x4d\xb5\xd5\xa2\x06\xd4\x6a\x35\x1a\x8d\x3a\xad\x56\x0b\x21\ +\x04\x95\x99\x19\x22\x91\x08\x33\x33\x33\xd8\xb6\xc3\x15\x4c\x4d\ +\x4d\x50\x28\xec\x63\xf3\xe6\x8b\xb0\x2c\x8b\x56\xab\xe5\x0a\xbd\ +\x73\xb5\xf5\xdb\x08\x10\x08\xfa\xfb\xfb\x59\xbf\x7e\x3d\xe5\x72\ +\x99\x55\xab\x56\x71\xdf\x7d\x5b\xa9\x54\x2a\xc4\x63\xf1\x0e\x28\ +\xd4\x89\x4d\xff\x0f\xe1\x24\x87\xba\xbe\x67\x80\x31\x94\x1d\xa0\ +\xe8\xb1\xd1\xba\xd2\xbf\xcf\x31\x00\xc1\x5a\x7e\xcf\x07\xce\xba\ +\x28\xca\xcf\x8b\xf8\xf6\x60\x16\x08\xec\x38\x7f\x29\x9d\xc2\xd2\ +\x2a\xf0\x9c\x94\xc8\x6c\x96\xdd\x7b\xf6\x90\x4a\xa7\xa8\x54\xaa\ +\x98\xa6\xc9\x4b\xaf\xbc\x42\x2c\x1a\x45\x29\x45\xa9\x54\x62\x66\ +\x66\x86\x6c\x36\xcb\xe2\xc5\x4b\x59\xb9\x72\x25\x52\x4a\xbf\x1a\ +\xc8\x91\xb9\xf0\x7f\x77\x2b\x43\xdb\x6e\x33\x31\x39\x49\x7f\x7f\ +\x3f\x1f\xfb\xd8\xc7\xc8\xe5\x72\xfc\xc3\x3f\xfc\x03\xcd\x56\x13\ +\xcb\xb4\x4e\xd1\xd6\xd6\xc9\x40\x05\xaa\x8e\xd0\x29\xe2\x6e\x97\ +\xd0\x01\x0e\x4a\x9c\x15\x0a\x10\x20\xff\x83\x7c\x80\x17\xf6\x68\ +\x5f\x3c\x10\x05\xa0\xb1\x70\xc8\x00\x6b\xa6\x94\xa2\x56\xaf\x11\ +\x89\xc7\xd9\x78\xd9\x65\x5c\x78\xe1\x85\x3c\xfc\xf0\xc3\x3c\xfd\ +\xf4\x0e\x94\x92\x14\x8b\x45\x62\xb1\x18\xf1\x58\x9c\x68\x34\x4c\ +\xff\xc2\x7e\x56\xac\x58\x4e\x22\x99\x24\x1a\x8d\xd2\xd3\xd3\x43\ +\xb3\xd9\x74\x05\xac\xdc\xdf\x42\x53\x02\x47\x2b\xbc\x9b\x95\x4a\ +\x85\xe3\xc7\x8f\x73\xc1\x86\x0d\xd8\xb6\xcd\x96\x2d\x5b\x78\xed\ +\xb5\xd7\x78\xe2\x89\x27\xc9\xa4\xd3\x7e\xde\xdb\xc1\x03\xa2\xeb\ +\x7b\xca\xa0\x2d\x54\xce\x5e\xef\x60\x04\x81\x52\x76\x90\x7d\x14\ +\xef\x1e\x13\xf4\x2e\x85\x81\xcc\xca\x00\x7a\x05\x00\x5a\x1a\x48\ +\xdb\x11\x7a\xaf\x9e\x08\x90\x23\x52\x39\xfe\x7f\x7a\x3a\xcf\xe6\ +\x4d\x9b\xb8\xf5\xd6\x5b\x49\xa5\x52\x48\x29\xf9\xd9\xcf\x76\x93\ +\xcd\x66\xb9\xe6\x9a\x6b\xc8\x66\xb3\x98\xa6\x45\x4f\x4f\x8e\x58\ +\x2c\x86\x2d\x25\xa6\x61\x60\x9a\xa6\x0f\x20\x9d\x0e\x62\x81\x61\ +\xcc\xed\x02\xbc\xdb\x27\x4e\x0c\x51\x2a\x16\x19\x1c\x1c\xa4\xd5\ +\x6c\x82\x10\x5c\x7d\xf5\xd5\x3c\xf7\xdc\x73\x34\x5b\x4d\xc2\xa1\ +\x90\x9f\xc3\x50\x48\x2d\xa1\xa3\x50\x7e\x9b\xb2\xea\x28\xbb\x47\ +\x0d\xe3\x55\x41\x75\x6a\x23\xba\x01\xe4\xfb\xde\x05\x08\xa1\x02\ +\xb1\xb0\x5e\x19\xec\xed\x14\xc3\x30\xb0\x6d\xbb\x03\x02\x85\x0c\ +\xa0\xe2\x40\xac\x8c\xa2\xd5\xb6\x69\xb5\x5a\xac\x5e\xbd\x9a\x44\ +\x22\x81\x94\x92\xd5\xab\x57\xb3\x7c\xf9\x72\xa2\xd1\x28\xd2\xb6\ +\x41\x08\x2c\xcb\x44\x29\x45\xa3\xd1\x70\x94\xc7\x30\x68\x36\x9b\ +\x4e\x19\x94\x30\x5c\x6b\xaf\xed\xfa\x39\x14\x40\x4a\xc9\xde\x57\ +\x5f\x25\x99\x4c\x32\x6f\xde\x3c\x9a\x2e\xc6\x18\x1c\x1c\xe0\xfc\ +\x35\xe7\xf3\xca\x4b\xaf\xb8\x93\x4c\xd4\xac\xb1\x36\xbe\xca\xcb\ +\x4e\x07\xd1\xac\x2a\xe5\x59\xf4\xb4\x46\x7a\xbd\xef\x2d\x40\xa0\ +\x47\x3f\x98\x30\xf1\x2e\xd8\xbc\x25\x8b\x09\x25\x7b\x68\xd7\xcb\ +\xb4\xcb\x45\x9a\x95\x2a\xf5\x46\x83\x66\xb3\x05\xb6\xdd\x45\x04\ +\x39\xcf\x09\x99\x26\x21\x2b\xc4\xd0\xd0\x10\x9b\x36\x6d\x22\x14\ +\x0a\x03\x0a\xc3\x30\x68\x34\x9a\x3e\x82\x6a\xb7\xdb\x18\x86\x5b\ +\x7d\xa4\x14\xa6\x69\x82\x10\xd8\x4a\xa1\x64\x1b\x61\x88\x40\x53\ +\xa8\xae\x09\xc2\x41\x80\x94\xcb\x65\x0e\x1e\x3c\xc8\xea\x55\xab\ +\x09\x85\x42\x3e\xc8\x14\xc2\x60\xed\xda\xb5\xbc\xf0\xfc\x0b\x2e\ +\x63\x29\x02\x34\x70\xa7\x32\x48\x75\xed\x6e\x7c\x65\xf0\x72\x00\ +\x81\xc2\x14\x3d\xed\x7d\x36\xa4\x83\x03\x89\x9e\x00\x69\xe2\x88\ +\xf3\xfc\x6b\x6e\xa7\x69\x7c\x88\x91\x03\x8a\x7c\x7d\x0c\x15\x3b\ +\x4a\xbc\xf7\x30\xb9\xd0\x71\xec\xfa\x04\x63\x87\x8f\xf8\x51\x83\ +\x10\x20\x6d\x85\x30\x4d\xe6\xf5\xf5\xb1\x73\xe7\x2e\x6c\xdb\xe6\ +\xba\xeb\xae\xa3\xa7\xa7\x27\xd0\x51\x6c\x18\x06\xad\x56\x8b\x46\ +\xb3\xe1\x03\xb5\x7a\xa3\x4e\xb3\xd1\x24\x64\x59\x84\xc3\x61\x84\ +\x61\xf8\x3c\xbf\x65\x59\x44\x42\x61\x0c\xd3\x08\x60\x98\xd7\x5e\ +\x7d\x95\xca\x4c\x85\x15\x2b\x56\x60\xb7\x6d\x5f\xb1\xa5\x54\x54\ +\x66\x2a\x8e\x65\xb1\x25\xc2\xd1\x34\x0d\xbb\xa8\xae\x01\x15\xaa\ +\x53\xad\xac\x13\x61\x92\x39\x13\x5e\x67\x45\x18\xa8\x57\xfb\x06\ +\x0a\x26\x34\x66\xb0\xd5\x84\xa3\x87\x62\x34\x1b\x16\x4b\x2e\xc8\ +\x51\x9b\x59\x43\xa5\xa8\xb0\x43\x4d\x96\x5c\x54\x64\xe9\x25\x8f\ +\x31\x79\x74\x37\x33\xf9\x32\x96\x05\xf5\xd2\x34\xf5\x62\x89\x70\ +\x28\x44\x28\x6c\xb2\x73\xe7\x4e\x26\x27\x26\xb8\xe3\xce\x3b\x89\ +\x27\x12\x58\x86\x41\xa9\x54\xa2\x5c\x2e\x63\x48\x89\x85\xa0\x56\ +\xaf\xd1\xa8\x56\x49\x44\xc2\xc4\x42\x61\x0a\xcd\x26\xf5\x46\x03\ +\x25\x25\x91\x48\x84\x70\x24\x02\xe1\x30\x84\xc3\x44\x92\x49\x52\ +\xe9\x34\xf1\x58\x8c\x7a\xad\xc6\x9e\xbd\x7b\x19\x1c\x1c\x24\x97\ +\xcb\xd1\x6e\xb7\xfd\xb8\x7d\xcf\x9e\x3d\x3c\xfb\xec\xb3\x9a\xdb\ +\x98\x8d\xe8\x03\x3d\x89\x82\x4e\x53\x4c\x17\x59\xd4\x49\x30\x05\ +\x13\x4a\x67\x81\x05\xa0\x8b\xe9\xea\x28\xba\x07\x8e\x8f\x3d\xfb\ +\x20\xe7\x5d\x52\xc1\x6e\x35\x69\x54\x0d\x2e\xbc\xf3\x23\x1c\xd9\ +\x93\xe4\xd5\x1d\x11\xbe\xf7\x5f\x17\x30\xb0\xfc\x2e\x56\x6e\xfe\ +\x10\x7d\x6b\x05\xe9\xbe\x34\xc5\xc9\x3c\x33\xe3\x43\xb4\x6a\x87\ +\x99\xdf\xdc\xcf\xe0\x9a\x21\x46\x8e\xef\xe7\xfe\xfb\x7e\xc4\x45\ +\x1b\x36\x11\x13\x06\x21\x29\x19\xc8\x66\x89\x9a\x26\xc2\xb6\x49\ +\x67\x32\x64\xfa\xfb\x91\xb6\x4d\xa3\xd1\xc0\x02\xa2\xa1\x10\x48\ +\x49\xb9\x5a\xa5\x50\x2e\x53\x29\x16\xa9\x34\x9b\x94\x6d\x9b\xe9\ +\x48\x84\x44\x7f\x3f\x85\x5a\x8d\x89\x89\x09\x2e\xbd\xf4\x52\x2c\ +\xcb\x42\xa1\x68\x35\x5b\x1c\x3a\x74\x88\x6d\xdb\xb6\x31\x3c\x3c\ +\x4c\x2c\x16\x73\xc0\xa4\xec\x22\x79\x3c\x21\x4b\x02\x39\x7f\xed\ +\x41\x81\x14\x32\x5d\x2d\xef\x67\x89\x0b\x20\xd8\xdb\xa7\xc5\xbf\ +\x5e\xa8\x33\x7a\xe0\x20\x23\xfb\x0e\x20\x42\x16\xa9\x9e\x1c\x1b\ +\xae\xbb\x94\xda\xcc\xf9\xd4\x66\x60\xc5\x46\x45\xef\x60\x14\xa5\ +\xfa\x38\xb2\xb7\x49\xab\x15\x26\x9e\x5e\x40\x32\x3b\x88\x95\xbe\ +\x0c\xd3\x82\x9e\x95\x33\xac\xfc\xe0\x09\x7e\xfa\xc3\x2f\x31\x79\ +\xe8\x20\xbf\x71\xd5\x55\x64\xe3\x49\xec\x76\x1b\x4b\x08\x22\x96\ +\x45\xbb\xd9\xa4\xdd\x68\x38\x15\x37\x42\x60\xb7\xdb\xc8\x46\x03\ +\xbb\xdd\x26\xa7\x24\xb9\x70\x18\x29\x04\xed\x70\x98\x6a\xbd\xce\ +\x54\x65\x86\x57\x9f\x7b\x8e\xc7\x47\x46\x58\xb4\x62\x05\x8b\x16\ +\x2d\x42\x08\x87\x61\x3c\x7c\xf8\x30\x0f\x3f\xfc\x30\xc7\x8e\x1d\ +\x23\x1a\x8d\x62\x9a\x96\xdf\x78\xaa\x82\x5b\x3f\xa0\x08\x72\x96\ +\x55\x24\x58\x8e\xd6\xd5\x28\xa3\x84\x3a\x8b\x5c\x80\x36\x1a\x46\ +\x47\xcb\x81\xd1\x30\xcd\x26\xc5\xb1\x31\x5e\x7f\xf2\x49\x12\xd9\ +\x0c\x97\xdd\x22\x49\x26\x86\x38\xf1\xea\x3e\xa0\xcd\xc2\x05\x2d\ +\x92\xd9\x04\x43\xaf\x9f\xa4\x5e\x4c\x43\x74\x39\x6d\xce\x63\x6a\ +\xa4\x9f\x56\x73\x1d\x98\x5f\x60\xcf\xa1\xbf\xa3\xb4\xde\x20\x51\ +\x9d\x44\xd8\x2d\x9a\xd2\xa1\x89\xa5\x6d\x83\x6d\x23\xa5\x8d\x6a\ +\xdb\x28\xdb\xf9\x91\x52\x22\xdb\x6d\x94\xf4\xee\x93\x28\xdb\x26\ +\x27\x6d\x8c\xa9\x29\x1a\xe3\xe3\xa4\x36\x6d\x22\x12\x89\xd0\x68\ +\x34\xd8\xb3\x67\x0f\x8f\x3f\xfe\x38\x47\x8e\x1c\x21\x91\x4c\x12\ +\x72\xa3\x8c\x59\xc9\x2b\x37\xe1\x15\x74\x7f\x9d\xde\x86\xb9\xd2\ +\xc6\x81\x26\xd4\xb3\x06\x04\xa2\x27\xbc\xb4\x4c\x98\xcf\xf8\x75\ +\x62\x61\x0f\x31\xbf\xfa\xe8\x83\x9c\xb7\x69\x94\x5a\xb9\xc4\xc8\ +\xfe\x03\xa8\x96\x4d\xb3\x5e\xa3\xd9\x6c\x3a\x48\x3e\x14\xc2\x32\ +\x0d\xc2\xd1\x18\xd1\x44\x82\x85\xeb\x36\xb0\x70\xf5\x87\x99\x9a\ +\x58\xcb\x8b\xe6\xa7\xf9\xe1\x91\x29\xae\xe8\x7b\x95\x65\xf1\x03\ +\x44\xa6\x0e\x23\x6d\x89\xdd\x56\x8e\x70\xa5\x8d\xec\x52\x00\xff\ +\xb6\xdd\xb9\x7f\xa2\xd1\xe0\xa5\xf1\x71\xd6\x47\x22\xa4\x86\x86\ +\x38\x31\x34\xc4\xc1\x43\x87\xd8\xb1\x63\x07\xa3\xa3\xa3\xa4\x52\ +\x29\x0c\xc3\xe8\xb0\x97\x82\x00\xb6\x09\x94\xb8\x69\xcd\x1f\x52\ +\x06\x53\xda\x7a\x01\x8c\xe8\x2e\x4b\x17\x67\x0b\x06\x10\xc1\x24\ +\x90\x40\xb8\x4d\xa0\xb3\xc7\xb8\x81\x62\x66\x72\x8a\xdd\x8f\x3c\ +\xda\x35\x55\xac\x53\x80\xd1\x6e\x34\x68\x01\xd5\x4a\x15\x26\x27\ +\x19\x39\x7a\x94\xc4\xae\x67\x58\xb4\x76\x13\x57\xde\x7c\x2b\xe3\ +\xe3\x1f\xe0\x47\x7b\x2e\x24\x31\x32\xc2\xca\x99\x47\x59\x91\x7e\ +\x9d\x6c\xe1\x67\x84\xdb\x05\x54\xbb\x89\x6c\xdb\x48\xdb\x49\x36\ +\x75\x76\xbe\xab\x00\xd2\xa6\xd5\x6a\xb3\xab\x56\xa3\xda\x68\x70\ +\xc5\xbc\x79\x8c\x1d\x3d\xca\xbf\x7e\xe7\x3b\x4c\x14\x0a\xd4\xea\ +\x75\x52\xc9\x14\xc2\x34\x7c\x20\x13\x28\x21\xef\x4e\x78\x75\x36\ +\x7e\x47\xdd\xbb\xd2\xdc\x73\x65\x08\x95\x50\x67\x51\x59\x78\xc0\ +\x27\xea\xee\x80\xae\x2c\x61\x27\x33\x48\xd7\x85\xf1\x52\xaa\xca\ +\x9b\xc9\xe1\xa6\xe0\xbc\x8b\x5e\x9e\x9c\xe2\xb5\x27\x1f\x61\x62\ +\xff\x5e\x56\x5f\x79\x05\x8b\xef\xf8\x00\xca\xbc\x92\xe1\x97\x3f\ +\xca\xe8\x78\x81\x54\xfe\x49\x7a\x4b\xbb\xc8\x85\x4f\x92\xb0\x27\ +\x30\x2b\x53\xa8\x4a\x01\x51\x2b\x21\x64\xdb\x2d\x09\x13\xb4\x25\ +\xec\x93\x36\x87\xec\x36\x0b\x85\x60\xbc\x58\xe2\x67\xa1\x10\xd5\ +\x79\x69\xe2\x3d\x49\x12\x2a\x45\xb3\xd2\x70\x12\x51\xaa\xd3\x5e\ +\x26\xe6\x6a\x6c\xd5\x62\xff\xc0\xd0\x8a\x80\x35\x50\x81\xd1\xb7\ +\x4a\x2f\x36\x3a\x6b\xea\x01\x7c\x9a\x53\x2b\xbe\x0c\x74\x0c\x74\ +\x1c\x9e\xec\x46\xc6\x74\x3a\x6d\xfd\x52\x71\xa1\x55\xed\xba\x1a\ +\xe3\x59\xe0\xf1\x91\x51\xc6\xbf\xff\x03\x0c\xeb\xc7\x9c\x77\xd1\ +\xe5\x44\x52\x6b\x60\xe1\x66\xf2\xbd\x1f\xe3\xc4\xc9\x8f\x62\x95\ +\x4f\x92\xa9\x1f\xa2\xa7\xf5\x1a\xe9\xea\x3e\xc2\xa5\x13\xa8\xe9\ +\x31\xc8\x4f\x60\x19\x2d\xa6\x65\x89\xa7\xec\x2a\x93\x18\x84\x12\ +\x59\x4e\x0e\x0c\x10\xdf\xfc\x71\xce\x8b\x5e\x8b\x65\x8c\x81\xbd\ +\x8f\x56\xfd\x00\xf5\x99\x61\x86\x5f\x7b\xdd\x25\x9d\x64\xa7\xe7\ +\xc0\xff\xb6\xba\x89\x97\xc1\x56\x20\xbd\x32\xaa\xcb\x35\xfa\x5b\ +\xc0\xab\x3e\x3a\x5b\x92\x41\xdd\x7e\x31\x38\x7d\x43\x06\x4b\xa5\ +\xb4\x4e\x60\x9d\x3f\x57\xdd\x54\x6b\x17\xa8\xd4\x9b\x37\xda\xad\ +\x16\x87\x9e\x7b\x1a\xcb\x78\x86\xde\x81\x41\x56\x7d\x70\x0b\x62\ +\xe9\x00\x95\x99\x01\xf2\xd3\x03\xec\x2b\x6d\xa6\x59\xca\x62\x36\ +\x2a\xc4\x6b\xc7\x09\x4f\x1e\x40\xd9\x0d\x0e\x17\xe1\xf0\x58\x13\ +\x61\x16\x18\x59\xd4\xe2\xe2\xbb\x36\x70\xfe\xc5\xd7\x70\xe8\xa5\ +\x08\xa1\xb0\x81\xe2\x36\x62\x89\x36\x99\xbe\x22\xf9\x13\x8f\x71\ +\xf2\xf0\x53\x4c\x0f\xed\x63\xe8\xc0\x41\x64\xbd\xae\xf5\x2d\xcc\ +\x51\x21\x4c\x97\x6b\x08\x00\x41\x1d\x2f\x74\xbb\xc5\xb3\x01\x04\ +\x2a\x8d\x0b\xe8\x4a\xef\xaa\xae\x2e\x21\xbd\x71\x6b\xce\x36\x2f\ +\xd5\x29\xc7\xf6\xe7\x0a\xa8\x20\xaa\x16\x80\x6c\xb7\x69\x28\xc5\ +\x89\xc3\x47\x38\x71\xe8\x10\xc2\xb2\x48\xf4\xcc\x23\xdd\xbb\x90\ +\x74\xdf\x20\xf1\xe5\x03\x58\xd1\x05\xd8\x0c\xd0\x56\x1b\x90\xf6\ +\x3c\xb2\x07\x5e\xe6\xd7\xd6\x0f\x50\x2b\x0b\xa6\x46\x2c\xa6\x87\ +\xfb\x79\xe2\x70\x04\x25\x05\x89\xb4\x22\xd3\x2b\xa8\xcf\x84\x38\ +\xba\xb7\x97\x56\xf3\x4e\x72\x7d\x5b\xb8\xf0\x8e\x93\x2c\x1d\xba\ +\x9f\x57\x9f\xbc\x9f\xd1\x23\x47\xe8\x50\xfb\xaa\xcb\xb2\x05\xbb\ +\x81\x3a\x43\x28\xba\x9a\x62\x82\x55\x14\xef\x7f\x2a\x38\x30\x0e\ +\x45\xa3\x41\x03\xa0\xc8\x4b\x83\x77\x0f\x72\xd2\xad\x80\x26\xe8\ +\xb9\xe2\x6c\x3d\x79\x26\x03\xa1\x94\xbb\xe3\x5a\x6d\x8a\x27\x4f\ +\x52\x3c\x39\x8a\x52\x2f\x3a\x11\x45\x38\x42\xba\xb7\x8f\xbe\x45\ +\x03\x64\x7b\x7b\x90\xc5\xfd\x1c\x7f\x3e\x45\x38\x91\x22\x62\x85\ +\x49\xcf\x5f\x42\x24\x39\x88\xdd\x1e\x20\x14\xff\x00\xd5\x72\x9a\ +\x74\x4e\xb0\xf1\x1a\x85\x15\x0a\xf3\xd2\x23\xfd\x3c\xf7\xd0\x00\ +\x03\x2b\x37\x72\xdd\xff\xfc\x51\x8a\x27\xb7\x31\x76\xec\x75\x46\ +\x0f\xee\x63\x78\xdf\x7e\x5a\x8d\x46\x30\xb3\x17\xe8\x25\xf4\xd2\ +\xbf\x02\x0d\x42\xfa\xd4\xb0\x38\x3b\xa8\x60\xa7\xc6\x45\xa8\xe0\ +\x90\x87\x40\x57\xaf\xeb\x06\xf4\x96\x3d\xbc\x9e\x3b\x85\x56\x0f\ +\x40\x57\xbb\x98\x4b\x96\x74\x51\xab\x4a\xe8\xe5\xda\x72\x96\xe5\ +\xd1\x71\x46\xbb\x51\x67\xea\xc4\x71\xa6\x86\x8e\xf9\xe3\x69\x0c\ +\x61\x62\xb7\xdb\x81\x1d\x18\x4b\xf7\x70\xfe\x95\x37\x92\x9e\x7f\ +\x25\xb5\x99\x2d\x3c\xf6\x9d\x1c\x86\x09\x33\x05\x90\x36\xbc\xf0\ +\x50\x88\xdd\x4f\xac\x63\xf5\x25\x2b\xe9\x1d\x28\xb1\xea\xe2\x09\ +\xc6\x8f\x3d\xc0\x91\x97\x1f\x61\xf2\xd8\x71\x26\x46\x46\xba\xe6\ +\x1a\x76\x98\x71\x81\xdd\xe9\x33\x40\xc3\x47\xf2\xac\x50\x00\xa7\ +\x40\xc2\x1f\xe3\x4a\x70\x50\x93\x0e\x0e\xd5\xac\x5d\xe2\x0d\x89\ +\xf6\xb2\x79\xda\x6b\x48\x15\xcc\xa7\x4b\x6d\x17\xc9\xd9\x53\x45\ +\xf4\x41\xd3\xcc\x39\xdf\xa7\x43\xcd\xd9\xb2\x1d\x9c\x14\xa2\x14\ +\x33\xf9\x09\x5e\x79\xe8\x5f\x48\x65\x1f\x64\xfd\xd5\x57\xb3\xee\ +\xb2\x2b\x68\x36\xaf\xe5\x85\x6d\x7d\xa4\x72\x8a\x5f\xf9\xbf\x25\ +\xa5\x89\xa3\x1c\x7a\x69\x98\xe9\xd1\x7e\xc6\x8e\xad\x40\x18\x9f\ +\x65\xe5\xa5\x9f\xe4\xe2\xdb\x5e\xe6\xa5\x87\xbe\xc6\xfe\x67\x9f\ +\xa5\x56\xa9\x76\x35\xb8\xb8\x35\x04\x73\x25\xca\xce\x06\x10\x18\ +\x28\x6f\xf6\x26\x84\xfb\xa2\xf3\x06\x43\x11\x14\x8a\x2f\x35\x9d\ +\x5c\x97\x5d\x8f\xe9\x6e\x1d\x93\xb3\xbb\x8d\xb4\xb2\xac\x40\xd5\ +\xed\xac\x71\xb1\x04\x53\xb5\x74\x0f\x8a\x72\x6b\x10\x5a\x4d\xa6\ +\xc7\x27\x79\xe2\x5f\xfe\x15\xc3\xfa\x1f\x6c\xba\xee\x76\xae\xb8\ +\xe3\x77\x18\x3b\xbe\x99\xe2\x38\x08\xb5\x93\xbd\x4f\xfc\x35\xe9\ +\xbe\x01\x56\x5d\x7c\x23\xb9\xfe\xeb\x98\x1a\x59\xc6\xd1\x57\x6f\ +\x60\xf5\xa5\x0b\xc9\x0d\xfc\x7f\x3c\xfe\x9d\x7f\xf4\x47\xca\x74\ +\xbd\xf9\xac\x21\x16\xef\x56\x4d\xd8\x99\xef\x0c\x52\xf0\xd1\x8f\ +\x7e\x94\xc9\xc9\x49\x8e\x1d\x3b\xce\xb1\x63\x47\x69\xb5\x5a\x01\ +\x2b\x20\x08\x5a\x04\xa9\xa7\x90\xbb\x5c\x47\xb0\x7f\x50\x05\x6a\ +\xe9\xba\xe7\xff\x05\xe6\x02\xcd\x72\x0b\x9e\x0d\x9e\xdd\x96\xe5\ +\x4f\x20\x21\x98\xd2\xf5\xdc\x87\xdd\x6a\xb1\xfb\xd1\xad\x54\xa6\ +\x8e\x73\xc5\xaf\xff\x1f\x24\x32\x6b\x39\x79\x78\x8a\xf1\x63\x07\ +\x18\x3b\xba\x9f\xa3\x2f\x3f\x4d\xdf\xe2\xff\x97\x75\x57\xdf\xce\ +\x79\xeb\x3f\x45\xbd\xb2\x81\x0f\x7f\xf2\x33\x1c\x78\x61\x07\xc7\ +\x5f\xdd\x1f\xa8\x05\xea\x06\xc4\x3a\xaf\x70\x16\x44\x01\xce\x17\ +\xb9\xf6\xda\x6b\x81\x4e\xe5\x6e\xa9\x54\xe6\x85\x17\x5e\x60\xd7\ +\xce\x5d\x4c\x4e\x4d\x6a\x03\x17\x3a\xe0\x50\x11\x1c\x98\xd0\x4d\ +\x9d\x2a\x8d\x20\xf2\x98\x00\x5d\x01\x82\x63\x64\x35\x4c\x0a\x41\ +\xa5\x92\x5d\xc3\x19\xf4\xf2\x2d\x08\x8c\xb1\xd1\x3f\x4b\xa3\xd1\ +\xe0\xb5\x5d\xcf\x51\x2b\xfd\x01\x03\x6b\xce\xe7\xf8\x6b\xfb\xfc\ +\xcf\xd8\x6a\x36\x39\x71\xf0\x10\x63\xc7\xff\x86\xf5\x57\xbd\x46\ +\xef\xd2\x2b\xd8\xbf\x2b\x44\xa5\x50\xc6\x6b\x15\x51\x2a\x48\x86\ +\x49\x6f\x7e\x51\x20\xac\x7d\x37\x58\x9a\x33\xbc\xf6\xee\xdd\xab\ +\x66\x75\xfc\x6a\xbb\x0b\x60\xcf\x9e\x3d\xec\xd8\xb1\x83\x83\x07\ +\x0f\xd1\x68\xd4\xa9\xd5\x1c\xee\xdf\x8b\x22\xfc\xe1\x90\x6a\xae\ +\xea\xdb\x0e\x23\xe7\x44\x18\xc1\x69\xe1\xc1\x8a\xdd\xce\x40\x48\ +\xa1\xf1\x10\xdd\xa3\xec\x83\x25\x5b\xc1\x2a\x9d\x40\xab\xb7\x74\ +\x89\x29\xe9\x94\xbe\xd9\xf6\x6c\x66\x13\x70\x2a\x91\x0c\x41\xb3\ +\x56\x0f\xce\x1f\xec\x9a\x63\xe4\x09\xfe\x27\xf7\xfe\x04\x14\x8c\ +\x8e\x8e\x02\xef\xe3\x39\x81\x00\xeb\xd7\xaf\xf7\x3f\xfc\x9e\xdd\ +\xbb\x55\xb0\x87\xde\xb9\xaa\xeb\xd7\xaf\x67\xdd\xfa\x75\xa0\x60\ +\x7a\x7a\x9a\x23\x47\x8e\x70\x72\x74\x94\x91\xd1\x51\x0e\x1c\x38\ +\xc0\xc4\xc4\x44\x40\x48\xb3\x48\x14\x8d\x5d\x54\x5d\xe6\x5f\x31\ +\x3b\x04\xeb\x9e\x0c\xa2\xe6\x18\xd7\xa2\x54\x70\x27\xce\x6a\xe6\ +\xec\x9a\x5b\xe0\xe5\x2b\x02\xed\x62\xae\xa1\xb7\x9b\xb6\x86\x7c\ +\xdc\x91\x71\xee\xae\xf7\x46\xc8\xe9\x6e\x4f\xaf\x18\x3a\x0b\xa8\ +\xe0\xce\xda\x70\xc1\x05\xe2\x8e\x3b\xef\x14\x7d\xbd\xbd\xc6\xd4\ +\xe4\xe4\xbf\x35\x2d\xeb\x2b\x7f\xfc\xc7\x7f\x9c\xd3\x95\x22\x97\ +\xcb\x91\xcb\xe6\xe0\x42\x45\xab\xdd\xa6\xd1\x6c\x3a\x79\xf8\x43\ +\x87\x78\xfa\xe9\xa7\x79\xf1\xc5\x17\xbb\x84\xaf\xba\xce\x04\xe8\ +\x1a\x25\xe7\x0d\x8d\xea\x2e\xbc\xd0\xa7\x81\x30\x57\x31\x46\x30\ +\xa2\x10\xba\x9f\xee\x9a\x2b\x30\xab\xf5\x5b\xea\x60\xb2\x6b\x0e\ +\x82\x3b\x1e\x5f\x2f\x10\xf1\x8f\xcd\x11\xef\x7e\x7b\xf8\xbb\x36\ +\x98\xf8\xb6\x5b\x6f\x8d\x18\xa6\x99\x32\x4c\xf3\xdf\x98\x86\xf8\ +\xaf\x86\x61\x46\x84\x10\x01\x22\xe8\x0b\x7f\xf8\x85\x2e\xbe\x7c\ +\x8e\x49\x63\xc0\xd4\xd4\x14\xbb\x76\xed\xe2\x85\x17\x5f\xa0\x90\ +\x2f\x30\x33\x53\xa1\x52\x9d\x99\x63\x32\x68\xf0\x9c\xa1\xe0\x54\ +\x70\x3d\xcc\xd4\x14\xc1\xc5\x04\x92\xee\x53\x4a\xba\x40\xa9\xc7\ +\x39\xb8\xa3\xe1\xbc\x71\xf5\xde\x70\xea\x59\xc0\x54\xab\x05\x08\ +\xcc\x4c\xd6\xba\x8a\x3d\x8b\x70\xdf\xbd\xf7\xa2\x14\x8c\x8d\x9d\ +\x3c\xe3\x2e\xe0\x8c\xbd\xf0\x6d\xb7\xdd\x66\x6c\xdd\xba\x55\xde\ +\x74\xe3\x4d\xd1\x48\x2c\xb2\xc2\x10\xc6\x47\x85\x10\x7f\x60\x59\ +\x66\x64\x16\x20\xeb\xea\xaf\xd7\x51\xfc\x17\xbf\xf8\x47\xc1\x69\ +\xdb\xba\x32\x28\x68\xb5\xda\x0c\x0d\x1d\x67\x68\x68\x88\xf1\xf1\ +\x71\x0e\x1c\x38\xc8\xbe\xfd\xfb\x68\xb7\x5a\xc1\xe9\xe0\x7e\x2d\ +\x82\x0a\xe4\x15\xfc\xbc\x84\x9a\xbb\x50\x23\x78\xd2\x89\xb3\xbd\ +\x75\xa5\x72\xac\x83\x17\x91\x48\x37\xae\x0f\x4e\x34\x0f\x64\x02\ +\x5d\x0b\x10\x1c\x20\x11\xc4\x35\xf7\xdd\x7b\x1f\x4a\x28\xc6\x4e\ +\x8e\xbd\xff\x14\xe0\xd6\xdb\x6e\x33\xee\xdf\xba\x55\x02\xdc\x71\ +\xc7\x1d\x1f\x36\x4c\xe3\x0e\x21\xc4\xa7\x0c\xc3\xcc\x18\x62\x76\ +\xbf\x43\x80\xf8\xe8\x02\x79\xfe\x64\x6e\x6d\xee\xff\x9f\xfc\xc9\ +\x9f\xcc\x1a\x23\xe3\x25\xcf\xa4\x72\x1a\x3e\xda\xed\x36\x85\x42\ +\x81\x5d\xcf\xee\xe2\xc9\x27\x9e\x64\x6c\x6c\x2c\x70\x1e\x41\x37\ +\x01\x75\x6a\x61\x04\xcf\x30\xf0\x4f\x3d\x11\x32\x38\x77\x30\x70\ +\xba\x59\xd7\x99\x87\x4a\x06\x7a\x1b\x65\xd7\x89\x67\xfe\x61\x17\ +\x6e\x26\x51\x4a\xc5\x7d\x5b\xef\x03\x05\x63\x63\x41\x05\x50\x4a\ +\x89\xfd\x8f\x3d\x96\x4e\xf6\xf6\xa4\xc3\x89\x64\xb5\x77\xf9\x8a\ +\xbc\x10\x42\xbe\x27\x14\xe0\xd6\x5b\x6f\x4d\xdf\x7f\xff\xfd\x25\ +\x77\xf7\x7f\xda\x0a\x99\x97\x80\x71\xb3\x21\xc4\x7c\x61\xe8\xd3\ +\x31\xbc\xe4\xad\x60\x56\xbb\x58\x80\x14\xd2\xd1\x79\x37\x8b\x28\ +\xfd\xbf\xff\xec\xcf\xfe\x3c\xe0\x1e\x4e\x65\x2d\xf6\xec\xde\xc3\ +\x8e\x1d\xcf\x70\xf0\xe0\x61\x2a\x95\x19\x8a\xa5\x22\x4d\xb7\x87\ +\x40\x37\xcd\xdd\x8a\xe0\x09\x1d\x4d\x58\x9d\x91\x6e\xce\xf1\xb5\ +\x7e\x37\xd0\x5c\x5c\x85\x0c\x0e\x99\x54\x1a\x23\xa9\xf4\x1a\x09\ +\x8d\xcf\xb8\xf7\xbe\xfb\x40\x29\x7f\x90\x85\x78\xe2\x49\xf3\xe6\ +\x7b\x3e\xd7\x27\xda\x8d\xeb\x0c\xd5\x5c\x25\x22\x89\xd7\x6d\xac\ +\x5d\x0b\xd7\xae\x1b\x12\x42\xd8\xbf\x50\x05\xb8\xe5\xe6\x5b\x22\ +\x0f\x3c\xf8\x40\x03\xe0\x96\xdb\x6e\xfd\xdf\x2d\xc3\xbc\xd1\x30\ +\x8c\xcb\x10\x22\xee\x56\x4b\x13\x6c\x76\xed\x08\x7e\x56\x5c\xaf\ +\x82\x39\xf2\xd9\x08\x3d\x38\xbe\x55\x2a\x85\x21\x0c\x96\x2f\x5f\ +\xc6\x85\x17\x5e\xe8\x87\x5c\xeb\xd6\xad\xeb\x4c\xef\x56\xcc\x9a\ +\xcd\x33\x9d\xcf\x73\xfc\xd8\x31\xc6\xc7\xc7\x39\x76\xec\x18\xbb\ +\x77\xef\xe6\xe4\xe8\x68\x67\x54\x6d\x57\x0e\xa1\xc3\x23\x74\x15\ +\x76\x28\x15\x18\x71\x1f\xc0\x10\xdd\xe7\x21\xf8\x84\x92\xf3\xda\ +\xb3\xb3\x98\x9d\x5c\xe8\xbd\xf7\xde\x07\xc0\xf8\xf8\x18\x4a\x29\ +\x6e\xf9\xc0\xa6\xdb\xa3\xa2\xf6\x09\x53\xd5\x97\xce\xb4\x12\x7f\ +\x6b\x1b\xe1\x1f\x2f\xbd\xf8\x92\xf2\x7b\xc6\x05\xdc\x72\xcb\xad\ +\x5f\x32\x4d\xe3\xd7\x0d\x21\x06\x95\x10\xb1\x4e\x7f\xa5\x98\x8b\ +\x1b\x74\xf7\xbf\x98\x2d\xf8\x80\x6f\x26\xd0\x7a\xad\xe6\x12\x8a\ +\x52\x2c\x5b\xbe\x8c\xcb\x2e\xbb\x6c\xd6\x67\x32\xdc\x3e\x40\xd3\ +\x34\x39\xef\xbc\xa5\x9d\xd7\x14\xba\x95\x01\x29\xdb\xb4\x5b\x6d\ +\xda\xb6\xcd\xeb\xfb\xf6\xf1\xd8\xa3\x8f\xf2\xec\xae\x5d\xb4\x6c\ +\x89\xd0\xa7\x97\xca\x2e\x1e\xc1\x3f\xf8\x42\x06\x07\x5b\xf9\x55\ +\x4f\x4a\x43\xfd\xfa\x78\xb9\x2e\xab\xa2\x9d\x87\xe4\xad\x7b\xef\ +\xbd\x0f\x85\x64\x62\x7c\x82\xfe\x4c\x92\x0f\xad\x4c\xee\x17\x28\ +\x2b\xdf\xcc\xfd\xf1\xa2\x4b\xb7\x7c\xfb\xad\xc8\x64\xf4\xb5\xd7\ +\xa2\x91\x64\x22\xdb\xb3\x78\xc9\xc9\x33\x12\x06\xde\x78\xe3\xf5\ +\x71\xc3\xb0\xbe\x60\x18\xc6\x67\x84\x10\x49\x50\xa2\x63\xaa\x45\ +\xe7\xe8\x56\xe1\x76\xcc\x0a\xad\xd0\x45\x68\xf5\x72\x5e\x85\x8f\ +\x50\x01\x26\x0c\x9d\x0e\xd6\xf2\xe6\xdd\xd9\xbd\x0d\x1b\x36\xcc\ +\xad\xd9\x02\x7f\x72\xe8\x89\x13\xc3\x18\x86\x89\x69\x1a\xf4\xf5\ +\xf5\x05\x4a\xb3\x0d\x61\x12\x0a\x1b\x84\x94\x62\xf3\xa6\x4d\x6c\ +\xde\xb4\x09\x50\xe4\xf3\x05\x9e\x79\xe6\x19\x5e\x7c\xe9\x45\xa6\ +\x26\xa7\x9c\xa9\x23\xa5\x62\x90\xb6\x65\xf6\x79\x03\x5e\x16\x74\ +\x16\x4e\x51\x81\xd0\xc6\x1b\x23\x3d\x37\xe9\xeb\x30\x4b\x2c\x48\ +\x27\xb9\x68\xa1\x20\x2e\x4a\x2b\xa7\xda\xfd\xff\x3d\x32\x6f\xc1\ +\x03\x6f\x55\x3e\xe1\x78\xdc\x34\x4d\x71\x69\xfe\xf8\xd1\xf1\xdc\ +\x92\xf3\x76\x9e\x16\x05\xb8\xf6\xda\x6b\xc3\xa1\x50\xa8\x57\x29\ +\xf5\xbf\x08\x21\xfe\xd0\x4f\x5a\xab\xce\x44\x5f\xe8\xcc\x52\xf2\ +\x67\x04\x6a\x8f\xd1\x07\x40\xa2\x1d\xe1\x8a\x9c\x63\x72\x68\x37\ +\x00\xf3\xfa\xed\xb5\x38\x31\x16\x8b\xbd\xa1\x71\x13\x78\x53\x3f\ +\x04\xc2\x10\xe4\xf3\x79\x7f\x72\x88\x94\x12\xdb\x2d\x0d\xef\xf3\ +\xce\xf9\x71\x5f\x3b\x9b\xcd\x70\xcb\x2d\xb7\x72\xcb\x2d\xb7\x60\ +\xb7\xdb\x0c\x0d\x9f\x60\x64\x64\x94\xb1\x93\x63\xec\xd9\xbd\x9b\ +\x9f\xed\xfe\x99\x5f\xa9\xac\x02\x8c\x9e\x98\xfb\x54\x11\x9f\x96\ +\xd6\xe6\x03\x48\xc5\xa9\x66\x41\xc4\x2c\x93\x65\xbd\x16\x7d\xd6\ +\x38\xcd\x76\xef\x64\x43\xc5\xee\x5d\xb4\x62\xe5\xd4\x5b\x95\xd5\ +\xbc\xa5\x4b\x2b\x85\xa1\x63\x4d\x93\xf6\xc7\x27\x0e\x1e\x1c\xee\ +\x5b\xb9\x72\xe8\x1d\x29\xc0\xf5\xd7\x5f\x7f\x99\x52\xea\x36\x29\ +\xe5\x17\xbd\x9d\xe5\xc5\xae\x9e\x1e\x08\x70\xd2\xbf\xae\x06\x08\ +\xf7\xdf\xfc\x0b\x83\x97\xfc\x11\x9d\x01\x0a\x10\x2c\xde\xe8\x3e\ +\x05\xdc\xf7\xb3\x22\x30\x7c\xc9\x5b\x13\x13\x13\x2c\x58\xb0\x60\ +\xee\x44\x14\x5d\xd3\xb9\x11\x08\x04\x86\x10\x08\xd3\xec\x80\x4d\ +\x21\x38\x79\x72\x94\x76\xbb\x8d\x6d\xdb\x2c\x5e\xb2\x58\xcb\x65\ +\x28\x0c\xd3\x64\xe9\x92\xa5\x2c\x59\xb2\x14\x25\x25\xb7\xdd\x7e\ +\x2b\xca\x56\xe4\x0b\x05\x7e\xfa\xd3\xa7\x78\xe4\x91\x47\x38\x71\ +\xe2\x84\x4e\xe7\x9d\xa2\x68\x45\xf9\x16\xef\xcd\x7a\x40\x73\x21\ +\xc1\xa2\x68\x1e\xc3\xae\xd2\xb0\x62\xc3\x6d\xa9\xf6\xbe\x5d\x2b\ +\x6d\x84\xa3\xaf\x19\xf5\xea\x7f\x08\x85\xc2\x37\x28\xa5\xbe\x21\ +\xc4\xec\x1c\xf3\xdb\xb1\x00\x3b\x63\xb1\x18\xe5\x99\x19\x84\x00\ +\xcb\x34\x11\xc2\x9b\xa7\xd7\xf1\xf5\x4e\x38\x27\x5c\x7b\x20\x02\ +\x47\xa8\x09\x81\xa9\x0a\x8a\x9e\x00\x00\x17\xf5\x49\x44\x41\x54\ +\xe6\xff\x82\x61\x20\xa2\xab\x4c\x4c\x0f\x0b\x99\x5d\x25\xec\xad\ +\x97\x5e\x7a\x89\xeb\xaf\xbf\xde\x6d\xd1\xd6\x53\xd1\x9a\xa5\x91\ +\x0a\x0c\xef\x35\x9c\xd1\xf4\xaa\xab\x31\xc5\xc3\x2c\x02\xc1\xb1\ +\x23\xc7\xb4\x93\x49\xe0\xbc\xa5\x4b\x03\x8f\x31\x0d\x13\x0c\xe8\ +\xed\x9d\xc7\x47\xee\xfa\x08\x1f\xb9\xeb\x2e\x3f\xd2\xd8\xb9\x73\ +\x27\x87\x0e\x1f\x22\x9f\x2f\x30\x39\x39\x41\xdd\xad\x15\x0c\x4c\ +\xff\x7c\x93\xfe\xff\x88\x69\xd2\x1f\xad\x11\x69\x4f\xb9\x35\x93\ +\x46\x49\xb6\xed\xd2\xdb\x47\x78\xa2\x88\x10\xca\xa2\x7d\xe7\xf8\ +\x81\xfd\x3f\x02\xa6\xdf\x89\x02\xa8\xdb\x6e\xbb\x4d\x4c\x4c\x4e\ +\x50\x2c\x14\x19\x3b\x79\x92\xb1\xf1\x71\x6a\xb5\x1a\x86\x0b\xb6\ +\x9c\x21\x8b\x02\x03\xa1\x75\x4b\x3b\x43\x12\x02\xe7\xfd\xd0\x19\ +\xc3\xaa\x6f\xd9\xee\x6a\x19\xfd\x74\xcf\x53\x7f\x47\xc1\x8e\x1d\ +\x3b\xb8\xea\xaa\xab\x02\xf7\x3b\xd3\xc6\x84\x7b\x58\x95\x44\x48\ +\xe9\x0a\xd8\x1b\xcd\xea\xf4\xfe\x4b\xbd\x4c\xdd\x35\x63\xdd\xef\ +\x78\xf4\xd8\x31\xff\x76\x3e\x9f\xe7\xc1\x07\x1f\xe4\xf3\xf7\xdc\ +\xe3\xba\xb9\x4e\x2a\x7f\xc3\x86\xf5\xac\xdf\xb0\x1e\x14\xe4\x8b\ +\x79\x46\x86\x47\x18\x1f\x9f\xe0\xe0\xc1\x03\x3c\xff\xfc\xf3\x0c\ +\x0d\x0d\x05\x94\xff\x54\x8e\x2b\x6a\x0a\x72\xc6\x14\xd4\xab\x60\ +\x45\x41\x49\xcb\x0c\x87\xcd\xb7\x2b\xff\x66\xa5\x12\x8a\x99\x44\ +\x42\x46\x73\x8d\x9d\xea\x59\x09\x3c\xfb\x8e\x30\xc0\xda\x75\xeb\ +\x58\xd9\x6c\x51\xaf\xd7\x28\xbb\x1d\xb8\xe5\x99\x19\x46\x47\x47\ +\x19\x1a\x1a\x72\x09\x17\xe5\xa2\x6f\xcb\xf1\xbb\xee\x45\x97\x5d\ +\x05\x22\xaa\xcb\x5e\xfb\xcd\x10\x81\x98\xfe\xcd\x79\xf1\xe9\xe9\ +\x69\xa6\xa7\xa7\xb9\xef\xbe\xfb\xd8\xb2\x65\x0b\xb9\x5c\x2e\x98\ +\xad\x43\x22\x85\x81\xc7\x97\x28\xb7\x3f\xd0\x19\xfe\xe0\x0d\x9d\ +\x94\x6e\x2c\x2e\xdd\x90\xed\xd4\xef\x9b\xc9\x64\x00\xf8\xbf\xfe\ +\xcb\x7f\x09\xdc\x7f\xf7\xe7\x3e\xd7\x89\x32\x50\x64\x33\x59\x32\ +\x99\x0c\x6b\xd7\xae\xe5\xaa\x0f\x7d\x90\xdf\xfc\xad\xdf\xc4\xb6\ +\x25\x7b\xf7\xee\x65\xdb\xc3\x0f\xb3\x63\xc7\x0e\x27\xe3\xd9\x2d\ +\x10\xcb\x22\x6e\x2a\xc2\x34\xa0\x5d\x07\x61\x60\xd1\x9c\x67\x9a\ +\xc6\x7c\x60\xe4\xed\x65\xe3\xe5\x3c\x43\x35\x07\x0c\xd5\xea\x11\ +\x52\xae\x7e\xc7\x0a\xd0\x6a\x36\x69\xb5\x5a\x98\xa6\x49\x36\x97\ +\x23\xd7\x93\x43\x4a\xc5\xf2\xe5\x2b\x68\x34\x6a\x34\x1a\x0d\xf2\ +\x79\x67\xd0\xe2\xd1\xa3\x47\x7d\xc0\xe5\x9d\xce\xed\x63\x87\x59\ +\x15\x03\xa0\x4f\x4a\xfc\x79\xd2\x21\xe5\x72\x99\x27\x9f\x7c\x92\ +\x25\x4b\x96\xb0\x62\xc5\x0a\xd2\xe9\xb4\x43\xd4\xb8\xd3\xc2\x85\ +\x3e\xaa\xc5\x3b\x57\xc0\x3b\x2f\x50\x3a\x67\x11\x2b\xa9\x66\x9d\ +\x4a\x32\xd7\xfb\xcc\xb5\xfe\xe2\x2f\xff\xd2\xbf\xfd\x1f\xfe\xe3\ +\x7f\x24\x16\x8d\x68\x23\xea\x1d\xb7\x61\x08\x93\xcd\x9b\x36\xb1\ +\x69\xe3\x46\x10\x90\x9f\xce\xf3\xec\xb3\xcf\xf2\xd2\x4b\x2f\x31\ +\x39\x39\xc9\xe4\xe4\x24\xf5\x5a\x8d\xa8\x29\x11\xed\x1a\xc8\xb6\ +\xa3\x04\x76\xf9\xbc\xa7\x5e\xdc\xf1\x9f\xae\xbf\xfe\xfa\xaf\x6e\ +\xdf\xbe\xfd\x05\x17\x93\x19\xdb\xb7\x6f\x7f\x43\x16\xd0\x34\xd4\ +\x45\x66\x63\x6a\x40\x88\x56\x58\x85\x33\x8b\xde\x11\x0f\x70\xfd\ +\xf5\xd7\xcb\x7b\xee\xb9\x5b\xb4\x9a\x4e\xc1\x64\x3e\x9f\x77\x7b\ +\xe4\xcc\x4e\x21\xa6\x74\x62\x5a\x69\xb7\xb1\x6d\x45\xbd\x59\x67\ +\x64\x64\x84\x43\x07\x0f\x71\xfc\xf8\x71\x1a\x8d\xc6\x1c\x8a\x70\ +\xfa\x67\xa2\x0d\x0e\x0e\x72\xde\x79\xe7\xd1\xd7\xd7\x47\x3c\x16\ +\xc7\x30\x4d\x2c\xd3\x99\x01\x2c\x9c\xf8\x30\xa0\x10\x52\x29\x3f\ +\x2a\xd0\xa7\x87\x75\x2f\xdb\xb6\x79\xe6\x99\x67\x1c\xc0\xf7\x73\ +\xac\xdf\xff\xfd\xcf\xa2\x57\xb2\x09\xad\xbc\xad\xdd\x6a\x33\x76\ +\x72\x94\xc9\x89\x09\x7e\xed\x43\x17\xb1\xda\x7c\x0d\xa3\x7a\xd2\ +\xc1\x00\xa9\xc5\x3c\x3e\x94\x6a\x7f\xe3\xde\xc7\x8f\x9e\x9c\x98\ +\x78\x19\x98\x01\xf6\x03\x0f\x6d\xdf\xbe\xfd\x45\x57\x3e\xf1\xed\ +\xdb\xb7\xfb\x67\xd3\x4e\x1d\x3d\x3a\x3f\x2c\x67\xfe\x36\x3e\xfe\ +\xe4\x9d\xca\x4a\xd8\xb5\xfe\xab\xff\xcf\xe4\xc0\xd2\x3f\xed\x06\ +\x82\x6f\x4b\x01\xee\xfe\xdc\xe7\x44\xb3\xdd\x02\x05\x3b\x77\xee\ +\x42\x29\x67\xf0\x52\x32\x95\x22\x93\xc9\x90\xce\x64\xfc\xd1\x6c\ +\x74\x15\x7f\x0a\x21\x28\x14\x8b\x0c\x1d\x3f\xc6\xa1\x43\x87\x19\ +\x1f\x1f\x3f\xe5\x85\x7e\xc7\x39\x6e\xcb\x22\x95\x4a\x23\x0c\x58\ +\x34\xb8\x88\xf9\xf3\x17\x90\xcd\x65\x9c\x76\x6e\xc3\x74\xc7\xbf\ +\x74\x46\x94\x79\x04\x8d\x2d\x65\x60\xaa\x97\xef\x4b\x9b\x4d\x1a\ +\x8d\x06\xaf\xbc\xf2\x0a\x27\x4e\x9c\x38\x2d\x29\xdb\xcf\x7e\xf6\ +\xb3\xda\x98\x18\xef\x30\x2c\xe7\x63\x2d\x4b\x9a\xac\xb3\xf6\x62\ +\x54\x46\x1c\x2b\x10\x8a\x33\x1d\x5e\xc1\x3f\x3e\x3d\xca\x7d\x8f\ +\x3f\xed\xbd\x44\x0d\x18\x07\x4e\x02\x79\x60\x8f\x10\xe2\x07\xdb\ +\xb6\x6d\xdb\x79\x78\xe7\xae\x70\x3c\x1d\xf9\xe3\x79\xf6\xe1\xcf\ +\x5a\x87\xb6\x26\xec\xc5\xd7\x34\xaa\xf3\x3f\xf8\xc5\xf4\xe2\x65\ +\x7f\xf1\x8e\x5c\x80\xad\x3a\x33\xff\xbc\x91\xea\xad\x76\x8b\xa9\ +\xa9\x29\x26\xa7\xa6\x5c\x5f\xaa\x88\xc7\xe3\x64\xb2\x19\x72\x99\ +\x1c\x89\x64\x02\xc3\x9d\xcb\x93\x4c\x24\x58\xbb\x76\x1d\xeb\xd6\ +\xad\x47\x29\xc9\xc4\xc4\x24\xc7\x8f\x3b\x99\xbc\x72\xb9\xec\x1f\ +\xfd\xf2\x8e\x14\xc3\x25\x80\x1a\x8d\x06\xe1\x90\xc5\xe8\xe8\x28\ +\xd1\x68\x94\x72\xb9\x44\x24\x12\x21\x91\x48\x90\x88\xc7\x89\x44\ +\x23\x08\xc3\xc1\x55\x76\xbb\xed\xef\x70\x21\x84\x3f\xb4\xaa\x54\ +\x2a\x92\xcf\x17\xa8\xcc\x54\xd8\xb7\xef\x75\x5a\xee\xe3\x4e\xc7\ +\xfa\xf2\x97\xbf\x1c\xf8\xfb\x33\x9f\xf9\xb4\x1f\x29\x34\x6d\x20\ +\x12\xea\xfc\x63\xbd\x40\x8f\x71\x8c\xdf\xd8\xb2\x02\xb8\x8a\x67\ +\x77\xbf\xca\xf8\xd4\x54\x0c\x58\xea\xfe\x00\x5c\xab\x94\xfa\x9d\ +\x7f\xf7\xc9\xdf\x68\x3c\xf5\xd2\xb3\xea\xd7\xb7\x2c\xee\xb3\x8e\ +\x3c\x60\x52\x3a\x81\x8a\x66\x1a\x0a\x31\xfc\x8e\x89\x20\xdd\x3c\ +\xfa\x04\x47\xf7\x09\x9c\x52\x51\x2e\x97\x29\x95\x4a\x1c\x93\xc7\ +\x90\x4a\x11\x09\x87\x49\xa7\x53\xe4\xb2\x39\x52\xe9\x0c\xe1\x70\ +\x18\xa5\x24\xd9\x6c\x96\x5c\x4f\x8e\x0b\x2f\xba\x90\x46\xbd\xc1\ +\xf8\xd8\x18\xc3\x23\xc3\x4c\x4c\x4c\xd2\x68\x34\x68\xba\xc5\x20\ +\xed\x76\xdb\x77\x19\xe2\x4d\x3a\x26\xbc\xd0\xd4\xb1\xf4\x8e\xc9\ +\x1f\x1e\x1e\x71\x47\xca\x84\x08\x85\xdc\x9f\x70\x98\x50\x28\x04\ +\x4a\xf9\x6e\x49\x4a\x49\xbd\x5e\x27\x9f\xcf\xd3\x6a\x36\x91\x4a\ +\x51\xc8\x17\x68\xb6\x5b\xbe\xf0\x3d\xec\x70\xba\xd7\x57\xbe\xf2\ +\xd7\x00\x2c\xed\xef\xe7\x93\xd7\x5f\x0c\x4b\xaa\xce\xee\x97\xae\ +\xd2\x95\x47\xe8\x8d\x37\xf9\xad\x0f\xae\xe0\xe2\xb5\xb7\xb0\x6b\ +\xef\x11\x0e\x9f\x18\xa1\x34\x53\x41\x29\x45\x26\x9d\x0e\x2f\x5b\ +\x3c\x18\xbe\xec\x82\x55\x5c\xd0\xd7\x26\x7a\x64\x2b\x8c\x3c\x0f\ +\x03\x17\x53\x90\x99\x5a\x48\x98\xaf\xbf\x63\x05\x50\x2a\x98\xf5\ +\xea\xd4\xea\xcd\xee\x8a\xd5\xc2\x7b\xea\xb5\x1a\xd5\x6a\x95\xd1\ +\xd1\x93\x48\x25\x31\x84\x20\x91\x4c\x91\xcb\x66\xc9\xe5\x72\x24\ +\x12\x71\x94\x84\xf9\x0b\xe6\xb3\x60\xc1\x42\x84\x21\x98\x99\x99\ +\x61\x62\x62\x82\x89\x89\x09\xca\xe5\x32\xf5\x7a\x9d\x6a\xb5\x4a\ +\xad\x56\xf3\xc1\xdd\x9c\xa0\x52\x4a\x1a\x0d\xe7\x1c\x80\x48\x4f\ +\xc4\x8d\x44\x40\x18\xde\x20\x48\xe1\x9c\x07\x80\x73\xe0\x73\xd3\ +\x05\xb6\xad\x56\x8b\x66\xab\xe5\x03\x5d\xe7\xa7\xe9\xbb\x07\xcb\ +\xb2\x68\xb7\xdb\x67\xb4\x62\x67\x70\x7e\x1f\xbf\x7a\xd5\x66\xb6\ +\x2c\xad\x63\xd4\xa6\xdc\x8a\x55\xe9\x28\x81\x92\x50\x1e\x21\xd3\ +\x9c\xe1\x8a\xdc\x20\x17\x5c\x33\x48\x41\x9e\x4f\xb5\xe9\x0c\x9e\ +\x4c\x46\x4d\x72\x56\x95\x44\x6d\x1f\xc6\xf1\xdd\x90\x3f\x0c\x56\ +\x14\xbb\x77\x3d\x56\x7c\xde\xa3\x46\x28\x7c\xe8\x9d\x5b\x00\x5b\ +\x75\x52\x97\x81\xd3\x37\xb5\xe3\x99\xfc\xe2\x0a\xe9\x13\x2f\x01\ +\x26\x4c\x82\xad\x6c\xf2\xd3\x79\xa6\xa7\xa6\x5c\xf4\x6d\x13\x8f\ +\xc5\xc9\xe6\xb2\x64\xb3\x3d\x64\xd2\x69\x2c\xd3\x64\x60\xe1\x42\ +\x06\x06\xfa\x51\x52\x51\x2a\x97\x29\x14\x0a\x94\x4a\x25\x6a\xb5\ +\x2a\xe5\xf2\x0c\xe5\x72\x99\x6a\xb5\x1a\x50\x06\x5d\x21\xa6\xa7\ +\x83\xbc\xc7\x9a\x35\x6b\x1c\x13\x2f\x00\x43\xf8\x07\x59\x7b\xbf\ +\x3d\x17\xa6\xbb\xb8\x5a\xb5\xfa\xae\x54\x4c\xcd\xcb\x64\xb8\xf3\ +\x8a\x8d\xdc\xb0\xaa\x49\xa8\x36\xee\xa0\x7f\x4f\x01\xf4\x9f\xea\ +\x24\x46\x75\x92\xb4\xb5\x8f\xb4\x15\x05\xc3\x72\x14\xa4\x54\x87\ +\x46\x09\x6a\xd3\xce\x73\x01\x99\x5b\xcd\x58\x68\x15\xb4\x8d\x9f\ +\x0c\x2e\x58\x50\x3c\x0d\x16\xa0\x73\xc4\x6b\x3a\x93\xa1\x5c\x2a\ +\xd1\xb2\xed\x39\x0e\x7c\x96\x5d\xa7\x76\x77\x1d\x00\x85\x4e\x99\ +\x3a\x8f\x99\xa9\x54\x28\xcf\x94\x39\x7a\xf4\x38\x4a\x49\x42\x56\ +\x88\x74\x3a\x4d\xcf\xbc\x1e\xff\x94\x8f\xfe\x85\x0b\xe9\x5f\xb8\ +\x90\x56\xbb\x4d\xb5\x52\x61\xa6\x52\xa1\x5e\xaf\x33\x33\x33\xe3\ +\x8e\x88\x2f\xfa\x91\x86\x67\xd6\xf5\xf5\xfa\xeb\xaf\xf3\x5e\x5c\ +\xf3\x32\x19\x7e\xf5\x83\x17\xf2\x91\x0d\x36\x46\x23\x0f\x76\x73\ +\xb6\xe0\x03\x3b\xb1\x0d\xf5\x42\xc7\x45\x78\x56\x42\xff\x3b\xde\ +\x0b\x4b\xb6\xb0\x7b\xb8\x42\xb6\x32\xb6\xe3\xb4\x24\x83\x1c\xa2\ +\xc4\x11\xd8\xaa\x55\x2b\x5d\x6e\xa0\x45\xb1\x5c\xa6\x58\x28\x50\ +\x2c\x14\xa9\xd6\xaa\xb3\x0f\x70\xd6\xcf\xce\xd3\x0b\x2d\xfc\xdc\ +\x19\x7e\x7e\xdf\xbb\xdd\x68\x36\x18\x9f\x18\xe7\xe4\xd8\x49\xd7\ +\xe4\x43\x32\x99\x26\x97\xcb\xd1\xd3\x93\x23\x99\x4c\xd2\x1b\x8b\ +\xa1\x94\xa2\xd9\x6a\xd1\x70\x67\x00\x36\x9b\x4d\x0a\x85\x02\x53\ +\x53\x53\x94\xcb\x65\x6c\xdb\x3e\x25\x07\xf1\x5e\x58\xf3\x73\x39\ +\xee\xda\xb2\x99\x5f\xd9\x64\x60\x34\x26\xe7\x16\x7e\xb7\x2b\xe8\ +\x56\x0c\xfd\xb7\x30\x20\x7b\x1e\x9c\x77\x0d\x8f\x8f\x64\x79\x6c\ +\xc7\xf3\x54\x6b\xb5\x89\xd3\xa2\x00\x52\xda\xfe\x81\x0e\x85\x62\ +\x89\x44\x3c\x8e\x69\x59\xe4\x72\x59\x7a\xb2\x59\x07\x49\x4b\x49\ +\x65\x66\x86\x7c\xa1\xc0\xf4\xf4\x34\xe5\x72\x29\x78\xe8\x23\x5d\ +\xe7\xed\x68\x05\x16\x02\xed\x90\x65\x3d\x31\x24\x04\xb6\x6d\x53\ +\x28\xe4\xc9\xe7\xa7\x39\x78\xd0\xc1\x22\xd1\x68\x84\x6c\x2e\xcb\ +\xbc\xdc\x3c\x32\x99\x0c\xa9\x54\x12\x25\x15\xe9\x74\x9a\x81\x81\ +\x01\xec\x76\x9b\x6a\xb5\xca\x74\x3e\xcf\xf4\xf4\x34\x95\x4a\xc5\ +\xaf\x15\x78\x2f\x28\x43\x5f\x36\xc3\x5d\x57\x6e\xe4\xce\x0b\x0c\ +\x42\xcd\xe9\xd9\x02\xd6\xff\x9e\x4b\xf8\xfa\xfd\x00\x89\xf9\xd0\ +\xbb\x86\x72\xee\x22\x9e\x1b\x31\x79\xe8\xa7\xcf\x52\x28\x16\x09\ +\x87\xc3\xa7\xa7\x1e\x40\xc9\x4e\x41\xc3\xb1\x63\x8e\xa9\x36\x84\ +\x20\x16\x8f\x93\x4e\xa5\x48\x24\x93\x4e\xa8\x95\x4c\x12\x4f\x26\ +\x19\x1c\x18\x40\x2a\x45\xbd\x5e\xa7\x50\x2c\x30\x3d\x35\x4d\x3e\ +\x5f\xa0\xd9\x6c\xf8\x11\x03\xcc\x71\x5a\x96\xa2\x93\x3d\x54\x5e\ +\xfe\x9c\xae\xc3\x95\x15\xd5\x6a\x95\x4a\xa5\xc2\xf0\x89\x61\x3f\ +\xfe\xff\xe0\x07\xaf\xc2\x30\x0c\xac\x90\x85\x69\x9a\x84\x42\x21\ +\x52\xe9\x14\x8b\x17\x2f\xc2\xb6\x6d\xca\xe5\x19\xa6\xa6\xa6\x7c\ +\x77\xf1\x56\xa3\x8b\xd3\xbd\xb2\xc9\x24\xb7\x5d\xba\x81\xdb\x37\ +\x98\x44\xed\xc2\x1b\xef\x7c\xfd\xc7\x8a\x42\x72\xa1\x73\xbb\x39\ +\xe3\xfc\x8e\xa4\x69\xc7\x07\xa8\x45\x06\x38\x51\x4f\xf3\xfc\x4b\ +\xa3\xbc\xb2\xef\x20\xf9\x42\x11\x43\x10\x48\x6c\xbd\x33\x0b\xa0\ +\x9b\x6f\x17\x24\xb5\xa5\x4d\xb1\x58\xa4\x50\x2c\xa2\xdc\x30\x31\ +\x16\x8b\x91\x4a\xa5\x48\xa5\x52\xc4\xe3\x71\x22\x91\x08\xf3\xe7\ +\xcf\xa7\xaf\x77\x3e\xb8\xdc\x41\xb1\x54\x64\x7a\x6a\x9a\xe9\xe9\ +\x3c\xe5\x99\xb2\x6f\xc1\x94\x77\xc4\x4c\x77\xae\xc0\xd5\x14\xa9\ +\xe6\x38\x8f\xcf\x5d\x0e\x4a\x97\xb3\x46\xb7\x29\xe5\x46\x00\x86\ +\xe9\x7c\xae\x74\x0a\x25\x15\xad\x96\xf3\x39\x9c\xd2\x72\xe7\x60\ +\x89\x77\x63\x25\x63\x31\x6e\xbb\xf4\x02\x3e\x7a\x51\x98\xa8\x2a\ +\xbf\x75\xe1\x9b\x61\xe4\xfc\x4d\xbc\x5a\x59\x84\x11\x0a\x11\x89\ +\x48\x84\x65\x51\xae\xc3\xc4\x54\x8b\xc3\xc3\x13\x1c\x1e\xda\xcd\ +\xc4\xf4\xb4\xef\x36\xa5\x12\x6f\xc8\xab\x9c\x76\x1e\x00\xe5\xcc\ +\xd7\x9f\x99\x99\x61\x78\x78\x18\xa9\x14\x21\xcb\x22\x99\x4a\x92\ +\xc9\x64\x48\x26\x92\x84\xc3\x61\x72\xd9\x1c\xd9\x74\x86\x65\xcb\ +\x96\xa1\x94\xa2\x5c\x2e\x31\x3d\x9d\x67\x72\x72\x8a\x62\xb1\x40\ +\xdb\x6e\x6b\xc7\xb0\xcc\x3e\x45\x67\xd6\x19\x7c\x01\xac\xa2\x35\ +\x8c\x8a\x4e\x89\xb7\x4f\xbd\x4a\x27\x92\x31\x0d\x93\x6c\x26\x4b\ +\x2e\x9b\x43\x08\x41\xbd\x5e\xa7\x5c\x2e\x53\x2c\x16\xa9\xd7\xeb\ +\xfe\xf7\x3d\x9d\xa1\x5f\x2a\x1e\xe7\x8e\xcb\x36\xf2\xef\x2e\x0f\ +\x61\xc8\xea\xdb\xdb\xf9\xf3\x37\xf0\xf0\xf1\x5e\xee\x7d\xea\xa7\ +\xb4\xa5\x24\x64\x59\x18\x42\xd0\x68\xb7\x68\x34\x9a\xd8\xd2\xf6\ +\x07\x59\x3b\x7c\x85\x00\xa1\xb0\xdf\x20\x03\xf9\x36\x2d\x40\x50\ +\x01\xde\x2a\x0f\xd0\x6c\x34\x98\xac\xd7\x99\x18\x9f\xf0\x79\x80\ +\x58\x3c\x41\x36\xed\xd0\xc7\xf1\x78\x8c\x44\x22\x49\x22\x9e\x60\ +\x70\x70\x11\x20\xa9\xd5\xea\x14\x0a\x05\x26\x27\xa7\x98\x9e\x9e\ +\xea\x84\x63\xde\x51\x32\xa7\x48\x23\x04\x0e\x5e\x72\x7b\xef\xbd\ +\xd3\xe8\xd5\xac\x88\x26\x58\xc1\x1b\x0e\x87\xe9\xed\xed\xa5\xaf\ +\xaf\x0f\x80\x6a\xb5\x4a\xb9\x5c\x66\x66\x66\x86\x66\xb3\x89\x6d\ +\xdb\x3e\x53\xe9\x65\x15\xdf\xae\xd9\xbf\xe5\xe2\x75\x7c\xfc\xd2\ +\x08\x86\xac\xbf\xad\x9d\x4f\xdf\x3a\x1e\x3d\x31\x8f\xad\x3f\x7d\ +\x81\xb1\xe9\x29\x0c\x61\x04\xc3\x5f\x04\x86\x30\x9c\x12\x3c\x43\ +\xfa\xf7\x09\x83\x37\x3c\x8b\xf8\x6d\x5a\x00\xbd\xdc\xf9\x9d\xf1\ +\x00\xc5\x42\x91\x42\x3e\xef\xf3\x00\xb1\x68\x8c\x74\x26\x4d\x26\ +\x93\x23\x95\x4c\x12\x0a\x85\xe9\xed\xeb\xa3\xaf\xaf\x17\xe9\x1e\ +\x12\x5d\x2a\x96\x98\x9c\x72\xb2\x66\xc5\x52\x71\xce\x29\x1a\xdd\ +\x07\x93\x0b\x08\x16\x5d\xba\x07\x53\x06\x0e\xf9\xd1\x94\x42\xdf\ +\xed\xd1\x68\x94\x58\x2c\xc6\x82\x05\x0b\xfc\x73\x87\x66\x66\x66\ +\xa8\xd5\x6a\x1a\x59\xd4\x0a\x98\xd8\x53\x29\x45\x3a\x1e\xe7\xa6\ +\x8b\xd6\xf2\xb1\x8b\x62\x44\x45\xfd\xd4\xa0\xae\xfb\xc7\xb0\x60\ +\xde\x6a\x1e\x1f\xee\xe5\xc7\x4f\xbd\xcc\xc8\xf8\xb8\x53\xcb\x20\ +\x94\xcb\x76\x2a\x57\xf0\x9d\x73\x87\x84\x14\x08\x0c\x47\xf8\x12\ +\xda\xa7\xcb\x02\x28\x29\xfd\x94\x69\x22\x91\xa0\x52\xa9\xd0\x96\ +\xf2\xb4\xf0\x00\x95\x6a\x95\x99\xca\x0c\x43\x43\xc3\x28\x25\xb1\ +\x4c\x8b\x54\x2a\x45\x2e\x97\x25\x95\x4e\x13\x8d\x46\xc9\x64\x33\ +\xa4\x33\x69\x96\x2d\x5b\x86\x94\x92\x6a\xb5\xca\xd4\xd4\x94\x0f\ +\xea\x9c\x43\xa0\x14\x74\x45\x12\xfa\xf1\xed\x81\x49\x65\x6f\x81\ +\xf7\xd0\x1f\x17\x8f\xc7\x49\x24\x12\x08\x21\x68\xb5\x5a\xd4\x6a\ +\x35\xbf\x93\xb9\xd9\x6c\x52\xaf\xd7\x69\x36\x9b\x9d\x34\xb4\xab\ +\x10\xf1\x48\x84\x1b\x2f\x5c\xc3\xaf\x5d\x1c\x23\x1d\x7e\x1b\xc2\ +\x17\x06\xf4\xac\xe4\x89\xd1\x05\xfc\xf0\xa9\x97\x39\x36\x7a\xd2\ +\x61\x36\xf5\x11\xa5\xc2\x21\xb4\x04\x06\x1d\x9b\xeb\x2a\x83\x9b\ +\x06\x57\x6f\x80\x6d\xde\x76\x14\x20\xdd\xa6\x8c\x45\x8b\x17\xbb\ +\xc0\xab\x45\xa5\x52\x65\xa6\x5c\xa6\x5c\x9e\xa1\xde\xa8\x9f\x16\ +\x1e\xa0\xd9\x6a\x32\x39\x35\xc9\xf8\x44\x27\x6b\x98\x48\x24\xc9\ +\xe5\xb2\x64\x33\x19\xe7\xfc\x9f\x58\x8c\xc1\x81\x01\xfa\xfb\xfb\ +\x1d\x3e\xc0\x6d\x29\x0f\x74\x12\xeb\x8d\x22\xb2\xfb\xc4\xf0\xb7\ +\xe7\xbf\xf5\xe7\x1a\x86\x41\x32\xe9\x1c\x57\x0f\xd0\x6a\xb5\x7c\ +\x05\xf0\x94\xa1\x5a\xad\x22\xa4\xe4\xe6\x8b\xd6\xf0\xc9\xcb\xa3\ +\x24\xc2\x2d\x67\x52\xca\xa9\xc2\x3a\xfd\x3e\x61\x20\xb3\x2b\x78\ +\x6a\x74\x01\xdf\x7f\xea\x65\x8e\x0c\x0f\x3b\xbe\x1d\x67\xb7\x0b\ +\xc0\x50\x0a\x70\x4f\x3e\x51\xb6\x53\x79\x65\x08\x84\xea\x70\x1e\ +\x4a\x89\x37\xac\x42\x7a\x3b\x0a\x20\x0e\x1d\x3a\x44\x5f\x5f\x2f\ +\x56\xc8\x72\xd8\x36\xd3\xc4\x34\x2c\x1f\xf1\xf7\xbb\x56\xa2\x5a\ +\xab\x51\x2a\x95\x28\x95\x4a\x54\x2a\x33\xa7\x85\x07\x90\x6e\x76\ +\xae\x58\x2c\xb8\xe0\x4c\x11\x8d\x86\x49\x67\xb2\xe4\xb2\x59\xd2\ +\xe9\x34\xa1\x70\xd8\x4d\xe7\x06\x4f\x19\x01\xbd\xbb\x27\x88\x15\ +\xde\xc9\xd2\x15\xc2\x34\x4d\x92\xc9\x64\xa7\x78\xa6\xd5\x42\x28\ +\xc5\x25\x4b\xfb\xf8\x37\x9b\x5a\x58\x86\x9a\x9b\xc0\x39\x15\xa9\ +\x93\x5b\xce\xd3\x63\xfd\x7c\xff\xf1\x17\x39\x3c\x32\xea\xc8\x58\ +\x74\x8e\x98\x37\x94\x40\x0a\xd1\x29\x75\xf3\xca\xee\xdc\xd2\x7a\ +\xe7\x3e\x40\x18\xd8\xea\xf4\x28\xc0\x8e\xc7\x1e\x7f\x2c\x22\x84\ +\xb8\x28\x9d\x4e\xd3\xdf\xdf\x4f\x7f\x7f\x3f\xa9\x54\x8a\x50\x28\ +\x44\x38\x1c\xc6\xb2\x2c\x84\x30\x88\xc7\x63\xc4\x62\x31\xe6\xcf\ +\x9f\xef\x64\x33\x35\x74\x5d\x2a\x95\x4f\x23\x0f\x50\xa3\x52\xa9\ +\x32\x3a\x32\xe2\xf3\x00\x4e\x93\x48\x90\xcf\xf7\x72\xfc\xb3\x8e\ +\x77\x3b\xcd\xe1\x5d\xc0\x5d\x44\xa3\x6c\x1e\x9c\xc7\x6d\xab\xea\ +\x58\xa6\xf1\xd6\x4c\xbe\x27\xfc\xec\x79\x3c\x33\xb6\x80\x7f\x79\ +\xfc\x25\x0e\x1c\x3f\xe1\xec\x6a\xe1\x36\xa1\x79\xe1\x9d\x10\x18\ +\x18\x5d\xe8\x47\xb8\x3d\x19\xc2\x3f\x01\xc7\x39\xdc\xd2\x7e\xc3\ +\x1a\xc4\xb7\xb5\xae\xbf\xfe\xfa\x1f\x4a\x29\xab\xed\x76\xdb\x56\ +\x4a\x5d\x15\x0a\x85\x96\x65\x73\x59\xe6\xf7\xcd\xa7\xb7\xb7\x97\ +\x48\x34\x42\x3c\x16\x23\x16\x8b\x3b\x87\x2c\x68\x5d\xb4\x5e\x59\ +\xb4\xdd\xb2\x29\x97\xcb\x14\x0a\x79\x0a\xc5\x12\x95\x4a\xc5\xc7\ +\x17\x52\x69\xe5\x59\x6e\xf6\x51\x79\xc5\x9b\x52\xba\x35\x09\x9d\ +\xc7\x76\xfb\xf2\x2d\x5b\xb6\x04\x9e\xaf\x27\x79\x74\xd4\xef\x25\ +\xb5\xce\xc4\x0a\x99\x26\x1b\xfb\x7b\xb8\x79\x65\x83\x9e\xa4\xea\ +\xf0\xf7\xdd\x7c\xfd\x5c\xf7\xa5\x17\xf1\xcc\xd8\x02\xbe\xfb\xe4\ +\xab\xec\x3b\x7a\xd4\x05\x73\x22\xd0\xe8\xd2\xb9\x4f\xcc\x91\x08\ +\xd3\x1e\xeb\x5a\xcf\x50\x28\x94\xf8\xee\x77\xbf\x5b\x7d\xc7\x18\ +\x00\x60\xfb\xf6\xed\xbf\xaa\x29\xc3\x87\x94\x52\x37\x4d\x4f\x4d\ +\xdb\xe3\x63\xe3\x2d\xd3\x34\xff\x2c\x12\x89\x90\xcd\x66\xc9\x66\ +\xb3\xa4\x53\x69\x15\x8f\xc7\x45\x2a\x9d\x22\x91\x48\x38\x25\xe4\ +\x4a\x82\x69\x92\x4e\xa7\x48\xa7\x53\x2c\x76\x77\x7f\xa5\x52\xa1\ +\x90\x2f\x30\x9d\xcf\x53\x2e\x97\x7e\x6e\x1e\x40\x76\xb5\x7f\xeb\ +\x87\x35\xe8\x8d\x26\x67\x6a\x04\x87\x69\x18\x5c\xb0\x20\xc3\xcd\ +\x2b\x6a\xf4\x24\xc5\xdc\xa6\xfe\x54\x3f\xe9\x45\xec\x9a\x58\xc8\ +\x3f\x3f\xb9\x97\xd7\x8f\x1c\x75\xb7\xa8\xd6\xd3\x26\x44\x27\xcc\ +\x93\x5a\x6a\xdb\xab\x2a\x12\xda\xee\xc7\x2b\x7d\x53\xa7\x8f\x08\ +\xd2\xd7\x4d\x37\xdd\x24\x1e\x7a\xe8\xa1\x27\x81\x27\x35\x85\x38\ +\xd4\x6e\xb7\xcd\xb1\xb1\x31\x71\xf2\xe4\xc9\x8d\x96\x65\xfd\x6f\ +\xd1\x48\x94\x44\x32\x41\x32\x99\x24\x9e\x48\x38\x67\xf2\x66\xb3\ +\x24\x12\x09\x94\x72\xca\xb0\x50\x0e\x7b\x18\x8d\x46\x59\xd8\xbf\ +\x10\xa9\x14\xcd\x46\x83\x62\xa1\x40\x3e\x5f\x20\x5f\xc8\x53\xaf\ +\xd5\xde\x12\x0f\xe0\x4e\x74\xe8\x74\x10\x69\xd1\x89\x42\x05\xea\ +\x4f\x4f\xf7\x32\x80\x0b\x17\xa4\xb9\xeb\xfc\x19\xe2\xf1\x10\x08\ +\x73\xf6\x8e\xef\x06\x7c\xee\x6f\x99\x1c\xe4\x67\xf9\x7e\xfe\xf9\ +\xc9\xbd\xbc\xea\x09\xdf\x77\x59\x8e\x20\x0d\xaf\xd3\xd6\x9b\x34\ +\x07\x18\xb6\x44\x1a\xce\x85\x30\xf0\xc8\x1f\xc7\x5d\x78\xff\x97\ +\x6f\x60\xea\xce\x18\x01\x7e\xc3\x0d\x37\xc4\x94\x52\x97\xd9\xb6\ +\x2d\x5b\xad\x56\x39\x14\x0a\x7d\xdf\x34\xcd\xe5\x91\x48\x84\x68\ +\x34\x4a\x34\x1a\x55\xc9\x64\x52\xcc\xeb\x9d\x47\x4f\x2e\x47\x38\ +\x1c\x45\x29\xaf\x24\xcc\xf6\x7b\xe6\x3d\xe1\xb5\x6d\x9b\x99\x72\ +\x99\xe9\xe9\x29\xa6\xa6\x1d\x2b\x21\xed\xd9\xa2\xbc\xfc\xf2\xcb\ +\x83\x43\x20\xbb\x7e\x4e\x37\xb3\xe7\xef\x7c\x21\xb8\x60\x7e\x9a\ +\x8f\x5f\x50\xc6\x8a\x26\x3a\x79\xfa\x37\x32\xf7\xde\xed\xc4\x7c\ +\x76\x17\x17\xf2\xed\x27\x0e\xf2\xe2\xbe\x03\x6f\x50\xed\xd4\x6d\ +\xf2\xe9\x14\xb9\xb8\x3b\xde\x70\x81\x9f\xdf\xad\xe5\xba\x80\xef\ +\x7f\xff\xfb\xd5\x77\x55\x01\xe6\x50\x88\xf9\x52\xca\x84\x94\x52\ +\xd8\xb6\x6d\x85\x42\xa1\x7d\x86\x61\x10\x0a\x85\xb0\x2c\x93\x48\ +\x24\xaa\x7a\x7a\x7a\x44\x5f\x5f\x1f\xd9\x6c\xd6\x2f\xd1\xf2\x95\ +\x61\x0e\x61\x56\xab\x35\x0a\x05\x27\xd3\x57\x2a\x95\x68\xb7\xdb\ +\x5c\x7e\xf9\xe5\x5a\x7f\xbf\xec\x3c\x17\xe5\x17\xb4\x9c\x89\x9d\ +\xbf\x6e\x7e\x96\xbb\x56\xd7\xe9\xc9\x86\x1c\xe6\xee\xcd\x7c\xbe\ +\xf7\x77\xac\x87\x97\xa7\x17\xf2\x4f\x4f\x1d\xe4\xe5\x03\x87\xde\ +\x5a\x38\xd6\xad\x08\x08\x37\x1a\xec\x44\x03\xc2\x73\x09\x38\x0a\ +\xf0\xc3\x1f\xfe\xe0\x17\xab\x00\x73\x80\xc9\xb8\x52\x4a\x4c\x4c\ +\x4c\x34\xe6\xcf\x9f\xff\x59\xe0\x2f\xbd\x82\x4c\x21\x04\x89\x44\ +\x82\x3e\x97\x09\x4c\x26\xd3\x7e\x2a\x5a\xd9\x1e\x50\xec\x90\x4d\ +\x1e\xe8\x6b\xdb\x2d\x4c\xc3\x9c\x63\xc7\x13\x88\x0a\x4e\xab\xf0\ +\x85\xe0\xfc\x79\x29\x6e\x5b\xd9\xa0\xbf\x37\xec\x08\x7f\xae\x1d\ +\x3f\x97\x12\x44\xb3\xbc\x32\xbd\x80\x6f\xff\xf4\xc8\x5b\x16\x7e\ +\x37\xe3\xe8\x83\x3f\x8f\xfa\x75\xfd\xbe\xd7\x07\x89\x80\x50\xc8\ +\x4a\xfc\xe8\x47\x3f\x7e\x6f\x29\xc0\x9b\x28\xc7\x41\x60\xb9\xf7\ +\xf9\x0c\xc3\x20\x93\xc9\x30\x7f\xfe\x7c\x7a\x7a\x72\x84\xc3\x61\ +\x47\xb0\x38\x87\x36\xaa\xae\xe1\x50\x4a\xc9\xc0\x0c\x1f\x27\x83\ +\x68\x9f\xf6\xf1\x6b\x02\x58\x33\x2f\xc5\xad\x2b\x1b\x0c\xf4\x45\ +\x9c\x84\x8d\x2e\x6c\x9d\xeb\x97\xed\xce\xdf\xb2\x0d\x91\x34\x7b\ +\x0b\x7d\x7c\xeb\xa9\xe3\xbc\xb8\xff\xe0\xcf\xfd\xfe\xee\x19\xf7\ +\x81\x82\x17\xe1\x1e\x7b\x6f\x18\x26\x08\xf6\x98\x96\x75\xc9\x4f\ +\x7e\xfc\xe3\xfa\x69\x05\x81\x67\x6a\xdd\x78\xe3\x8d\xe2\xe1\x87\ +\x1f\x5e\xe9\xfd\x7d\xfb\xed\xb7\x47\xea\xf5\x7a\x65\x7a\x7a\xba\ +\x38\x35\x35\x25\x94\x52\xf1\x70\x38\x1c\xe9\xe9\xc9\x31\xaf\xb7\ +\x97\x54\x32\xed\x1c\xe0\xa4\x3c\xfa\x55\xfa\x6c\xa0\x3f\xbd\x43\ +\xca\xd3\x0f\xfa\x95\x62\x7d\x5f\x9a\xbb\x56\x96\xe8\xe9\x4d\x43\ +\x28\x3e\x9b\xdd\xf3\x22\x00\xbd\x68\x43\x49\x64\x28\xc5\x70\x73\ +\x21\xdf\xdb\xf1\xf3\x0b\x9f\x00\xa5\xde\x19\xcc\x2d\xc0\xe9\x7c\ +\x16\xe2\x09\xc3\x10\xdb\x0d\xcb\xfc\x57\x04\x8d\x77\x1d\x04\x9e\ +\x41\x2c\xf1\x3b\x4a\xa9\x3f\x90\x52\xd6\xdd\x1d\xbf\x36\x1e\x4f\ +\xf8\x14\x71\x2c\x1e\xef\x30\x61\x18\x6e\x77\xad\x3a\xed\xa6\x7f\ +\x55\x36\xce\xaf\xad\x2e\x91\x9b\x97\xc6\x88\x65\x66\x9b\x7a\xbb\ +\x39\x1b\xfd\xcb\x36\x58\x51\x86\x6a\xbd\x7c\xeb\x99\x09\x1e\x7f\ +\xe5\xd5\xd3\xeb\x8e\x9c\x5a\xc8\xc7\x0c\x21\xbe\x61\x5a\xd6\x53\ +\xf7\xde\x7b\xef\xd1\xb7\x66\x45\xde\x27\xeb\x96\x5b\x6e\x11\x0f\ +\x3c\xf0\x80\xea\x72\x17\xff\xac\x94\xca\x4a\x29\x4d\xa5\x54\xd2\ +\x30\x8c\xcb\x12\x89\x04\xe9\x74\x9a\x64\x32\x89\x65\x39\xb4\xb5\ +\xf7\xbb\x9b\xb1\xfb\x79\x76\xfe\xb2\x4c\x82\xdb\x97\xd7\x38\x6f\ +\x30\x0e\x91\xf4\xa9\x01\x9e\x6e\xf2\x5d\xe1\x1f\xaf\x0f\xf0\xcd\ +\x9f\x8e\xf0\xe4\xcf\xf6\x9e\xb6\xeb\x22\x84\xc0\x34\xcd\x87\x81\ +\x3f\x37\x4d\x73\xdf\xd6\xad\x5b\x27\xde\x9e\x1b\x79\x9f\xae\x1b\ +\x6e\xb8\x41\x6c\xdb\xb6\xcd\x97\xe6\x9d\x77\xde\x19\xaa\x56\xab\ +\xdf\x94\x52\x56\xa5\x94\x36\x70\x83\x65\x59\xcb\xbc\x2c\x5e\x3c\ +\xee\xb0\x93\x5e\x73\x88\x69\x9a\xb3\x32\x7e\x6f\xb6\x96\x26\xa3\ +\xdc\x72\x5e\x9d\x55\x4b\x13\x10\xcd\x06\x7d\xfd\x1b\x29\x80\x19\ +\xe6\x78\xa5\x97\x87\x8f\x86\xf8\xd1\x63\x4f\xd2\x98\xa3\x33\xf8\ +\xe7\x14\xfc\x13\x42\x88\xdf\x15\x42\x1c\xbe\xff\xfe\xfb\x5b\x3f\ +\x1f\x8e\x38\x4b\xd7\x0d\x37\xdc\x70\xb5\x94\xf2\x5a\xa5\x94\x6d\ +\xdb\x76\xcb\x30\x8c\xff\x1c\x0e\x87\xfd\x3c\x7f\x24\x12\x51\x91\ +\x48\x44\x44\x22\x11\xe7\x34\x71\xbf\x63\x58\x9d\x52\xf8\x37\x2f\ +\xad\xb3\x7a\x69\xcc\x29\xbb\x7e\x2b\x48\xdf\xcd\xe9\x8f\x35\x7b\ +\xb8\x77\x9f\xc5\x81\xc9\x02\xbb\xf7\xec\x71\x53\xd7\x3f\xb7\xeb\ +\xaf\x9b\xa6\xf9\xb2\x65\x59\xbf\xbe\x75\xeb\xd6\x13\xef\xe4\x1a\ +\x59\x67\xab\xf0\x6f\xbe\xf9\x66\xf1\xe0\x83\x0f\x3e\x01\x3c\xa1\ +\xb9\x8b\xc3\xed\x76\x3b\x52\x2a\x95\x8c\x62\xb1\xb8\xc4\x34\xcd\ +\x3f\x0d\x85\x42\x44\x22\x11\xef\x47\x45\xa3\x51\x11\x8f\xc7\xdd\ +\xf6\xb5\x4e\x64\xb1\x2c\x19\xe1\xd6\xc5\x45\x96\x2f\x49\x3b\xc2\ +\x3f\x55\x22\xa7\x0b\x08\x4a\x2c\x9a\x22\xc9\x43\x87\xc2\xbc\x3e\ +\x36\x81\x61\x9a\xef\xe4\x6b\x9d\x30\x4d\xf3\x80\x65\x59\x9f\xdc\ +\xba\x75\xeb\xc8\xe9\xb8\x4e\x67\xb5\x05\x78\x13\x05\x31\xdb\xed\ +\xf6\xb5\x52\x4a\xdb\xb6\xed\x9a\x69\x9a\x7f\x6e\x18\xc6\x75\x9e\ +\x7b\xb0\x2c\x8b\x58\x2c\x46\x32\x99\x64\x75\x5f\x0f\xb7\x2d\x2e\ +\xb3\x6a\x49\x14\x23\xbb\xf8\xcd\x99\x3d\xef\x47\x18\x94\x5a\x09\ +\xee\x3b\x94\xe2\xc5\x13\x13\x28\x9c\xb4\xf1\x9e\xb7\x6f\x01\x5e\ +\x10\x86\x71\xc0\x10\xe2\x9e\x87\x1e\x7a\x68\xe8\x74\x5e\x87\x5f\ +\x5a\x05\x98\x83\x7b\xe8\x55\x4a\xf5\x29\xa5\x44\xab\xd5\xaa\x86\ +\xc3\xe1\x23\x86\x61\xb0\x6e\x60\x01\x9f\xd8\x9c\xe0\xe2\xb5\x19\ +\x48\x0d\xd0\xb6\xc1\xa4\x89\x29\xd4\x1b\xbb\x00\x60\xa2\x9e\xe6\ +\x81\xc3\x31\x76\x8f\x4e\xf9\x7c\xfc\xdb\x54\x80\x47\x11\xe2\x69\ +\xe0\xeb\xdb\xb7\x6d\x1b\x3e\x13\xdf\xfb\x9c\x02\x9c\x5a\x21\xb2\ +\x9f\xb9\xf1\xda\x0f\x6f\x9e\x37\xf1\x47\x8b\x06\x43\x1b\x77\x97\ +\x06\x8d\xdd\xc7\x8a\x94\x6b\x4d\x7a\x93\x61\x2e\x18\x0c\xb3\x66\ +\x7e\x63\x6e\x9f\xaf\x24\x13\xd5\x38\x0f\x1c\x49\xb2\x77\x2c\x4f\ +\x5b\xcb\xc6\xbd\x45\x05\x78\x08\xf8\x0e\xf0\xd8\xf6\xed\xdb\x87\ +\xce\xe4\xf7\x34\xce\x89\x7a\xee\xf5\xa7\x9f\xf8\x44\x73\x55\xb6\ +\x75\xd3\xe0\xbc\xfa\xfa\x42\x78\xdd\x8b\xd1\xd4\xf2\x3b\x4c\x11\ +\xcf\x5e\xb1\xe1\x03\xa1\xef\x3e\xfe\xfc\x5f\xff\xed\xb6\xfd\xec\ +\x3c\x8c\x73\x34\x7d\x17\x16\x28\x35\x22\x3c\x74\x34\xc1\xab\xe3\ +\x85\x80\xf0\xdf\xca\x8e\x17\x42\x6c\x01\x7e\x73\xfb\xf6\xed\xdf\ +\x3a\xd3\xc2\x3f\xab\x41\xe0\x3b\xde\x19\xaa\x3d\x90\x0b\x4f\x5f\ +\x69\x87\x73\x8d\x92\xdd\xf3\xbd\xd1\x43\xc7\x1e\xf8\xc4\xe7\x3e\ +\xe7\x95\xd6\x7c\x46\x29\xf5\x9f\x5e\xfd\xc1\xb7\xff\xa7\x7a\xfb\ +\xd8\x7f\x8b\x9b\xe5\x79\x9e\xf0\x5b\x36\xfc\xf7\x9d\x75\x76\x1e\ +\x3d\x46\x22\x95\x22\x99\x4c\x3a\x47\xc6\xbc\x31\xff\xb0\x13\xf8\ +\xb7\xc0\xe4\xb6\x6d\xdb\x2a\xef\xe6\xf7\x3c\xa7\x00\xa7\x8a\xb5\ +\xec\x76\x32\x16\x69\xf6\xd8\xd6\x40\xa3\x25\x8d\x83\x1f\xfe\xf4\ +\xa7\xed\xae\x18\x5c\x3d\xf7\x4f\xdf\x7e\xac\x12\x8a\x1d\x8d\x45\ +\x8a\x3d\x42\x49\xd1\x68\x5b\x95\x03\xf9\xc5\x5f\x7d\xf0\xe5\x07\ +\x7e\xbf\xd9\x6e\x97\xd4\xc4\x84\x01\xc4\x22\x91\x48\x2c\x93\xc9\ +\x38\x8d\x31\x9d\xba\x41\x1b\xd8\x29\x84\xb8\x7e\xdb\xb6\x6d\xf5\ +\x5f\xd4\xf7\x3c\xa7\x00\xa7\x54\x00\xd9\x6e\x4b\xa3\x19\x55\xcd\ +\xa4\x21\x64\x66\x4e\x2b\x11\x0a\x35\xa5\xa2\x85\x6c\x53\x6b\x18\ +\x85\xa3\xe5\x25\x5f\x2b\x34\xa2\x7f\xf1\xc0\x43\x0f\x7d\x5e\xc3\ +\x12\x1f\x69\xb5\x5a\x7f\x3d\x3e\x3e\x5e\x19\x1b\x1b\x33\x0c\xc3\ +\x30\x84\x10\x69\xc3\x30\x36\x3d\xfc\xf0\xc3\x23\xbf\xe8\xef\x79\ +\x4e\x01\x4e\x75\x61\x12\xa9\xb1\x62\x23\xb9\x2f\xd3\x9c\xba\x36\ +\x12\x9a\xb9\x76\xff\xa3\x8f\xdc\xbf\xfa\xda\xeb\x26\x03\x0f\x6a\ +\x56\x57\x47\x42\xa5\x85\x8d\x86\x2a\x1f\x2d\x2f\xfe\xfa\x54\x35\ +\xf4\xe5\xab\x7e\xef\x77\x0b\xfa\x43\xb6\x6f\xdf\xfe\x23\xe0\x47\ +\xef\xd9\xef\x79\x4e\xd4\x73\xaf\x70\x32\x9d\x2f\xd6\x7a\xb7\xd9\ +\xf5\x83\x1f\xec\x0b\x1d\xf8\x95\xe1\x8a\x3a\xf1\xb3\x1f\xfd\x8f\ +\xaf\x87\xd3\xd9\x93\x85\xe1\x13\x46\x38\x64\x2c\x4f\xdb\x27\x7f\ +\x3b\x2e\xf2\xf3\x0f\xe6\x17\x7f\xad\x2c\x32\xff\xcf\x55\xbf\xf7\ +\xef\xc7\xdf\x6f\xdf\xf3\x5c\x18\xf8\x06\xeb\xa9\xbf\xf9\x5a\x7f\ +\x4e\x8e\xfc\xd1\xba\xfe\xe1\xdf\x55\xd1\x9c\x9c\x68\x2d\x7a\xae\ +\x6a\x27\xf7\xc8\x46\xcd\x4c\x1a\x85\x8d\x7d\xb1\xb1\x0b\xf7\x4d\ +\x2d\xfb\xf2\x54\x33\xf5\xa5\xab\x7e\xf7\xf7\xa6\xde\x8f\xdf\xf1\ +\x9c\x02\xbc\x59\x5c\xf6\xdf\xfe\x72\x60\x41\x56\xfe\xaf\x3d\xa1\ +\xc9\x6b\xd3\xe1\xd2\x32\xd3\x14\x61\x5b\x8a\x66\xb1\x99\x3b\x58\ +\x34\x16\xdd\x5f\x68\x46\xbf\x7c\xc5\x6f\xfd\xfb\xfc\x69\xe6\x20\ +\xac\xed\xdb\xb7\xb7\xcf\x29\xc0\x7b\x64\x3d\xfe\x95\xbf\x4a\x46\ +\x62\x91\xa5\x61\xd1\x5a\x6f\x5a\x66\x4a\x62\xe4\x6d\x23\xfc\xba\ +\xb2\xa2\xc7\x2e\xfd\xf8\xc7\x2b\xe7\xae\xd0\xb9\xf5\xbe\x5d\xff\ +\x3f\xdd\x4b\xaa\x24\xa0\xd0\xd0\x8a\x00\x00\x00\x00\x49\x45\x4e\ +\x44\xae\x42\x60\x82\ +\x00\x00\x38\xda\ +\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\x00\x01\x73\x52\x47\x42\x00\xae\xce\x1c\xe9\x00\x00\x00\ +\x06\x62\x4b\x47\x44\x00\x7a\x00\xff\x00\x80\x19\x01\xf4\xdc\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\xdc\x07\x08\ +\x0b\x1f\x36\xd0\x09\xf6\xed\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\x20\x00\ +\x49\x44\x41\x54\x78\xda\xed\xbd\x79\x94\x25\xd5\x7d\xe7\xf9\xb9\ +\x11\xf1\xf6\x25\xdf\xcb\xb5\x32\xb3\xaa\xa8\x9d\xa2\x0a\x51\x20\ +\xb3\x23\x84\x84\x00\x09\x10\x92\xa6\xe5\x76\xcf\x78\xfc\xcf\xc8\ +\xdd\x67\xce\x4c\xdb\x23\xf7\x58\xa0\x69\xcb\x6a\x7b\xec\xa3\xf9\ +\xa3\xc7\x3e\x7d\xec\xf6\x72\xe4\x19\xcb\xc7\xee\xb1\x2c\xb5\xb7\ +\x96\xa1\x10\x05\x85\x04\x58\xa2\x28\x10\x20\x54\x59\x1b\xb5\x57\ +\xee\xcb\xcb\xb7\xaf\x11\x71\xef\xfc\x11\xcb\x8b\x78\x99\x85\x40\ +\x54\x96\xa0\x94\xb7\x4e\x9e\x7c\xf9\xea\xad\x71\xbf\xf7\xb7\x7c\ +\x7f\x1b\xac\xaf\xf5\xb5\xbe\xd6\xd7\xfa\x5a\x5f\xeb\x6b\x7d\xad\ +\xaf\xf5\xb5\xbe\xd6\xd7\xfa\x5a\x5f\xeb\x6b\x7d\xad\xaf\x9f\x89\ +\x25\xae\xd4\x1b\x7d\xe9\x4b\x5f\x52\xde\xed\xaf\x7c\xe5\x2b\x62\ +\xfd\xd2\xff\x8c\x00\x60\x61\x61\xc1\xdf\xf8\x3f\xf8\x83\x3f\xb8\ +\xe4\xe3\xd6\x41\x71\x15\x02\x20\xb8\xf9\xde\x52\x28\x50\xdd\xbf\ +\xfe\xf0\x0f\xff\xf3\x3a\x20\xae\x76\x00\x14\x8b\x45\xf2\xf9\xbc\ +\xb3\xfd\xca\x01\x81\xf0\x71\xe0\xdc\x87\x7b\xff\x1f\xff\xf1\x1f\ +\xaf\x83\xe1\x6a\x03\xc0\xa3\x8f\x3e\x8a\x10\x82\x5d\xbb\x76\xb1\ +\x7b\xf7\x6e\x86\x06\x07\xc9\xf6\xf5\x31\xd0\xdf\x8f\x6e\x18\x28\ +\xa5\x42\x12\x42\x28\x50\x0a\xfe\xe4\x4f\xff\xe4\x2d\x5f\x7f\x1d\ +\x18\xef\x23\x00\xf4\xae\x74\x3a\x4d\xae\xaf\x8f\x4c\xb6\x8f\xed\ +\xdb\xb7\xb1\x67\xcf\x1e\x72\xf9\xbc\xb3\xf3\x3d\xaa\x42\xb9\x22\ +\xc2\xc3\xc9\x57\xbf\xfa\xd5\x75\x30\xbc\x5f\x00\xa0\x94\xe2\xb1\ +\xc7\x1e\x5b\xf1\x7f\x4a\xa9\xc0\x8f\xb3\xe1\xba\xa6\xb1\xeb\xda\ +\x6b\xb9\xed\xd6\x5b\xd9\xb1\x63\x07\x86\x61\x38\x1f\x52\xb8\x58\ +\x50\xc1\xdf\x12\x81\xe0\xcf\xfe\xec\xcf\xd6\xa5\xc3\x7b\x16\x00\ +\xf3\xf3\x4a\x41\x08\x00\x0a\x40\x2a\xfc\x7f\x4a\xb9\x7f\xbb\x27\ +\x5d\x79\xf7\x43\x3e\x9f\x67\xf7\xee\xdd\x6c\xde\xbc\x99\x5c\x2e\ +\xc7\xd0\xe0\x10\xd9\xbe\x6c\x40\x2a\xe0\x23\x42\xba\xbf\xff\xfc\ +\xcf\xff\x7c\x5d\x65\xbc\x57\x00\x30\x3f\x3f\xaf\x08\x02\xc0\x3b\ +\xf1\xa1\xcd\x06\xa5\xa4\x0b\x8c\xee\xed\xa0\x74\x00\x85\x61\xe8\ +\xf4\x65\xfb\x48\xa6\xd3\x8c\x8d\x6e\xe0\xfa\xeb\x6f\xe0\xba\xeb\ +\x76\xfb\x40\x08\xd9\x11\xbe\x1a\x01\xa1\x14\x5f\xfb\x8b\xbf\x58\ +\x07\xc4\x4f\x03\x00\x73\xf3\xf3\x4a\xa0\x78\xec\xb1\x2f\xe2\x1c\ +\x7c\x85\xf0\x36\x57\x76\x25\x80\xa3\xef\x9d\xcd\x96\xb2\xbb\xa1\ +\x0a\x89\x70\x04\x04\x4a\x49\xc7\x0e\x90\x0a\x49\xd7\x6b\xe8\xcf\ +\xe7\xb9\xe5\x96\x5b\xb8\xe5\xe6\x9b\xe9\xcb\xe5\x11\x1a\x68\x42\ +\x73\xd4\x86\xea\xb5\x25\x9c\x27\xfe\xe5\x5f\xfe\xe5\x3a\x18\xae\ +\x08\x00\xe6\xe6\x15\x28\xbe\xf8\xc5\x2f\xfa\x27\x1a\x40\x4a\xe9\ +\xbc\xb3\x04\xa9\x64\x40\x12\xa8\xd0\x89\xf6\xed\x03\x77\xf3\xa5\ +\xea\x4a\x11\xa0\x0b\xa2\x80\x74\xd9\xb9\x73\x27\x3b\x77\xee\x62\ +\x68\x68\x90\xa1\xc1\x21\x36\x8c\x8e\x60\x18\x11\xf7\x39\xce\x9b\ +\x2a\x84\xff\x9e\xff\xe5\xaf\xfe\xea\x67\xda\xd3\x58\x63\x00\xcc\ +\x29\x3c\x09\xa0\x9c\xcd\xf6\x37\x0b\xd5\xb5\x05\x7c\x43\x10\x94\ +\x94\x21\x00\x78\x27\xdd\x03\x8d\x27\x3d\xc2\x8f\x71\x36\xd3\x01\ +\x93\x7b\xda\xa5\x24\x99\x4a\x91\xc9\x64\xc8\x64\x32\x5c\x77\xdd\ +\x75\x7c\xf0\x83\x1f\x64\xa0\xbf\xdf\x97\x04\x5d\x7f\x43\x84\x81\ +\xa5\xe0\xeb\x5f\xff\xeb\x9f\x09\x30\xac\x31\x00\x66\x95\x52\xf0\ +\xc5\x2f\x3e\xe6\x9e\xe4\xee\x86\xc9\xa0\x4d\x10\xda\x44\x47\x4d\ +\x48\x29\xbb\x12\xa3\xcb\x14\xa1\xa4\x74\xc5\xba\x40\xe2\x6e\x78\ +\x10\x5c\xee\xff\x2b\x57\x5a\x48\xa5\x56\x00\x6a\xcf\xde\x3d\xdc\ +\x79\xd7\x9d\x5c\xb7\xfb\x3a\x84\x10\xe8\xba\x8e\xa6\x69\x5d\x3b\ +\xc5\x51\x54\xfe\xf3\xfe\xe6\x6f\xfe\xe6\xaa\x95\x0e\x6b\xfa\x05\ +\x66\xe7\xe6\x14\xae\x1b\x18\x34\xe8\x1c\x3d\xaf\xfc\x93\x2a\x5d\ +\x63\x4d\x06\x8c\x44\x4f\x3a\x84\xd4\x81\x6b\x03\x04\x79\x01\xe5\ +\x6d\xb2\xbf\xd1\x12\xff\x4f\x25\x43\x40\xf3\xa4\x49\xd0\xf5\xcc\ +\xe7\x73\xec\xbe\xd6\xf1\x34\xf2\xf9\x3c\x1b\x37\x8e\xd3\x9f\x1f\ +\x08\x48\x07\xdf\x78\xf0\x0d\xcb\x6f\x7e\xe3\x1b\x57\x8d\xca\x58\ +\x5b\x00\xcc\xce\x2a\x85\xe2\xb1\x47\x1f\x73\xc5\xbb\x72\x99\x3e\ +\xe5\x9e\x58\x01\x52\x39\x5a\xd9\x07\x80\xbb\x61\x42\xa1\xec\xee\ +\x36\x48\x5f\x35\xb8\x1b\x1b\xb2\xfe\x5d\x03\x32\xe8\x59\x78\x8f\ +\xc7\x53\x19\x0a\x24\xd8\xf8\xba\x26\xe4\x91\x28\xa5\x30\x0c\x83\ +\x54\x2a\x45\x32\x99\x64\x7c\x7c\x23\x37\xdf\x72\x33\x37\xde\x70\ +\x43\x40\x6d\x11\x22\xa4\x9c\xcf\xe9\x3c\xff\xef\xfe\xf6\xef\xde\ +\x97\x80\x58\x5b\x00\xcc\x38\x00\x78\xf4\xb1\xc7\x56\x11\xf7\x2a\ +\xac\x16\x08\x9c\x66\x77\xb3\xa4\x92\xfe\x85\xf6\x37\x5c\xca\x15\ +\x6e\xa4\x27\x55\xc2\x06\xa4\x74\x55\x43\xd0\x48\xc4\xbf\xbf\x2b\ +\x09\x94\xef\x29\x74\x3f\x8b\x0a\x79\x23\xb9\x7c\x8e\xdb\x6f\xbb\ +\x9d\xdb\x6e\xbb\x8d\xfe\x81\x7e\x74\x4d\xc7\x88\x44\xdc\x8b\xe7\ +\xa8\xa3\xa0\xb4\x42\xc1\xdf\xff\xc3\xdf\xbf\x2f\xa4\xc4\x9a\x7e\ +\x90\x99\x99\x19\x87\x0a\xfe\xc2\xa3\x5d\xbd\x8c\xf2\x37\xd1\xf7\ +\x08\x42\xa2\xbb\xc7\x46\x08\x12\x47\x41\xf6\x70\x95\xfb\x1d\xdc\ +\x04\x36\x58\xae\x02\x2c\x7f\xa3\x5d\x01\x2f\x65\x57\x35\x79\xef\ +\xed\x7d\xce\xe0\xe3\x02\xef\xbd\x73\xe7\x4e\xb6\x6f\xdf\xc1\xf0\ +\xf0\x20\xe3\xe3\xe3\x6c\xda\xb4\x99\x48\x34\xe2\x93\x52\x2a\x10\ +\xed\xf4\x5e\xfb\xc0\x81\xa7\x69\x34\x1a\xef\x39\x40\xac\x2d\x00\ +\xa6\x67\x1c\x09\xf0\xe8\xa3\x21\x1b\xc0\xdb\x10\xe1\xb9\x76\x01\ +\x77\xce\x07\x47\xcf\xe9\x94\x2a\x20\xba\x7b\xa5\x47\xef\x89\x0e\ +\x9c\x76\x21\xba\xdc\x82\xaf\x22\x2e\xf1\x3c\x02\x1b\xbe\xba\xb1\ +\xea\x50\xd0\x3e\x88\x80\x78\x3c\x4e\x2a\x91\x24\x93\x4d\x73\xc3\ +\xbe\x7d\xdc\x7e\xfb\xed\x8c\x0c\x8f\x84\x80\xe0\x7d\xef\xb0\xfa\ +\x80\x6f\xfd\xd3\xb7\x7e\xea\x60\x58\xd3\x37\x9b\x9e\x9e\xf6\x83\ +\x41\x61\x43\x2e\xa0\xbb\x03\xfa\xda\x91\x06\xde\x86\x7b\x9b\xdd\ +\xdd\x38\x1f\x08\x74\xed\x07\xe5\x01\x42\x0a\x1c\x6b\x22\xa0\x1e\ +\x42\x6c\x63\x10\x18\xaa\x7b\xc2\x83\x24\x94\xff\x3e\x41\x09\xd4\ +\xb5\x21\x94\x24\x00\xdc\xa0\x31\x2a\x1c\xe0\x0a\xfc\xcf\xb9\x67\ +\xef\x1e\xee\xbe\xfb\x6e\x76\x5d\xbb\x8b\x58\x34\x46\x2c\x1a\x43\ +\x37\x74\x8f\x9f\x0c\x3d\x17\x14\x8f\x3f\xfe\xf8\x4f\x45\x3a\xac\ +\x39\x00\x14\x8a\x47\xbf\xf0\x05\xa4\xc2\x65\xf5\x64\x80\xc7\x77\ +\x2e\xb4\x92\x2e\xe3\x47\x50\x94\x07\x36\x91\xee\xe9\x0b\x81\x47\ +\x76\xc5\xb3\x24\xac\xdf\xb1\x15\x52\x84\x45\x3e\x2e\xbb\xa8\xa4\ +\x40\x09\xd7\x46\xe8\xe1\x1d\xba\xae\x64\xc0\xf6\xf0\xb8\x88\x20\ +\xb0\x60\x15\x95\x14\xa4\xb1\xbb\xd2\x2e\x97\xcf\xb1\x73\xe7\x4e\ +\x36\x8d\x6f\x62\x64\xc3\x08\xdb\xb6\x6e\x63\x68\x64\xc8\x77\x61\ +\x41\x75\x39\x0e\xe5\x90\x55\xfb\xf7\x3f\xc9\xb6\x6d\xdb\x00\xf8\ +\xe5\x5f\xfe\xe5\x35\xdb\x27\x63\x2d\x01\x10\x12\x81\x2a\xa8\x1b\ +\xbb\x22\x94\xc0\x86\xab\x50\x90\x27\x4c\xcc\x48\x25\x1d\xb4\x76\ +\x35\x41\x40\x4f\x07\x9f\xe3\x5e\x53\x11\x36\xec\xba\x9c\x82\x1b\ +\x74\x90\x84\x37\x92\x2e\xa8\x58\xc5\xc8\x54\xbe\x0a\xa2\x47\xaa\ +\xd0\x05\x8b\x7b\xa2\x9c\xbf\xa5\xef\x21\x2c\x17\x96\x39\x5c\x38\ +\xcc\x21\x75\x08\x5d\xd3\x49\x24\x12\x44\xa3\x31\xb6\x6d\xdb\xc2\ +\x1d\x77\xdc\xc9\xad\xb7\xde\x4a\x50\x37\x28\x05\x0f\x3d\xf4\x30\ +\x27\x4e\x1c\x5f\x73\x15\x60\xac\xed\xcb\xab\x9e\x64\x0f\xe9\x83\ +\x81\x55\xf4\xbc\x27\xc2\x83\xc6\x5a\x57\x77\xd3\x65\xfb\x42\x9b\ +\xb2\xd2\xff\x5f\xed\x84\x06\x0d\x32\xe8\x0d\x3a\x75\x81\xd5\x0b\ +\x08\xe1\xab\x1d\x07\x38\x61\x10\x7b\x48\x14\x61\xc0\xf8\xbf\xbb\ +\x6a\x44\xb8\xef\x61\xd9\x16\x95\x4a\x15\xa8\xb0\xb8\xb8\xc0\xe1\ +\xc3\x2f\x23\xa5\x22\x9f\xef\xe3\xce\x3b\xee\xe2\xd6\xdb\x6e\x61\ +\xe7\xae\x5d\x21\xee\x61\x2d\x97\xb6\xb6\xdb\xdf\xb5\xf4\x83\x3e\ +\xb7\x74\xdd\xb4\x90\xdb\xe5\xd1\xb8\x4a\xad\x20\x81\x84\x2f\xf2\ +\x83\xcc\xa0\xb7\x25\x1e\x90\x44\x98\xb4\x51\xdd\xd7\xf0\x4e\xbe\ +\x6b\x3e\x04\x5c\xc9\x80\x81\x16\x04\x8a\xeb\x86\xa2\x04\x1e\x85\ +\xa0\xfc\xf7\x50\xbe\x9b\xe9\x7f\x27\xc2\xb6\x06\xa1\x58\x05\x5d\ +\x95\xe6\x1b\x37\x84\x0c\x59\x50\x2c\x2f\x97\x78\xe2\x89\xc7\xf9\ +\xf2\x6f\xfe\x87\x10\x88\xdf\xd7\x12\x40\x10\x3c\x55\x81\x5c\x50\ +\xf0\x2f\xa6\x77\x4d\x84\xbf\x49\x61\xeb\xdc\xdf\x0b\xa9\x10\xee\ +\x49\x13\x01\x23\xcd\x11\xbd\xca\xdf\x65\xff\x35\x3d\x2e\x01\x9f\ +\x16\xec\x1a\x9d\x01\x02\x29\x74\xe2\x83\xd2\x43\xb8\x80\x5b\xb1\ +\xb1\x8a\xb0\x10\x53\x1e\x15\x00\xb6\x43\x60\x75\xf9\x0a\xe1\x7b\ +\x0d\x41\xe0\x2a\xdf\x0e\xea\x01\x15\x5d\x6f\xe1\x4a\xad\x35\xb6\ +\x01\x82\xa7\xd1\x63\xdf\xba\x27\xce\x37\xd8\x90\x48\xd7\xf8\xf1\ +\x2f\x66\xe8\xa4\x04\x6e\xf7\xbe\xbe\x62\xc5\x26\xfa\x5c\x80\x50\ +\x08\xe9\x4a\x09\xd9\xdd\xf8\xde\x13\x1b\x0a\x4b\x13\xb6\x57\x54\ +\x8f\x4a\x90\x4a\x21\x5c\xcb\xdd\x37\xf4\x44\x97\xe5\x0c\xba\x88\ +\xf4\xaa\x97\xa0\x19\xe1\x8b\x48\xe9\x27\xc4\x08\x8f\x83\x50\x5c\ +\x31\x10\x18\x6b\x6c\x02\x84\x09\x20\x15\xb8\xe0\x84\xc9\x16\xcf\ +\xe5\x0b\x06\x72\xfc\x0c\x62\xd4\x8a\x00\x8f\x08\xbd\xbe\x5a\x79\ +\xca\x7a\x80\xe3\xe8\x6f\x11\xc8\x39\xec\x49\x51\x17\x9e\x3e\xf1\ +\xa4\x46\xf0\x35\x94\x0f\x20\x82\x36\x41\x0f\x88\x56\xda\x1d\x84\ +\x3e\x8b\x52\x3d\x34\x72\x20\x2a\x19\x52\x1d\x57\x6e\xff\xd7\x58\ +\x02\x74\x6d\xeb\x9e\x2f\x4f\x40\x2c\x07\x2e\x64\x48\x14\x06\x02\ +\xb6\x81\x44\x11\x7c\x10\x38\x96\xbe\x92\x4e\x9c\xc0\xb6\x6d\x84\ +\x10\x08\x21\x7c\x96\xd0\xf7\xb3\xdd\x08\x5f\xd0\x3d\x43\xf5\x8a\ +\x77\x8f\x0d\xec\x02\xab\xfb\xff\x41\x56\xcf\xcb\x27\x00\x25\xc2\ +\x46\x21\xc1\x70\xb4\x97\xfc\x42\x20\xd4\x4d\x6f\xd6\x52\x40\xed\ +\x78\xd1\x50\xa9\xae\xa4\x06\x58\x6b\x09\xe0\x26\x61\xf8\xdf\x29\ +\xcc\xf2\x05\xd5\x84\xf2\x4f\x99\xab\x03\x7a\x7c\xe9\x2e\x6f\x10\ +\xb8\x88\x52\x61\x59\x16\xd3\xd3\xd3\x74\x3a\x1d\xd2\x99\x34\x99\ +\x4c\x86\x78\x34\x1e\xd0\xa4\x32\x70\xd2\x03\xec\x23\xe1\xcd\xf7\ +\x6c\x86\xd5\x5c\xcb\x20\x72\xa5\xea\x66\xa8\x2a\x29\x3c\x7f\x34\ +\x04\x70\x9f\x82\xf6\xad\xcf\x80\x44\xec\x71\x6f\x7b\xd3\xd7\x84\ +\x13\xf3\xbe\x4a\x00\xe0\x67\xde\xc8\x90\xff\xae\x3c\xe2\x43\x06\ +\xd5\x02\x21\xa3\x6c\xe5\x29\x54\x81\x8b\xd8\x15\xdf\x96\x65\xd3\ +\x6c\x36\x49\xa5\x52\xa4\x53\x69\x9a\xf5\x06\x85\xa5\x02\x7d\xb9\ +\x1c\xf1\x58\x0c\x21\x44\x00\x58\x1e\x61\xd4\x93\x23\x10\xf4\x1a\ +\x82\x61\x6b\x15\x74\x49\x03\x61\x6b\x9f\x2f\x50\xab\xd2\xd6\x41\ +\x23\x33\xe8\xba\x06\xa5\x1b\x81\xa0\x98\xfb\x20\x87\xb8\x0a\x5d\ +\x89\xf7\x39\x00\x24\x0a\x21\xc2\x95\x3f\xfe\x26\x06\x5d\xbd\xd5\ +\x4e\x47\xc8\x75\x08\x18\x7b\x21\xc6\x0f\x34\x4d\x60\x99\x26\xe9\ +\x74\x9a\xcd\x9b\x37\x73\xfb\xed\xb7\xf3\xda\x6b\xaf\x31\x31\x31\ +\x41\xa9\x58\x24\x9b\xc9\x10\x8d\xc5\xd0\x74\xad\x47\x35\x04\x14\ +\x54\xc0\x32\x0b\x7e\x46\x11\xa8\x64\x72\x09\xdc\x80\x6e\xf7\x5c\ +\xc1\xb0\xfb\x19\x92\x04\xbd\x06\x7d\x40\xb9\xcb\x00\x57\xa0\x94\ +\x4b\x93\x06\x33\xa3\xae\x06\x1b\x40\xac\x12\x43\x57\xab\x30\x82\ +\x9e\xc5\x1f\xbc\x46\x3e\xe1\xe3\xe6\x05\xa8\x5e\xa6\x10\xb0\x2c\ +\x93\x8e\xd9\xc1\xb4\x2c\xe2\xf1\x38\xad\x56\x8b\x72\xb9\xcc\xe7\ +\x3e\xf7\x39\x4e\x9d\x3a\xcd\xe1\xc3\xdf\x67\x62\xe2\x08\xc5\x62\ +\x91\x64\x32\x41\x3c\x9e\x08\xfb\x12\x01\x69\x22\xa5\x93\x9b\x88\ +\xd0\x02\x6e\x1a\x7e\x8c\x20\x40\xf3\x07\x72\x13\x09\x4b\xb7\xa0\ +\xf5\xd2\x4b\x62\x09\x15\x32\x4c\xc3\xea\x45\xad\x20\xb1\xae\x0e\ +\x37\x30\x64\x1b\x75\x45\x6c\x57\xff\xca\x00\x3f\xe0\xc5\xf0\x1d\ +\xc3\x4d\xd0\xcd\xf1\x0b\xb3\x6b\x5d\x1d\x5d\x2a\x95\x29\x2c\xcc\ +\x93\x33\x0c\x6a\x95\x0a\x0f\x3c\xf0\x00\xcf\x3e\xfb\x2c\x9b\x36\ +\x6d\x62\xd3\xa6\xcd\xd4\xeb\xe3\xe4\x72\x1f\xe0\xd4\xa9\x17\x79\ +\xf3\xcd\x09\x16\x16\x16\xc9\xf5\xe5\x88\x27\xe2\x80\xa0\xd3\x69\ +\xd3\x6e\xb7\x91\x52\xa2\x09\x0d\xdd\xd0\xd1\x35\x0d\xa1\x69\x7e\ +\x8a\x58\x28\x70\x14\x50\x25\x3e\x7a\x7a\x0c\x3d\x7a\xd8\x47\x8f\ +\x01\x45\x8a\x90\xeb\xdb\xcb\x50\x2a\xe9\xb8\x93\xf4\x18\xc2\xef\ +\x73\x1b\x80\x90\x6b\x17\x94\x06\x41\x96\x4c\xd1\x4b\xb0\x84\xc3\ +\xb5\x41\x82\xcf\xbf\xc0\x52\xd1\xa8\xd7\xd8\x9d\x4c\x32\x90\x4e\ +\x73\x21\x12\x61\xeb\xd6\xad\x8c\x8c\x8c\xf0\xca\x2b\xaf\xf0\xf1\ +\x8f\x0f\xb1\xb0\x30\x4a\xa1\xb0\x9d\x1b\x6e\xb8\x99\x9b\x6e\x7a\ +\x83\x33\x67\x0e\x71\xe2\xc4\x49\x16\x16\x16\xfc\xcd\xdd\xb4\x69\ +\x13\xc9\x64\x92\x66\xb3\x49\xa9\x54\xa2\xde\x68\x60\x59\x16\x9a\ +\x10\xc4\xe2\x71\x62\xb1\x58\x57\x05\x89\x70\x8a\xb9\xe3\x0d\x48\ +\xc2\xe2\x24\xcc\x33\x20\x55\x20\xb0\x14\x60\x1d\xe9\x51\x01\xc1\ +\x60\xd2\x55\xe3\x06\xf6\x1a\x58\x6e\xb4\xc4\xdf\xfc\xa0\xd8\x0c\ +\xaa\x82\x1e\x9f\x39\xc8\x1d\x04\x09\x1a\xab\xd3\xa1\x3f\x1e\xa7\ +\xd9\x6e\xb1\x6d\xcf\x75\xc4\xe3\x71\xb6\x6f\xdf\xc1\xab\xaf\xfe\ +\x80\x4a\xa5\xc4\xd0\x90\x62\x7a\xda\xe6\xb9\xe7\xc6\xb0\xac\x8d\ +\x0c\x0e\xee\x63\xfb\xf6\xfd\xcc\xcc\xfc\x7f\xdc\x78\xe3\x8d\x7c\ +\xf4\xde\x7b\xd9\xb4\x71\x23\xba\xa6\x91\x48\x26\x11\x42\x50\x2a\ +\x95\x38\x77\xee\x1c\x47\x8e\x1c\xe1\xe8\xd1\xa3\x2c\x2c\x2c\x90\ +\x88\x27\x48\x24\x13\x68\x42\x73\x75\xf7\x25\x36\x31\xa8\xd7\x7d\ +\x0a\xd8\xc5\x8e\x08\x67\x42\x85\x58\x21\x14\x32\xa0\x15\xc4\xd5\ +\x24\x01\xba\x21\xdf\xc0\xe9\x27\x40\xda\xa8\xb0\xf1\x23\x95\x13\ +\x1a\x0e\x06\x5f\xc2\xc4\x4a\xd7\xf7\x37\x4d\x93\x98\x61\x30\xdd\ +\x69\xb3\x63\x74\x0c\xcb\xb2\xc9\xe7\x72\x94\x4a\x25\xca\xe5\x12\ +\xf9\x7c\x87\x7b\xee\x99\xe5\x86\x1b\x0c\xa6\x26\x73\x4c\x4e\x0d\ +\x61\xdb\xa3\x6c\xdb\xb6\x8d\x5f\xfc\xc5\x5f\x64\xc7\xce\x1d\x44\ +\x23\x51\x0c\x5d\x77\x7d\x70\xc9\x86\x0d\x23\xec\xd8\xb1\x93\x3b\ +\xef\xbc\x93\xc9\xc9\x49\x5e\x7d\xf5\x55\x5e\x79\xf9\x65\x26\xa7\ +\xa6\xd0\x75\x9d\x58\x2c\x46\xc4\x88\xf8\xf9\x8b\x5e\x8e\x63\xe8\ +\xd4\xab\x95\x81\x2a\xd4\xca\x08\x67\xf0\x76\x38\x16\x01\xea\xaa\ +\x60\x02\x03\x39\xf7\x21\xd6\xcf\x0b\xec\x08\xe5\x07\x74\x44\xe0\ +\x44\x28\xcf\xdf\x96\x2e\x2d\x1c\x94\x04\xee\x7d\xb6\x6d\x22\x4c\ +\x93\x28\xd0\xb4\x6d\x12\xae\x11\x28\x34\x41\xa7\xd3\xa1\x52\xa9\ +\xa0\x69\x9a\xa3\xdf\xb5\x3a\x63\xe3\x25\x72\xf9\x59\x0e\x1f\x7e\ +\x83\xfe\xfe\x7e\x36\x6c\xd8\x00\x0a\x3a\x9d\x0e\x26\x38\x15\xa8\ +\xee\x2f\x4d\xd3\xe8\xeb\xeb\x73\x32\x86\x77\xef\xe6\x23\xf7\xdc\ +\xc3\xdf\x7c\xe3\x1b\xbc\xf4\xd2\x4b\x34\x1a\x0d\x34\x5d\x23\x95\ +\x4c\x21\x84\x93\x9f\x20\x7b\xdc\xbe\x50\x4c\x21\xc0\x09\x48\x7a\ +\xe8\x65\xd5\xcd\x03\xf0\xd5\x9d\x17\xb5\x12\x57\x8b\x04\x08\x5c\ +\x94\x20\x81\xb3\x82\x05\x53\x81\x70\xb1\x17\x37\x20\x9c\x1c\xe2\ +\xb1\x6f\x28\xb0\x6d\x09\xb6\x4d\xc3\x34\x69\x02\xcd\x66\x93\x76\ +\xbb\x85\x69\x9a\x08\x21\xa8\xd7\x6a\xc4\x62\x31\x6a\xb5\x1a\xb6\ +\xed\x70\x05\x85\xc2\x22\xa5\xd2\x49\x6e\xbc\xf1\x83\x18\x86\x81\ +\x69\x9a\xee\xa6\x77\xaf\x76\xf0\x36\x02\x04\x82\xd1\xd1\x51\xf6\ +\xee\xdd\x4b\xb5\x5a\x65\xe7\xce\x9d\x3c\xf1\xc4\x7e\xea\xf5\x3a\ +\xc9\x44\xb2\x6b\x14\x06\x89\x4d\xff\x0f\xe1\x04\x87\x7a\xbe\x67\ +\x88\x31\x94\x5d\x43\xd1\x63\xa3\x83\xa0\x7f\x9f\xdb\x00\x84\x73\ +\xf9\x3d\x1d\xb8\xe2\xa2\x28\x3f\x2e\xe2\xcb\x83\x15\x46\x60\x57\ +\xf9\x4b\xe9\x24\x96\x36\x80\x57\xa4\x44\xe6\x72\x1c\x99\x98\x20\ +\x93\xcd\x50\xaf\x37\xd0\x75\x9d\xd7\xdf\x78\x83\x44\x3c\x8e\x52\ +\x8a\x4a\xa5\x42\xad\x56\x23\x97\xcb\xb1\x69\xd3\x35\xec\xd8\xb1\ +\x03\x29\xa5\x9f\x0d\xe4\xec\xb9\xf0\x7f\xf7\x82\xc1\xb2\x2d\x16\ +\x97\x96\x18\x1d\x1d\xe5\xe7\x7f\xfe\xe7\xc9\xe7\xf3\x7c\xed\x6b\ +\x5f\xa3\x63\x76\x30\x74\xe3\x12\x65\x6d\xdd\x08\x54\x28\xeb\x88\ +\x20\x45\xdc\xab\x12\xba\x86\x83\x12\x57\x05\x00\x42\xe4\x7f\x98\ +\x0f\xf0\xdc\x9e\xc0\x17\x0f\x79\x01\x04\x58\x38\x64\x88\x35\x53\ +\x4a\xd1\x6c\x35\x89\x25\x93\xdc\x70\xdb\x6d\xdc\x74\xd3\x4d\x3c\ +\xfd\xf4\xd3\x7c\xff\xfb\x87\x50\x4a\x52\x2e\x97\x49\x24\x12\x24\ +\x13\x49\xe2\xf1\x28\xa3\x1b\x46\xd9\xbe\x7d\x1b\xa9\x74\x9a\x78\ +\x3c\x4e\x7f\x7f\x3f\x9d\x4e\xc7\xdd\x60\xe5\xfe\x16\x01\x10\x38\ +\xa8\xf0\x6e\xd6\xeb\x75\x2e\x5e\xbc\xc8\x07\xae\xbf\x1e\xdb\xb6\ +\xb9\xeb\xae\xbb\x38\x7e\xfc\x38\xcf\x3f\xff\x02\x7d\xd9\xac\x1f\ +\xf7\x76\xec\x01\xd1\xf3\x3d\x65\x58\x16\x2a\xe7\xac\x77\x6d\x04\ +\x81\x52\x76\x98\x7d\x14\x57\x8e\x09\xba\x42\x6e\x20\x2b\x22\x80\ +\x5e\x02\x40\x20\x0c\x14\x38\x11\xc1\x5a\x3d\x11\x22\x47\xa4\x72\ +\xf4\xff\xf2\x72\x91\x1b\xf7\xed\xe3\xa1\x87\x1e\x22\x93\xc9\x20\ +\xa5\xe4\x47\x3f\x3a\x42\x2e\x97\xe3\x23\x1f\xf9\x08\xb9\x5c\x0e\ +\x5d\x37\xe8\xef\xcf\x93\x48\x24\xb0\xa5\x44\xd7\x34\x74\x5d\xf7\ +\x0d\x48\xa7\x82\x58\xa0\x69\xab\xab\x00\xef\xf6\xd4\xd4\x24\x95\ +\x72\x99\xf1\xf1\x71\xcc\x4e\x07\x84\xe0\x9e\x7b\xee\xe1\x95\x57\ +\x5e\xa1\x63\x76\x88\x46\x22\x7e\x0c\x43\x21\x03\x01\x1d\x85\xf2\ +\xcb\x94\x55\x17\xec\x1e\x35\x8c\x97\x05\xd5\xcd\x8d\xe8\x35\x20\ +\xdf\xf7\x2a\x40\x08\x15\xf2\x85\x83\x99\xc1\xde\x49\xd1\x34\x0d\ +\xdb\xb6\xbb\x46\xa0\x90\x21\xab\x38\xe4\x2b\xa3\x30\x2d\x1b\xd3\ +\x34\xd9\xb5\x6b\x17\xa9\x54\x0a\x29\x25\xbb\x76\xed\x62\xdb\xb6\ +\x6d\xc4\xe3\x71\xa4\x6d\x83\x10\x18\x86\x8e\x52\x8a\x76\xbb\xed\ +\x80\x47\xd3\xe8\x74\x3a\x4e\x1a\x94\xd0\x5c\x69\x1f\x38\xf5\xab\ +\x00\x40\x4a\xc9\xd1\x63\xc7\x48\xa7\xd3\x0c\x0c\x0c\xd0\x71\x6d\ +\x8c\xf1\xf1\x31\xae\xdd\x7d\x2d\x6f\xbc\xfe\x86\xdb\xc9\x44\xad\ +\x68\x6b\xe3\x43\x5e\x76\x2b\x88\x56\x64\x29\xaf\xa0\xa7\x03\xa4\ +\xd7\xfb\x5e\x02\x84\x6a\xf4\xc3\x01\x13\xef\x82\x0d\x6c\xde\x44\ +\x24\xdd\x8f\xd5\xaa\x62\x55\xcb\x74\xea\x0d\x5a\xed\x36\x9d\x8e\ +\x09\xb6\xdd\x43\x04\x39\xcf\x89\xe8\x3a\x11\x23\xc2\xe4\xe4\x24\ +\xfb\xf6\xed\x23\x12\x89\x02\x0a\x4d\xd3\x68\xb7\x3b\xbe\x05\x65\ +\x59\x16\x9a\xe6\x66\x1f\x29\x85\xae\xeb\x20\x04\xb6\x52\x28\x69\ +\x21\x34\x11\x2a\x0a\x0d\x22\x41\x38\x16\x20\xd5\x6a\x95\xd3\xa7\ +\x4f\xb3\x6b\xe7\x2e\x22\x91\x88\x6f\x64\x0a\xa1\x71\xdd\x75\xd7\ +\xf1\xea\x0f\x5e\x75\x19\x4b\x11\xa2\x81\xbb\x99\x41\xaa\xe7\x74\ +\xe3\x83\xc1\x8b\x01\x84\x12\x53\x82\x61\xef\xab\x21\x1c\x1c\x0a\ +\xf4\x84\x48\x13\x67\x3b\xaf\xfd\xc8\x27\xe9\x68\x1f\x66\xe6\x94\ +\xa2\xd8\x9a\x47\x25\xce\x93\x1c\x3c\x4b\x3e\x72\x11\xbb\xb5\xc8\ +\xfc\xd9\x73\xbe\xd7\x20\x04\x48\x5b\x21\x74\x9d\x81\xa1\x21\x5e\ +\x7a\xe9\x30\xb6\x6d\xf3\xb1\x8f\x7d\x8c\xfe\xfe\xfe\x50\x45\xb1\ +\xa6\x69\x98\xa6\x49\xbb\xd3\xf6\x0d\xb5\x56\xbb\x45\xa7\xdd\x21\ +\x62\x18\x44\xa3\x51\x84\xa6\xf9\x3c\xbf\x61\x18\xc4\x22\x51\x34\ +\x5d\x0b\xd9\x30\xc7\x8f\x1d\xa3\x5e\xab\xb3\x7d\xfb\x76\x6c\xcb\ +\xf6\x81\x2d\xa5\xa2\x5e\xab\x3b\x92\xc5\x96\x08\x07\x69\x01\xdb\ +\x45\xf5\x34\xa8\x50\xdd\x6c\xe5\x20\x11\x26\x59\x35\xe0\x75\x55\ +\xb8\x81\xc1\x6c\xdf\x50\xc2\x44\x80\x19\x34\x3b\x70\xfe\x4c\x82\ +\x4e\xdb\x60\xf3\x07\xf2\x34\x6b\xbb\xa9\x97\x15\x76\xa4\xc3\xe6\ +\x0f\x96\xb9\xe6\x96\xef\xb2\x74\xfe\x08\xb5\x62\x15\xc3\x80\x56\ +\x65\x99\x56\xb9\x42\x34\x12\x21\x12\xd5\x79\xe9\xa5\x97\x58\x5a\ +\x5c\xe4\x91\x4f\x7d\x8a\x64\x2a\x85\xa1\x69\x54\x2a\x15\xaa\xd5\ +\x2a\x9a\x94\x18\x08\x9a\xad\x26\xed\x46\x83\x54\x2c\x4a\x22\x12\ +\xa5\xd4\xe9\xd0\x6a\xb7\x51\x52\x12\x8b\xc5\x88\xc6\x62\x10\x8d\ +\x42\x34\x4a\x2c\x9d\x26\x93\xcd\x92\x4c\x24\x68\x35\x9b\x4c\x1c\ +\x3d\xca\xf8\xf8\x38\xf9\x7c\x1e\xcb\xb2\x7c\xbf\x7d\x62\x62\x82\ +\x97\x5f\x7e\x39\xa0\x36\x56\x5a\xf4\xa1\x9a\x44\x41\xb7\x28\xa6\ +\x87\x2c\xea\x06\x98\xc2\x01\xa5\xab\x40\x02\xd0\xc3\x74\x75\x81\ +\xee\x19\xc7\x17\x5e\x7e\x8a\x2d\xb7\xd4\xb1\xcd\x0e\xed\x86\xc6\ +\x4d\x9f\xfa\x0c\xe7\x26\xd2\x1c\x3b\x14\xe3\x1b\xbf\x3f\xc2\xd8\ +\xb6\x4f\xb3\xe3\xc6\x0f\x33\x74\x9d\x20\x3b\x94\xa5\xbc\x54\xa4\ +\xb6\x30\x89\xd9\x3c\xcb\x70\xe7\x4d\xc6\x77\x4f\x32\x73\xf1\x4d\ +\x9e\x7c\xe2\xbf\xf1\xc1\xeb\xf7\x91\x10\x1a\x11\x29\x19\xcb\xe5\ +\x88\xeb\x3a\xc2\xb6\xc9\xf6\xf5\xd1\x37\x3a\x8a\xb4\x6d\xda\xed\ +\x36\x06\x10\x8f\x44\x40\x4a\xaa\x8d\x06\xa5\x6a\x95\x7a\xb9\x4c\ +\xbd\xd3\xa1\x6a\xdb\x2c\xc7\x62\xa4\x46\x47\x29\x35\x9b\x2c\x2e\ +\x2e\x72\xeb\xad\xb7\x62\x18\x06\x0a\x85\xd9\x31\x39\x73\xe6\x0c\ +\xcf\x3c\xf3\x0c\xd3\xd3\xd3\x24\x12\x09\xc7\x98\x94\x3d\x24\x8f\ +\xb7\xc9\x92\x50\xcc\x3f\xf0\xa0\x50\x08\x99\x9e\x92\xf7\xab\x44\ +\x05\x10\xae\xed\x0b\xf8\xbf\x9e\xab\x33\x7b\xea\x34\x33\x27\x4f\ +\x21\x22\x06\x99\xfe\x3c\xd7\x7f\xec\x56\x9a\xb5\x6b\x69\xd6\x60\ +\xfb\x0d\x8a\xc1\xf1\x38\x4a\x0d\x71\xee\x68\x07\xd3\x8c\x92\xcc\ +\x8e\x90\xce\x8d\x63\x64\x6f\x43\x37\xa0\x7f\x47\x8d\x1d\x1f\x9a\ +\xe2\x7b\xff\xf0\x15\x96\xce\x9c\xe6\x7f\xbc\xfb\x6e\x72\xc9\x34\ +\xb6\x65\x61\x08\x41\xcc\x30\xb0\x3a\x1d\xac\x76\xdb\xc9\xb8\x11\ +\x02\xdb\xb2\x90\xed\x36\xb6\x65\x91\x57\x92\x7c\x34\x8a\x14\x02\ +\x2b\x1a\xa5\xd1\x6a\x51\xa8\xd7\x38\xf6\xca\x2b\x3c\x37\x33\xc3\ +\xc6\xed\xdb\xd9\xb8\x71\x23\x42\x38\x0c\xe3\xd9\xb3\x67\x79\xfa\ +\xe9\xa7\xb9\x70\xe1\x02\xf1\x78\x1c\x5d\x37\xfc\xc2\x53\x15\x3e\ +\xfa\x21\x20\xc8\x15\x52\x91\x70\x3a\x5a\x4f\xa1\x8c\x12\xea\x2a\ +\x52\x01\x81\xd6\x30\x41\x6b\x39\xd4\x1a\xa6\xd3\xa1\x3c\x3f\xcf\ +\x89\x17\x5e\x20\x95\xeb\xe3\xb6\x07\x25\xe9\xd4\x24\x53\xc7\x4e\ +\x02\x16\x1b\x46\x4c\xd2\xb9\x14\x93\x27\xe6\x68\x95\xb3\x10\xdf\ +\x86\xc5\x16\x0a\x33\xa3\x98\x9d\x3d\xa0\x7f\x89\x89\x33\x7f\x46\ +\x65\xaf\x46\xaa\xb1\x84\xb0\x4d\x3a\xd2\xa1\x89\xa5\x6d\x83\x6d\ +\x23\xa5\x8d\xb2\x6c\x94\xed\xfc\x48\x29\x91\x96\x85\x92\xde\x7d\ +\x12\x65\xdb\xe4\xa5\x8d\x56\x28\xd0\x5e\x58\x20\xb3\x6f\x1f\xb1\ +\x58\x8c\x76\xbb\xcd\xc4\xc4\x04\xcf\x3d\xf7\x1c\xe7\xce\x9d\x23\ +\x95\x4e\x13\x71\xbd\x8c\x15\xc1\x2b\x37\xe0\x15\x56\x7f\xdd\xda\ +\x86\xd5\xc2\xc6\xa1\x22\xd4\xab\xc6\x08\x24\x18\xf0\x0a\x44\xc2\ +\x7c\xc6\xaf\xeb\x0b\x7b\x16\xf3\xb1\xef\x3c\xc5\x96\x7d\xb3\x34\ +\xab\x15\x66\xde\x3c\x85\x32\x6d\x3a\xad\x26\x9d\x4e\xc7\xb1\xe4\ +\x23\x11\x0c\x5d\x23\x1a\x4f\x10\x4f\xa5\xd8\xb0\xe7\x7a\x36\xec\ +\xfa\x28\x85\xc5\xeb\x78\x4d\xff\x15\xfe\xe1\x5c\x81\x3b\x86\x8e\ +\xb1\x35\x79\x8a\x58\xe1\x2c\xd2\x96\xd8\x96\x72\x36\x57\xda\xc8\ +\x1e\x00\xf8\xb7\xed\xee\xfd\x8b\xed\x36\xaf\x2f\x2c\xb0\x37\x16\ +\x23\x33\x39\xc9\xd4\xe4\x24\xa7\xcf\x9c\xe1\xd0\xa1\x43\xcc\xce\ +\xce\x92\xc9\x64\xd0\x34\xad\xcb\x5e\x0a\x42\xb6\x4d\x28\xc5\x2d\ +\x50\xfc\x21\x65\x38\xa4\x1d\x4c\x80\x11\xbd\x69\xe9\xe2\x6a\xb1\ +\x01\x44\x38\x08\x24\x10\x6e\x11\xe8\xca\x36\x6e\xa0\xa8\x2d\x15\ +\x38\xf2\xec\x77\x7a\xba\x8a\x75\x13\x30\xac\x76\x1b\x13\x68\xd4\ +\x1b\xb0\xb4\xc4\xcc\xf9\xf3\xa4\x0e\xbf\xc8\xc6\xeb\xf6\x71\xe7\ +\x27\x1e\x62\x61\xe1\xe7\xf8\x6f\x13\x37\x91\x9a\x99\x61\x47\xed\ +\x3b\x6c\xcf\x9e\x20\x57\xfa\x11\x51\xab\x84\xb2\x3a\x48\xcb\x46\ +\xda\x4e\xb0\xa9\x7b\xf2\x5d\x00\x48\x1b\xd3\xb4\x38\xdc\x6c\xd2\ +\x68\xb7\xb9\x63\x60\x80\xf9\xf3\xe7\xf9\xdb\xaf\x7f\x9d\xc5\x52\ +\x89\x66\xab\x45\x26\x9d\x41\xe8\x9a\x6f\xc8\x84\x52\xc8\x7b\x03\ +\x5e\xdd\x83\xdf\x85\x7b\x4f\x98\x7b\xb5\x08\xa1\x12\xea\x2a\x4a\ +\x0b\x0f\xe9\xc4\xa0\x3a\xa0\x27\x4a\xd8\x8d\x0c\xd2\x73\x61\xbc\ +\x90\xaa\xf2\x7a\x72\xb8\x21\x38\xef\xa2\x57\x97\x0a\x1c\x7f\xe1\ +\x59\x16\xdf\x3c\xca\xae\x3b\xef\x60\xd3\x23\x3f\x87\xd2\xef\x64\ +\xfa\x87\x9f\x65\x76\xa1\x44\xa6\xf8\x02\x83\x95\xc3\xe4\xa3\x73\ +\xa4\xec\x45\xf4\x7a\x01\x55\x2f\x21\x9a\x15\x84\xb4\xdc\x94\x30\ +\x81\x25\xe1\xa4\xb4\x39\x63\x5b\x6c\x10\x82\x85\x72\x85\x1f\x45\ +\x22\x34\x06\xb2\x24\xfb\xd3\xa4\x54\x86\x4e\xbd\xed\x04\xa2\x54\ +\xb7\xbc\x4c\xac\x56\xd8\x1a\xf0\xfd\x43\x4d\x2b\x42\xd2\x40\x85\ +\x5a\xdf\xaa\x60\xb2\xd1\x55\x93\x0f\xe0\xd3\x9c\x81\xe4\xcb\x50\ +\xc5\x40\x57\xe1\xc9\x5e\xcb\x98\x6e\xa5\xad\x9f\x2a\x2e\x02\x59\ +\xbb\x2e\x62\x3c\x09\xbc\x30\x33\xcb\xc2\xdf\xfd\x3d\x9a\xf1\x2d\ +\xb6\x7c\xf0\x76\x62\x99\xdd\xb0\xe1\x46\x8a\x83\x3f\xcf\xd4\xdc\ +\x67\x31\xaa\x73\xf4\xb5\xce\xd0\x6f\x1e\x27\xdb\x38\x49\xb4\x32\ +\x85\x5a\x9e\x87\xe2\x22\x86\x66\xb2\x2c\x2b\xfc\xb3\xdd\x60\x09\ +\x8d\x48\x2a\xc7\xdc\xd8\x18\xc9\x1b\xff\x07\xb6\xc4\xef\xc5\xd0\ +\xe6\xc1\x3e\x89\xd9\x3a\x45\xab\x36\xcd\xf4\xf1\x13\x2e\xe9\x24\ +\xbb\x35\x07\xfe\xb7\x0d\x8a\x78\x19\x2e\x05\x0a\x66\x46\xf5\xa8\ +\x46\xff\x08\x78\xd9\x47\x57\x4b\x30\xa8\x57\x2f\x86\xbb\x6f\xc8\ +\x70\xaa\x54\xa0\x12\x38\xc8\x9f\xab\x5e\xaa\xb5\xc7\xa8\x0c\x16\ +\x6f\x58\xa6\xc9\x99\x57\xbe\x8f\xa1\xbd\xc8\xe0\xd8\x38\x3b\x3f\ +\x74\x17\xe2\x9a\x31\xea\xb5\x31\x8a\xcb\x63\x9c\xac\xdc\x48\xa7\ +\x92\x43\x6f\xd7\x49\x36\x2f\x12\x5d\x3a\x85\xb2\xdb\x9c\x2d\xc3\ +\xd9\xf9\x0e\x42\x2f\x31\xb3\xd1\xe4\xe6\x4f\x5f\xcf\xb5\x37\x7f\ +\x84\x33\xaf\xc7\x88\x44\x35\x14\x0f\x93\x48\x59\xf4\x0d\x95\x29\ +\x4e\x7d\x97\xb9\xb3\xff\xcc\xf2\xe4\x49\x26\x4f\x9d\x46\xb6\x5a\ +\x81\xba\x85\x55\x32\x84\xe9\x51\x0d\x21\x43\x30\x68\x2f\xf4\xaa\ +\xc5\xab\xc1\x08\x54\x01\x2e\xa0\x27\xbc\xab\x7a\xaa\x84\x82\x85\ +\x5b\xab\x96\x79\xa9\x6e\x3a\xb6\xdf\x57\x40\x85\xad\x6a\x01\x48\ +\xcb\xa2\xad\x14\x53\x67\xcf\x31\x75\xe6\x0c\xc2\x30\x48\xf5\x0f\ +\x90\x1d\xdc\x40\x76\x68\x9c\xe4\xb6\x31\x8c\xf8\x08\x36\x63\x58\ +\xea\x7a\xa4\x3d\x40\xee\xd4\x0f\xf9\x97\x7b\xc7\x68\x56\x05\x85\ +\x19\x83\xe5\xe9\x51\x9e\x3f\x1b\x43\x49\x41\x2a\xab\xe8\x1b\x14\ +\xb4\x6a\x11\xce\x1f\x1d\xc4\xec\x7c\x8a\xfc\xd0\x5d\xdc\xf4\xc8\ +\x1c\xd7\x4c\x3e\xc9\xb1\x17\x9e\x64\xf6\xdc\x39\xba\xd4\xbe\xea\ +\x91\x6c\xe1\x6a\xa0\x6e\x13\x8a\x9e\xa2\x98\x70\x16\xc5\xfb\x9f\ +\x0a\x0e\xb5\x43\x09\xd0\xa0\x21\xa3\xc8\x0b\x83\xf7\x36\x72\x0a\ +\x4a\x81\xc0\x46\xaf\xe6\x67\x07\x83\x67\x32\xe4\x4a\xb9\x27\xce\ +\xb4\x28\xcf\xcd\x51\x9e\x9b\x45\xa9\xd7\x1c\x8f\x22\x1a\x23\x3b\ +\x38\xc4\xd0\xc6\x31\x72\x83\xfd\xc8\xf2\x9b\x5c\xfc\x41\x86\x68\ +\x2a\x43\xcc\x88\x92\x1d\xde\x4c\x2c\x3d\x8e\x6d\x8d\x11\x49\xfe\ +\x1c\x8d\x6a\x96\x6c\x5e\x70\xc3\x47\x14\x46\x24\xca\xeb\xcf\x8e\ +\xf2\xca\x81\x31\xc6\x76\xdc\xc0\xc7\xfe\xcd\x67\x29\xcf\x3d\xc3\ +\xfc\x85\x13\xcc\x9e\x3e\xc9\xf4\xc9\x37\x31\xdb\xed\x70\x64\x2f\ +\x54\x4b\xe8\x85\x7f\x05\x01\x13\xd2\xa7\x86\xc5\xd5\x41\x05\x3b\ +\x39\x2e\x42\x85\x9b\x3c\x84\xaa\x7a\x5d\x35\x10\x2c\xd9\xc3\xab\ +\xb9\x53\x04\xf2\x01\xe8\x29\x17\x73\xc9\x92\x1e\x6a\x55\x89\x60\ +\xba\xb6\x5c\x21\x79\x82\x76\x86\xd5\x6e\x51\x98\xba\x48\x61\xf2\ +\x82\xdf\x9e\x46\x13\x3a\xb6\x65\x85\x4e\x60\x22\xdb\xcf\xb5\x77\ +\x3e\x40\x76\xf8\x4e\x9a\xb5\xbb\xf8\xee\xd7\xf3\x68\x3a\xd4\x4a\ +\x20\x6d\x78\xf5\x40\x84\x23\xcf\xef\x61\xd7\x2d\x3b\x18\x1c\xab\ +\xb0\xf3\xe6\x45\x16\x2e\x7c\x9b\x73\x3f\x7c\x96\xa5\x0b\x17\x59\ +\x9c\x99\xe9\xe9\x6b\xd8\x65\xc6\x05\x76\xb7\xce\x80\x80\x7d\x24\ +\xaf\x0a\x00\x38\x09\x12\x7e\x1b\x57\xc2\x8d\x9a\x82\xc6\xa1\x5a\ +\x71\x4a\xbc\x26\xd1\x5e\x34\x2f\xf0\x1a\x52\x85\xe3\xe9\x32\x70\ +\x8a\xe4\xca\xae\x22\xc1\x46\xd3\xac\xda\xdf\xa7\x4b\xcd\xd9\xd2\ +\x0a\x77\x0a\x51\x8a\x5a\x71\x91\x37\x0e\xfc\x57\x32\xb9\xa7\xd8\ +\x7b\xcf\x3d\xec\xb9\xed\x0e\x3a\x9d\x7b\x79\xf5\x99\x21\x32\x79\ +\xc5\x7f\xf7\x9f\x24\x95\xc5\xf3\x9c\x79\x7d\x9a\xe5\xd9\x51\xe6\ +\x2f\x6c\x47\x68\x9f\x67\xc7\xad\xbf\xc4\xcd\x0f\xff\x90\xd7\x0f\ +\xfc\x09\x6f\xbe\xfc\x32\xcd\x7a\xa3\xa7\xc0\xc5\xcd\x21\x58\x2d\ +\x50\x76\x35\x18\x81\xa1\xf4\x66\xaf\x43\xb8\xbf\x75\x5e\x63\x28\ +\xc2\x9b\xe2\xef\x5a\x90\x5c\x97\x3d\x8f\xe9\x2d\x1d\x93\x2b\xab\ +\x8d\x02\x69\x59\xa1\xac\xdb\x15\xed\x62\x09\x87\x6a\xe9\x6d\x14\ +\xe5\xe6\x20\x98\x1d\x96\x17\x96\x78\xfe\xbf\xfe\x2d\x9a\xf1\x8f\ +\xec\xfb\xd8\x27\xb9\xe3\x91\x7f\xcd\xfc\xc5\x1b\x29\x2f\x80\x50\ +\x2f\x71\xf4\xf9\x3f\x22\x3b\x34\xc6\xce\x9b\x1f\x20\x3f\xfa\x31\ +\x0a\x33\x5b\x39\x7f\xec\x7e\x76\xdd\xba\x81\xfc\xd8\xff\xcb\x73\ +\x5f\xff\x2f\x7e\x4b\x99\x9e\x37\x5f\xd1\xc4\xe2\x4a\xe5\x84\xad\ +\x7d\x65\x90\x82\xcf\x7e\xf6\xb3\x2c\x2d\x2d\x71\xe1\xc2\x45\x2e\ +\x5c\x38\x8f\x69\x9a\x21\x29\x20\x08\x4b\x04\x19\x0c\x21\xf7\xa8\ +\x8e\x70\xfd\xa0\x0a\xe5\xd2\xf5\xf6\xff\x0b\xf5\x05\x5a\xa1\x16\ +\x3c\x19\xbc\xb2\x2c\xcb\xef\x40\x42\x38\xa4\xeb\xa9\x0f\xdb\x34\ +\x39\xf2\x9d\xfd\xd4\x0b\x17\xb9\xe3\x17\xfe\x3d\xa9\xbe\xeb\x98\ +\x3b\x5b\x60\xe1\xc2\x29\xe6\xcf\xbf\xc9\xf9\x1f\x7e\x9f\xa1\x4d\ +\xff\x0f\x7b\xee\xf9\x24\x5b\xf6\x7e\x8e\x56\xfd\x7a\x3e\xfa\x4b\ +\xbf\xca\xa9\x57\x0f\x71\xf1\xd8\x9b\xa1\x5c\xa0\x5e\x83\x38\xc8\ +\x2b\x5c\x05\x5e\x80\xf3\x45\xee\xbd\xf7\x5e\xa0\x9b\xb9\x5b\xa9\ +\x54\x79\xf5\xd5\x57\x39\xfc\xd2\x61\x96\x0a\x4b\x81\x86\x0b\x5d\ +\xe3\x50\x11\x6e\x98\xd0\x4b\x9d\xaa\x00\x41\xe4\x31\x01\x41\x00\ +\x84\xdb\xc8\x06\x6c\x52\x08\x83\x4a\xf6\x34\x67\x08\xa6\x6f\x41\ +\xa8\x8d\x4d\xf0\xb3\xb4\xdb\x6d\x8e\x1f\x7e\x85\x66\xe5\x37\x18\ +\xdb\x7d\x2d\x17\x8f\x9f\xf4\x3f\xa3\xd9\xe9\x30\x75\xfa\x0c\xf3\ +\x17\xff\x94\xbd\x77\x1f\x67\xf0\x9a\x3b\x78\xf3\x70\x84\x7a\xa9\ +\x8a\x57\x2a\xa2\x54\x98\x0c\x93\x5e\xff\xa2\x90\x5b\x7b\x25\x58\ +\x9a\x35\x5e\x47\x8f\x1e\x55\x2b\x2a\x7e\x03\xa7\x0b\x60\x62\x62\ +\x82\x43\x87\x0e\x71\xfa\xf4\x19\xda\xed\x16\xcd\xa6\xc3\xfd\x7b\ +\x5e\x84\xdf\x1c\x52\xad\x96\x7d\xdb\x65\xe4\x1c\x0f\x23\xdc\x2d\ +\x3c\x9c\xb1\xdb\x6d\x08\x29\x02\x3c\x44\x6f\x2b\xfb\x70\xca\x56\ +\x38\x4b\x27\x54\xea\x2d\x5d\x62\x4a\x3a\xa9\x6f\xb6\xbd\x92\xd9\ +\x04\x9c\x4c\x24\x4d\xd0\x69\xb6\xc2\xfd\x07\x7b\xfa\x18\x79\x1b\ +\xff\x4f\x8f\xff\x13\x28\x98\x9d\x9d\x05\xde\xc7\x7d\x02\x01\xf6\ +\xee\xdd\xeb\x7f\xf8\x89\x23\x47\x54\xb8\x86\xde\xb9\xaa\x7b\xf7\ +\xee\x65\xcf\xde\x3d\xa0\x60\x79\x79\x99\x73\xe7\xce\x31\x37\x3b\ +\xcb\xcc\xec\x2c\xa7\x4e\x9d\x62\x71\x71\x31\xb4\x49\x2b\x48\x94\ +\x00\xbb\xa8\x7a\xc4\xbf\x62\xa5\x0b\xd6\xdb\x19\x44\xad\xd2\xae\ +\x45\xa9\xf0\x49\x5c\x51\xcc\xd9\xd3\xb7\xc0\x8b\x57\x84\xca\xc5\ +\x5c\x41\x6f\x77\xec\x80\xe5\xe3\xb6\x8c\x73\x4f\xbd\xd7\x42\x2e\ +\xa8\xf6\x82\x19\x43\x57\x01\x15\xdc\x5d\xd7\x7f\xe0\x03\xe2\x91\ +\x4f\x7d\x4a\x0c\x0d\x0e\x6a\x85\xa5\xa5\xff\x5e\x37\x8c\xff\xfc\ +\x5b\xbf\xf5\x5b\xf9\x20\x28\xf2\xf9\x3c\xf9\x5c\x1e\x6e\x52\x98\ +\x96\x45\xbb\xd3\x71\xe2\xf0\x67\xce\xf0\xfd\xef\x7f\x9f\xd7\x5e\ +\x7b\xad\x67\xf3\x55\xcf\x4c\x80\x9e\x56\x72\x5e\xd3\xa8\xde\xc4\ +\x8b\x60\x37\x10\x56\x4b\xc6\x08\x7b\x14\x22\xa8\xa7\x7b\xfa\x0a\ +\xac\x28\xfd\x96\x41\x63\xb2\xa7\x0f\x82\xdb\x1e\x3f\x98\x20\xe2\ +\x8f\xcd\x11\x57\xbe\x3c\xfc\x8a\x35\x26\x7e\xf8\xa1\x87\x62\x9a\ +\xae\x67\x34\x5d\xff\x57\xba\x26\x7e\x5f\xd3\xf4\x98\x10\x22\x44\ +\x04\x7d\xe9\x37\xbf\xd4\xc3\x97\xaf\xd2\x69\x0c\x28\x14\x0a\x1c\ +\x3e\x7c\x98\x57\x5f\x7b\x95\x52\xb1\x44\xad\x56\xa7\xde\xa8\xad\ +\xd2\x19\x34\x3c\x67\x28\xdc\x15\x3c\xe8\x66\x06\x80\xe0\xda\x04\ +\x92\xde\x29\x25\x3d\x46\xa9\xc7\x39\xb8\xad\xe1\xbc\x76\xf5\x5e\ +\x73\xea\x15\x86\x69\x20\x17\x20\xd4\x33\x39\x50\x55\xec\x49\x84\ +\x27\x1e\x7f\x1c\xa5\x60\x7e\x7e\x6e\xcd\x55\xc0\x9a\xbd\xf0\xc3\ +\x0f\x3f\xac\xed\xdf\xbf\x5f\x7e\xfc\x81\x8f\xc7\x63\x89\xd8\x76\ +\x4d\x68\x9f\x15\x42\xfc\x86\x61\xe8\xb1\x15\x06\x59\x4f\x7d\x7d\ +\xd0\x8a\xff\xf2\x97\xff\x43\xb8\xdb\x76\x10\x0c\x0a\x4c\xd3\x62\ +\x72\xf2\x22\x93\x93\x93\x2c\x2c\x2c\x70\xea\xd4\x69\x4e\xbe\x79\ +\x12\xcb\x34\xc3\xdd\xc1\xfd\x5c\x04\x15\x8a\x2b\xf8\x71\x09\xb5\ +\x7a\xa2\x46\x78\xd2\x89\x73\xbc\x83\xa0\x72\xa4\x83\xe7\x91\x48\ +\xd7\xaf\x0f\x77\x34\x0f\x45\x02\x5d\x09\x10\x6e\x20\x11\xb6\x6b\ +\x9e\x78\xfc\x09\x94\x50\xcc\xcf\xcd\xbf\xff\x00\xf0\xd0\xc3\x0f\ +\x6b\x4f\xee\xdf\x2f\x01\x1e\x79\xe4\x91\x8f\x6a\xba\xf6\x88\x10\ +\xe2\x73\x9a\xa6\xf7\x69\x62\x65\xbd\x43\x88\xf8\xe8\x31\xf2\xfc\ +\xce\xdc\x81\xbe\xff\xbf\xfd\xdb\xbf\xbd\xa2\x8d\x8c\x17\x3c\x93\ +\xca\x29\xf8\xb0\x2c\x8b\x52\xa9\xc4\xe1\x97\x0f\xf3\xc2\xf3\x2f\ +\x30\x3f\x3f\x1f\x9a\x47\xd0\x4b\x40\x5d\x7a\x33\xc2\x33\x0c\xfc\ +\xa9\x27\x42\x86\xfb\x0e\x86\xa6\x9b\xf5\xcc\x3c\x54\x32\x54\xdb\ +\x28\x7b\x26\x9e\xf9\xc3\x2e\xdc\x48\xa2\x94\x8a\x27\xf6\x3f\x01\ +\x0a\xe6\xe7\xdf\x47\x00\x78\xe8\xa1\x87\xb2\x4f\x3e\xf9\x64\xc5\ +\x3d\xfd\xbf\x62\x44\xf4\x5b\x40\xfb\x84\x26\xc4\xb0\xd0\x82\xdd\ +\x31\xbc\xe0\xad\x60\x45\xb9\x58\x88\x14\x0a\x5a\xe7\xbd\x2c\xa2\ +\xf4\xff\xfe\x9d\xdf\xf9\xdd\x90\x7a\xb8\x94\xb4\x98\x38\x32\xc1\ +\xa1\x43\x2f\x72\xfa\xf4\x59\xea\xf5\x1a\xe5\x4a\x99\x8e\x5b\x43\ +\x10\x14\xcd\xbd\x40\xf0\x36\x9d\xc0\x66\x75\x5b\xba\x39\xe3\x6b\ +\xfd\x6a\xa0\xd5\xb8\x0a\x19\x6e\x32\xa9\x02\x8c\xa4\x0a\xe6\x48\ +\x04\xf8\x8c\xc7\x9f\x78\x02\x94\xf2\x1b\x59\xbc\xa7\x01\xf0\xe0\ +\x27\x1e\x8c\x7d\xfb\xa9\x6f\xb7\x01\x1e\x7c\xf8\xa1\xff\xc3\xd0\ +\xf4\x07\x34\x4d\xbb\x0d\x21\x92\x6e\xb6\x34\xe1\x62\xd7\xee\xc6\ +\xaf\xf0\xeb\x55\x38\x46\xbe\xd2\x42\x0f\xb7\x6f\x95\x4a\xa1\x09\ +\x8d\x6d\xdb\xb6\x72\xd3\x4d\x37\xf9\x2e\xd7\x9e\x3d\x7b\xba\xdd\ +\xbb\x15\x2b\x7a\xf3\x2c\x17\x8b\x5c\xbc\x70\x81\x85\x85\x05\x2e\ +\x5c\xb8\xc0\x91\x23\x47\x98\x9b\x9d\xed\xb6\xaa\xed\x89\x21\x74\ +\x79\x84\x9e\xc4\x0e\xa5\x42\x2d\xee\x43\x36\x44\xef\x3c\x04\x9f\ +\x50\x72\x5e\x7b\x65\x14\xb3\x1b\x0b\x7d\xfc\xf1\x27\x00\x58\x58\ +\x58\x7b\x09\xf0\xae\xbd\x80\x6f\x3f\xf5\xed\xf6\x83\x0f\x3e\xf4\ +\x15\x5d\xd7\x7e\x41\x13\x62\x5c\x09\x91\xf0\xad\x6d\x21\x02\x21\ +\xde\x70\xb0\x57\x04\xfb\x07\xf6\x06\x42\x54\xb8\xa2\x28\x98\x31\ +\x13\xda\x14\xa5\xb8\x66\xdb\x66\x6e\xbe\xf9\xe6\xd0\x67\x3a\x76\ +\xec\x18\x9a\x5b\x07\xa8\xeb\x3a\x5b\xb6\x5c\xd3\x6d\xf2\x24\x20\ +\x9f\xcb\x91\xcf\xe5\xdc\x06\x94\x16\x96\x69\x61\xd9\x36\x27\x4e\ +\x9e\xe4\xbb\xdf\xf9\x0e\x2f\x1f\x3e\x8c\x29\x65\x97\xca\x16\x81\ +\xa1\x11\x01\xd5\xa4\x7a\x5a\x96\xa8\x90\x71\x19\x6e\x11\x23\x08\ +\x27\x7e\x28\xd9\x93\x03\xb1\x82\x42\xbb\x32\xd1\xa0\x9f\x18\x00\ +\x0f\x3c\x70\x5f\x52\xd3\x8c\x2f\x69\x9a\xf6\xab\x42\x88\x34\x28\ +\xd1\x15\xd5\xa2\x3b\xba\x55\xb8\x15\xb3\x22\x90\xe8\x22\x02\xf9\ +\x72\x5e\x86\x8f\x50\x21\x26\x2c\x78\x51\x83\x71\xf3\xde\xe8\xde\ +\xf5\xd7\x5f\xbf\xba\x68\x13\xf8\x9d\x43\xa7\xa6\xa6\xd1\x34\x1d\ +\x5d\xd7\x18\x1a\x1a\x0a\xa5\x66\x6b\x42\x27\x12\xd5\x88\x28\xc5\ +\x8d\xfb\xf6\x71\xe3\xbe\x7d\x80\xa2\x58\x2c\xf1\xe2\x8b\x2f\xf2\ +\xda\xeb\xaf\x51\x58\x2a\x38\x5d\x47\x2a\xe5\x30\x6d\xcb\xca\x79\ +\x03\x5e\x14\x74\x85\x9d\xa2\x42\xae\x8d\xd7\x46\x7a\x75\xd2\xd7\ +\x61\x96\xde\x7b\x00\xb8\xf7\xde\x7b\xa3\x91\x48\x64\x50\x29\xf5\ +\xbf\x08\x21\x7e\xd3\xff\x90\xaa\xdb\xd1\x17\xba\xbd\x94\xfc\x1e\ +\x81\x81\xc7\x04\x1b\x40\x12\x18\xe1\x8a\x5c\xa5\x73\x68\xaf\x01\ +\xe6\xd5\xdb\x07\xfc\xc4\x44\x22\xf1\x96\xda\x4d\xe0\x75\xfd\x10\ +\x08\x4d\x50\x2c\x16\xfd\xce\x21\x52\x4a\x6c\x37\x35\x7c\xc8\x9b\ +\xf3\xe3\xbe\x76\x2e\xd7\xc7\x83\x0f\x3e\xc4\x83\x0f\x3e\x88\x6d\ +\x59\x4c\x4e\x4f\x31\x33\x33\xcb\xfc\xdc\x3c\x13\x47\x8e\xf0\xa3\ +\x23\x3f\xf2\x33\x95\x55\x88\xd1\x13\xab\x4f\x15\xf1\x69\xe9\x40\ +\x7f\x00\xa9\xb8\x64\x2f\x88\xf7\x5a\x75\xf0\x7d\xf7\xdd\x77\x9b\ +\x52\xea\x61\x29\xe5\x97\xbd\x93\xe5\xf9\xae\x1e\x0e\x04\x38\xe1\ +\x5f\x17\x01\xc2\xfd\x3f\xff\xc2\xe0\x05\x7f\x44\xb7\x81\x02\x84\ +\x93\x37\x7a\xa7\x80\xfb\x7a\x56\x84\x9a\x2f\x79\x6b\x71\x71\x91\ +\x91\x91\x91\xd5\x03\x51\xf4\x74\xe7\x46\x20\x10\x68\x42\x20\x74\ +\xbd\x6b\x6c\x0a\xc1\xdc\xdc\x2c\x96\x65\x61\xdb\x36\x9b\x36\x6f\ +\x0a\xc4\x32\x14\x9a\xae\x73\xcd\xe6\x6b\xd8\xbc\xf9\x1a\x94\x94\ +\x3c\xfc\xc9\x87\x50\xb6\xa2\x58\x2a\xf1\xbd\xef\xfd\x33\xcf\x3e\ +\xfb\x2c\x53\x53\x53\x41\x3a\xef\x12\x49\x2b\xca\x97\x78\x6f\x55\ +\x03\xda\xdb\x0f\xf1\xbd\x22\x01\x5e\x4a\x24\x12\x54\x6b\x35\x84\ +\x00\x43\xd7\x11\xc2\xeb\xa7\xd7\x15\x57\x8e\x3b\x27\x5c\x79\x20\ +\x42\x23\xd4\x84\x20\x60\x55\x87\xdd\x40\x44\x4f\x9a\x58\xd0\x2d\ +\x7c\x0b\x5d\xf9\xfa\xeb\xaf\x73\xdf\x7d\xf7\xb9\x25\xda\xc1\x50\ +\x74\x40\xd2\x48\x05\x9a\xf7\x1a\x4e\x6b\x7a\xd5\x53\x98\xe2\xa8\ +\x0d\x07\x20\x17\xce\x5d\x08\x4c\x26\x81\x2d\xd7\x5c\x13\x7a\x8c\ +\xae\xe9\xa0\xc1\xe0\xe0\x00\x9f\xf9\xf4\x67\xf8\xcc\xa7\x3f\xed\ +\x7b\x1a\x2f\xbd\xf4\x12\x67\xce\x9e\xa1\x58\x2c\xb1\xb4\xb4\x48\ +\xcb\xcd\x15\x0c\x75\xff\xbc\x82\xf5\xff\x97\x13\x00\xea\xe1\x87\ +\x1f\x16\x8b\x4b\x8b\x94\x4b\x65\xe6\xe7\xe6\x98\x5f\x58\xa0\xd9\ +\x6c\xa2\xb9\xc6\x96\xd3\x64\x51\xa0\x21\x02\xd5\xd2\x4e\x93\x84\ +\xd0\xbc\x1f\xba\x6d\x58\x83\xb0\xef\xcd\x96\x09\x4e\xf7\xbc\xa4\ +\x1b\x23\x04\x87\x0e\x1d\xe2\xee\xbb\xef\x0e\xdd\xef\x74\x1b\x13\ +\xee\xb0\x2a\x89\x90\xd2\xdd\x60\xaf\x35\xab\x53\xfb\x2f\x83\x69\ +\xea\xae\x18\xeb\x8f\xca\xc9\x00\x00\x00\x18\x29\x49\x44\x41\x54\ +\x7d\xc7\xf3\x17\x2e\xf8\xb7\x8b\xc5\x22\x4f\x3d\xf5\x14\x5f\x7c\ +\xec\x31\x57\xcd\x75\x43\xf9\xd7\x5f\xbf\x97\xbd\xd7\xef\x05\x05\ +\xc5\x72\x91\x99\xe9\x19\x16\x16\x16\x39\x7d\xfa\x14\x3f\xf8\xc1\ +\x0f\x98\x9c\x9c\x0c\x81\xff\x92\x17\xfa\x0a\x82\x43\xbc\x03\x15\ +\x20\x7f\xf3\xcb\x5f\x16\x66\xc7\xa4\xd5\x6a\x52\x75\x2b\x70\xab\ +\xb5\x1a\xb3\xb3\xb3\x4c\x4e\x4e\xba\x84\x8b\x72\xad\x6f\xc3\xd1\ +\xbb\x81\x16\xee\x97\xec\x7f\x17\x20\x82\xc2\x3e\xfd\xdb\xbf\x10\ +\x99\x4c\x86\xbb\xee\xba\x8b\x7c\x3e\x1f\x8a\xc2\xe9\x9a\x8e\xa6\ +\x6b\xfe\x80\x68\x4d\xd3\xfc\xcf\x24\xdd\xb1\x73\x52\x4a\xa4\x6d\ +\x63\x4b\x1b\xdb\xb2\xb1\x6d\xfb\x92\xa0\x93\x52\xf2\xcd\x6f\x7e\ +\x73\xc5\xfd\x8f\x7e\xe1\x0b\xbe\x97\x41\x8f\x1d\x23\xdd\xf7\xb0\ +\x6d\xc9\xd1\xa3\x47\x79\xe6\xe9\xa7\x39\x74\xe8\x90\x13\xf1\x5c\ +\x65\x7d\xeb\x5b\xdf\x42\x29\x45\xa1\x50\x78\x6f\xb9\x81\x66\xa7\ +\x83\x69\x9a\xe8\xba\x4e\x2e\x9f\x27\xdf\x9f\x47\x4a\xc5\xb6\x6d\ +\xdb\x69\xb7\x9b\xb4\xdb\x6d\x8a\x45\xa7\xd1\xe2\xf9\xf3\xe7\x7d\ +\x83\xcb\xbb\xf8\xbe\xed\xb0\x22\x63\x00\x82\x9d\x12\x7f\x12\xfc\ +\x57\xab\x55\x5e\x78\xe1\x05\x36\x6f\xde\xcc\xf6\xed\xdb\xc9\x66\ +\xb3\x0e\x51\xe3\x76\x0b\x17\xc1\x56\x2d\x1e\x28\xbd\x79\x81\xd2\ +\x99\x45\xac\xa4\x5a\x31\x95\x64\xb5\xf7\x59\x6d\xfd\xdf\xbf\xf7\ +\x7b\xfe\xed\xff\xf5\xdf\xfe\x5b\x12\xf1\x58\xa0\x45\xbd\xa3\x36\ +\x34\xa1\x73\xe3\xbe\x7d\xec\xbb\xe1\x06\x10\x50\x5c\x2e\xf2\xf2\ +\xcb\x2f\xf3\xfa\xeb\xaf\xb3\xb4\xb4\xc4\xd2\xd2\x12\x85\x42\x61\ +\x05\xf0\xef\xbb\xef\xbe\xdf\x02\x26\x81\x37\x0e\x1e\x3c\xf8\xaa\ +\x7b\x9f\x76\xf0\xe0\x41\x79\x45\x25\xc0\x63\x8f\x3d\x2a\xcc\x8e\ +\x93\x30\x59\x2c\x16\xdd\x1a\x39\xbd\x9b\x88\x29\x1d\x02\x44\xda\ +\x16\xb6\xad\x68\x75\x5a\xcc\xcc\xcc\x70\xe6\xf4\x19\x2e\x5e\xbc\ +\x48\xbb\xdd\x5e\x05\x08\x97\xbf\x27\xda\xf8\xf8\x38\x5b\xb6\x6c\ +\x61\x68\x68\x88\x64\x22\x89\xa6\xeb\x18\xba\xd3\x03\x58\x38\xfe\ +\x61\x08\x10\x52\x29\xdf\x2b\x08\x76\x0f\xeb\x5d\xb6\x6d\xf3\xe2\ +\x8b\x2f\x3a\x06\xdf\x4f\xb0\x7e\xed\xd7\x3e\x1f\x70\x21\xbb\x12\ +\x51\x01\x96\x69\x31\x3f\xe7\x84\xc0\x3d\x5e\xc3\x93\x00\xee\xf8\ +\xfa\x2a\x30\x05\x1c\x05\x6a\xc0\x9b\xc0\x81\x83\x07\x0f\xbe\xe6\ +\xee\x4f\xf2\xe0\xc1\x83\x8d\x35\x05\xc0\xa3\x5f\xf8\x82\xe8\x58\ +\x26\x28\x78\xe9\xa5\xc3\x28\xe5\x34\x5e\x4a\x67\x32\xf4\xf5\xf5\ +\x91\xed\xeb\xf3\x5b\xb3\xd1\x93\xfc\x29\x84\xa0\x54\x2e\x33\x79\ +\xf1\x02\x67\xce\x9c\x65\x61\x61\xe1\x92\x17\xfa\x5d\x8b\x35\xc3\ +\x20\x93\xc9\x22\x34\xd8\x38\xbe\x91\xe1\xe1\x11\x72\xf9\x3e\xa7\ +\x9c\x5b\xd3\xdd\xf6\x2f\xdd\x16\x65\xd2\x75\xc9\x6c\x29\x43\x5d\ +\xbd\xbc\xd5\xe9\x74\x68\xb7\xdb\xbc\xf1\xc6\x1b\x4c\x4d\x4d\xbd\ +\x2d\xd5\x24\x34\x0d\x74\x50\xb6\x63\x8b\xf4\x3e\xe7\xf3\x9f\xff\ +\x7c\xa0\x4d\x8c\x37\x0c\x2b\x6c\x7f\x14\x0a\x05\x6f\xf3\x57\x5b\ +\x4d\x60\x01\x98\x03\x8a\xc0\x84\x10\xe2\xef\x9f\x79\xe6\x99\x97\ +\xdc\xfd\x4a\x1d\x3c\x78\xb0\x7e\x59\x01\xf0\xbf\xff\xfa\xaf\x0b\ +\xcb\x34\x51\x4a\x71\xf8\xf0\x61\x3f\x23\xc7\x0b\x66\x28\xb7\x45\ +\x4b\x32\x99\xa4\x2f\xd7\x47\xbe\x2f\x4f\x2a\x9d\x42\x13\x22\x34\ +\xea\xcd\x11\xbf\x92\xc5\xc5\x25\x2e\x5e\x74\x22\x79\xd5\x6a\xd5\ +\x1f\xfd\xf2\xae\x80\x21\x20\x62\x44\x88\x44\xa2\x44\x23\x06\x91\ +\x68\x94\xad\x5b\xb7\x22\x84\x20\x16\x8b\x91\x4a\xa5\x48\x25\x93\ +\xc4\xe2\x31\x84\xe6\xb8\x82\xb6\x65\xf9\x27\x5c\x08\xe1\x37\xad\ +\xaa\x54\xca\x14\x8b\x25\xea\xb5\x3a\x27\x4f\x9e\xc0\x74\x1f\xf7\ +\xe3\x96\xa6\x69\xa8\x1c\x24\x07\x53\x10\xd3\x10\x1d\x81\x58\x54\ +\x54\x97\xcb\x97\x7c\xce\xaf\xfe\xea\xaf\x84\x8c\xe2\x3f\xfa\xa3\ +\x3f\x7a\xa7\xdf\xbc\x03\x34\x80\x3a\xb0\x28\x84\x78\xcd\x34\xcd\ +\x7f\x7c\xee\xb9\xe7\x9e\xb8\x6c\x00\xf8\xb5\x7f\xf7\xef\x84\xe5\ +\x76\xd7\xf4\x01\x20\x95\xef\x32\x49\x29\xfd\xbf\x95\x27\x56\x95\ +\x22\x16\x8d\x92\xcd\x66\xc8\xe7\xf2\x64\xb2\x7d\x44\xa3\x51\x3f\ +\x72\xe6\x35\x6a\x6a\xb7\xda\x2c\xcc\xcf\x33\x3d\x33\xcd\xe2\xe2\ +\x12\xed\x76\x9b\x8e\x9b\x0c\x62\x59\x96\xaf\x32\xc4\x8f\x61\xc8\ +\x84\xa6\x11\x8d\x44\x30\x0c\x83\x68\x24\x4a\x24\xea\x81\x21\xe2\ +\xde\x76\x7f\xa2\x51\x22\x91\x08\x28\xe5\xab\x25\x29\x25\xad\x56\ +\x8b\x62\xb1\x88\xd9\xe9\x20\x95\xa2\x54\x2c\xd1\xb1\x4c\xa7\x3d\ +\x9c\x0f\xde\xb7\x96\x00\xba\xae\x13\xd9\x18\x23\xbb\x3b\x47\x62\ +\x53\x1a\x0c\x98\x3a\x39\x45\xdf\xd1\x04\xe5\x4a\x19\xbb\x65\xb1\ +\xd6\xcb\xb6\x6d\xb9\x71\xe3\x46\x19\x89\x44\xb5\xe9\xe9\xa9\x7f\ +\x73\xe0\xc0\x81\xaf\xbd\x6b\x23\xd0\x3b\xed\x9e\x85\xde\xcd\xd5\ +\x5b\x59\x15\x1b\x70\xef\x69\x35\x9b\x34\x1a\x0d\x66\x67\xe7\x90\ +\x4a\xa2\x09\x41\x2a\x9d\x71\x38\xf9\x7c\x9e\x54\x2a\x89\x92\x30\ +\x3c\x32\xcc\xc8\xc8\x06\x84\x26\xa8\xd5\x6a\x2c\x2e\x2e\xb2\xb8\ +\xb8\x48\xb5\x5a\xa5\xd5\x6a\xd1\x68\x34\x68\x36\x9b\xbe\x71\xb7\ +\xaa\x51\x29\x25\xed\xb6\x33\x07\x20\xd6\x1f\x73\x3d\x11\x07\x68\ +\x4e\x4b\x38\xe1\xcc\x03\xc0\x19\xf8\xdc\x71\x0d\x5b\xd3\x34\xe9\ +\x98\xa6\x6f\xe8\x3a\x3f\x1d\x5f\x3d\x18\x86\x81\x65\x59\xef\xc0\ +\x33\x11\xe8\x71\x9d\xd4\xb6\x2c\xe9\x6b\xd2\xa4\xb7\x66\x29\x6f\ +\x28\x52\x7e\xb3\x4a\xdf\xf9\x1c\x95\x52\x19\x65\x5f\x5e\xdb\xc7\ +\x03\xe7\xe0\xe0\x20\xfd\xfd\xfd\x0e\xf7\x29\xe0\x43\x77\xdd\xf9\ +\xd7\x07\x0e\x1c\x78\xf7\x5e\x80\xb4\x55\x37\x74\x19\x9a\xbe\x19\ +\x18\xcf\xe4\x27\x57\x48\x9f\x78\x09\x31\x61\x12\x6c\x65\x53\x5c\ +\x2e\xb2\x5c\x28\xb8\xd6\xb7\x4d\x32\x91\x24\x97\xcf\x91\xcb\xf5\ +\xd3\x97\xcd\x62\xe8\x3a\x63\x1b\x36\x30\x36\x36\x8a\x92\x8a\x4a\ +\xb5\x4a\xa9\x54\xa2\x52\xa9\xd0\x6c\x36\xa8\x56\x6b\x54\xab\x55\ +\x1a\x8d\x46\x08\x0c\x41\x40\x2c\x2f\x2f\x87\x3e\xff\xee\xdd\xbb\ +\x1d\x11\x2f\x00\x4d\x74\x25\x95\xc7\x37\x48\x19\x08\xe7\x3a\xb7\ +\x9b\x8d\x77\x6c\x57\x05\x62\x1e\x1a\xd1\x64\x8c\xf4\x70\x86\x58\ +\x26\x4e\x2c\x95\x24\x33\x9c\xa6\x38\xb8\x4c\xfc\x74\x92\x85\xe9\ +\x39\x54\xeb\xf2\xd8\x41\xba\xae\xfb\xbd\x0c\x75\x5d\xc7\xb6\x6d\ +\x07\xfc\x68\x14\x8a\x25\xfd\xb2\xb8\x81\xde\xc5\x42\x41\xb6\xaf\ +\x8f\x6a\xa5\x82\x69\xdb\xab\x0c\x7c\x96\x3d\x53\xbb\x7b\x06\x40\ +\x11\xa4\x4c\x9d\xc7\xd4\xea\x75\xaa\xb5\x2a\xe7\xcf\x5f\x44\x29\ +\x49\xc4\x88\x90\xcd\x66\xe9\x1f\xe8\xf7\xa7\x7c\x8c\x6e\xd8\xc0\ +\xe8\x86\x0d\x98\x96\x45\xa3\x5e\xa7\x56\xaf\xd3\x6a\xb5\xa8\xd5\ +\x6a\x6e\x8b\xf8\xb2\xef\x69\x78\x62\x3d\xb8\x4e\x9c\x38\x71\x45\ +\x59\x36\xa5\x24\xca\x72\xa6\x85\xc8\xa8\x44\x8e\x42\x26\x9f\x27\ +\x32\x12\xa7\xdc\xbf\xc4\xc6\xa3\x9b\x59\xbc\xb8\x40\xab\xd2\x0c\ +\x8d\xcd\x79\xbb\x7b\x21\x84\x20\x12\x89\x10\x8f\xc7\xe9\xeb\x73\ +\x54\xab\xd7\x2a\xcf\x69\xc4\x81\xdb\xd1\x5c\x72\x99\x00\x20\xfd\ +\x49\x5f\x3b\x77\xee\x70\xb9\x01\x93\x72\xb5\x4a\xb9\x54\xa2\x5c\ +\x2a\xd3\x68\x36\x56\x0e\x70\x0e\x86\x41\x83\x89\x16\x7e\xec\x8c\ +\x40\x98\xd5\xb9\xdd\xee\xb4\x59\x58\x5c\x60\x6e\x7e\xce\x15\xf9\ +\x90\x4e\x67\xc9\xe7\xf3\xf4\xf7\xe7\x49\xa7\xd3\x0c\x26\x12\x28\ +\xa5\xe8\x98\x26\x6d\xb7\x07\x60\xa7\xd3\xa1\x54\x2a\x51\x28\x14\ +\xa8\x56\xab\xee\x49\x58\x9d\x83\x58\x4b\x76\x4d\xc3\x69\x21\x53\ +\xae\x95\x59\x3e\x5f\xe4\xf4\x85\x33\xcc\x2d\xcd\xb3\x79\x6c\x9c\ +\x2d\xc3\xdb\x18\xf8\xf0\x38\x62\x5c\x12\x39\x16\xa3\x72\x62\x99\ +\xc2\xc5\x45\x94\xf5\xf6\x37\x3f\x1a\x8d\x12\x8f\x27\x48\x26\x13\ +\xc4\x62\x31\x27\x1b\xca\x32\x9d\x68\x87\xd0\xd0\xdc\xce\x65\x42\ +\xe3\x2d\x8d\xea\x77\xa6\x02\xa4\xed\x0f\x74\x28\x95\x2b\xa4\x92\ +\x49\x74\xc3\x20\x9f\xcf\xd1\x9f\xcb\x39\xc6\x87\x94\xd4\x6b\x35\ +\x8a\xa5\x12\xcb\xcb\xcb\x54\xab\x95\xf0\xd0\x47\x7a\xe6\xed\x04\ +\x12\x2c\x04\x81\x21\xcb\xc1\xc0\x90\x10\xd8\xb6\x4d\xa9\x54\xa4\ +\x58\x5c\xe6\xf4\x69\xc7\x16\x89\xc7\x63\xe4\xf2\x39\x06\xf2\x03\ +\xf4\xf5\xf5\x91\xc9\xa4\x51\x52\x91\xcd\x66\x19\x1b\x1b\xc3\xb6\ +\x2c\x1a\x8d\x06\xcb\xc5\x22\xcb\xcb\xcb\xd4\xeb\x75\xdf\x4a\x5f\ +\x6b\x30\x78\xad\xa6\x4d\x65\xd1\x36\xdb\x14\xea\x05\x2e\x2e\x9c\ +\xa7\xa3\x75\xb0\xa3\x02\xb5\x09\x86\x6e\x1a\x24\x3d\x90\x83\x11\ +\x41\x76\xa2\x9f\xd9\xb3\xd3\xb4\xcb\x0d\xa4\x25\x2f\xb9\xf1\x86\ +\x61\x90\x4e\xa7\xd0\x8d\x08\xf1\x58\xd4\xe9\x87\xe0\x19\xc9\x6e\ +\xcf\x6b\x21\x9c\x78\x87\x40\x20\xa4\xb8\x8c\x12\x40\x76\xd3\xa7\ +\x2e\x5c\x70\x44\xb5\x26\x04\x89\x64\x92\x6c\x26\x43\x2a\x9d\x76\ +\x5c\xad\x74\x9a\x64\x3a\xcd\xf8\xd8\x18\x52\x29\x5a\xad\x16\xa5\ +\x72\x89\xe5\xc2\x32\xc5\x62\x89\x4e\xa7\xed\x7b\x10\xb0\xca\xb4\ +\x2c\x45\x37\x7a\xa8\xbc\xf8\x39\x3d\xc3\x95\x15\x8d\x46\x83\x7a\ +\xbd\xce\xf4\xd4\xb4\xef\xff\x7f\xe8\x43\x77\xa3\x69\x1a\x46\xc4\ +\x70\xac\xf1\x48\x84\x4c\x36\xc3\xa6\x4d\x1b\xb1\x6d\x9b\x6a\xb5\ +\x46\xa1\x50\xf0\xd5\xc5\xdb\xf5\x2e\x7e\x52\x10\xe8\x86\x46\x3c\ +\x99\x20\xda\x17\xa3\x93\x30\x99\x6d\x4c\xd3\x9a\xae\x53\xb7\xca\ +\x6c\xdb\xb0\x9d\xf1\x5d\x63\x0c\x6d\x1a\xa5\x36\x5e\x61\xf0\xc8\ +\x08\x8d\x1f\xd5\x29\xcf\x2e\x61\x77\xec\xc0\xf5\x71\x3c\x95\x6c\ +\x26\xeb\x78\x39\xb1\xa8\xd3\x2f\xc9\xb2\x10\x42\x73\x4f\xbc\xf2\ +\xe2\xde\x7e\xfb\x19\x21\x34\x10\x2a\x14\xd8\x7a\x77\x12\x20\x28\ +\xbe\x5d\x23\xc9\x92\x36\xe5\x72\x99\x52\xb9\x8c\x72\x59\xb4\x44\ +\x22\x41\x26\x93\x21\x93\xc9\x90\x4c\x26\x89\xc5\x62\x0c\x0f\x0f\ +\x33\x34\x38\x0c\x4a\x61\x5a\x26\xe5\x4a\x99\xe5\xc2\x32\xcb\xcb\ +\x45\xaa\xb5\xaa\x1f\x00\x52\xde\x88\x99\xde\x58\x81\x8b\x14\xa9\ +\x56\x99\xc7\xe7\x2e\xc7\x4a\x97\x2b\x5a\xb7\x29\xe5\x7a\x00\x9a\ +\xee\x7c\xae\x6c\x06\x25\x15\xa6\xe9\x7c\x0e\x27\xb5\xdc\x19\x2c\ +\x71\x99\xad\x00\x27\xfc\x6b\x08\xb4\x84\x46\xa4\x2f\x42\x2c\x16\ +\xc3\x8a\x49\xce\xd4\xcf\x32\x37\x35\xc7\x48\x79\x03\x1b\xf3\xe3\ +\x6c\xbc\x6e\x13\x83\x63\x23\xd4\x47\xab\x30\x21\xb1\x4e\x9b\x94\ +\xe6\x97\x11\x4a\x90\x4e\x67\xd0\x74\x81\xae\x69\x8e\x34\x74\x87\ +\x5a\x21\x34\xd0\x5c\x83\x1b\xef\xc4\xcb\x80\xba\xb3\x91\x4a\x5c\ +\x4e\x15\x20\xc3\xc3\x0f\xbc\x4e\x98\x2a\x3c\xf1\xb3\x5e\xaf\x53\ +\xab\xd5\x98\x9e\x9e\x46\x2a\x45\xc4\x30\x48\x67\xd2\xf4\xf5\xf5\ +\x91\x4e\xa5\x89\x46\xa3\xe4\x73\x79\x72\xd9\x3e\xb6\x6e\xdd\x8a\ +\x52\x8a\x6a\xb5\xc2\xf2\x72\x91\xa5\xa5\x02\xe5\x72\x09\xcb\xb6\ +\x02\x63\x58\x56\x4e\xd1\x59\x31\x83\xaf\x27\x97\xa2\x3b\xd9\xbb\ +\x9b\xe2\xed\x53\xaf\xd2\xf1\x64\x74\x4d\x27\xd7\x97\x23\x9f\xcb\ +\x23\x84\xa0\xd5\x6a\x51\xad\x56\x29\x97\xcb\xb4\x5a\x2d\xff\xfb\ +\xbe\xab\xe8\x9c\xdb\xfd\x5c\x46\x6d\x54\x4a\xa1\x27\x74\x34\x43\ +\xa3\xd1\x69\xd2\x34\x9b\x34\x2a\x4d\x5a\xb4\x40\xd3\x19\x1f\x1e\ +\x25\x75\x7b\x8e\x78\x7f\x82\x72\x7e\x89\xfe\x0b\x83\xaa\xbc\x58\ +\xa4\x53\x6f\x0b\xa1\xc0\x96\x0a\xaf\xb7\xb5\xb3\xe5\x12\x4d\x3a\ +\x89\x2e\x0a\x0d\xb0\x7d\x0b\xc4\xb9\x0e\x02\x84\xc2\x7e\x0b\x03\ +\xf3\x1d\x4a\x80\x30\x00\xde\x2e\x0f\xd0\x69\xb7\x59\x6a\xb5\x58\ +\x5c\x58\xf4\x79\x80\x44\x32\x45\x2e\xeb\xd0\xc7\xc9\x64\x82\x54\ +\x2a\x4d\x2a\x99\x62\x7c\x7c\x23\x20\x69\x36\x5b\x94\x4a\x25\x96\ +\x96\x0a\x2c\x2f\x17\xba\xee\x98\x37\x4a\xe6\x12\x61\x84\xd0\xe0\ +\x25\x97\x82\xf5\xa6\xd1\xab\x15\x1e\x4d\x38\x83\x37\x1a\x8d\x32\ +\x38\x38\xc8\xd0\xd0\x10\x00\x8d\x46\x83\x6a\xb5\x4a\xad\x56\xa3\ +\xd3\xe9\x60\xdb\xb6\xcf\x54\x7a\x56\xf8\x8f\xa7\x05\xdd\x1f\x03\ +\x64\x4c\x22\xe3\x12\x2d\xae\x91\x54\x29\x2c\x65\xd1\x6a\x37\xb9\ +\xd8\xba\x40\x63\xb9\x41\xdd\x2e\x73\xed\xd0\x5e\x06\x6f\xe9\x27\ +\xbe\x21\x4e\xe5\x64\x49\x24\x8e\x9a\x44\x2f\xc4\x68\x94\x6a\x28\ +\x4b\xa2\x94\xe6\x24\xa9\xb8\x9b\x2c\x01\x21\x5d\x30\x08\xcd\x49\ +\xc1\xd3\xa4\x9f\xdb\x20\x34\xde\x72\x16\xf1\x3b\x94\x00\xc1\x74\ +\xe7\x77\xc7\x03\x94\x4b\x65\x4a\xc5\xa2\xcf\x03\x24\xe2\x09\xb2\ +\x7d\x59\xfa\xfa\xf2\x64\xd2\x69\x22\x91\x28\x83\x43\x43\x0c\x0d\ +\x0d\x22\xdd\x21\xd1\x95\x72\x85\xa5\x82\x13\x35\x2b\x57\xca\xab\ +\x76\xd1\xe8\x1d\x4c\x2e\x20\x44\x43\x7b\x83\x29\x43\x43\x7e\x02\ +\xa0\x08\x9e\xf6\x78\x3c\x4e\x22\x91\x60\x64\x64\xc4\x9f\x3b\x54\ +\xab\xd5\x68\x36\x9b\x01\xb2\xc8\x0c\x89\xd8\x30\x28\x9c\xbc\x08\ +\xa5\x29\xa4\xa1\x90\x71\x89\x4c\x38\x20\x70\xab\x05\x30\x62\x11\ +\x94\xa5\x58\xb2\x96\x68\x2c\xd5\x99\xad\x2e\x30\x10\xed\xa7\x2f\ +\x9a\x63\x60\x67\x9e\xc1\x81\x11\x3a\xa7\x9a\x44\x4f\x45\xa9\xcc\ +\x14\xb1\xab\x8e\xde\x97\x42\xb9\x79\x8f\xca\xdd\xf8\xee\xdc\x21\ +\x21\x1d\xff\x5f\x68\x0e\x42\xac\xcb\x25\x01\x94\x4b\xf5\x2a\x14\ +\xa9\x54\x8a\x7a\xbd\x8e\x25\xe5\x65\xe1\x01\xea\x8d\x06\xb5\x7a\ +\x8d\xc9\xc9\x69\x94\x92\x18\xba\x41\x26\x93\x21\x9f\xcf\x91\xc9\ +\x66\x1d\x5f\x37\xd7\x47\xb6\x2f\xcb\xd6\xad\x5b\x91\x52\xd2\x68\ +\x34\x28\x14\x0a\xbe\x51\xe7\x0c\x81\x52\xd0\xe3\x49\x04\xc7\xb7\ +\x87\x3a\x95\xbd\x0d\x77\x2b\xf8\xb8\x64\x32\x49\x2a\x95\x42\x08\ +\x81\x69\x9a\x34\x9b\x4d\xbf\x92\xb9\xd3\xe9\xd0\x6a\xb5\xe8\x74\ +\x3a\xbe\x84\x70\x72\xa2\x24\x42\x57\x10\x55\xa8\x98\x03\x02\x3b\ +\x61\xa3\x94\xed\xea\x6c\x0d\x65\x29\x3a\x66\x87\x62\xad\x42\xad\ +\xd6\x62\x91\x02\x7d\x91\x3e\xc6\x53\x63\xc4\xb6\xc5\x49\xe7\x53\ +\x68\x83\x06\xb9\xd3\xa3\x2c\x5d\xbc\x48\x63\xa1\x8e\x6c\xdb\x9e\ +\xc9\xef\x78\x66\x68\x74\x65\xae\x0b\x06\x37\x0c\xae\xde\xc2\xb6\ +\x79\xc7\x5e\x80\x74\x53\x9e\x37\x6e\xda\xe4\x1a\x5e\x26\xf5\x7a\ +\x83\x5a\xb5\x4a\xb5\x5a\xa3\xd5\x6e\x5d\x16\x1e\xa0\x63\x76\x58\ +\x2a\x2c\xb1\xb0\xd8\x8d\x1a\xa6\x52\x69\xf2\xf9\x1c\xb9\xbe\x3e\ +\x67\xfe\x4f\x22\xc1\xf8\xd8\x18\xa3\xa3\xa3\x0e\x1f\xe0\x96\x94\ +\x87\x2a\x89\x83\x85\x22\xb2\x77\x62\xf8\x3b\x25\x76\x54\x68\x1e\ +\x41\x3a\xed\x8c\xab\x07\x30\x4d\xd3\x07\x80\x6d\xdb\xc8\x8c\x40\ +\xd7\x75\xc7\x99\x11\x02\xa9\x2b\x88\x28\x94\x61\xa3\x22\x12\x5b\ +\xb3\x1d\xd5\x60\x09\xf4\x96\x46\x4c\xc4\x10\x29\x0d\xd5\x56\x54\ +\xab\x65\x0a\xa5\x45\x8a\xa5\x02\x76\xdb\x62\xe7\x86\x1d\x6c\x1c\ +\x1d\x47\x6d\x86\xf6\xc9\x01\x52\x47\xb3\x2c\x9e\x9d\x43\x36\x4c\ +\x47\xbf\x08\x40\xd9\x4e\xe6\x95\x26\x10\xaa\xcb\x79\x28\x25\xde\ +\x32\x0b\xe9\x9d\x00\x40\x9c\x39\x73\x86\xa1\xa1\x41\x8c\x88\xe1\ +\xb0\x6d\xba\x8e\xae\x19\xbe\xc5\x3f\xea\x4a\x89\x46\xb3\x49\xa5\ +\x52\xa1\x52\xa9\x50\xaf\xd7\x2e\x0b\x0f\x20\xdd\xe8\x5c\xb9\x5c\ +\x72\x8d\x33\x45\x3c\x1e\x25\xdb\xe7\xe4\xf8\x67\xb3\x59\x22\xd1\ +\xa8\xeb\xf3\x86\xa7\x8c\x78\xe0\x0d\x55\x28\x5c\xca\x95\xf8\x09\ +\x01\xe1\x51\xb1\x1e\x38\x64\x0e\xe4\x80\x46\x3b\xd1\xa1\x26\x5a\ +\xae\xa2\x56\x48\x5d\xa1\x22\x8e\x4a\x40\x73\xc6\xca\x29\x5b\xa1\ +\x23\x10\x3a\x68\xba\x4e\x2c\x1a\xc3\xb0\x22\x98\xed\x0e\x67\xa6\ +\x4e\xd3\xac\x37\xe9\x8c\x77\x18\xde\x34\x42\xdf\x50\x9e\xe6\x70\ +\x9d\xf1\xfe\xcd\xcc\x1d\x9f\xc2\x2a\x9a\xce\xc0\x0a\x2f\xed\xce\ +\x4d\xad\x77\x3c\x01\x87\x8e\xb6\xd5\xe5\x01\xc0\xa1\xef\x3e\xf7\ +\xdd\x98\x10\xe2\x83\xd9\x6c\x96\xd1\xd1\x51\x46\x47\x47\xc9\x64\ +\x32\x44\x22\x11\xa2\xd1\x28\x86\x61\x20\x84\x46\x32\x99\x20\x91\ +\x48\x30\x3c\x3c\x0c\x10\xb2\xae\x2b\x95\xea\x65\xe4\x01\x9a\xd4\ +\xeb\x0d\x66\x67\x66\x7c\x1e\xe0\xb6\xdb\x6e\x0b\x88\xfe\x2e\xc7\ +\xdf\xb5\x0f\x7a\x1a\x35\x5f\x56\xea\xb7\x2b\xf5\x74\x3d\x82\x11\ +\xd1\xb1\x74\xe9\x93\x42\xde\x2f\x0d\x0d\x4d\x6a\x7e\xb1\x8a\x73\ +\x5a\x35\x84\x72\xf2\x29\x23\x7a\x04\x11\x15\x74\xcc\x0e\xe5\x5a\ +\x05\xb3\x61\x63\xd7\x6d\x2a\x1b\xaa\x8c\x0c\x6f\x20\xb9\x27\x89\ +\x96\x17\xf4\x0f\x6e\x40\x1d\xb3\x29\xcf\x17\x30\x6b\x1d\xa7\x21\ +\xb6\xf2\xb2\x9d\xbc\xda\x08\xa7\x49\xf6\xbb\x06\xc0\xc1\x83\x07\ +\xef\x74\xc3\xc2\xff\x50\xaf\xd7\x1b\x27\x4e\x9c\xb0\x8f\x1f\x3f\ +\x7e\x77\x24\x12\xd9\x9a\xcb\xe7\x18\x1e\x1a\x66\x70\x70\x90\x58\ +\x3c\x46\x32\x91\x20\x91\x48\x3a\x43\x16\x94\x72\xc6\xad\x46\xa3\ +\xe4\xfb\xfb\x1d\xb7\xc4\xb4\xa9\x56\xab\x94\x4a\x45\x4a\xe5\x8a\ +\xcf\xd0\x5d\x0e\x1e\x00\xba\xc3\x37\x2f\xe1\x1b\xc2\x9a\x6c\xff\ +\xea\x06\xa9\xab\x03\xd0\x94\x86\xb0\x35\x74\x4b\x43\x58\xc2\x07\ +\x85\x90\x0a\x61\x81\xb0\x14\x58\x02\x65\x3b\xad\xe7\x34\x04\x31\ +\x23\x41\x24\x9e\xc0\xaa\x58\x9c\xbb\x70\x9e\xb9\xa9\x39\x06\x07\ +\x06\xd8\xb6\x65\x3b\x5b\xaf\xd9\x42\xdf\x60\x3f\xed\x0d\x4d\xac\ +\xe3\x16\xd6\xe9\x0e\x95\xc5\x12\xaa\xa5\x10\xc2\xf5\x50\x14\x28\ +\x71\x19\x79\x00\x17\x08\xff\x22\x90\x23\xf0\x61\xa5\xd4\xc7\x97\ +\x0b\xcb\xf6\xc2\xfc\x82\xa9\xeb\xfa\xef\xc4\x62\x31\x72\xb9\x1c\ +\xb9\x5c\x8e\x6c\x26\xab\x92\xc9\xa4\xc8\x64\x33\xa4\x52\x29\x27\ +\x85\x5c\x49\xd0\x75\xb2\xd9\x0c\xd9\x6c\x86\x4d\xee\xe9\xaf\xd7\ +\xeb\x94\x8a\x25\x96\x8b\x45\xaa\xd5\xca\x4f\xcc\x03\xc8\x9e\xf2\ +\xef\xe0\xb0\x86\x60\xa1\xc9\xda\xef\xbf\xdf\xda\x1a\x65\x81\xb2\ +\x04\xaa\x03\x22\xa2\x41\x4b\x73\x4f\xbc\x42\x28\x0d\xcd\x14\xa8\ +\xb6\x00\x13\x84\x0d\x9a\xad\x21\x6c\x81\xb2\x9d\x5c\x89\x68\x44\ +\x60\x1b\x1a\x96\x65\xb3\xb4\x5c\x44\xd3\xce\xd3\xee\x74\x18\x1e\ +\x1a\xa1\xff\xba\x2c\xe9\x81\x3e\x3a\xa3\x4d\xf2\xe7\x06\x59\x98\ +\x9c\xc5\x5a\xea\xd0\x69\xb6\xdd\xd4\x37\x75\x79\x01\xe0\xad\x8f\ +\x7f\xfc\xe3\xe2\xc0\x81\x03\x2f\x00\x2f\x04\x00\x71\xc6\xb2\x2c\ +\x7d\x7e\x7e\x5e\xcc\xcd\xcd\xdd\x60\x18\xc6\xaf\xc7\x63\x71\x52\ +\xe9\x14\xe9\x74\x9a\x64\x2a\xe5\xcc\xe4\xcd\xe5\x48\xa5\x52\x28\ +\xe5\xa4\x61\xa1\x1c\xf6\x30\x1e\x8f\xb3\x61\x74\x03\x52\x29\x3a\ +\xed\x36\xe5\x52\x89\x62\xb1\x44\xb1\x54\xa4\xd5\x6c\xbe\x2d\x1e\ +\xc0\xed\xe8\xd0\xad\x20\x0a\x78\x27\x8a\x40\x47\xf2\x35\x89\xfe\ +\x29\x27\xf8\xa4\xeb\x44\x94\xe1\xd7\x3f\x82\x42\xb3\x04\x7a\x5b\ +\xa0\xe9\xa0\x0b\x81\x42\x77\x44\x95\x4b\x52\x08\xe9\x48\x09\xcd\ +\xd4\xc0\x72\x38\x1d\xcd\x02\x61\x82\x10\x3a\x91\x68\x04\x4b\xb3\ +\xb1\x4c\x93\xd9\x85\x39\x96\xcb\x25\xaa\x8d\x1a\xda\x96\x6d\xf4\ +\x6f\x1f\xa4\x7f\xa4\x8f\xfa\x60\x05\x23\x1e\xa5\x22\xab\x18\x33\ +\xdd\x0e\xeb\xf2\x32\xd9\x00\xa1\x75\xe0\xc0\x01\xb5\x8a\x74\xf8\ +\xba\x77\xfb\xfe\xfb\xef\x4f\x28\xa5\x9e\x68\xb6\x9a\xb2\x52\xad\ +\x54\x23\x91\xc8\xdf\xe9\xba\xbe\x2d\x16\x8b\x11\x8f\xc7\x89\xc7\ +\xe3\x2a\x9d\x4e\x8b\x81\xc1\x01\xfa\xf3\x79\xa2\xd1\x38\x4a\x49\ +\x77\x7e\xa0\xc4\x30\x0c\xfa\x07\x07\xe9\x1f\x18\x70\x28\x67\xdb\ +\xa6\x56\xad\xb2\xbc\x5c\xa0\xb0\xec\x48\x89\x55\x79\x80\x60\xe3\ +\xc9\x55\x8a\x49\xd6\x72\x28\xa3\x94\x92\x64\x32\x49\xb3\xd5\xa2\ +\xde\xae\x23\x1a\x11\x6c\x53\xa2\x2c\x05\x6d\x81\x68\x69\x08\xcd\ +\x29\xa8\x31\x94\x02\xa9\x79\xa5\x53\x08\x5b\x80\x05\xc2\x72\x11\ +\xda\x01\xd1\x51\xd0\x72\xb8\x13\xa1\x14\x86\xa1\x23\x80\x5a\xbd\ +\x46\xb5\x5c\x46\xda\x16\x86\xd0\x88\xc6\xe2\xe4\x86\x72\xc8\x8a\ +\x24\x3a\x57\x21\x35\x93\xc2\x8c\xb6\x31\x9b\x4e\xac\x43\xad\x85\ +\x04\xf8\x71\xeb\x99\x67\x9e\x69\x02\xcf\x05\x00\x71\x87\x94\x32\ +\xd5\x68\x34\x44\xb5\x5a\x35\x22\x91\xc8\x49\x4d\xd3\x98\x9c\x9c\ +\xc4\x30\x74\x62\xb1\xb8\xea\xef\xef\x17\x43\x43\x43\xee\xd4\x4f\ +\xad\x5b\xb8\xa1\x14\x9a\x10\x64\x32\x19\xd2\xe9\x34\x9b\x36\x6d\ +\x46\x29\xc7\x08\x2c\x95\x9c\x48\x5f\xa5\x52\xf1\x6d\x80\x50\xcb\ +\xe5\xc0\xe9\x0f\x12\x59\x6b\xb5\xa4\x94\x18\xba\x8e\x14\x4e\x6f\ +\x22\xa5\x5c\xa3\xcf\x14\x68\x6d\x81\xae\x09\x74\xa1\x75\x03\x34\ +\x0a\x90\xc2\x11\x5a\x96\x42\x98\x1a\xc2\xd6\x11\x1d\x0d\x61\xbb\ +\xa4\x8e\x10\xa0\x04\x66\xdb\xa2\x6d\xb6\x88\x44\xa2\x8c\x6d\x18\ +\x67\x7c\x74\x94\xd1\x0d\xa3\x24\x55\x8c\xca\xf1\x65\x6a\x47\x4a\ +\x30\xa1\x30\xa7\x5b\xd8\x6d\xcb\xef\x5e\x22\xa5\xba\xf2\x00\x58\ +\x05\x10\x0b\x3d\x39\x86\x29\x29\xa5\x98\x9a\x9a\x6a\x0f\x0f\x0f\ +\x7f\xbe\xd1\x68\xfe\x5e\xa9\x54\xe2\xfc\xf9\xf3\x08\x21\x48\xa5\ +\x52\x0c\xb9\x4c\x60\x3a\x9d\x75\xe6\xfd\x84\xea\xef\x25\xf1\x78\ +\x8c\x91\x91\x11\x86\x86\x87\x51\x52\x61\xd9\xe6\x2a\x81\xa0\x70\ +\x33\xc9\xb5\x5c\xa6\x5b\x5b\x08\xb8\xb1\x7d\x0d\xdb\x72\xfa\x08\ +\x69\x6d\x0d\xad\x61\xa0\xa1\xa3\x09\x0d\x29\x75\xb7\xac\x48\xa0\ +\xd9\xae\xe6\xb2\x1c\x55\x81\x05\x9a\x29\x1c\xa9\x60\x7b\x14\xbc\ +\x8d\x44\x11\x4b\xc4\x18\x19\x1c\x61\xc7\xb6\x6d\x0c\x66\x07\x88\ +\x99\x71\x3a\x27\x9a\x2c\xbe\x51\xa2\x71\xbc\x4a\x6b\xa6\xe1\x8e\ +\x64\x73\x0c\x4d\x25\x40\x4a\xf1\xd3\x07\xc0\x2a\xea\x22\x98\x6b\ +\xf5\xfb\xee\x8f\x07\x8e\xd3\xe5\x72\x79\x5b\xb9\x5c\x16\xa7\x4f\ +\x9f\x46\xd3\x34\xfa\xfa\xfa\x18\x1e\x1e\xa6\xbf\x3f\xef\x0c\x7d\ +\x54\xe1\xe1\x4c\x00\xba\x66\x84\xfa\xfd\x85\x1a\x4d\x22\xd7\xbc\ +\x1e\xaf\x5e\xab\xfb\xb9\x06\x5a\xda\x40\xb7\x23\x60\xbb\x6c\x9f\ +\xa9\x43\xd3\x40\x68\x06\x9a\x2e\xd0\x2c\xcd\xad\x95\xd4\xd0\x3c\ +\xf2\xd4\x56\x68\x96\x23\x2d\x90\x20\x2d\x1b\x4b\xda\x34\x1b\x2d\ +\x3a\xb6\x49\x7f\x36\xcf\x35\x1b\xb7\xb0\x63\xf3\x76\xc6\xf3\x63\ +\x58\x17\xda\x2c\x9f\x28\xb0\x3c\x51\xc5\x3e\x53\xa4\x5d\xeb\x38\ +\x15\xc7\xee\xd8\x7b\x37\xeb\x79\x42\xbe\x45\xb3\x81\x9f\x1a\x00\ +\x2e\xb5\x1e\x78\xe0\x01\xf1\xf4\xd3\x4f\xef\xf0\xfe\xfe\xe4\x27\ +\x3f\x19\x6b\xb5\x5a\xf5\xe5\xe5\xe5\x72\xa1\x50\x10\x4a\xa9\x64\ +\x34\x1a\x8d\xf5\xf7\xe7\x19\x18\x1c\x24\x93\xce\x3a\x69\xd8\xca\ +\xad\x02\xf2\x63\x10\xdd\xd8\x84\xdf\xf7\x77\x8d\x57\x34\x1a\xa1\ +\x52\x2e\x23\x74\x9d\x68\x27\x46\xc4\x12\x08\x15\x45\x93\xa0\x77\ +\x20\x52\x17\x44\xd0\xd1\x84\x81\xee\x7a\x2b\x1a\x8e\xe5\x8f\xe7\ +\xaa\x4b\x81\x6d\x49\x4c\xdb\x42\x28\x41\x3c\x91\xa0\xbf\x6f\x80\ +\x4c\x26\xc3\xf0\xe0\x20\x23\x7d\xc3\xc4\x6b\x71\xca\xc7\x0b\x74\ +\x4e\xb6\xa8\x9d\x2a\xd2\x9c\x2f\x62\x36\xdd\x6c\x20\x70\x2a\x9f\ +\x85\x78\x5e\xd3\xc4\x41\xcd\xd0\xff\x16\x41\xfb\xad\xb2\x97\xde\ +\x57\xeb\xfe\xfb\xef\xff\xd7\x4a\xa9\xdf\x90\x52\xb6\xdc\xd3\x7e\ +\x5d\x32\x99\xf2\x29\xe2\x44\x32\xd9\x65\xc2\xd0\xdc\x89\x24\xea\ +\x8a\x14\x5c\x16\x8b\x45\x00\x4a\xa5\x32\x91\xd1\x28\xf1\x7d\x29\ +\xa2\xd7\x27\xb1\x47\x15\x13\x27\x8f\x71\xf2\xcd\x93\xa4\x52\x29\ +\xe2\x89\x18\xb6\xb2\x9d\xa2\x31\x57\x4f\x77\x2b\xa4\x9d\xec\x27\ +\x5b\xda\x24\xe3\x71\x86\x87\x47\x18\x1a\x1c\x62\xb0\x6f\x90\xac\ +\x96\xc1\x98\xd7\xa8\x1e\x2b\x51\x3a\x56\xa0\x71\xbe\x46\xb3\xd4\ +\xf0\x39\x05\x37\x17\xf2\xbb\x9a\x10\x7f\xa1\x1b\xc6\x3f\x3f\xfe\ +\xf8\xe3\xe7\xdf\x4e\xfa\xda\xfb\x66\x3d\xf8\xe0\x83\xe2\xdb\xdf\ +\xfe\xb6\xea\xb1\x25\xbe\xa9\x94\xca\x49\x29\x75\xa5\x54\x5a\xd3\ +\xb4\xdb\x52\xa9\x14\xd9\x6c\x96\x74\x3a\x8d\x61\x38\xb4\xb5\xf7\ +\x3b\xc8\xd8\xad\xc5\x5a\x5a\x5c\x04\x21\x68\xa5\x3a\x64\x6e\xc9\ +\x63\x7c\x20\x46\x67\xd8\xe2\xe8\x89\x93\x9c\x7c\xf3\x38\xe9\x54\ +\x8a\x58\x34\xe6\x37\xaf\xf4\xb2\x87\x95\x02\x5b\xda\x74\x3a\x8e\ +\xe5\x9e\x4c\xa6\xd8\x38\x36\xca\x8e\xed\x3b\xc9\x25\x73\x68\x0b\ +\x36\xf5\x13\x35\xca\x13\xcb\x98\x67\x4d\x2a\x8b\x25\xbf\xbe\x40\ +\x08\x81\xae\xeb\x4f\x03\xbf\xab\xeb\xfa\xc9\xfd\xfb\xf7\x2f\xbe\ +\xfd\xac\xa5\xf7\xf1\xba\xff\xfe\xfb\xc5\x33\xcf\x3c\xe3\xef\xe6\ +\xa7\x3e\xf5\xa9\x48\xa3\xd1\xf8\x4b\x29\x65\x43\x4a\x69\x03\xf7\ +\x1b\x86\xb1\xd5\x8b\xe2\x25\x93\x0e\x3b\xe9\x15\x87\xe8\xba\xbe\ +\x22\xe2\x77\x39\x96\xae\xeb\x68\xc3\x06\x72\x87\xa0\xbd\xdd\xa6\ +\xda\x57\x67\xe2\xc4\x71\xde\x74\x25\x40\x2c\x16\x77\x5c\x33\xb7\ +\x3c\x51\x4a\xdb\x0f\x22\xe9\xba\xce\xd0\xd0\x10\x9b\xc6\x37\xb2\ +\x61\x68\x03\x79\xad\x0f\x79\xde\xa4\x3e\x51\xc1\x3e\x25\xb9\x78\ +\xee\x2c\xa2\xe1\xb8\x76\xee\xc6\x3f\x2f\x84\xf8\x9f\x85\x10\x67\ +\x9f\x7c\xf2\x49\xf3\x9d\xa7\xad\x5d\xc5\xeb\xfe\xfb\xef\xbf\x47\ +\x4a\x79\xaf\x52\xca\xb6\x6d\xdb\xd4\x34\xed\xff\x72\xb2\x69\x9d\ +\x38\x7f\x2c\x16\x53\xb1\x58\x4c\xc4\x62\x31\xc7\xb0\xf4\x2b\x86\ +\xd5\x65\x01\x00\xd7\xea\x34\xb7\x58\x2e\x00\x8e\x05\x00\x10\xf3\ +\x13\x4a\xbc\xbe\x86\x4a\x29\x62\xd1\x18\xfd\xb9\x1c\x63\xa3\xe3\ +\x6c\x1c\x1c\x27\xd1\x89\x63\x1e\x6f\x50\x3e\x5a\xa2\x75\xa2\x49\ +\x79\xa9\x08\x96\x52\x40\x4b\xd7\xf5\x1f\x1a\x86\xf1\x0b\xfb\xf7\ +\xef\x9f\x7a\x37\x9f\xd5\xb8\x5a\x37\xff\x13\x9f\xf8\x84\x78\xea\ +\xa9\xa7\x9e\x07\x9e\x0f\xa8\x8b\xb3\x96\x65\xc5\x2a\x95\x8a\x56\ +\x2e\x97\x37\xeb\xba\xfe\x7f\x46\x22\x4e\x9e\x9e\xfb\xa3\xe2\xf1\ +\xb8\x48\x26\x93\x6e\xf9\x9a\xba\x3c\x12\xc2\x9b\x43\xe0\x39\x67\ +\x42\x20\x6d\x49\xc7\xea\x50\x6f\xd4\x89\xc5\x62\x6c\xde\xb8\x99\ +\x4d\xe3\x9b\x18\x1b\xde\x40\xac\x1d\xa5\x7d\xb6\x49\x61\x62\x0e\ +\x75\x54\x52\x9c\x5b\xc2\x6c\x98\x20\xd5\x94\xae\xeb\xa7\x0c\xc3\ +\xf8\xa5\xfd\xfb\xf7\xcf\x5c\x8e\xeb\x74\x55\x4b\x80\x1f\x03\x10\ +\xdd\xb2\xac\x7b\xa5\x94\xb6\x6d\xdb\x4d\x5d\xd7\x7f\x57\xd3\xb4\ +\x8f\x79\xea\xc1\x30\x0c\x12\x89\x84\x43\x61\x27\x93\x44\x22\x91\ +\x6e\xa2\xc7\xdb\xa8\x0d\xec\x95\x00\x47\x4f\x9e\xe0\xc4\xc9\xe3\ +\x4e\x85\x72\xc4\xc0\x36\x4d\x34\x5d\x27\x1e\x8b\x33\x3c\x34\xc4\ +\xce\x2d\x3b\x19\x4a\x0e\x22\x16\x14\xcd\x53\x55\xea\x13\x4d\x0a\ +\x67\x67\xb0\x0b\x16\xb6\x65\xbf\x2a\x34\xed\x94\x26\xc4\x63\x07\ +\x0e\x1c\x98\xbc\x9c\xd7\xe1\x67\x16\x00\xbd\xeb\xbe\xfb\xee\x1b\ +\x54\x4a\x0d\x29\xa5\x84\x69\x9a\x8d\x68\x34\x7a\xce\x33\x1e\xdd\ +\xf4\x72\x95\x4a\xa5\x84\x97\xe9\xec\xb8\x9e\xab\x4b\x88\x5e\x00\ +\xd4\xfa\x1a\x1c\x39\x79\x94\x13\x27\x8e\xe1\xa8\x9b\x18\x11\xdd\ +\x20\x9b\xc9\x32\x32\x34\xc2\xf8\xe0\x28\x23\xb1\x61\xc4\x39\x45\ +\xe1\x47\x4b\xd4\x4f\x54\x29\x4e\x2f\x61\x35\xcd\xef\x20\xc4\xf7\ +\x81\xaf\x1e\x7c\xe6\x99\xe9\xb5\xf8\xde\xeb\x00\xb8\x34\x20\x72\ +\x4a\x29\xdd\xb2\x2c\xcd\x30\x8c\x6d\x42\x88\x97\xbc\xd2\x71\x4d\ +\xd3\x88\xc7\xe3\x2a\x93\xc9\x88\xac\x9b\xae\xd6\x8d\x43\xa8\x10\ +\x00\x6a\x9b\x5a\x94\xd2\x55\x7e\x78\xe4\x87\x1c\x3b\x7e\x8c\xfe\ +\xfe\x01\x36\x6f\xdc\xc4\x96\x4d\x5b\x18\x1b\x1b\x23\x29\x12\x58\ +\x53\x1d\xaa\x13\x65\xc4\xb1\x16\x73\xe7\x96\x69\x15\x6b\x4f\x2b\ +\x5b\xfd\x35\xf0\xdd\x83\x07\x0f\x4e\xae\xe5\xf7\x5c\x07\xc0\xdb\ +\x07\x84\x06\x68\x07\x0f\x1e\xb4\xee\xbb\xef\xbe\xdf\x03\x7e\xdd\ +\x4b\xbb\xd2\x34\x8d\x94\x1b\xe9\xcc\x64\x32\xc4\x13\x09\xb4\x21\ +\x1d\x76\xe9\x34\xae\xe9\x50\xed\x6b\x72\xe2\xf4\x71\x2e\x4c\x9e\ +\x67\x74\x78\x8c\x8d\x63\xe3\x8c\x0e\x8c\x93\xef\x64\x68\x9f\x6d\ +\x52\x3a\xb9\x8c\x75\xd2\x62\x7e\x76\xf6\x05\x59\x31\xff\xbd\x52\ +\xea\xcc\xc1\x83\x07\xe7\xaf\xc4\xf7\x5a\x07\xc0\xe5\x01\xc7\x79\ +\x60\xdc\xb3\xf3\x22\xd1\xa8\x36\xb8\x7b\x88\xfe\xdb\x87\x30\xae\ +\x8f\x63\x0d\x4b\x66\x17\xe7\x28\xd7\xcb\x0c\x65\x87\xc8\x6a\x59\ +\xf4\x02\xb4\x8f\xd5\xa9\x9c\x2c\x61\x4e\xb7\x5f\x93\xba\xfc\x57\ +\xd5\xa9\xca\xec\xdb\xe9\xea\x71\x39\x97\xb1\xbe\x7d\x97\x85\x8b\ +\xd8\xe2\xfd\xfd\xd0\x43\x0f\x19\xb6\x94\xf5\x72\xbd\xd2\x10\xe5\ +\x68\x74\x44\x25\xe2\x23\xfd\xc3\x5a\x7e\xa0\x9f\x4e\xa7\x0d\x73\ +\x36\x0b\xaf\xce\xa3\xbd\x21\xe4\xd2\xe4\xfc\xeb\x9f\xf9\x17\xbf\ +\xf8\x09\xed\x61\x55\xfc\x25\xf1\x59\xfb\xa7\xf1\xf9\xd7\x25\xc0\ +\x1a\xac\x49\x55\x8b\x7e\x95\x3f\xdc\x23\x30\x1e\x10\x25\xf5\x3f\ +\xc5\xd3\xa9\x6b\x65\xcd\xb6\xeb\xa7\xcb\xed\xc4\x44\xa2\x75\xf2\ +\x87\x47\xf4\xf1\xed\xd7\xdc\xf9\x1f\xff\xb7\xdf\x3d\xfe\xd3\xfe\ +\xac\xeb\x12\x60\x4d\x4e\x95\x8e\x8e\x40\xc3\xb0\x44\x8e\x33\x1d\ +\xda\xa6\x95\x33\x5f\xe9\xbb\x79\xe0\x89\xc4\xcd\x89\x57\xfe\x5a\ +\xfc\xd5\xd4\x7b\xe5\xb3\xae\x03\x60\x0d\xd6\x45\x5a\xaa\x8a\xdd\ +\x4e\x62\xcf\x68\xc8\xef\x29\x04\x77\x70\xf7\x2b\xb3\x4c\xbf\x72\ +\x9c\xd7\x6b\xef\x2d\xb0\xae\xaf\xcb\xbe\xfe\x93\xfa\x9e\x7e\x0d\ +\x99\x81\xa7\xf8\xc7\x91\x07\xf9\x68\xec\x3b\xfc\x69\xf3\x5f\xf2\ +\x1f\xa7\x3f\x2c\x36\x97\xd6\xaf\xce\xcf\xc8\xea\xa8\x45\x71\x51\ +\x4d\xe8\xdf\x53\x4f\x6a\x3f\x81\x57\xb1\x2e\x99\xd7\xd7\xfa\x5a\ +\x5f\x57\x60\xfd\xff\x91\xff\x98\x4a\x74\x03\x10\x92\x00\x00\x00\ +\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ +\x00\x00\x21\x68\ +\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\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\xdb\x05\x0f\ +\x0e\x20\x02\x55\xba\xb1\xee\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\x20\x00\ +\x49\x44\x41\x54\x78\xda\xed\x9d\x79\x7c\x56\xc5\xbd\xff\xdf\xe7\ +\xc9\x9e\x40\x12\x08\x59\x88\x40\xd8\x13\x30\xec\xb2\x09\x82\x52\ +\x40\x83\xd8\x7a\xeb\xd5\xab\xed\x7d\xb5\x0a\xb6\x5a\xeb\xd2\x5a\ +\xf5\xd7\xed\xde\xb6\xfe\x6c\x6b\xb5\xbd\xbf\x6a\xed\x6d\xa9\x6d\ +\x7f\xbd\x95\xda\x5a\xbd\xda\x5e\xc1\xaa\x60\x71\x81\x4a\x20\xec\ +\x81\x00\x61\x0b\x49\x90\xb0\x84\x24\x24\x79\x92\x9c\x33\x67\xee\ +\x1f\x33\xe7\x79\xe6\x79\xc8\x9e\x00\x11\x9e\xef\x8b\x87\x3c\xcf\ +\x39\x33\x73\xce\x99\xef\xe7\xbb\xce\x9c\x19\x88\x50\x84\x22\x14\ +\xa1\x08\x45\x28\x42\x11\x8a\x50\x84\x22\x14\xa1\x08\x45\x28\x42\ +\x11\x52\x24\xbb\xf8\xb9\x1c\x28\x03\xf8\x1e\xb0\x09\xa8\x05\x6c\ +\xe0\x04\xb0\x0a\xf8\xa7\x2e\xb6\xf5\x68\x58\xff\xfd\xba\x9b\x3c\ +\x69\x04\x8e\x00\x6f\x00\x8f\x01\xc3\x22\x00\x38\x3f\xb4\x14\x38\ +\xd3\x41\x1f\xbc\x0a\xc4\x77\xb2\xbd\xed\x61\x75\xab\x81\x98\x5e\ +\xe0\x89\x0d\x3c\xdb\x85\xfb\xe8\xd4\xc5\x2e\x77\x9a\x0d\x34\xeb\ +\xbe\x70\x81\xff\x04\x26\xea\x4e\x1e\x0c\x7c\x1d\x68\xd2\xe7\x5f\ +\xea\x44\x7b\xe3\x8d\xbe\x5d\x67\x7c\x5f\xda\x0d\x9e\xa4\x00\x93\ +\xb5\xf4\x57\x18\xe7\x3f\x00\x12\xfa\x02\x00\xbc\x36\x3e\xa9\x7f\ +\x0f\xd2\xea\xee\x23\xc0\x01\x1a\x80\x03\x9d\x64\xc2\xaf\x81\xbd\ +\xba\x4e\x8b\x56\x7d\x2b\x81\xab\xbb\xc0\xc8\xae\xb6\xe1\x03\x8a\ +\x8d\xe7\xf8\x6a\x1b\xe5\x96\x00\x22\xec\x59\xdb\xa2\xef\x1b\xed\ +\xe5\xeb\xfb\x90\xc0\x1f\x7a\xc8\x93\x54\xe0\x5d\xa3\xcc\x73\x7d\ +\x09\x00\xdf\x03\xfa\x01\x25\x5d\x34\x21\x96\x56\x69\x1d\xa9\xbe\ +\x1f\xeb\xb2\xbd\xdd\xc6\x62\xe3\xfc\xae\x76\xae\x01\xf0\x3b\x5d\ +\x6e\x63\x07\x7d\x72\x48\x97\xdb\xaa\x7f\xbf\xa5\x7f\x9f\xed\x40\ +\x6a\x3b\xd3\x5f\x69\xda\x9c\x48\x2d\x60\xc3\xfb\x0a\x00\xfe\x0c\ +\xfc\xc0\x40\xe6\x08\x20\x0a\x48\xd6\xea\xb4\x2d\x7a\xc2\x68\xe3\ +\x28\x70\xab\x56\x7b\x49\x5a\x65\xee\x37\xce\x3f\x72\x1e\xda\xf8\ +\x99\x71\xee\xb1\x0e\x9e\x75\x02\xf0\x3e\xb0\xa8\x9d\x32\x57\x1b\ +\xed\x7d\x57\x1f\xbb\xdb\x38\x76\x5b\x2f\xf0\xe4\xc7\x46\xb9\x6f\ +\xf7\x15\x00\x14\x03\x35\xc0\x37\xbb\x50\x77\xa4\x76\x6a\xa4\xae\ +\xdb\x1a\x9a\xaf\x30\x9c\xb3\xb3\x40\x7a\x2f\xb7\xf1\x0f\xe3\x19\ +\xe6\xf4\x82\x3f\xf1\xf3\x30\xf5\xef\x45\x17\xc2\x70\x24\x7b\xca\ +\x93\x45\x46\xb9\xb5\x7d\x05\x00\x1e\x08\x7c\x5d\xa8\xfb\x83\x56\ +\xa4\xa5\x35\x7a\xd2\x28\x77\x5f\x2f\xb7\xf1\x91\x71\x3c\xab\x87\ +\x7d\x11\xad\xc3\x46\xa9\x4d\xa1\x49\xef\xeb\xe3\x7e\xad\x15\x7b\ +\xc2\x93\x2b\x8c\x72\x15\x17\x3b\x0c\x34\xcb\x7c\xa5\x8b\xf7\xb0\ +\xd1\xa8\x3b\xb5\x9d\x72\x73\x8c\x72\xaf\xf5\x72\x1b\xcd\xc6\xf1\ +\x84\x1e\x02\x60\x89\xd1\xd6\xff\x0d\x3b\xf7\x55\xe3\xdc\xe7\x7b\ +\x08\x80\x38\xa3\x5c\x53\x5f\x02\xc0\x94\x2e\xde\xc3\x69\xa3\x6e\ +\x6a\x3b\xe5\x06\x18\xe5\xf6\xf7\x72\x1b\xc2\x38\xee\xeb\x21\x00\ +\x56\x1a\x6d\x85\xfb\x3d\xc3\x8d\x73\x7f\xeb\x21\x00\xa2\x8c\x72\ +\xa2\x2f\x99\x80\xfe\x5d\xac\xeb\x74\x03\x88\x35\xbd\xdc\x46\x9d\ +\x71\x3c\xb1\x07\xfd\x90\x08\xd4\xb7\x01\x52\x8f\xb6\x1a\xc9\x9c\ +\x41\x3d\xe0\x49\x8a\x51\xee\x2c\xed\xc4\xb7\x17\x9a\xea\xbb\x01\ +\x9e\xae\x52\xff\x5e\x6e\xe3\x74\x58\x88\xd5\x5d\xfa\x94\x8e\x3a\ +\x00\x5e\x69\xa3\xcc\x6b\x86\xaf\xf0\xcf\x3d\xb8\xd6\x60\xe3\xfb\ +\xb1\xbe\xa4\x01\xba\x4a\xa6\x03\x16\xd7\xcd\xeb\xf7\xb4\x8d\x37\ +\x8c\xfa\xd7\xf5\xa0\x1f\x56\x75\x51\x0b\xbd\xd7\x83\xbe\xbc\xd5\ +\x28\xf7\x72\x5f\xd2\x00\x5d\xa5\x3d\xc6\xf7\x9c\x8b\xd4\x46\x91\ +\xf1\x7d\x6e\x07\x65\xaf\x02\x3e\x6c\x45\x7a\xd3\x74\x42\xa9\x2b\ +\x34\x17\xc8\xee\xe6\x33\xdf\x64\x7c\x5f\xfb\x71\xd6\x00\xff\xc7\ +\xa8\xfb\x50\x37\xaf\xdf\xd3\x36\x26\x19\xf5\xf7\x76\x90\x09\xfc\ +\x8b\x2e\xf7\x76\xd8\xf1\x2f\x85\x65\x1b\xdb\xa3\x9f\xd0\x76\xda\ +\xb9\x33\x7d\x99\xa3\x43\x49\xcf\xfe\x0f\xf8\x38\x03\x20\x13\x95\ +\xb3\x97\xda\x96\x65\xb4\x83\xf8\x63\xc0\xeb\xad\x64\xeb\x7a\xa3\ +\x8d\xb7\x3b\x91\x6d\xbc\xcb\xf0\xba\x67\x84\x9d\xfb\xc0\xa8\x3f\ +\xa3\x83\x67\x9e\x69\x94\xdd\xd4\xc5\xbe\xec\x17\x96\xb8\xfa\xb7\ +\x8b\xc5\xb8\xde\x6c\xe7\xcb\x46\xfd\x03\xa8\x71\xf7\x14\xd4\xd0\ +\x69\x1e\xf0\xb8\x81\xf8\xb6\x52\x9f\x3d\x6d\x63\x8c\x8e\x0c\xbc\ +\xd1\xc0\x9f\xea\x63\xd1\x5a\xe2\x9e\x32\xc2\xc5\x27\x5a\x91\x48\ +\x57\x9f\x3b\xd4\xc9\x67\x3e\x6c\xdc\xcb\xa8\x0e\xfa\x32\x56\x5f\ +\xe3\x8b\x61\xf5\xde\xd4\xe1\xe0\xc7\x1e\x00\x00\x0f\x84\x25\x64\ +\x5a\xfb\x38\xa8\x51\x36\xeb\x3c\xb5\x31\x03\xa8\xa4\xeb\x83\x49\ +\x5f\x37\xce\xff\xa8\x93\xcf\xfb\x94\x51\xe7\x5b\x5d\xcc\xcd\x08\ +\x54\xba\x39\x8e\x3e\xc0\xb8\xde\x6c\x27\x47\xdb\xc7\x9d\x5a\xa5\ +\x3b\x5a\x2a\x8b\x74\x87\x8d\xbd\x00\x6d\x24\x6b\x86\x6e\x24\x38\ +\x23\xe8\x23\xd4\x40\x57\x5b\x0e\xe2\x2e\xe3\xf9\xa7\x75\xf2\x59\ +\xa7\x11\x3a\x02\xd9\x1e\x00\x5c\xe3\x19\x9e\x06\xc6\x11\xa1\x08\ +\x45\x28\x42\x11\x8a\x50\x84\x22\x14\xa1\x08\x45\x28\x42\x11\x8a\ +\x50\x84\x22\xf4\x31\xa2\x21\xa8\x29\x5a\x51\x91\xae\xb8\xbc\x68\ +\x0c\x6a\x52\xc4\x5a\x82\x33\x73\xfe\x1b\x95\xe7\x1e\x1e\xe9\x9e\ +\x4b\x9b\x66\x68\xa6\xcb\x98\x98\x18\x19\x1b\x1b\xdb\x5a\xda\x73\ +\x2f\x6a\x9e\xfe\x12\xd4\xc8\x57\x84\x7a\x40\x56\x1f\xbb\x9f\x39\ +\xc0\x7a\x80\xdb\x6f\xbf\x9d\x3f\xfd\xe9\x4f\xdc\x7d\xf7\xdd\x0c\ +\x1d\x3a\x94\xf5\xeb\xd7\xf3\xe1\x87\x1f\x52\x5f\x1f\x32\xa3\xac\ +\x45\x97\x5f\x83\x7a\xb3\xc6\x7b\xd9\xb2\x37\x28\x15\x35\xab\x66\ +\xae\xd6\x4a\x83\x51\xd3\xc4\xac\xb0\xeb\xd7\x00\x65\xa8\xe9\xee\ +\x85\xc0\x6a\xd4\xdb\xba\x11\xea\x06\x8d\x07\xe4\xc8\x91\x23\xe5\ +\x13\x4f\x3c\x21\x01\xb9\x74\xe9\x52\xb9\x6b\xd7\x2e\xb9\x63\xc7\ +\x76\x59\xb4\x79\xb3\xfc\xed\x6f\x7f\x2b\x97\x2f\x5f\x2e\xf3\xf3\ +\xf3\xa5\xcf\xe7\x0b\xd7\x0e\xc7\x51\xb3\x6e\xff\x95\xee\xcd\xdf\ +\x1f\x05\xbc\x48\x70\xde\x7e\x77\x3f\x35\x1a\x94\x9f\x47\x0d\xd5\ +\x46\x34\x40\x17\x1c\xbf\xf2\x8c\x8c\x0c\x9e\x7c\xf2\x49\x96\x2d\ +\x5b\x46\x4e\x4e\x0e\x3f\x7b\xee\x39\xb2\xb3\xb3\x71\x85\xc0\x75\ +\x05\xae\xeb\x22\x84\x4b\x4d\x4d\x0d\x45\x5b\xb6\xb0\xa9\xb0\x90\ +\xa2\xa2\x22\x4e\x9e\x3c\x69\xb6\x25\xb5\x46\xf0\xb4\xc3\x7a\x2d\ +\xb1\xad\xd1\x2c\xe0\x79\x82\x6f\xe9\x00\x90\x93\x93\x43\x6e\x6e\ +\x2e\xa3\x47\x8f\x26\x33\x33\x93\xac\xcc\x2c\x84\x2b\x88\x8e\x8e\ +\xc6\xb6\x6d\x5a\x5a\x6c\x4e\x54\x55\x71\xec\xd8\x31\x8e\x96\x1f\ +\xa5\xa4\xa4\x84\xe3\xc7\x8f\x87\xb7\xed\x02\xfb\x50\xaf\xc2\xfd\ +\x27\xea\x5d\x80\x57\x81\x6d\x11\x00\x9c\x4b\xc9\xa8\x21\x56\x72\ +\x72\x72\x90\x52\x52\x57\x57\x47\x7d\x7d\x3d\xdf\xf8\xfa\xd7\x29\ +\x58\xb2\x04\x21\x5c\x5c\xd7\x0d\x02\xc1\x15\xb8\xfa\x58\x59\xd9\ +\x11\x8a\x8a\xb6\xb0\x6d\xdb\x36\x8a\x8b\x8b\x69\x69\x09\xe1\x77\ +\x03\xea\xcd\x9b\xbf\x69\x07\xb3\x04\x35\x4d\xfb\x2d\x8c\x61\xdc\ +\xe9\xd3\xa7\x73\xd3\x4d\x37\x31\x77\xce\x1c\xd2\xd2\x07\x05\x64\ +\x5a\x6a\xcb\x22\x25\x58\x96\x44\x1a\x86\x46\x4a\x55\x48\x4a\xa8\ +\xad\xad\x65\xcb\x96\x2d\x6c\xdc\xb8\x91\x0d\x1b\x36\x84\x03\xa2\ +\x99\xe0\x18\xfd\x41\xad\xa9\x36\x46\x00\x10\x4a\x12\x20\x3a\x3a\ +\x9a\xd5\xab\x57\xf3\xd0\x43\x0f\xb1\x77\xef\x5e\x00\xbe\xf3\x9d\ +\xef\x70\xdd\x75\xd7\xe2\x0a\x17\xe1\xba\xfa\xaf\xd0\x80\x70\x11\ +\x22\xf8\xdd\xef\xf7\xb3\x6f\xdf\x3e\xb6\x6f\xdf\xce\xce\x9d\x3b\ +\x29\x2f\x2f\x0f\xbf\xce\x49\x0d\x80\x24\x80\x85\x0b\x17\x72\xdf\ +\x7d\xf7\x31\x72\xc4\x48\x8f\xd5\xfa\x7f\x69\xdc\x95\xf4\xfe\x05\ +\x7e\x9a\xd3\x1c\x8c\x22\x58\x52\xd5\x3c\x50\x7a\x80\xd5\x6f\xac\ +\xe6\xd5\x57\x5f\xc5\xef\xf7\x83\x9a\x3f\x60\x2e\x02\xf1\x07\x0d\ +\x84\x8b\x42\x7d\x31\xc6\xbe\x12\x18\xdf\xbf\x7f\x7f\x6b\xe9\xd2\ +\xa5\xdc\x71\xc7\x1d\xf8\xfd\x7e\x8a\x8b\x8b\xd9\xbe\x7d\x3b\x05\ +\x05\x05\xf8\xa2\xa2\x10\x42\xe0\xb8\x02\x21\x04\xab\x56\x0d\xa5\ +\xb2\x32\x9e\xf8\x78\x3f\x71\x71\xcd\x38\x42\x00\x16\x69\x69\x03\ +\x18\x37\x7e\x3c\xf3\xe7\xcf\x67\xde\xbc\x79\x64\x67\x67\x13\x13\ +\x13\x43\x75\x75\x35\x8e\xe3\x24\x01\xb1\x59\x59\x59\xfc\xf8\x27\ +\x3f\xe1\xce\x3b\xef\x24\x35\x35\x15\x57\x4a\xa4\x74\x91\xae\xab\ +\xe6\x70\xb9\x52\x7d\xa4\x0c\x9e\x93\xe8\xbf\x12\x57\xba\xa0\xcf\ +\xab\x72\x2e\x12\xfd\x5b\xba\xa4\x0e\x18\xc0\x8c\x19\x33\xa8\xa8\ +\xa8\x60\xff\xfe\xfd\x3c\xfc\xf0\xc3\x51\x8f\x3c\xf2\x08\x15\x15\ +\x95\x1e\x28\x27\xa2\xd6\x12\xf8\x35\x17\x61\x21\x8e\xbe\x04\x80\ +\x91\xa8\xe9\x54\xb7\x03\x2d\xcd\xcd\xcd\x31\x67\xcf\x9e\x65\xf6\ +\xac\xd9\x4c\x99\x3a\x85\xc2\xc2\x42\x2a\x2b\x2b\xb1\xb0\xc8\x9f\ +\x90\x8f\x10\x0e\xae\x10\xd8\xb6\xe0\xf1\xc7\xaf\xe6\xfd\xf7\x87\ +\xb1\x6a\xd5\x58\xd6\xad\x1b\xce\x81\xd2\x81\x9c\x3e\x1d\x8b\x65\ +\x09\x12\x13\xeb\x91\xae\x4b\x74\x4c\x34\x83\xb3\xb3\x99\x38\x61\ +\x02\xc5\xc5\xc5\xd4\xd4\xd4\x90\x95\x95\xc5\xca\x95\x7f\x60\xe4\ +\xc8\x11\xb8\x52\x82\x66\x6a\xe0\x83\x0c\x32\x5a\xab\x7a\x29\x51\ +\x40\xf0\x98\x2e\x95\x5d\x10\xae\x9a\x98\xe3\x4a\x55\xce\x75\xdd\ +\x00\x68\x90\x92\x97\x5f\x7e\x99\x8f\x3e\xfa\x88\x4f\x7d\xf2\x93\ +\x8c\x1b\x37\x8e\x45\x8b\x16\x92\x95\x95\xc5\xfa\xf5\xeb\xd1\x11\ +\xc6\x27\x80\xff\x7f\x39\x02\x20\x59\x3b\x47\xbf\x46\x4d\x83\x72\ +\x51\x2f\x44\x8c\x6a\x68\x68\xe0\xe6\x9b\x6f\x46\x08\x41\x56\x56\ +\x16\x6b\xd7\xae\xa5\xaa\xaa\x8a\x1b\x6f\xbc\x11\x57\x08\x1c\x21\ +\x68\x6a\x52\x8c\x88\x89\x71\xa8\xab\x8b\xa7\xae\x2e\x81\x8a\x8a\ +\x54\x76\xed\x1a\xc2\x7b\xef\xe5\xb2\x66\x4d\x3e\x25\x25\xd9\x1c\ +\x3f\xde\x8f\xe6\x66\x18\x38\xb0\x9a\x77\xdf\x7d\x97\x86\x86\x06\ +\x9e\x7c\xf2\x49\x46\x8e\x1c\xa9\x25\x5e\x33\xd8\x75\x71\x91\x21\ +\x40\x08\x30\x1c\x17\xd7\x35\x8e\x6b\x26\x4b\x57\xcd\xf7\x74\x03\ +\xe5\x5d\xd0\xdf\x91\x0a\x14\xbf\x5a\xb1\x82\xc6\xc6\x46\xee\x5a\ +\xbe\x8c\xfe\xfd\xfb\x23\xa5\x64\xf4\xe8\xd1\x0c\x1f\x3e\x82\x77\ +\xdf\x7d\x17\xd4\xc2\x4e\x71\xc0\x3b\x17\xb2\xf3\xa3\xfb\x48\xec\ +\xbf\x0c\x60\xc1\xd8\xb1\xdc\x32\x71\x62\xf4\xba\xfd\xfb\x17\xbf\ +\xb2\x73\x27\x69\x69\x69\xd8\x8e\x92\xf4\xf1\xe3\xc7\x93\x9a\x9a\ +\xca\xc9\x93\x27\x29\x29\x29\x61\xf4\xe8\xd1\x08\x21\xb0\x7c\x2e\ +\x9f\xbc\x69\x17\xc2\x15\x08\xe1\x52\x5e\x9e\x4c\x69\x69\x3a\x07\ +\x0e\x64\x70\xe8\x50\x26\x27\x4e\xa4\xb2\x6f\xdf\x10\xf6\xed\x1b\ +\x42\x72\xf2\x59\x1e\xfe\xea\x4f\xa8\xaa\xaa\x22\x2e\x2e\x8e\x49\ +\x93\x26\xe1\xba\x02\x89\x05\xd2\x35\x1c\xba\x80\x77\x17\xd0\xc9\ +\x12\xa9\xa0\x69\xf8\x04\x9e\xf5\xb7\x3c\x53\xa1\x7f\x59\x5a\x63\ +\x78\xf5\xce\x54\x9f\xe1\xd4\xa9\x53\x24\xc4\xc7\x93\x95\x99\x85\ +\xeb\xba\x81\xb6\xe7\xcd\x9b\xcb\xdd\x5f\xf8\x02\xbf\x7e\xfe\x79\ +\x50\xef\x2f\xac\xd0\x79\x85\xcb\x06\x00\xd9\x00\x93\xb3\xb3\xb9\ +\x77\xfa\x74\x5a\x5a\x5a\x78\x6b\xdf\x3e\x00\x0a\x0a\x6e\x40\xd8\ +\x36\xc2\x55\x4e\xdf\xb4\x69\xd3\x78\xe7\x9d\x77\xd8\xb9\x73\x07\ +\x39\xc3\x87\x07\xc2\x42\xe1\x4a\xa4\x10\x08\xd7\x25\x33\xeb\x24\ +\xe9\xe9\x55\xcc\x9a\xa5\x9c\xc4\x9a\xda\x38\x0e\x1d\xca\xe2\xd0\ +\xa1\xc1\x44\x45\xdb\xec\x2f\x2d\x05\x20\x3f\x3f\x9f\xa8\xa8\x28\ +\x84\x30\x58\x25\x43\x3d\x51\xcf\x91\x0b\x89\x02\xbc\x50\xc0\x8b\ +\x08\x30\x98\x2d\x83\x8e\xa3\x25\xad\x40\x9d\x9d\xbb\xd4\x9c\xce\ +\xdc\xbc\x3c\x35\x83\x53\x88\x10\xa7\xf1\xb6\x5b\x6f\x65\xc3\xfa\ +\xf5\x94\x94\x94\xf8\x80\xbf\xa2\x16\x7c\xba\x20\xd4\x17\x5e\x0d\ +\x1b\x06\x30\x32\x35\x15\xc7\xef\x67\xeb\xd1\xa3\x9c\x6d\x6e\x26\ +\x2d\x2d\x8d\xb9\xd7\x5c\x83\xed\x38\x38\xfa\x93\x97\xa7\x26\xbb\ +\x96\x1e\x38\x88\x63\xdb\xfa\xb8\xc0\xb1\x6d\xa3\x9c\xd0\xc7\x1c\ +\x6c\xc7\x26\x21\xa1\x8e\x71\xe3\xf6\x72\x43\xc1\x3b\x2c\xfc\xc4\ +\x3a\x0e\x1d\x52\xd3\xf2\x27\x4e\x9c\x14\x12\x41\xb8\xae\x76\xfc\ +\x74\x74\xe1\x0a\x81\xe3\x85\x99\x5e\x39\x21\x34\xe8\x14\x20\xa5\ +\x14\x3a\x1a\x09\x86\xa2\xae\xeb\x22\x85\x0c\xd4\x13\xae\xcb\xd6\ +\x2d\x5b\x00\x98\x30\x21\x1f\xa9\x23\x18\xe1\x45\x2e\xae\x8b\x94\ +\x2e\x0f\x3c\xf8\xa0\xd7\x1f\x93\xb4\x3f\x70\xd9\x68\x80\x61\x00\ +\x03\x62\x62\x70\x9a\xfc\x94\x54\x55\x01\x30\x6f\xde\x3c\x1c\xdb\ +\x09\x32\x48\xb8\x0c\xb9\x42\xbd\x26\x57\x7e\xf4\x28\x8e\xe3\x04\ +\xf2\x01\x5e\x6e\xc0\xcc\x09\x04\x18\x13\x12\x22\x4a\x8e\x1c\x39\ +\x02\xc0\xe4\x49\x13\x95\x24\x4a\x0b\x69\xc9\x73\xe2\x7d\xad\x02\ +\x82\x1a\x20\xdc\x34\x58\x96\x52\x01\xda\x06\x48\xdc\x80\x48\x4b\ +\x9d\xfe\x91\x3a\x0f\xb4\x75\xeb\xd6\x10\xd0\x79\x5a\xc4\x32\x34\ +\xca\xf0\xe1\x39\xcc\x9c\x39\x93\xc2\xc2\x42\x50\x2b\x95\x4c\xbf\ +\x5c\x00\x30\x14\x20\xd5\xe7\xc3\xf6\x37\x51\x5e\x5b\xab\x42\x82\ +\x91\x23\x14\x93\xa5\x8e\xf7\x85\x60\x50\xba\x5a\xb6\xe7\xd4\xa9\ +\x53\xd8\xb6\xad\x1d\x31\x0d\x00\xe1\x22\xa4\xd0\x65\xcf\x4d\x16\ +\x21\xc1\xef\xf7\x53\x55\x55\x45\x74\x74\x34\xb9\x79\x79\x4a\x5a\ +\xb1\x54\x18\x87\x52\xe7\xe7\x30\x5c\x4a\xa4\x05\xfa\xbf\x10\x06\ +\x7b\x40\xb0\x5c\x19\x92\x17\x70\x8d\xef\x27\x4e\x9c\xa0\xbc\xbc\ +\x9c\xc4\xc4\x44\x72\x73\x73\x71\xf5\xbd\x48\xc3\xd8\x48\x94\x0b\ +\x72\xdb\x6d\xff\xe2\x01\x60\x2a\x6a\xa0\xab\xfe\xb2\x31\x01\xc9\ +\x58\xd8\xfe\x26\xaa\x9b\xd4\x6a\x26\x83\x06\xa5\xab\x58\xdf\x0e\ +\xaa\x76\x9f\xcf\x47\x52\x52\x12\x42\x08\x15\xcb\xdb\x9e\xca\x77\ +\x70\x84\xad\x7e\x0b\x07\xe1\x38\x08\xc7\x56\xdf\x85\xea\x70\xc7\ +\x71\x28\x2b\x2b\x43\x4a\x49\x5e\x5e\x1e\xd1\x31\xd1\xb8\x42\x1a\ +\x5a\xc2\x00\x92\x79\x4c\x4a\xa4\x70\x03\xea\x5c\xd5\x31\xd5\xbd\ +\x32\x15\xaa\xac\xca\x4d\x48\x21\x90\x1a\x7c\x85\x1b\x0b\x01\x98\ +\x3a\x75\x2a\x3e\x9f\x15\x50\xfd\x01\xa0\x7a\x1f\x57\x30\x7a\xf4\ +\x28\x86\x0f\x1f\xee\xf1\xe5\xdf\x2f\x2b\x0d\x90\x82\xc4\x69\x6a\ +\xa4\x4e\xa7\x6f\x53\x52\x92\xb1\x6d\xdb\x50\xe9\xaa\x43\x93\x92\ +\x92\x68\x68\x68\xa0\xae\xb6\x8e\x84\xf8\x78\x5c\x37\x68\x6f\x55\ +\x66\x50\x06\x24\x1f\xa0\xa6\xa6\x86\x2d\x5b\x54\x7a\x38\x23\x23\ +\x23\xe0\x00\xba\x42\xc5\xed\xa1\x19\x3d\x25\xf9\x96\x16\xf0\x80\ +\x13\xe8\x65\x00\xb5\xda\x97\x61\x91\x40\x50\x9c\x5d\xed\x18\x06\ +\x75\xc5\xfa\x0d\xeb\x01\x98\x36\x6d\x1a\x42\x78\x47\x43\x9d\x44\ +\xd3\x74\xcc\xbf\x76\x3e\x47\x7e\x77\x04\xe0\xb3\x74\xbc\x24\xdd\ +\xc7\x1e\x00\x19\x40\x7c\x62\x54\x14\x56\x73\x0b\xb6\xeb\xd0\xa8\ +\x3d\xe4\xd8\xd8\x78\x1c\xc7\x51\x4e\x92\xeb\xa9\x75\x87\x84\x78\ +\xb5\x46\x53\x7d\x43\x3d\x03\x9d\x81\x41\x1b\x1f\x70\xd4\xd4\xef\ +\x03\x07\x0e\x50\x54\x54\x44\x69\x69\x69\x40\x9d\x8f\x1a\x35\x8a\ +\x9b\x6f\xbe\x99\x99\x33\x66\xea\xf0\x4f\xab\xfd\x90\xf4\x6d\x90\ +\x7d\x6e\x30\x06\x0c\x19\x0b\x08\xe1\x7e\x60\x5c\x40\xd7\xd5\xa0\ +\xb1\x24\xd4\xd6\xd5\xb2\x7b\xf7\x6e\xa2\xa2\xa2\x98\x36\x6d\x9a\ +\x52\xff\x1e\xab\xbd\x36\xa5\xa5\x0a\xab\x7c\x11\x73\xae\x9e\xc3\ +\xef\xff\xeb\xf7\x48\x29\xb3\x51\x2b\x7d\x55\x5e\xca\x00\x50\xf6\ +\x3f\x2a\x0a\xc7\xdf\x48\x8b\xe3\xe0\x02\x51\x51\x51\x58\x48\x1c\ +\x47\x9c\x93\xe3\x8f\x8d\x53\xa3\xab\x4d\x4d\x4d\xfa\x7c\xd0\x2b\ +\x3f\x5b\x57\xc7\xb6\x6d\xdb\xd8\xb2\x65\x0b\xb5\xda\x97\x88\x8e\ +\x8e\x66\xee\xdc\xb9\xdc\x78\xe3\x8d\xe4\x5f\x79\x65\x60\x78\xce\ +\x15\x6e\xc0\xf9\xf3\x62\x79\x57\x06\x63\xf9\x40\xa8\x17\x16\xf6\ +\x85\x5a\x6f\x42\xfd\x87\x80\x9f\xa0\x74\xcb\x07\x1f\x7c\x80\x10\ +\x82\xa9\x53\xa7\x2a\xd3\xe5\xba\x46\x68\x19\xda\x8e\x77\x2c\x35\ +\x35\x95\x8c\x8c\x0c\xaa\x94\x33\x7c\x0b\x6a\x75\xd3\x4b\x16\x00\ +\xc3\x00\x52\x7c\x3e\xec\x26\x3f\x7e\xdb\xd1\xd2\x1f\xab\x12\x40\ +\x5e\x98\xe4\xaa\xac\x9f\xeb\xba\x44\x45\xa9\xe4\x65\x53\x73\x13\ +\x8e\xb0\x11\x8e\xe0\xf0\xe1\xc3\x14\x15\x15\x51\x52\x52\x12\x50\ +\xfd\x59\x59\x59\x2c\x29\x58\xc2\xa2\x45\x0b\x49\x4e\x49\x41\x4a\ +\x10\xfa\x5c\x40\xf5\xba\xc1\x4c\x8e\x2b\x3d\x35\xaf\x3c\x32\x0f\ +\x14\x9e\x44\x87\x44\x01\x86\xb4\x87\x24\x8f\x02\xf5\xd5\x6f\x9d\ +\xe1\xe3\x9a\x6b\xae\x51\x80\x33\x1c\x4d\x19\x96\x74\xd0\x3a\x87\ +\xed\xdb\xb6\x7b\xcc\x97\xa8\xb9\x09\x97\xb4\x09\xb8\x02\xa0\xbf\ +\x04\xd1\x62\xd3\xec\xba\x24\x58\x16\xb6\x6d\x73\xe6\xcc\x19\x12\ +\x93\x92\x90\xae\x40\x08\x6d\xd7\x85\x20\x3e\x3e\x1e\xe0\xb0\x70\ +\xc4\x88\xf5\x1f\xac\xa7\xa8\xa8\x88\xd3\xa7\xd5\x1a\x4e\x3e\x9f\ +\x8f\xd9\xb3\x67\x53\x50\x50\xc0\xe4\xc9\x93\xf1\x59\x96\x4a\xbc\ +\x04\x42\x2f\x42\x54\xb0\xa9\xde\x43\xa4\xd2\xf4\xd2\x4d\x9b\x1f\ +\x5e\xb7\x0d\x46\x82\xa4\xa2\xa2\x82\xd2\xd2\x52\x12\x12\x12\xb8\ +\x6a\xda\x55\xb8\x7a\x4c\x41\x5d\xc3\x0a\xc2\x50\x06\x93\x50\xfe\ +\xe6\x26\x7e\xf3\x9b\xdf\x78\xad\xbd\x0d\x9c\xba\xd4\x01\xa0\x35\ +\x80\xc5\x29\x21\x78\xb9\xbe\x1e\xbf\x94\xe0\x38\xbc\xf0\xc2\x0b\ +\x2c\x5f\xbe\x3c\x24\x51\x23\x84\xcb\xf4\x19\xd3\xd9\xbe\x7d\xbb\ +\xfb\xe2\x8b\x41\xe1\x48\x4b\x4b\x63\xf1\xe2\xc5\x2c\x5e\xbc\x98\ +\xb4\x81\x03\xc1\xb2\x90\x52\x2a\x0f\xde\x74\xd8\x42\x62\x6f\x42\ +\xb5\x01\xa1\xe3\xfa\x26\x47\x65\x88\xce\x97\x21\x43\x76\x52\xca\ +\xd0\xfc\x81\x06\xcd\x7b\xef\xa9\xf5\x9d\x66\xcf\x9e\x4d\x54\x74\ +\x14\x42\x38\x4a\xfe\x03\x31\x64\x68\xaa\x19\x60\xe5\x0b\x2f\x70\ +\xea\xd4\x29\x50\x0b\x3b\x7e\xfa\x72\x88\x02\x86\x00\xac\xf1\xfb\ +\x5f\x5c\xe3\xf7\xdf\x01\x58\x89\x89\x6a\x19\xbe\x3d\x7b\xf6\xf0\ +\xde\xfb\xef\x31\x7b\xd6\xd5\xf8\xfd\x8d\x6c\xdd\xb6\x8d\xa2\xcd\ +\x9b\xbd\x09\x16\xa3\x2c\xcb\x62\xf2\xe4\xc9\xdc\x70\xfd\x0d\x5c\ +\x35\x7d\x3a\x51\x51\x3e\x90\x20\xa4\x6b\x24\x61\x94\x4e\x56\x5e\ +\x77\x50\xd2\x2d\x33\xc7\x2f\x25\x96\x65\x08\x7f\x98\xaa\x0f\x32\ +\xd7\x88\x00\x4c\x0f\xfe\x1c\x90\x48\x1c\x21\x58\xb7\x6e\x9d\x1a\ +\xe8\x98\x33\x27\x30\x68\x14\x42\x21\x49\x27\x49\x51\x51\x51\xa0\ +\x0e\xf0\x39\x2e\xd0\xbc\xc2\x8b\x0d\x80\x4d\x40\x2e\xf0\x19\x2f\ +\x56\x7e\xf4\xd1\x47\xd9\xb1\x63\x07\x4f\x3e\xf9\x24\xab\x57\xad\ +\xe6\xd0\xc1\x43\x94\x96\x96\xd2\xdc\xdc\xac\xc3\xc3\x14\xae\xbb\ +\xee\x3a\xae\xbf\xfe\x7a\xb2\x32\x33\x03\x5e\x7b\x40\xcd\xbb\x61\ +\xde\xb5\xeb\x65\xed\x82\x62\xef\xca\x73\x43\x3e\x69\x66\xff\x64\ +\x30\x3a\x30\x5d\x7f\x79\x0e\xc3\xc3\x67\x06\xa9\x63\x45\x9b\x8b\ +\xa8\xab\xab\x23\x3b\x3b\x9b\x31\x63\xc6\x20\x5c\xe1\x39\xfa\xc1\ +\xcc\xa1\x51\xb1\xaa\xaa\x8a\x5f\xa9\xc1\x20\x50\xeb\x07\xbe\x7c\ +\xb9\xa4\x82\x0f\xa3\x97\x8e\x5d\xb0\x60\x01\xf7\xdf\x7f\x3f\x96\ +\xcf\xc7\xcc\x99\x33\x59\xb8\x68\x11\x6b\xd7\xac\xa1\xb8\xb8\x18\ +\x80\xf1\xe3\xc7\xb3\x78\xd1\x62\x66\xcd\x9e\x45\x4c\x4c\x0c\x20\ +\x95\xb4\x4b\x02\x76\x55\xb6\x16\x9a\x05\x4d\xae\x61\xe7\x03\xde\ +\x5a\x20\x6b\x17\xc6\xe2\x73\x1d\xbc\xd6\xa2\x80\x56\xcf\x49\xde\ +\x7c\xeb\x4d\x00\xae\xbd\xf6\xda\x80\x53\x2a\xc3\xa4\xdf\x23\xbf\ +\xdf\xcf\xb3\xcf\x3e\x4b\x93\x4a\x80\x55\x02\xff\x72\x21\x19\x70\ +\x31\x01\x90\x0c\xfc\x09\xb0\x66\xce\x9c\xc9\x97\xbf\x7c\x9f\xea\ +\x17\xa1\x66\xd4\x2c\xbb\xf3\x2e\x1a\x1b\x1a\x48\x4d\x4d\x65\xe1\ +\xc2\x85\x0c\x1d\x3a\x2c\x28\xc1\x42\x84\xa8\xf0\x73\x1d\x34\x0b\ +\x29\x5d\x2c\xac\x73\x6d\xbc\x99\xb4\x31\x46\xf4\x42\x9d\x3e\x5a\ +\xb5\xd1\x98\xa3\x83\x96\x6c\x75\xfe\x4e\x59\x59\x19\xfb\xf7\xef\ +\x27\x2e\x2e\x8e\x39\x73\xda\x5f\x59\x5e\x4a\xc9\x8a\x15\x2b\xa8\ +\xac\xac\xf4\xec\xfe\xf4\xa0\x83\x70\xe9\x03\xe0\xcf\x40\xfc\xa0\ +\x41\x83\x78\xe0\x81\x07\x42\x26\x56\x00\xc4\xc4\x46\xf3\x95\xaf\ +\x7c\x25\x60\xb3\xbd\x1c\x3a\x21\x1e\xbb\x65\x24\x68\xe4\x39\x22\ +\xe6\xb6\xe2\xad\x4b\x53\x25\x9c\x33\x04\x2c\x09\x9f\x02\xd8\xe6\ +\x2c\xad\x36\x0e\xaf\x5d\xbb\x36\x10\xfa\x25\x25\x25\xb5\xdb\x01\ +\xaf\xbc\xf2\x0a\xdb\xb7\x6f\xf7\x5a\x5b\x8a\x5a\x6b\x88\xcb\x01\ +\x00\xa9\xe8\x55\x33\xef\xbe\xfb\x6e\x62\x62\x63\x10\x42\x06\x46\ +\xd6\xcd\x14\x6c\x70\x70\x26\x4c\x45\x9b\xea\xbc\x4d\x4d\x20\x5b\ +\x49\xf5\x12\xca\x64\x83\x93\x8d\x8d\x8d\x9c\x3c\x79\x92\xd3\xa7\ +\x4f\x53\x5d\x5d\x4d\x63\x63\x23\x8d\x8d\x8d\x9e\x7a\x26\x2a\x2a\ +\x8a\xb8\xb8\x38\x52\x52\x52\x48\x4b\x4b\x23\x33\x33\x93\xec\xec\ +\xec\x40\x6e\xa2\xae\xae\x8e\x8d\x1b\x37\x62\x59\x16\x8b\x16\x2d\ +\x6a\xb7\x03\xde\x79\xe7\x1d\x56\xaf\x5e\xed\xfd\x7c\x94\x0b\x3c\ +\x13\xe8\x62\x03\xe0\x7e\xcf\xe3\x9f\x3c\x79\x92\x9e\x21\x63\x30\ +\xcc\xd5\xd2\xdd\xe6\x30\xad\xa9\xce\xc3\xa2\xf4\x30\x63\x6b\x66\ +\xe7\x02\xca\xdf\x75\xa9\xa8\xa8\xa0\xac\xac\x8c\xf2\xf2\x72\x2a\ +\x2a\x2a\xa8\xac\xac\xa4\xa9\xa9\x89\x8c\x8c\x0c\x46\xa4\xa6\x92\ +\x91\x9a\xca\x80\x84\x04\x86\xc6\xc5\xc9\xf8\xc4\x44\x70\x05\xb6\ +\xed\xd0\xd8\xdc\xc4\xa9\x03\x07\xac\xed\x45\x45\x1c\x38\x7b\x96\ +\x33\x67\xce\x90\x97\x97\xc7\xd4\xa9\x53\xa9\xaa\xaa\xc2\xb6\x6d\ +\xa6\x4c\x99\x42\x66\x66\x66\xdb\x9e\xef\xa6\x4d\xac\x5c\xb9\xd2\ +\xfb\xf9\x0b\xd4\xaa\x65\x5c\x4e\x00\x98\x05\x30\x63\xc6\x8c\x40\ +\x86\x2c\xc4\x91\x92\x04\xe7\xd9\x78\xf6\x56\x25\xe8\xb0\xac\x60\ +\xfa\x35\x3c\xa4\x6b\x4b\x57\xbb\xae\xcb\xd1\xa3\x47\xd9\xbd\x7b\ +\x37\x7b\xf7\xee\xa5\xb4\xb4\x94\x01\x03\x06\x30\x75\xc4\x08\xf2\ +\x87\x0c\x95\xb7\x4c\x98\xc0\xa8\xcc\x0c\x2b\xbd\x7f\x32\xae\xe3\ +\x04\x3e\x52\x08\x5c\xdb\xb6\x5c\x21\x90\xde\x31\xc7\x41\x08\x07\ +\xe9\x08\x5c\xc7\xa1\xa6\xbe\x9e\x4d\x65\x65\x72\xdd\xdb\x6f\x5b\ +\x9b\x95\x2d\xa7\xa0\xa0\xa0\xcd\xbb\xd9\xb3\x67\x0f\x2b\x56\xac\ +\xf0\x34\xd6\x5b\x9c\xbb\xbb\xc9\x65\x01\x80\x18\xcf\x03\x76\xb4\ +\xdd\xb7\xa4\x85\xeb\x05\x75\x6d\xe4\xde\xc3\x52\xe8\xed\x99\x62\ +\x6a\x6b\x6b\xd9\xb1\x63\x07\xbb\x76\xed\x62\xcf\x9e\x3d\x24\x27\ +\x27\xb3\x60\xe2\x44\xbe\xb0\x70\xa1\x9c\x72\xcf\x3d\xd6\x80\xa4\ +\x44\xc5\x50\xdb\xb1\x84\x10\xe0\xd8\xd8\xf5\xf5\x9a\xf9\x02\x57\ +\x38\x48\xdb\x51\x7f\xc3\x40\x21\x34\x10\x5c\xe1\x90\x28\x1c\xae\ +\xc9\xcc\xb2\x8e\x9f\x3a\xcd\xe6\xca\x4a\x12\x13\x13\xc9\xc9\x69\ +\x7d\x3d\xea\x83\x07\x0f\xf2\xcc\x33\xcf\xa8\x21\x6a\xd8\x01\xdc\ +\x70\x91\xa3\xb0\x8b\xf6\x62\xc8\x23\xa8\x05\x0d\xf9\xda\xd7\x1e\ +\x61\xc2\x84\xfc\x5e\x69\xf4\xe4\xc9\x93\x6c\xd9\xb2\x85\xa2\xa2\ +\x22\x8e\x1d\x3b\xc6\xfc\xc9\x93\xb9\x66\xd2\x24\x39\x27\xff\x4a\ +\x2b\xbd\x7f\x7f\x5c\x5b\x33\x56\x38\xea\xbb\x13\xc6\xe0\x80\x64\ +\xdb\x0a\x04\x01\x46\xab\x63\xd2\x00\x87\xeb\x68\xad\x60\xdb\x34\ +\x36\x37\x73\xcf\xba\x75\x9c\xb5\x6d\xc6\x8d\x1b\x47\x7a\x7a\x3a\ +\xcb\x96\x2d\x0b\xb9\xb7\x23\x47\x8e\xf0\xc3\x1f\xfe\xd0\xcb\x67\ +\x1c\x06\x46\x5f\x68\x8f\xbf\x2f\x01\x20\x1a\xf5\x02\x65\x12\xc0\ +\xe2\xc5\x8b\xb9\xe5\x96\x5b\x88\x8b\xeb\xfa\xca\xa6\xd5\xd5\xd5\ +\x14\x16\x16\xb2\x69\xd3\x26\x4e\x9c\x38\xc1\x8d\xb3\x67\xb3\x78\ +\xc6\x0c\x66\xe4\xe6\x12\x65\x59\x48\xc7\xc6\xb5\x85\x62\xba\xc1\ +\xcc\x00\x03\x1d\x81\x2b\xec\x00\xe3\xa5\x63\x48\x78\xe0\xaf\x30\ +\x80\xa2\xeb\x6b\x10\x49\xe1\xf0\xea\xa1\x43\xfc\xf1\xc8\x11\xf2\ +\x52\x53\xf9\xd6\x94\x29\xdc\xbf\x75\x2b\x0f\x3f\xfc\x70\x40\x13\ +\x1c\x39\x72\x84\xa7\x9e\x7a\x8a\xc6\xc6\x46\x50\x8b\x51\x8f\xa0\ +\xed\xf7\x14\x2f\x0b\x00\x80\x7a\x6b\x76\x1d\x7a\xb7\xce\x94\x94\ +\x14\xee\xb8\xe3\x0e\x66\xcd\x9a\xd5\x61\xc5\xa6\xa6\x26\x36\x6f\ +\xde\xcc\x86\x0d\x1b\x28\x2f\x2f\xa7\x60\xe6\x4c\x6e\x9c\x7d\x35\ +\xd3\xf3\x72\xf1\xb9\x6e\x80\x39\xe1\xea\x3b\x60\xd7\x3d\x69\xb7\ +\x4d\x5b\xef\x68\xc9\x0e\xaa\xf7\x00\x48\x84\xa3\xce\x3b\x5a\x43\ +\x18\xe5\xea\x9b\x9b\x79\x70\xfb\x76\x1a\x85\xe0\x5b\x57\x5e\x49\ +\x7e\x6a\x0a\xab\x2a\x2a\x39\x38\x78\x30\xf7\xde\x7b\x2f\x87\x0f\ +\x1f\xe6\xe9\xa7\x9f\x36\x99\x9f\xcb\x05\x98\xea\xf5\x71\x00\x80\ +\x47\x9f\x47\xbd\x18\x92\x08\x30\x65\xca\x14\xee\xba\xeb\x2e\x92\ +\x93\xcf\xdd\x35\x6d\xff\xfe\xfd\xbc\xff\xfe\xfb\x6c\xdd\xba\x95\ +\xdc\xdc\x5c\x96\x2f\x58\xc0\x35\x13\x26\x10\x63\x59\x4a\x6a\x3d\ +\xa6\x99\xcc\x0c\xa8\x7b\x5b\x4b\xbf\x62\x5c\x50\xed\x8b\x73\x40\ +\x12\x30\x05\x1e\xe3\x0d\xa7\xcf\x35\xeb\x3a\x82\x57\x8e\x55\xf2\ +\x3f\xa7\x4e\x91\xdb\x2f\x89\x6f\x8f\x19\x8b\x74\x25\xf5\xb6\xcd\ +\x43\xa5\xfb\x79\xf8\xe1\x87\x79\xe6\x99\x67\xcc\x2c\x5f\x5e\x5f\ +\x62\x7e\x5f\x01\x80\x67\x12\x56\xa2\x76\xcc\xb4\x52\x52\x52\x78\ +\xf0\xc1\x07\x19\x35\x6a\x14\x7e\xbf\x9f\x0d\x1b\x36\xf0\xf7\xbf\ +\xff\x1d\xd7\x75\xf9\xfc\xc2\x85\x72\xe9\xd5\x57\x5b\x03\x13\x93\ +\x42\xd5\xb2\xd0\x36\x3a\x20\xf9\xea\x98\x6b\x1b\x52\xec\x98\x8c\ +\x0c\x05\x84\xeb\x68\x33\x61\xab\xe3\x3a\x02\xd0\x9a\x42\x84\xd6\ +\xd7\xdf\x4f\x37\x35\xf1\x58\x59\x19\x2e\xf0\xad\x61\x39\x8c\x8a\ +\x8f\x53\x51\x89\x94\x7c\xa3\xac\x8c\x2a\xdb\xf6\x9e\xaf\x42\x4b\ +\x7e\x9f\x5b\x38\xa2\xaf\xbd\x1d\x3c\x53\x27\x44\x92\x62\x63\x63\ +\x29\x28\x28\x60\xed\xda\xb5\x5c\x79\xe5\x95\x7c\x79\xd1\x42\xa6\ +\x8d\x19\x0b\x42\x18\xd2\xea\x31\xd9\x50\xed\x8e\x40\x3a\xb6\xf1\ +\x3b\x54\xdd\x9b\x52\x2f\x85\x83\x70\x0c\x07\xcf\xf0\x15\x4c\x6f\ +\x3f\xc4\x0c\x68\x73\x21\x85\xc3\xf3\xa7\x4f\xb3\xb9\xa9\x89\x69\ +\x89\x89\xdc\x3b\x30\x2d\xf0\x1e\xe1\x86\x86\x06\x56\xd6\xd6\x7a\ +\x1e\xde\x01\xd4\x0b\xaf\x2d\xf4\x41\xea\x8b\xaf\x87\xc7\x03\xbb\ +\x51\x2f\x8b\xf2\x9b\xc7\x1e\x93\x33\x73\x73\x2d\xd7\x71\xc2\x9c\ +\x33\x4f\x45\xdb\x61\x76\x5d\x84\xa9\x7f\x27\x20\xe9\xa1\xd2\x6e\ +\x07\xcc\x85\x10\xa6\x59\xf0\xea\x9b\x8e\xa2\x13\x0a\x28\x47\xb0\ +\xbf\xc9\xcf\x4f\x1b\x1a\x88\x01\xbe\x9b\x9a\x4a\xaa\xcf\x07\x52\ +\xb2\xba\xd1\xcf\x1b\xcd\x81\x7d\x1a\x3f\x44\xad\x3d\xe0\xd2\x47\ +\x29\x00\x80\x35\xd2\xee\xf6\xab\xc9\x8b\xac\x98\x73\x80\xd4\x93\ +\xf6\xa4\x94\x2c\xf6\xc5\x56\x00\x43\x86\xa5\xa7\xf3\xc7\xc7\x1e\ +\x23\xde\xe7\x43\x38\x41\xc9\x0d\xd1\x02\xda\x7b\xf7\x4c\x82\x08\ +\x30\xcc\x33\x01\xb6\x61\xeb\x4d\xaf\x3f\xcc\xa6\x0b\x5d\xd6\x11\ +\xad\x3a\x8e\x5e\x39\xdb\x76\x78\xba\xa5\x99\x8f\x80\xeb\xa3\xa3\ +\x59\x12\x1d\x8d\xed\xba\xbc\xe8\x38\x6c\x75\x5d\x7c\x51\x3e\xee\ +\x7f\xee\x59\x6e\xba\xf7\x9e\x1e\xf5\xe1\x05\x01\x80\xc9\xa8\xa3\ +\x7b\x61\xe3\xeb\x16\xfb\x8b\x2c\x8e\xee\xb5\xa8\x3d\x09\x2d\x1a\ +\xcc\xd1\xb1\x90\x3c\x10\x32\x86\x49\xae\x18\x0b\xa3\x26\x49\xf2\ +\xe7\x4a\x86\xe6\xb6\xdd\x78\xb3\x1f\x8e\x1f\x86\xe3\x47\x2c\xce\ +\x1c\x87\xda\x53\xea\x58\x8b\x3f\xf8\xac\xf1\x49\x92\x7e\x03\xa0\ +\x5f\x2a\x64\xe6\x48\x86\xe6\x41\x6a\x3a\xb4\x34\x35\xf1\xb9\xd1\ +\xb9\x9c\xae\x3c\xc6\xdd\x0b\x16\xb0\x7c\xfe\xb5\x8a\xd1\x86\xc7\ +\x2e\xdb\xf0\xf6\xa5\xc1\x4c\x05\x1a\x2d\xf1\xb6\x40\x18\x60\x09\ +\x61\xae\x6d\xb7\xe2\x10\x1a\x6d\x07\xc2\x3e\xc1\x5a\x24\x6f\xa0\ +\xb6\x01\x7b\x4c\xc7\xb3\xbf\xd3\x23\x39\x09\xfd\xfb\xf1\x85\x1f\ +\xfd\x95\x03\xdb\xae\xa5\xde\xd8\x7a\x32\xa1\x1f\x24\xf4\x87\xfe\ +\x03\x25\x03\x32\x21\x2d\x1b\xd2\x87\x48\xb2\x46\x40\xff\x01\x17\ +\x0f\x18\xd6\x1a\x69\xcb\x92\x42\xf8\xd5\xa3\x51\x14\x7f\xd0\xf5\ +\x6b\x65\xe4\x48\x3e\xf1\x59\xc9\x82\xcf\xb8\x9c\x3e\x66\xb1\xe7\ +\x43\xd8\xb7\xc9\xe2\xd0\x4e\x8b\x93\xe5\xdd\xbb\xf7\x01\x59\x92\ +\x31\x53\x25\x99\x39\x47\x78\xfd\x17\x05\xc4\x27\x55\xf0\xe7\xbb\ +\x96\x91\x12\x1b\x6b\x64\xe1\x4c\x06\x9b\xcc\x6c\x2d\xc6\x77\x42\ +\x13\x3b\x8e\x13\xe6\x00\x86\x32\x1d\x61\x23\xb4\x3f\x20\xf5\x3a\ +\x04\xde\x08\xe2\x31\x09\xff\xa1\x75\xfa\xbd\xa8\x2d\xb9\x5e\x41\ +\xad\xfd\x02\xd8\xbf\xda\xb5\x2d\x46\x38\xf9\x7c\x69\x4a\xe7\x93\ +\xac\xfd\x07\x4a\xae\x18\x03\xc3\xf3\x25\xa3\x26\x49\x46\x4f\x91\ +\x8c\x9a\x02\x09\x49\xe7\x1f\x0c\xd6\x1a\x69\xcb\xbf\xfe\xdc\xe2\ +\xb9\xfb\xa3\xf0\x45\x4b\xe6\xdc\x2c\xb9\xea\x7a\xc9\x88\x09\x92\ +\xb4\x6c\x85\x5c\x29\xc1\x6e\x86\x9a\x13\x70\xb2\xdc\xe2\xf0\x2e\ +\xd8\xb7\xd9\x62\xcb\x1a\x8b\xa6\xfa\x76\xee\xc9\x52\x0f\x96\x3e\ +\x44\x92\x99\x03\x89\xc9\xea\x13\x9f\x24\xb1\x9b\xc1\x17\x05\x76\ +\xb3\x45\xfd\x19\x38\xfd\x11\x1c\x3f\x6c\x71\xec\x00\x34\xd6\x85\ +\xb7\x59\xc4\xf4\x82\x06\xee\xfb\xe9\x1c\xb2\x7f\x74\x6f\x40\x2a\ +\x3d\xc6\x0a\xed\xc4\x85\xc6\xf3\x1e\x08\xec\xa0\x87\xef\x49\xb1\ +\xe9\x18\x0a\x53\xd5\x1b\x1a\xc5\x15\x7a\x56\x51\xf0\x2e\x6c\x29\ +\x79\x86\xc0\x36\x9c\x47\x74\x4a\xfb\x0a\x80\xf9\xb7\xfd\x33\x5f\ +\x7d\x7e\x05\x49\xc9\xc9\xb4\x34\xc3\xaa\x5f\x5a\xa4\x1a\x1b\xd0\ +\x37\x35\x82\xff\x2c\xd4\xd7\x58\x54\x7f\x04\xa7\x2a\xa1\xaa\xcc\ +\xa2\xaa\x8c\x56\xfb\x30\x2a\x46\x32\xf6\x2a\x98\xb2\x40\x72\xf5\ +\xcd\x2e\xb9\x57\x9d\x1f\x33\x12\x30\x01\xaf\xff\xc2\x62\xc1\x67\ +\x25\x49\xc9\xed\x57\x70\x5d\xd8\xf0\x17\x8b\xff\xf9\xb9\xc5\xf6\ +\x75\x96\x9e\x59\x03\x96\x4f\x32\x6a\x32\x4c\x9c\x27\xc9\x9b\x29\ +\x19\x7b\x95\x64\xf0\x48\xf0\xf9\xba\x6a\xff\x95\xd9\xd8\xfd\x0f\ +\x8b\x8d\xaf\x5b\x14\xae\x16\x34\x35\x04\x97\xd4\xc9\x1c\x2e\x99\ +\xb6\x48\x32\x65\xa1\x32\x41\xb1\xcb\x96\x86\xda\xff\x80\xc7\x2f\ +\x82\x26\xc3\xf0\xe4\xa5\x2d\x02\x4e\xdf\x39\x09\x21\xd7\x1b\x6d\ +\x92\xe7\x30\x1f\xe0\x45\x29\x29\x02\x92\x07\x65\xe2\xaf\x4f\xc2\ +\x6e\x4a\x27\x36\x61\x38\xd7\xdd\x7e\x0f\xe3\x66\xcd\x0b\x29\xdb\ +\x6f\x00\xa4\x66\x48\x52\x33\x20\x63\xa8\x12\xa4\x36\xb3\x99\xc7\ +\xa1\x6c\x8f\x45\xd9\x1e\x38\xb0\xcd\x62\xdf\x26\x8b\xa3\x25\xe0\ +\x8a\xe0\x0d\x64\x8d\x94\xdc\xb0\xcc\x65\xdc\xcc\x50\x90\xa4\x0c\ +\x82\xcc\x9c\xb6\xdb\xef\x08\x14\x56\x6b\x0e\x9b\x59\xc9\x3b\x27\ +\x25\xbc\xfb\x92\xc5\xca\xc7\x7d\x1c\x2d\x09\x32\xfd\x9a\x5b\xd4\ +\x67\xda\x62\xd9\xa6\x2d\xeb\x2c\x32\x5b\x73\x1c\x5b\x9a\xa0\xf0\ +\x0d\x8b\x0d\xaf\x59\x6c\x7e\xd3\xa2\xee\x54\x68\x53\x19\xc3\x24\ +\x63\xa6\x49\x72\xa7\x4b\x86\x8d\x83\x9c\xf1\x12\xf1\xc9\x29\xf8\ +\xdc\x66\x1d\xe6\x79\x92\x7e\x6e\x12\x48\x08\xa1\x10\x1d\x3e\x5f\ +\xcb\x18\x41\xb6\x89\x27\xb1\xf0\x2c\x2b\xbe\xf6\x12\xc5\xeb\x05\ +\x6a\x11\x93\x31\x74\x75\xf9\xbf\xd4\x0c\xc9\xb0\xf1\x92\xd1\x93\ +\x61\xf4\x54\x05\xde\xc1\x23\x5a\x2f\x7b\xec\x20\xfc\xe3\xaf\x16\ +\x1b\x57\x59\x1c\xd8\x6a\xd1\x50\xdb\x71\xf7\xf5\x4f\x93\x8c\xc8\ +\x87\xfc\xb9\x92\x49\xd7\x6a\xe1\x88\xef\x98\x07\x56\x67\x98\x22\ +\x25\x7c\x73\x89\x8f\xa2\x37\x7d\x01\xbb\xff\xe9\x87\x5c\x6e\x58\ +\x26\x49\x4a\x39\x7f\x76\x2a\x1c\x10\xae\x0b\xa5\x5b\xa0\xe8\x6d\ +\x8b\xe2\x0f\x2c\x4a\x36\xb6\xde\x39\x51\x31\x92\xf4\x21\x90\x3e\ +\x14\xd2\x87\x2a\x29\x4c\x19\x24\x49\x4e\x83\xf8\x24\x88\x89\x53\ +\x82\x1e\x1d\x03\x4d\x0d\xaa\x17\xfc\x67\xe1\x6c\x35\xf8\xeb\x2d\ +\x8e\x1f\x86\x53\x95\x16\xc7\x0e\x2a\x55\xed\x69\xb9\x50\x09\x6f\ +\x22\x6b\x44\x1c\xc9\x69\x92\x81\x83\x15\x60\x62\xd5\x5b\x6b\x08\ +\x07\x6a\x4f\x2a\x75\x5f\x73\x02\x2a\x4b\x41\xba\xe7\xb6\x91\x3d\ +\x5a\x32\xfd\x06\xc9\xd5\x9f\x92\x8c\x9b\x2d\x59\xf7\x47\x8b\x37\ +\x7f\xeb\xa3\xe4\x43\xab\x55\x3f\x21\x63\x98\x92\xf4\x98\x78\xd5\ +\x2d\x0d\x35\x16\x75\xd5\x50\xfd\x51\xa8\x63\x0d\x90\xd0\x5f\x32\ +\xff\x36\xc9\x4d\x5f\x72\x19\x3b\xad\x6d\xfe\x58\x9d\x65\xc2\xef\ +\xbf\xeb\xe3\xa5\xa7\x2c\xee\xfd\x0f\x97\x82\xe5\x92\xe8\x98\x0b\ +\x1b\xc2\xb4\xa6\x1d\xa4\x54\x91\xcb\xfe\xcd\x16\x07\x77\x58\x94\ +\xed\x86\x8a\xfd\xca\xae\xb6\xd6\xe1\xdd\xa1\xa8\x18\xe5\xc7\xf4\ +\x4b\x2d\xe5\x6c\xf5\xdf\xb8\xf5\x91\xf9\x5c\x77\x47\x3e\xf1\x5d\ +\xdc\x44\xbe\xaa\x0c\x8e\x14\x5b\x1c\xd8\x0e\xbb\x37\x58\xec\x7a\ +\xdf\xa2\xa9\xc1\x0a\xb9\x8e\xb0\xd5\x6f\x5f\xb4\x64\xe6\x8d\x0a\ +\x1c\x79\x33\x24\xc3\xf3\x21\xa6\x03\x85\x73\xea\x18\x94\x6e\xb1\ +\xd8\xf5\x81\x45\xe1\x6a\x8b\xa3\x7b\x82\x6d\x4f\x9c\x2f\xb9\xe7\ +\x27\x22\x00\x04\x93\x5f\x9d\x56\xcd\x42\x40\xdd\x29\x18\x90\x79\ +\xf1\x63\xd7\x8e\xf2\x0c\x2d\xcd\xca\x8f\x38\x59\x6e\x51\x7d\x5c\ +\x49\x63\xcd\x09\x8b\xb3\x67\x94\xc4\x3b\x2d\x0a\x3c\x8e\xad\x3a\ +\xd6\xf2\x41\x52\x8a\xd2\x0e\xc9\x03\x95\x44\x67\x0e\x57\x61\x69\ +\x66\x0e\x01\xb0\x2f\xb2\x62\x42\xc2\xe6\x9e\x98\x36\x21\x60\xdf\ +\x26\xd8\xf0\x17\x1f\x1b\x5e\xb3\xa8\x2c\xb5\x02\x8e\xf3\xdc\x4f\ +\x4b\xee\x7c\xdc\x25\x67\x7c\xe7\xb4\x6b\x6b\xed\x97\xef\x83\x37\ +\x9e\xf7\xf1\x97\x9f\x59\x38\x2d\x16\x63\xa7\x4b\x9e\x2b\x14\x58\ +\x56\x37\x01\xd0\x17\x92\x16\x3d\x05\x46\x4f\xe8\x7c\x9a\x36\x80\ +\xe2\x0d\xb0\xea\x97\x3e\xde\xf9\x83\x72\xac\x7d\xd1\x92\xa5\xf7\ +\x48\x96\x7d\xdf\x0d\x98\xd9\xee\x00\xae\xa1\x16\x7e\xf7\xef\x3e\ +\xae\xbf\xd3\x65\xf4\x94\x6e\x6a\x80\x08\x5d\x38\xd0\x9e\x28\x87\ +\x3f\xfe\xc0\xc7\xaa\x15\x0a\x08\x19\xc3\x24\x3f\x5e\x27\x18\x3c\ +\xb2\xeb\x20\x6c\x0d\x68\x5d\xf6\x01\x22\x74\x71\x80\x70\x60\x1b\ +\xfc\xe8\x73\x51\x0c\xc8\x94\xfc\xf0\x2d\x97\xa8\xa8\xf3\x94\x08\ +\x8a\x74\x7b\xdf\x05\x82\x63\x83\xbf\x3e\x98\x2a\x8e\x00\xe0\x32\ +\xd5\x06\x7d\xdd\xef\x8a\x50\x84\x22\x14\xa1\x08\x45\x28\x42\x11\ +\x8a\x50\x84\x22\x14\xa1\x8f\x0f\xa5\x02\xff\x84\x9a\xd1\x55\x8b\ +\x5e\xad\x24\x42\x97\x3e\x3d\x82\xda\x94\xa1\xb5\x3d\xff\xfe\xc4\ +\x05\x5c\xae\x3d\x42\x17\x47\xea\xf7\x68\x66\xb7\xa0\xb6\xa7\x79\ +\x40\x83\xc2\x03\x41\x71\xa4\x9b\x2e\x3d\xf2\x32\x69\x0f\x11\xdc\ +\x65\x34\x9c\x12\xf5\x39\x41\x64\xd7\xf2\x3e\x47\xa6\x9a\xee\xee\ +\xba\x06\xfd\x74\x7d\x17\x98\xdf\x46\x99\x62\x5d\x66\xce\xe5\xd0\ +\xa9\xbe\xcb\x0c\x44\xf5\xa8\x1d\x43\x2d\xd4\x8c\xee\xd6\x34\xc4\ +\x26\xfd\xf7\xf6\x88\xcc\xf5\x2e\x8d\x44\xed\x9b\xbb\x1e\xb5\x39\ +\x73\x0b\x6a\x17\xcd\x13\xfa\xd8\xb7\x51\xcb\xc7\x9f\x4f\x0d\x00\ +\x6a\x3d\x1e\xa9\xaf\x17\x4e\x73\xf4\xb9\x13\xe8\x65\x6c\x23\xd4\ +\x7b\x5e\xb7\x4d\xc7\xbb\x6e\xd7\x01\x37\x9d\x67\x00\xcc\xd7\x6d\ +\xd4\x02\x1f\xa0\xde\x45\xbc\x03\xf8\x23\x6a\x3b\x59\xef\x1a\xff\ +\xa5\xb5\x44\x6a\x84\x7d\x3d\xa3\x5b\x8c\x4e\x6d\x00\xbe\x81\x5a\ +\x1e\x25\x16\x48\x40\x2d\x8e\xf8\x82\x51\xa6\x11\xf5\x1e\xfd\xf9\ +\x02\x40\x34\xf0\x12\xe0\xd0\xb9\xad\xe0\x97\x44\x58\xd8\x33\x2a\ +\x32\x3a\xf3\xb3\xed\x94\xfb\xad\x51\xee\xf7\x1d\x00\xc0\x07\x8c\ +\xd5\x52\xeb\x99\x93\x32\xe0\x67\xc0\xa0\x0e\x22\x81\x38\xd4\xbb\ +\xfa\xe1\x79\x00\xa1\xff\xd6\xa3\x76\x18\xff\x12\x30\x2a\xcc\x3f\ +\xe8\x0a\xa5\x18\x6d\xef\xd7\xc7\xc6\xa0\x36\x8b\x3e\xae\x01\x78\ +\x1a\x78\x0d\xb5\x55\xdc\x25\x4b\xcd\x46\x47\xb4\x37\x99\x7a\x2c\ +\x6a\x7d\xfc\xf5\xc0\xff\x6b\x07\x00\xcd\xa8\x8d\x15\x6b\xdb\x90\ +\xd8\x12\xed\xed\xb7\x45\x4f\x87\x95\xb7\x81\xbd\xfa\xfb\x3f\x7a\ +\xf1\xb9\x63\x8d\x6b\x9c\x40\xad\x11\x70\xa6\x8d\x7b\x6e\x02\x16\ +\x5d\xca\x9e\xb7\xf7\xa0\x59\xbd\x10\x06\x56\x03\xbb\x50\x1b\x2a\ +\x5c\xa9\x3b\x7a\x1e\xea\xe5\x5c\xaf\xcc\x37\xdb\x69\x67\x2e\x6a\ +\xd1\x86\xc7\x81\x19\x86\x59\xf0\xcc\x4f\x6f\x46\x58\xa6\x59\xdb\ +\xa8\x93\x4e\xd3\xb5\x16\x1a\x06\xfc\xd2\x28\x53\xd5\x81\x80\x7c\ +\x6c\xe9\x5d\xe3\x21\x5f\xa0\xab\xef\x54\xb5\x6e\x02\x76\xeb\x4e\ +\x34\x69\x99\x71\xbe\xb0\x1b\xed\x7b\x26\x61\xc2\x79\xca\x5d\x1c\ +\x6a\x83\xc1\xef\x1b\x65\x96\x5f\x8a\x00\xf8\x84\x61\x5f\x25\x70\ +\x10\xf8\x37\x2d\x09\x51\xdd\xec\xcc\xbb\x5a\x39\x3f\xd4\x38\x5f\ +\xd3\x8d\xfb\xfc\x95\xae\xfb\x8d\xf3\x04\x80\xb6\xb6\x80\xfb\x57\ +\x42\xc7\x21\x2e\x49\xba\x59\xab\xb8\x70\xdb\x57\x03\xfc\x05\xf5\ +\xaa\x7d\x7a\x17\x3a\x73\x78\x1b\xde\xbd\xe9\xd0\x75\x95\x6e\x3c\ +\x0f\x7e\x80\x79\xcf\x6d\x6d\x05\x9b\x67\x94\xd9\x75\x29\x3b\x83\ +\x89\x5a\xc5\xfd\x2d\xcc\x2f\x30\x9d\xbb\x5f\x6a\xef\xb9\xa3\xce\ +\x8c\xe9\x44\x99\xae\x92\x97\x26\x76\xe8\xbd\x0c\xa9\x79\x3f\x69\ +\x6d\x94\xe9\x6f\x94\x39\x73\xb9\x84\x86\x31\x3a\xeb\xf6\x1d\x60\ +\x6b\x58\x47\x15\xa3\x36\x93\xe8\x0e\x73\x7b\x02\x00\x74\x04\x21\ +\xd1\x8b\x59\xf7\x32\x00\xda\x32\x77\x51\x61\x11\xc9\x65\x49\xd7\ +\xeb\x50\xc9\xeb\x88\xa7\x2e\x12\x00\xbc\x34\xf1\xf7\xcf\x03\x00\ +\xac\x76\x84\xc1\xd4\x82\x97\x2d\x2d\x09\xf3\x98\x2f\x06\x00\xbc\ +\x34\xf1\x8e\x4e\x96\xf7\x98\x1a\xdf\x86\x87\x6f\xde\x4f\x5b\xdb\ +\x87\x0c\x30\xca\x9c\xbe\xd4\x98\xfa\x3d\xe0\x4d\x9d\xf9\x1a\xda\ +\x41\xd9\x04\xa3\x23\x5a\x2e\x12\x00\x4c\x69\x8c\xef\x64\x9d\xef\ +\xea\xf2\x8f\x76\x70\x3f\x79\x6d\xd4\x9f\x64\x94\xd9\x7a\xa1\x19\ +\x74\xbe\x87\x83\xe7\x6a\xf5\x9e\x89\x1a\x13\x68\x8f\x4c\x27\xa9\ +\xfa\x22\x01\xd6\x06\xb6\x18\xf7\xde\x11\x0d\x43\xed\x7e\xe2\x69\ +\xb0\x8e\xb4\x4b\x6b\x34\xc3\xf8\x7e\xc9\x45\x01\xb7\x12\x9a\x0e\ +\xcd\x69\xa7\xec\x53\x46\xd9\x95\x17\x49\x03\x98\x12\xdd\xd1\xa6\ +\xcd\xb9\x5a\xc3\x79\xd7\xdb\xd6\xc1\xfd\xec\x6c\x25\x7a\xb1\x74\ +\xd2\xca\x2b\xf3\x99\x4b\x0d\x00\x16\xb0\xca\x78\xc0\xe3\xc0\x17\ +\x51\x3b\x86\x46\xeb\xd0\x6b\x16\xf0\x1b\x42\x47\x0c\xc7\x5e\x44\ +\x00\x5c\xa5\xeb\x97\x76\xc1\xc1\x1b\xd7\x41\x99\x66\xd4\x82\xd1\ +\xab\x80\x89\xa8\x6c\x68\x4e\xd8\x73\x1f\xa5\xfb\x59\xd2\x3e\x1f\ +\xff\xbf\x44\xe7\x86\x5e\x8f\x02\xd7\xf4\x80\xb9\x1d\x95\xe9\xec\ +\xa8\x5e\x0b\xc1\x8c\xe3\x6b\x46\x6e\x62\x11\xf0\xdf\x46\xc4\xb2\ +\x1e\xb5\xc7\x6f\x6c\x1b\x6d\x9b\x00\x28\x30\xda\x0d\xff\xd4\x77\ +\xd2\xe4\x7c\xac\x69\x2e\xb0\x42\xab\xc2\x1a\x54\xb6\xae\x09\x95\ +\x83\x7f\x5d\x27\x89\x12\x7b\x28\xdd\xed\x95\x49\xe8\xe4\x3d\xfe\ +\x42\xdf\x97\x1b\x17\xeb\x3b\xae\x00\x00\x00\xb7\x49\x44\x41\x54\ +\xd6\xde\x7d\xa8\xac\xa5\x19\xb3\x7f\xb1\x93\x5a\xc2\x5b\x2c\x7a\ +\x2a\x6a\x5b\xd8\x2a\x82\xc3\xc1\xaf\xa2\x06\xb5\x22\x74\x1e\xe9\ +\x1d\xcd\x88\xbb\x8d\x70\xac\x35\x89\x5d\xdd\x8a\x74\x86\x03\xe1\ +\x73\xe8\x95\xcc\x3b\xa1\x55\x7a\xc3\x24\x45\xa8\x17\xe8\xf7\x06\ +\x23\x3e\x44\x8d\x26\x3e\xa7\x1d\xb9\x1f\x69\x67\x6e\x5a\x1b\x0c\ +\x37\x25\xfe\xdd\x1e\x24\x82\x22\xd4\x07\xa2\x91\x43\xed\x48\xb6\ +\x68\xc7\x37\xf9\x54\x37\xaf\x1b\x01\x40\x1f\xa1\x68\xc3\xbf\x78\ +\x16\xb8\x4e\x4b\x74\x29\xf0\x8c\x8e\xc5\x0f\xa3\x26\x8a\x7c\x1f\ +\x35\x64\x2d\x51\x6f\x10\xfd\x82\xf6\xa7\x99\x45\x00\xf0\x31\x09\ +\x47\xc3\xed\x75\xb8\xc3\x69\x4e\x30\xb9\x82\xf6\xa7\x95\x45\x00\ +\x70\x89\x00\xe2\x7c\x53\x04\x00\x11\x8a\x50\x84\x22\x14\xa1\xbe\ +\x4a\xff\x0b\xae\x75\xe2\xe0\x08\xd2\x80\xca\x00\x00\x00\x00\x49\ +\x45\x4e\x44\xae\x42\x60\x82\ +\x00\x00\x33\xb3\ +\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\x00\x01\x73\x52\x47\x42\x00\xae\xce\x1c\xe9\x00\x00\x00\ +\x06\x62\x4b\x47\x44\x00\x83\x00\x0f\x00\x0f\x94\xe6\x2b\x91\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\xdc\x07\x08\ +\x0b\x32\x3b\x8e\x92\xd0\xbf\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\x20\x00\ +\x49\x44\x41\x54\x78\xda\xed\xbd\x69\x90\x5c\xd7\x75\xe7\xf9\xbb\ +\xef\xe5\xbe\x55\x66\xa1\x0a\x3b\x40\x62\x25\x48\x50\x04\x29\x73\ +\xa7\x68\x4a\x14\x48\x89\xa0\x48\x69\x5a\x9a\xf6\x8c\xa7\x3b\x62\ +\x42\xee\xfe\xd0\xd3\x52\xc8\x3d\x16\x29\xd9\xb2\x6c\xb7\x3b\x34\ +\x5f\xc6\x9e\x09\x77\xcb\xee\xb0\x67\x2c\x87\xda\xd3\xb2\xd4\xf2\ +\xd2\x32\x49\x91\x20\x41\x8a\xa2\x4d\x82\x20\x05\x52\x14\x00\x12\ +\x20\x00\x62\x29\x6c\xb5\x66\x66\x65\xe5\xfe\xde\xbd\xf3\xe1\x6d\ +\xf7\xbe\x2c\xd0\xa4\x80\x82\x04\xa8\x2e\xa2\xa2\x32\x13\xb9\xd5\ +\x3b\xe7\x9e\xf3\x3f\xff\xb3\x5c\x58\x5c\x8b\x6b\x71\x2d\xae\xc5\ +\xb5\xb8\x16\xd7\xe2\x5a\x5c\x8b\x6b\x71\x2d\xae\xc5\xb5\xb8\x16\ +\xd7\xe2\x5a\x5c\xbf\x10\x4b\x5c\xaa\x0f\xfa\xca\x57\xbe\xa2\x82\ +\xdb\x5f\xfb\xda\xd7\xc4\xe2\xa5\xff\x05\x51\x80\x89\x89\x89\x50\ +\xf0\x7f\xf4\x47\x7f\x74\xde\xe7\x2d\x2a\xc5\x15\xa8\x00\xba\xf0\ +\x83\xa5\x50\xa0\xa2\x7b\xff\xf1\x3f\xfe\xa7\x45\x85\xb8\xd2\x15\ +\xa0\x5a\xad\x52\xa9\x54\x3c\xf1\x2b\x4f\x09\x44\xa8\x07\xde\x63\ +\xf8\x8f\xff\xf1\x1f\xff\xf1\xa2\x32\x5c\x69\x0a\xf0\xc8\x23\x8f\ +\x20\x84\x60\xf3\xe6\xcd\x6c\xd9\xb2\x85\xd1\x91\x11\x4a\x43\x43\ +\x2c\x19\x1e\xc6\x4e\x24\x50\x4a\x19\x16\x42\x28\x50\x0a\xfe\xe4\ +\x3f\xff\xc9\xbb\xbe\xff\xa2\x62\x5c\x46\x0a\x10\x5f\x85\x42\x81\ +\xf2\xd0\x10\xc5\xd2\x10\x1b\x36\xac\xe7\xba\xeb\xae\xa3\x5c\xa9\ +\x78\x92\x8f\xb9\x0a\xe5\x9b\x88\x40\x4f\xfe\xf4\x4f\xff\x74\x51\ +\x19\x2e\x17\x05\x50\x4a\xf1\xe8\xa3\x8f\x0e\xfc\x9f\x52\x4a\xfb\ +\xf1\x04\x6e\x5b\x16\x9b\xaf\xb9\x86\xdb\x6e\xbd\x95\x8d\x1b\x37\ +\x92\x48\x24\xbc\x2f\x29\x7c\x5d\x50\xfa\x6f\x89\x40\xf0\x67\x7f\ +\xf6\x67\x8b\xd6\xe1\xe7\x56\x01\xc6\xc7\x95\x02\x43\x01\x14\x80\ +\x54\x84\xff\x94\xf2\xef\xfb\x3b\x5d\x05\x8f\x43\xa5\x52\x61\xcb\ +\x96\x2d\xac\x5d\xbb\x96\x72\xb9\xcc\xe8\xc8\x28\xa5\xa1\x92\x66\ +\x15\x08\x35\x42\xfa\xbf\xff\xfc\xcf\xff\x7c\xd1\x65\xfc\xbc\x28\ +\xc0\xf8\xf8\xb8\x42\x57\x80\x60\xc7\x1b\xc2\x06\xa5\xa4\xaf\x18\ +\xd1\x6d\xdd\x3a\x80\x22\x91\xb0\x19\x2a\x0d\x91\x2b\x14\x58\xb9\ +\x62\x39\xd7\x5f\x7f\x03\xd7\x5e\xbb\x25\x54\x04\x03\x47\x84\x6e\ +\x04\x84\x52\x7c\xe3\x2f\xfe\x62\x51\x21\x7e\x16\x0a\x70\x6e\x7c\ +\x5c\x09\x14\x8f\x3e\xfa\x25\xbc\x8d\xaf\x10\x81\x70\x65\x64\x01\ +\x3c\x7f\xef\x09\x5b\xca\x48\xa0\x0a\x89\xf0\x0c\x04\x4a\x49\x0f\ +\x07\x48\x85\x24\x8a\x1a\x86\x2b\x15\x6e\xb9\xe5\x16\x6e\xb9\xf9\ +\x66\x86\xca\x15\x84\x05\x96\xb0\x3c\xb7\xa1\xe2\x58\xc2\x7b\xe1\ +\x37\xbf\xf9\xcd\x45\x65\xb8\x24\x0a\x70\x6e\x5c\x81\xe2\x4b\x5f\ +\xfa\x52\xb8\xa3\x01\xa4\x94\xde\x27\x4b\x90\x4a\x6a\x96\x40\x19\ +\x3b\x3a\xc4\x07\xbe\xf0\xa5\x8a\xac\x08\x10\x29\x91\x66\x5d\x36\ +\x6d\xda\xc4\xa6\x4d\x9b\x19\x1d\x1d\x61\x74\x64\x94\xe5\x2b\x96\ +\x91\x48\x24\xfd\xd7\x78\x1f\xaa\x10\xe1\x67\xfe\xe5\x7f\xf9\x2f\ +\xbf\xd0\x91\xc6\x02\x2b\xc0\x39\x45\x60\x01\x94\x27\xec\x50\x58\ +\xa8\x08\x0b\x84\x40\x10\x94\x94\x86\x02\x04\x3b\x3d\x50\x9a\xc0\ +\x7a\x98\xcf\xf1\x84\xe9\x29\x93\xbf\xdb\xa5\x24\x97\xcf\x53\x2c\ +\x16\x29\x16\x8b\x5c\x7b\xed\xb5\x7c\xf0\x83\x1f\x64\xc9\xf0\x70\ +\x68\x09\xa2\x78\x43\x98\x8a\xa5\xe0\x5b\xdf\xfa\xaf\xbf\x10\xca\ +\xb0\xc0\x0a\x70\x56\x29\x05\x5f\xfa\xd2\xa3\xfe\x4e\x8e\x04\x26\ +\x75\x4c\x60\x08\xd1\x73\x13\x52\xca\xc8\x62\x44\x4c\x11\x4a\x4a\ +\xdf\xac\x0b\x24\xbe\xc0\x75\xe5\xf2\xff\x5f\xf9\xd6\x42\x2a\x35\ +\xa0\x50\xd7\x6d\xbd\x8e\x3b\xef\xba\x93\x6b\xb7\x5c\x8b\x10\x02\ +\xdb\xb6\xb1\x2c\x2b\xc2\x29\x9e\xa3\x0a\x5f\xf7\x57\x7f\xf5\x57\ +\x57\xac\x75\x58\xd0\x3f\xe0\xec\xb9\x73\x0a\x3f\x0c\xd4\x01\x9d\ +\xe7\xe7\x55\xb8\x53\xa5\x0f\xd6\xa4\x06\x12\x03\xeb\x60\xb8\x03\ +\x1f\x03\xe8\xbc\x80\x0a\x84\x1c\x0a\x5a\x12\xde\x55\xd2\x50\xb4\ +\xc0\x9a\xe8\xa1\x67\xa5\x52\x66\xcb\x35\x5e\xa4\x51\xa9\x54\x58\ +\xbd\x7a\x15\xc3\x95\x25\x9a\x75\x08\xc1\x43\x08\x2c\xbf\xf3\xed\ +\x6f\x5f\x31\x2e\x63\x61\x15\xe0\xec\x59\xa5\x50\x3c\xfa\xc8\xa3\ +\xbe\x79\x57\x3e\xd3\xa7\xfc\x1d\x2b\x40\x2a\xcf\x2b\x87\x0a\xe0\ +\x0b\x4c\x28\x94\x1b\x89\x41\x86\xae\xc1\x17\xac\x81\xfe\x7d\x00\ +\xa9\x47\x16\xc1\xf3\x09\x5c\x86\x02\x09\x2e\xa1\xaf\x31\x22\x12\ +\xa5\x14\x89\x44\x82\x7c\x3e\x4f\x2e\x97\x63\xd5\xaa\xd5\xdc\x7c\ +\xcb\xcd\xdc\x78\xc3\x0d\x9a\xdb\xc2\x20\xa4\xbc\xef\xe9\xbd\xfe\ +\xaf\xbf\xfb\xd7\x97\xa5\x42\x2c\xac\x02\x9c\xf1\x14\xe0\x91\x47\ +\x1f\x9d\xc7\xdc\x2b\xd3\x2d\xa0\xed\x66\x5f\x58\x52\xc9\xf0\x42\ +\x87\x02\x97\x72\x20\x8c\x0c\xac\x8a\x09\x20\xa5\xef\x1a\x74\x90\ +\x48\xf8\x78\x64\x09\x54\x18\x29\x44\xdf\x45\x19\xd1\x48\xb9\x52\ +\xe6\xf6\xdb\x6e\xe7\xb6\xdb\x6e\x63\x78\xc9\x30\xb6\x65\x93\x48\ +\x26\xfd\x8b\xe7\xb9\x23\xdd\x5a\xa1\xe0\x6f\xfe\xf6\x6f\x2e\x0b\ +\x2b\xb1\xa0\x5f\xe4\xcc\x99\x33\x1e\x15\xfc\xc5\x47\x22\xbf\x8c\ +\x0a\x85\x18\x46\x04\x86\xe9\x8e\x61\x04\x9d\x38\xd2\xd9\xc3\x79\ +\x1e\xf7\xf4\x46\x13\xb0\x9c\x47\xb1\x42\x41\xfb\x06\x5e\xca\xc8\ +\x35\x05\x9f\x1d\x7c\x4f\xfd\x79\xda\x67\x6f\xda\xb4\x89\x0d\x1b\ +\x36\xb2\x74\xe9\x08\xab\x56\xad\x62\xcd\x9a\xb5\x24\x53\xc9\x90\ +\x94\x52\x5a\xb6\x33\x78\xef\x9d\x3b\x9f\xa6\xd5\x6a\xfd\xdc\x29\ +\xc4\xc2\x2a\xc0\xe9\x33\x9e\x05\x78\xe4\x11\x03\x03\x04\x02\x11\ +\x41\x68\xa7\x85\x73\xa1\x72\xc4\x76\xa7\x54\x9a\xe9\x8e\x5b\x8f\ +\xf8\x8e\xd6\x76\xbb\x10\x11\xb7\x10\xba\x88\xf3\xbc\x0e\x4d\xe0\ +\xf3\x83\x55\x8f\x82\x0e\x95\x08\xc8\x64\x32\xe4\xb3\x39\x8a\xa5\ +\x02\x37\x6c\xdb\xc6\xed\xb7\xdf\xce\xb2\xa5\xcb\x0c\x45\x08\xfe\ +\x6e\xd3\x7d\xc0\xf7\xfe\xfe\x7b\x3f\x73\x65\x58\xd0\x0f\x3b\x7d\ +\xfa\x74\x98\x0c\x32\x81\x9c\xe6\xbb\x35\x7f\xed\x59\x83\x40\xe0\ +\x81\xb0\x23\xc1\x85\x8a\x40\x84\x1f\x54\xa0\x10\x52\xe0\xa1\x09\ +\xcd\x3d\x18\x6c\xa3\xae\x18\x2a\xda\xe1\x3a\x09\x15\x7e\x8e\x6e\ +\x81\x22\x0c\xa1\x24\x9a\xe2\xea\x60\x54\x78\x8a\x2b\x08\xbf\xe7\ +\x75\x5b\xaf\xe3\xee\xbb\xef\x66\xf3\x35\x9b\x49\xa7\xd2\xa4\x53\ +\x69\xec\x84\x1d\xf0\x93\xc6\x6b\x41\xf1\xd8\x63\x8f\xfd\x4c\xac\ +\xc3\x82\x2b\x80\x42\xf1\xc8\x17\xbf\x88\x54\xf8\xac\x9e\xd4\x78\ +\x7c\xef\x42\x2b\xe9\x33\x7e\xe8\xa6\x5c\x13\x22\xd1\xee\x33\x94\ +\x47\x46\xe6\x59\x62\xfa\x77\x5c\x85\x14\xa6\xc9\xc7\x67\x17\x95\ +\x14\x28\xe1\x63\x84\x18\xef\x10\x85\x92\x1a\xf6\x08\xb8\x08\x5d\ +\xb1\x60\x1e\x97\xa4\xd3\xd8\x91\xb5\x2b\x57\xca\x6c\xda\xb4\x89\ +\x35\xab\xd6\xb0\x6c\xf9\x32\xd6\xaf\x5b\xcf\xe8\xb2\xd1\x30\x84\ +\x05\x15\x71\x1c\xca\x23\xab\x9e\x78\xe2\xfb\xac\x5f\xbf\x1e\x80\ +\x5f\xfb\xb5\x5f\x5b\x30\x39\x25\x16\x52\x01\x0c\x13\xa8\x74\xdf\ +\x18\x99\x50\x34\x81\x2b\x23\xc9\x63\x12\x33\x52\x49\x4f\x5b\x23\ +\x4f\xa0\xf9\x69\xfd\x35\xfe\x35\x15\x26\xb0\x8b\x38\x05\x3f\xe9\ +\x20\x31\x05\x49\xa4\x54\xcc\x03\x32\x55\xe8\x82\x88\x59\x15\x22\ +\x65\xf1\x77\x94\x77\x5f\x86\x11\xc2\xcc\xf4\x0c\x7b\xa6\xf7\xb0\ +\x5b\xed\xc6\xb6\x6c\xb2\xd9\x2c\xa9\x54\x9a\xf5\xeb\xaf\xe6\x8e\ +\x3b\xee\xe4\xd6\x5b\x6f\x45\xf7\x0d\x4a\xc1\x8e\x1d\x0f\x72\xf0\ +\xe0\x5b\x0b\xee\x02\x12\x0b\xfb\xf6\x2a\x56\xec\x21\x43\x65\x60\ +\x1e\x3f\x1f\x98\x70\x1d\xac\x45\xbe\x9b\x88\xed\x33\x84\x32\x18\ +\xff\xcf\xb7\x43\x75\x40\x06\xf1\xa4\x53\xa4\x58\x71\x85\x10\xa1\ +\xdb\xf1\x14\xc7\x54\xe2\x40\x13\x85\xa9\x30\xe1\xef\xc8\x8d\x08\ +\xff\x33\x1c\xd7\x61\x76\xb6\x01\xcc\x32\x39\x39\xc1\x9e\x3d\xaf\ +\x20\xa5\xa2\x52\x19\xe2\xce\x3b\xee\xe2\xd6\xdb\x6e\x61\xd3\xe6\ +\xcd\x06\xf7\xb0\x90\xcb\x5a\x58\xf1\x47\x48\x5f\x8f\xb9\xa5\x1f\ +\xa6\x19\x61\x57\x40\xe3\x2a\x35\x40\x02\x89\xd0\xe4\xeb\xcc\x60\ +\x20\x92\x40\x91\x84\x49\xda\xa8\xe8\x3d\x82\x9d\xef\xc3\x07\x2d\ +\x94\xd4\x00\x9a\xae\x28\x7e\x18\x8a\x12\x04\x14\x82\x0a\x3f\x43\ +\x85\x61\x66\xf8\x37\x61\x62\x0d\x8c\x5c\x05\x91\x4b\x0b\xc1\x0d\ +\x06\x90\x05\xc5\xcc\x4c\x8d\xc7\x1f\x7f\x8c\xaf\xfe\xf6\xef\x18\ +\x4a\x7c\x59\x5b\x00\x81\xbe\xab\xb4\x5a\x50\x08\x2f\x66\x70\x4d\ +\x44\x28\x24\x13\x9d\x87\xb2\x90\x0a\xe1\xef\x34\xa1\x81\x34\xcf\ +\xf4\xaa\x50\xca\xe1\x7b\x06\x5c\x02\x21\x2d\x18\x81\x4e\x8d\x40\ +\x32\x76\xbc\x6e\x3d\x84\xaf\x70\x03\x82\x55\x98\x46\x4c\x05\x54\ +\x00\xb8\x1e\x81\x15\xf1\x15\x22\x8c\x1a\x74\xc5\x55\x21\x0e\x8a\ +\x29\x15\x51\xb4\x70\xa9\xd6\x02\x63\x00\x7d\x37\x06\xec\x5b\xb4\ +\xe3\x42\xc0\x86\x44\xfa\xe0\x27\xbc\x98\xc6\x4e\xd1\x6e\xc7\xdf\ +\x5f\x31\x20\xc4\x90\x0b\x10\x0a\x21\x7d\x2b\x21\x23\xc1\xc7\x77\ +\xac\x91\x96\xc6\xc4\x2b\x2a\xe6\x12\xa4\x52\x08\x1f\xb9\x87\x40\ +\x4f\x44\x2c\xa7\x1e\x22\x12\x77\x2f\x3a\x8c\x08\x4d\xa4\x0c\x0b\ +\x62\x44\xc0\x41\x28\x2e\x99\x12\x24\x16\x18\x02\x98\x04\x90\xd2\ +\x2e\x38\x26\xd9\x12\x84\x7c\x7a\x22\x27\xac\x20\x46\x0d\x24\x78\ +\x84\xf1\xfe\x6a\x70\x97\xc5\x14\xc7\xf3\xdf\x42\xab\x39\x8c\x95\ +\xa8\x8b\xc0\x9f\x04\x56\x43\x7f\x0f\x15\x2a\x10\x3a\x26\x88\x29\ +\xd1\x20\xee\xc0\xf8\x2e\x4a\xc5\x68\x64\x2d\x2b\x69\xb8\x8e\x4b\ +\x27\xff\x05\xb6\x00\x11\xb6\x8e\xfd\xf1\x68\x66\x59\xbb\x90\x86\ +\x29\xd4\x12\xb6\x5a\xa1\x08\xa1\x12\x78\x48\x5f\x49\x2f\x4f\xe0\ +\xba\x2e\x42\x08\x84\x10\x21\x4b\x18\xc6\xd9\x7e\x86\x4f\x0f\xcf\ +\x50\x71\xf3\x1e\xb0\x81\x91\x62\x45\xff\xaf\xb3\x7a\x41\x3d\x01\ +\x28\x61\x82\x42\xf4\x74\x74\x50\xfc\x82\x96\xea\x26\x5e\xb5\xa4\ +\xb9\x9d\x20\x1b\x2a\xd5\xa5\xf4\x00\x0b\x6d\x01\xfc\x22\x8c\xf0\ +\x6f\x32\x59\x3e\xdd\x4d\xa8\x70\x97\xf9\x3e\x20\x16\x4b\x47\xbc\ +\x81\x76\x11\xa5\xc2\x71\x1c\x4e\x9f\x3e\x4d\xaf\xd7\xa3\x50\x2c\ +\x50\x2c\x16\xc9\xa4\x32\x9a\x27\x95\xda\x4e\xd7\xd8\x47\x4c\xe1\ +\x07\x98\x61\xbe\xd0\x52\xd7\x5c\xa9\xa2\x0a\x55\x25\x45\x10\x8f\ +\x1a\x0a\x1e\x52\xd0\x21\xfa\xd4\x2c\x62\x2c\xbc\x8d\x97\xaf\x09\ +\x2f\xe7\x7d\x85\x28\x40\x58\x79\x23\x8d\xf8\x5d\x05\xc4\x87\xd4\ +\xdd\x02\x06\x28\x1b\xdc\x85\x4a\xbb\x88\x91\xf9\x76\x1c\x97\x76\ +\xbb\x4d\x3e\x9f\xa7\x90\x2f\xd0\x6e\xb6\x98\x9e\x9a\x66\xa8\x5c\ +\x26\x93\x4e\x23\x84\xd0\x14\x2b\x20\x8c\x62\x35\x02\x7a\xd4\xa0\ +\xa7\xad\x95\x1e\x92\x6a\x69\xeb\x90\x2f\x50\xf3\xd2\xd6\x3a\xc8\ +\xd4\x43\x57\xdd\xba\xa1\x25\xc5\xfc\x27\x79\xc4\x95\x71\x25\x2e\ +\x73\x05\x90\x28\x84\x30\x3b\x7f\x42\x21\xea\xa1\xde\x7c\xbb\xc3\ +\x08\x1d\x34\xb0\x67\x30\x7e\x60\x59\x02\xa7\xdf\xa7\x50\x28\xb0\ +\x76\xed\x5a\x6e\xbf\xfd\x76\x5e\x7b\xed\x35\xf6\xef\xdf\x4f\xad\ +\x5a\xa5\x54\x2c\x92\x4a\xa7\xb1\x6c\x2b\xe6\x1a\x34\x07\xa5\x21\ +\x33\xfd\x3b\x0a\xad\x93\xc9\x27\x70\x35\xdf\x1e\x84\x82\x66\xf8\ +\x69\x58\x82\x38\xa0\xd7\x9c\xbb\xd4\xb8\x02\xa5\x7c\x9a\x54\xaf\ +\x8c\xba\x12\x30\x80\x98\x27\x87\xae\xe6\x61\x04\x03\xc4\xaf\x5f\ +\xa3\x90\xf0\xf1\xeb\x02\x54\x9c\x29\x04\x1c\xa7\x4f\xaf\xdf\xa3\ +\xef\x38\x64\x32\x19\x3a\x9d\x0e\xf5\x7a\x9d\xcf\x7e\xf6\xb3\x1c\ +\x3e\x7c\x84\x3d\x7b\x5e\x64\xff\xfe\x7d\x54\xab\x55\x72\xb9\x2c\ +\x99\x4c\xd6\x8c\x25\x34\x6b\x22\xa5\x57\x9b\x88\xb0\xb4\x30\x8d\ +\x30\x47\xa0\xd1\xfc\x5a\x6d\x22\xa6\x75\xd3\xd1\x4b\x9c\xc4\x12\ +\xca\x00\xa6\xa6\x7b\x51\x03\x24\xd6\x95\x11\x06\x1a\xd8\x28\x32\ +\xb1\x91\xff\x95\x1a\x3f\x10\xe4\xf0\x3d\xe0\x26\x88\x6a\xfc\x4c\ +\x76\x2d\xf2\xd1\xb5\x5a\x9d\xe9\x89\x71\xca\x89\x04\x73\xb3\xb3\ +\xdc\x7f\xff\xfd\x3c\xfb\xec\xb3\xac\x59\xb3\x86\x35\x6b\xd6\xd2\ +\x6c\xae\xa2\x5c\xfe\x00\x87\x0f\xbf\xc4\xdb\x6f\xef\x67\x62\x62\ +\x92\xf2\x50\x99\x4c\x36\x03\x08\x7a\xbd\x2e\xdd\x6e\x17\x29\x25\ +\x96\xb0\xb0\x13\x36\xb6\x65\x21\x2c\x2b\x2c\x11\x33\x12\x47\x9a\ +\x2b\x09\xb5\x27\x06\xf4\x88\xb1\x8f\x01\x03\x8a\x14\x46\xe8\x1b\ +\x67\x28\x95\xf4\xc2\x49\x62\x40\xf8\x32\xc7\x00\x18\xa1\x9d\x6e\ +\x0d\x74\x96\x4c\x11\x27\x58\xcc\x74\xad\x4e\xf0\x85\x17\x58\x2a\ +\x5a\xcd\x39\xb6\xe4\x72\x2c\x29\x14\x38\x91\x4c\xb2\x6e\xdd\x3a\ +\x96\x2d\x5b\xc6\xab\xaf\xbe\xca\xc7\x3e\x36\xca\xc4\xc4\x0a\xa6\ +\xa7\x37\x70\xc3\x0d\x37\x73\xd3\x4d\x6f\x70\xf4\xe8\x6e\x0e\x1e\ +\x3c\xc4\xc4\xc4\x44\x28\xdc\x35\x6b\xd6\x90\xcb\xe5\x68\xb7\xdb\ +\xd4\x6a\x35\x9a\xad\x16\x8e\xe3\x60\x09\x41\x3a\x93\x21\x9d\x4e\ +\x47\x2e\x48\x98\x25\xe6\x5e\x34\x20\x31\xcd\x89\xc9\x33\x20\x95\ +\x96\x58\xd2\x58\x47\x62\x2e\x40\x4f\x26\x5d\x31\x61\x60\x1c\x60\ +\xf9\xd9\x92\x50\xf8\xba\xd9\xd4\x5d\x41\x2c\x66\xd6\xb9\x03\x9d\ +\xa0\x71\x7a\x3d\x86\x33\x19\xda\xdd\x0e\xeb\xaf\xbb\x96\x4c\x26\ +\xc3\x86\x0d\x1b\xd9\xbb\xf7\x47\xcc\xce\xd6\x18\x1d\x55\x9c\x3e\ +\xed\xf2\xfc\xf3\x2b\x71\x9c\xd5\x8c\x8c\x6c\x63\xc3\x86\x27\x38\ +\x73\xe6\xff\xe3\xc6\x1b\x6f\xe4\x23\xf7\xde\xcb\x9a\xd5\xab\xb1\ +\x2d\x8b\x6c\x2e\x87\x10\x82\x5a\xad\xc6\xb1\x63\xc7\xd8\xb7\x6f\ +\x1f\x07\x0e\x1c\x60\x62\x62\x82\x6c\x26\x4b\x36\x97\xc5\x12\x96\ +\xef\xbb\xcf\x23\x44\xdd\xaf\x87\x14\xb0\xaf\x3b\xc2\xac\x84\x32\ +\x58\x21\x14\x52\xf3\x0a\xe2\x4a\xb2\x00\x51\xca\x57\xdb\xfd\x68\ +\xa4\x8d\x32\xc1\x8f\x54\x5e\x6a\x58\x4f\xbe\x98\xc4\x4a\x14\xfb\ +\xf7\xfb\x7d\xd2\x89\x04\xa7\x7b\x5d\x36\xae\x58\x89\xe3\xb8\x54\ +\xca\x65\x6a\xb5\x1a\xf5\x7a\x8d\x4a\xa5\xc7\x3d\xf7\x9c\xe5\x86\ +\x1b\x12\x9c\x1a\x2b\x33\x76\x6a\x14\xd7\x5d\xc1\xfa\xf5\xeb\xf9\ +\xd5\x5f\xfd\x55\x36\x6e\xda\x48\x2a\x99\x22\x61\xdb\x7e\x0c\x2e\ +\x59\xbe\x7c\x19\x1b\x37\x6e\xe2\xce\x3b\xef\x64\x6c\x6c\x8c\xbd\ +\x7b\xf7\xf2\xea\x2b\xaf\x30\x76\xea\x14\xb6\x6d\x93\x4e\xa7\x49\ +\x26\x92\x61\xfd\x62\x50\xe3\x68\xec\x7a\x35\x98\xa8\x42\x0d\x66\ +\x38\xf5\xdb\x66\x2e\x02\xd4\x15\xc1\x04\x6a\x35\xf7\x06\xeb\x17\ +\x24\x76\x84\x0a\x13\x3a\x42\xdb\x11\x2a\x88\xb7\xa5\x4f\x0b\xeb\ +\x96\xc0\x7f\xcc\x75\xfb\x88\x7e\x9f\x14\xd0\x76\x5d\xb2\x3e\x08\ +\x14\x96\xa0\xd7\xeb\x31\x3b\x3b\x8b\x65\x59\x9e\x7f\xb7\x9a\xac\ +\x5c\x55\xa3\x5c\x39\xcb\x9e\x3d\x6f\x30\x3c\x3c\xcc\xf2\xe5\xcb\ +\x41\x41\xaf\xd7\xa3\x0f\x5e\x07\xaa\xff\xcb\xb2\x2c\x86\x86\x86\ +\xbc\x8a\xe1\x2d\x5b\xf8\xf0\x3d\xf7\xf0\x57\xdf\xfe\x36\x2f\xbf\ +\xfc\x32\xad\x56\x0b\xcb\xb6\xc8\xe7\xf2\x08\xe1\xd5\x27\xc8\x58\ +\xd8\x67\xe4\x14\x34\x4e\x40\x12\xa3\x97\x55\x54\x07\x10\xba\xbb\ +\x20\x6b\x25\xae\x14\x0b\xa0\x5d\x14\x9d\xc0\x19\x60\xc1\x94\x96\ +\x2e\x0e\xf2\x06\x98\xc5\x21\x01\xfb\x86\x02\xd7\x95\xe0\xba\xb4\ +\xfa\x7d\xda\x40\xbb\xdd\xa6\xdb\xed\xd0\xef\xf7\x11\x42\xd0\x9c\ +\x9b\x23\x9d\x4e\x33\x37\x37\x87\xeb\x7a\x5c\xc1\xf4\xf4\x24\xb5\ +\xda\x21\x6e\xbc\xf1\x83\x24\x12\x09\xfa\xfd\xbe\x2f\xf4\xe8\x6a\ +\xeb\xb7\x11\x20\x10\xac\x58\xb1\x82\xad\x5b\xb7\xd2\x68\x34\xd8\ +\xb4\x69\x13\x8f\x3f\xfe\x04\xcd\x66\x93\x5c\x36\x17\x81\x42\x9d\ +\xd8\x0c\xef\x08\x2f\x39\x14\xfb\x3b\x0d\xc6\x50\x46\x40\x31\x60\ +\xa3\x75\xa5\xbf\xcc\x31\x00\x66\x2d\x7f\xe0\x03\x07\x2e\x8a\x0a\ +\xf3\x22\xa1\x3d\x18\x00\x81\x91\xf3\x97\xd2\x2b\x2c\x6d\x01\xaf\ +\x4a\x89\x2c\x97\xd9\xb7\x7f\x3f\xc5\x52\x91\x66\xb3\x85\x6d\xdb\ +\xbc\xfe\xc6\x1b\x64\x33\x19\x94\x52\xcc\xce\xce\x32\x37\x37\x47\ +\xb9\x5c\x66\xcd\x9a\xab\xd8\xb8\x71\x23\x52\xca\xb0\x1a\xc8\x93\ +\xb9\x08\x7f\xc7\x95\xc1\x71\x1d\x26\xa7\xa6\x58\xb1\x62\x05\x9f\ +\xf9\xcc\x67\xa8\x54\x2a\x7c\xe3\x1b\xdf\xa0\xd7\xef\x91\xb0\x13\ +\xe7\x69\x6b\x8b\x32\x50\x46\xd5\x11\x3a\x45\x1c\x77\x09\x11\x70\ +\x50\xe2\x8a\x50\x00\x83\xfc\x37\xf9\x80\x20\xec\xd1\xfe\x70\x23\ +\x0a\x40\x63\xe1\x90\x06\x6b\xa6\x94\xa2\xdd\x69\x93\xce\xe5\xb8\ +\xe1\xb6\xdb\xb8\xe9\xa6\x9b\x78\xfa\xe9\xa7\x79\xf1\xc5\xdd\x28\ +\x25\xa9\xd7\xeb\x64\xb3\x59\x72\xd9\x1c\x99\x4c\x8a\x15\xcb\x57\ +\xb0\x61\xc3\x7a\xf2\x85\x02\x99\x4c\x86\xe1\xe1\x61\x7a\xbd\x9e\ +\x2f\x60\xe5\xff\x16\x9a\x12\x78\x5a\x11\xdc\x6c\x36\x9b\x9c\x3c\ +\x79\x92\x0f\x5c\x7f\x3d\xae\xeb\x72\xd7\x5d\x77\xf1\xd6\x5b\x6f\ +\xf1\xc3\x1f\xbe\xc0\x50\xa9\x14\xe6\xbd\x3d\x3c\x20\x62\x7f\xa7\ +\x34\x6d\xa1\xf2\xf6\x7a\x84\x11\x04\x4a\xb9\x26\xfb\x28\x2e\x1d\ +\x13\x74\x89\xc2\x40\x06\x32\x80\x41\x01\x80\x96\x06\xd2\x76\x84\ +\xde\xab\x27\x0c\x72\x44\x2a\xcf\xff\xcf\xcc\x54\xb9\x71\xdb\x36\ +\x76\xec\xd8\x41\xb1\x58\x44\x4a\xc9\x4f\x7e\xb2\x8f\x72\xb9\xcc\ +\x87\x3f\xfc\x61\xca\xe5\x32\xb6\x9d\x60\x78\xb8\x42\x36\x9b\xc5\ +\x95\x12\xdb\xb2\xb0\x6d\x3b\x04\x90\x5e\x07\xb1\xc0\xb2\xe6\x77\ +\x01\xc1\xed\x53\xa7\xc6\x98\xad\xd7\x59\xb5\x6a\x15\xfd\x5e\x0f\ +\x84\xe0\x9e\x7b\xee\xe1\xd5\x57\x5f\xa5\xd7\xef\x91\x4a\x26\xc3\ +\x1c\x86\x42\x6a\x09\x1d\x85\x0a\xdb\x94\x55\xa4\xec\x01\x35\x4c\ +\x50\x05\x15\xd5\x46\xc4\x01\xe4\x65\xef\x02\x84\x50\x46\x2c\xac\ +\x57\x06\x07\x3b\xc5\xb2\x2c\x5c\xd7\x8d\x40\xa0\x90\x06\x2a\x36\ +\x62\x65\x14\x7d\xc7\xa5\xdf\xef\xb3\x79\xf3\x66\xf2\xf9\x3c\x52\ +\x4a\x36\x6f\xde\xcc\xfa\xf5\xeb\xc9\x64\x32\x48\xd7\x05\x21\x48\ +\x24\x6c\x94\x52\x74\xbb\x5d\x4f\x79\x2c\x8b\x5e\xaf\xe7\x95\x41\ +\x09\xcb\xb7\xf6\xda\xae\x9f\x47\x01\xa4\x94\x1c\x78\xf3\x4d\x0a\ +\x85\x02\x4b\x96\x2c\xa1\xe7\x63\x8c\x55\xab\x56\x72\xcd\x96\x6b\ +\x78\xe3\xf5\x37\xfc\x49\x26\x6a\x60\xac\x4d\xa8\xf2\x32\xea\x20\ +\x1a\xa8\x52\x1e\xa0\xa7\x35\xd2\xeb\xb2\xb7\x00\x46\x8f\xbe\x99\ +\x30\x09\x2e\xd8\x92\xb5\x6b\x48\x16\x86\x71\x3a\x0d\x9c\x46\x9d\ +\x5e\xb3\x45\xa7\xdb\xa5\xd7\xeb\x83\xeb\xc6\x88\x20\xef\x35\x49\ +\xdb\x26\x99\x48\x32\x36\x36\xc6\xb6\x6d\xdb\x48\x26\x53\x80\xc2\ +\xb2\x2c\xba\xdd\x5e\x88\xa0\x1c\xc7\xc1\xb2\xfc\xea\x23\xa5\xb0\ +\x6d\x1b\x84\xc0\x55\x0a\x25\x1d\x84\x25\x8c\xa6\x50\x5d\x13\x84\ +\x87\x00\x69\x34\x1a\x1c\x39\x72\x84\xcd\x9b\x36\x93\x4c\x26\x43\ +\x90\x29\x84\xc5\xb5\xd7\x5e\xcb\xde\x1f\xed\xf5\x19\x4b\x61\xd0\ +\xc0\x51\x65\x90\x8a\xed\x6e\x42\x65\x08\x72\x00\x46\x61\x8a\x9e\ +\xf6\xbe\x12\xd2\xc1\x46\xa2\xc7\x20\x4d\x3c\x71\x5e\xf3\xe1\x4f\ +\xd0\xb3\x7e\x99\x33\x87\x15\xd5\xce\x38\x2a\x7b\x9c\xdc\xc8\x3b\ +\x54\x92\x27\x71\x3b\x93\x8c\xbf\x73\x2c\x8c\x1a\x84\x00\xe9\x2a\ +\x84\x6d\xb3\x64\x74\x94\x97\x5f\xde\x83\xeb\xba\x7c\xf4\xa3\x1f\ +\x65\x78\x78\xd8\xe8\x28\xb6\x2c\x8b\x7e\xbf\x4f\xb7\xd7\x0d\x81\ +\x5a\xa7\xdb\xa1\xd7\xed\x91\x4c\x24\x48\xa5\x52\x08\xcb\x0a\x79\ +\xfe\x44\x22\x41\x3a\x99\xc2\xb2\x2d\x03\xc3\xbc\xf5\xe6\x9b\x34\ +\xe7\x9a\x6c\xd8\xb0\x01\xd7\x71\x43\xc5\x96\x52\xd1\x9c\x6b\x7a\ +\x96\xc5\x95\x08\x4f\xd3\x34\xec\xa2\x62\x03\x2a\x54\x54\xad\xac\ +\x13\x61\x92\x79\x13\x5e\x57\x44\x18\xa8\x57\xfb\x1a\x05\x13\x1a\ +\x33\xd8\xef\xc1\xf1\xa3\x59\x7a\xdd\x04\x6b\x3f\x50\xa1\x3d\xb7\ +\x85\x66\x5d\xe1\x26\x7b\xac\xfd\x60\x9d\xab\x6e\xf9\x01\x53\xc7\ +\xf7\x31\x57\x6d\x90\x48\x40\x67\x76\x86\x4e\x7d\x96\x54\x32\x49\ +\x32\x65\xf3\xf2\xcb\x2f\x33\x35\x39\xc9\x43\x0f\x3f\x4c\x2e\x9f\ +\x27\x61\x59\xcc\xce\xce\xd2\x68\x34\xb0\xa4\x24\x81\xa0\xdd\x69\ +\xd3\x6d\xb5\xc8\xa7\x53\x64\x93\x29\x6a\xbd\x1e\x9d\x6e\x17\x25\ +\x25\xe9\x74\x9a\x54\x3a\x0d\xa9\x14\xa4\x52\xa4\x0b\x05\x8a\xa5\ +\x12\xb9\x6c\x96\x4e\xbb\xcd\xfe\x03\x07\x58\xb5\x6a\x15\x95\x4a\ +\x05\xc7\x71\xc2\xb8\x7d\xff\xfe\xfd\xbc\xf2\xca\x2b\x9a\xdb\x18\ +\x44\xf4\x46\x4f\xa2\x20\x6a\x8a\x89\x91\x45\x51\x82\xc9\x4c\x28\ +\x5d\x01\x16\x80\x18\xd3\x15\x29\x7a\x00\x8e\x4f\xbc\xf2\x14\x57\ +\xdf\xd2\xc4\xed\xf7\xe8\xb6\x2c\x6e\x7a\xf8\x53\x1c\xdb\x5f\xe0\ +\xcd\xdd\x69\xbe\xfd\x87\xcb\x58\xb9\xfe\x93\x6c\xbc\xf1\x97\x19\ +\xbd\x56\x50\x1a\x2d\x51\x9f\xaa\x32\x37\x31\x46\xbf\xfd\x0e\x4b\ +\x7b\x6f\xb3\x6a\xcb\x18\x67\x4e\xbe\xcd\xf7\x1f\xff\xef\x7c\xf0\ +\xfa\x6d\x64\x85\x45\x52\x4a\x56\x96\xcb\x64\x6c\x1b\xe1\xba\x94\ +\x86\x86\x18\x5a\xb1\x02\xe9\xba\x74\xbb\x5d\x12\x40\x26\x99\x04\ +\x29\x69\xb4\x5a\xd4\x1a\x0d\x9a\xf5\x3a\xcd\x5e\x8f\x86\xeb\x32\ +\x93\x4e\x93\x5f\xb1\x82\x5a\xbb\xcd\xe4\xe4\x24\xb7\xde\x7a\x2b\ +\x89\x44\x02\x85\xa2\xdf\xeb\x73\xf4\xe8\x51\x9e\x79\xe6\x19\x4e\ +\x9f\x3e\x4d\x36\x9b\xf5\xc0\xa4\x8c\x91\x3c\x81\x90\x25\x46\xce\ +\x5f\x7b\x92\x91\x42\x26\xd6\xf2\x7e\x85\xb8\x00\xcc\xde\x3e\x2d\ +\xfe\x0d\x42\x9d\xb3\x87\x8f\x70\xe6\xd0\x61\x44\x32\x41\x71\xb8\ +\xc2\xf5\x1f\xbd\x95\xf6\xdc\x35\xb4\xe7\x60\xc3\x0d\x8a\x91\x55\ +\x19\x94\x1a\xe5\xd8\x81\x1e\xfd\x7e\x8a\x5c\x69\x19\x85\xf2\x2a\ +\x12\xa5\xdb\xb0\x13\x30\xbc\x71\x8e\x8d\x1f\x3a\xc5\x3f\xfe\xed\ +\xd7\x98\x3a\x7a\x84\xff\xe5\xee\xbb\x29\xe7\x0a\xb8\x8e\x43\x42\ +\x08\xd2\x89\x04\x4e\xaf\x87\xd3\xed\x7a\x15\x37\x42\xe0\x3a\x0e\ +\xb2\xdb\xc5\x75\x1c\x2a\x4a\x52\x49\xa5\x90\x42\xe0\xa4\x52\xb4\ +\x3a\x1d\xa6\x9b\x73\xbc\xf9\xea\xab\x3c\x7f\xe6\x0c\xab\x37\x6c\ +\x60\xf5\xea\xd5\x08\xe1\x31\x8c\xef\xbc\xf3\x0e\x4f\x3f\xfd\x34\ +\x27\x4e\x9c\x20\x93\xc9\x60\xdb\x89\xb0\xf1\x54\x99\x5b\xdf\x50\ +\x04\x39\x60\x15\x31\xcb\xd1\x62\x8d\x32\x4a\xa8\x2b\xc8\x05\x68\ +\xa3\x61\x74\xb4\x6c\x8c\x86\xe9\xf5\xa8\x8f\x8f\x73\xf0\x85\x17\ +\xc8\x97\x87\xb8\xed\x01\x49\x21\x3f\xc6\xa9\x37\x0f\x01\x0e\xcb\ +\x97\xf5\x29\x94\xf3\x8c\x1d\x3c\x47\xa7\x5e\x82\xcc\x7a\x1c\xae\ +\x66\xfa\xcc\x0a\xfa\xbd\xeb\xc0\xfe\x0a\xfb\x8f\xfe\x19\xb3\x5b\ +\x2d\xf2\xad\x29\x84\xdb\xa7\x27\x3d\x9a\x58\xba\x2e\xb8\x2e\x52\ +\xba\x28\xc7\x45\xb9\xde\x8f\x94\x12\xe9\x38\x28\x19\x3c\x26\x51\ +\xae\x4b\x45\xba\x58\xd3\xd3\x74\x27\x26\x28\x6e\xdb\x46\x3a\x9d\ +\xa6\xdb\xed\xb2\x7f\xff\x7e\x9e\x7f\xfe\x79\x8e\x1d\x3b\x46\xbe\ +\x50\x20\xe9\x47\x19\x03\xc9\x2b\x3f\xe1\x65\xba\xbf\xa8\xb7\x61\ +\xbe\xb4\xb1\xd1\x84\x7a\xc5\x80\x40\xf4\x84\x97\x96\x09\x0b\x19\ +\xbf\x28\x16\x0e\x10\xf3\x9b\xcf\x3d\xc5\xd5\xdb\xce\xd2\x6e\xcc\ +\x72\xe6\xed\xc3\xa8\xbe\x4b\xaf\xd3\xa6\xd7\xeb\x79\x48\x3e\x99\ +\x24\x61\x5b\xa4\x32\x59\x32\xf9\x3c\xcb\xaf\xbb\x9e\xe5\x9b\x3f\ +\xc2\xf4\xe4\xb5\xbc\x66\x7f\x8e\xbf\x3d\x36\xcd\x1d\xa3\x6f\xb2\ +\x2e\x77\x98\xf4\xf4\x3b\x48\x57\xe2\x3a\xca\x13\xae\x74\x91\x31\ +\x05\x08\x6f\xbb\xd1\xe3\x93\xdd\x2e\xaf\x4f\x4c\xb0\x35\x9d\xa6\ +\x38\x36\xc6\xa9\xb1\x31\x8e\x1c\x3d\xca\xee\xdd\xbb\x39\x7b\xf6\ +\x2c\xc5\x62\x11\xcb\xb2\x22\xf6\x52\x60\x60\x1b\xa3\xc4\x4d\x6b\ +\xfe\x90\xd2\x4c\x69\xeb\x05\x30\x22\x5e\x96\x2e\xae\x14\x0c\x20\ +\xcc\x24\x90\x40\xf8\x4d\xa0\x83\x63\xdc\x40\x31\x37\x35\xcd\xbe\ +\x67\x9f\x8b\x4d\x15\x8b\x0a\x30\x9c\x6e\x97\x3e\xd0\x6a\xb6\x60\ +\x6a\x8a\x33\xc7\x8f\x93\xdf\xf3\x12\xab\xaf\xdd\xc6\x9d\x1f\xdf\ +\xc1\xc4\xc4\x2f\xf1\xdf\xf7\xdf\x44\xfe\xcc\x19\x36\xce\x3d\xc7\ +\x86\xd2\x41\xca\xb5\x9f\x90\x72\x6a\x28\xa7\x87\x74\x5c\xa4\xeb\ +\x25\x9b\xa2\x9d\xef\x2b\x80\x74\xe9\xf7\x1d\xf6\xb4\xdb\xb4\xba\ +\x5d\xee\x58\xb2\x84\xf1\xe3\xc7\xf9\xee\xb7\xbe\xc5\x64\xad\x46\ +\xbb\xd3\xa1\x58\x28\x22\x6c\x2b\x04\x32\x46\x09\x79\x3c\xe1\x15\ +\x6d\xfc\x48\xdd\x63\x69\xee\xf9\x32\x84\x4a\xa8\x2b\xa8\x2c\xdc\ +\xf0\x89\xba\x3b\x20\x96\x25\x8c\x32\x83\xc4\x2e\x4c\x90\x52\x55\ +\xc1\x4c\x0e\x3f\x05\x17\x5c\xf4\xc6\xd4\x34\x6f\xbd\xf0\x2c\x93\ +\x6f\x1f\x60\xf3\x9d\x77\xb0\xe6\xa1\x5f\x42\xd9\x77\x72\xfa\xc7\ +\x9f\xe6\xec\x44\x8d\x62\xf5\x05\x46\x66\xf7\x50\x49\x9d\x23\xef\ +\x4e\x62\x37\xa7\x51\xcd\x1a\xa2\x3d\x8b\x90\x8e\x5f\x12\x26\x70\ +\x24\x1c\x92\x2e\x47\x5d\x87\xe5\x42\x30\x51\x9f\xe5\x27\xc9\x24\ +\xad\x25\x25\x72\xc3\x05\xf2\xaa\x48\xaf\xd9\xf5\x12\x51\x2a\x6a\ +\x2f\x13\xf3\x35\xb6\x6a\xb1\xbf\x31\xb4\xc2\xb0\x06\xca\x18\x7d\ +\xab\xf4\x62\xa3\x2b\xa6\x1e\x20\xa4\x39\xb5\xe2\x4b\xa3\x63\x20\ +\x72\x78\x32\x8e\x8c\x89\x3a\x6d\xc3\x52\x71\xa1\x55\xed\xfa\x1a\ +\x13\x58\xe0\x89\x33\x67\x99\xf8\xeb\xbf\xc1\x4a\x7c\x8f\xab\x3f\ +\x78\x3b\xe9\xe2\x16\x58\x7e\x23\xd5\x91\xcf\x70\xea\xdc\xa7\x49\ +\x34\xce\x31\xd4\x39\xca\x70\xff\x2d\x4a\xad\x43\xa4\x66\x4f\xa1\ +\x66\xc6\xa1\x3a\x49\xc2\xea\x33\x23\x67\xf9\x07\xb7\xc5\x14\x16\ +\xc9\x7c\x99\x73\x2b\x57\x92\xbb\xf1\x7f\xe6\xea\xcc\xbd\x24\xac\ +\x71\x70\x0f\xd1\xef\x1c\xa6\x33\x77\x9a\xd3\x6f\x1d\xf4\x49\x27\ +\x19\xf5\x1c\x84\x7f\xad\x6e\xe2\xa5\xd9\x0a\xa4\x57\x46\xc5\x5c\ +\x63\xb8\x05\x82\xea\xa3\x2b\x25\x19\x14\xf7\x8b\xe6\xf4\x0d\x69\ +\x96\x4a\x69\x9d\xc0\x3a\x7f\xae\xe2\x54\x6b\x0c\x54\xea\xcd\x1b\ +\x4e\xbf\xcf\xd1\x57\x5f\x24\x61\xbd\xc4\xc8\xca\x55\x6c\xfa\xd0\ +\x5d\x88\xab\x56\xd2\x9c\x5b\x49\x75\x66\x25\x87\x66\x6f\xa4\x37\ +\x5b\xc6\xee\x36\xc9\xb5\x4f\x92\x9a\x3a\x8c\x72\xbb\xbc\x53\x87\ +\x77\xc6\x7b\x08\xbb\xc6\x99\xd5\x7d\x6e\xfe\xe4\xf5\x5c\x73\xf3\ +\x87\x39\xfa\x7a\x9a\x64\xca\x42\xf1\x20\xd9\xbc\xc3\xd0\x68\x9d\ +\xea\xa9\x1f\x70\xee\x9d\x7f\x60\x66\xec\x10\x63\x87\x8f\x20\x3b\ +\x1d\xad\x6f\x61\x9e\x0a\x61\x62\xae\xc1\x00\x82\x3a\x5e\x88\xbb\ +\xc5\x2b\x01\x04\x2a\x8d\x0b\x88\xa5\x77\x55\xac\x4b\x48\x6f\xdc\ +\x9a\xb7\xcd\x4b\x45\xe5\xd8\xe1\x5c\x01\x65\xa2\x6a\x01\x48\xc7\ +\xa1\xab\x14\xa7\xde\x39\xc6\xa9\xa3\x47\x11\x89\x04\xf9\xe1\x25\ +\x94\x46\x96\x53\x1a\x5d\x45\x6e\xfd\x4a\x12\x99\x65\xb8\xac\xc4\ +\x51\xd7\x23\xdd\x25\x94\x0f\xff\x98\xff\x71\xeb\x4a\xda\x0d\xc1\ +\xf4\x99\x04\x33\xa7\x57\xf0\xc3\x77\xd2\x28\x29\xc8\x97\x14\x43\ +\x23\x82\xce\x5c\x92\xe3\x07\x46\xe8\xf7\x1e\xa6\x32\x7a\x17\x37\ +\x3d\x74\x8e\xab\xc6\xbe\xcf\x9b\x2f\x7c\x9f\xb3\xc7\x8e\x11\x51\ +\xfb\x2a\x66\xd9\xcc\x6e\xa0\x68\x08\x45\xac\x29\xc6\xac\xa2\xb8\ +\xfc\xa9\x60\x63\x1c\x8a\x46\x83\x1a\xa0\x28\x48\x83\xc7\x07\x39\ +\xe9\x56\x40\x13\xf4\x7c\x71\xb6\x9e\x3c\x93\x46\x28\xe5\xef\xb8\ +\xbe\x43\xfd\xdc\x39\xea\xe7\xce\xa2\xd4\x6b\x5e\x44\x91\x4a\x53\ +\x1a\x19\x65\x74\xf5\x4a\xca\x23\xc3\xc8\xfa\xdb\x9c\xfc\x51\x91\ +\x54\xbe\x48\x3a\x91\xa2\xb4\x74\x2d\xe9\xc2\x2a\x5c\x67\x25\xc9\ +\xdc\x2f\xd1\x6a\x94\x28\x55\x04\x37\x7c\x58\x91\x48\xa6\x78\xfd\ +\xd9\x15\xbc\xba\x73\x25\x2b\x37\xde\xc0\x47\xff\xf5\xa7\xa9\x9f\ +\x7b\x86\xf1\x13\x07\x39\x7b\xe4\x10\xa7\x0f\xbd\x4d\xbf\xdb\x35\ +\x33\x7b\x46\x2f\x61\x90\xfe\x15\x68\x10\x32\xa4\x86\xc5\x95\x41\ +\x05\x7b\x35\x2e\x42\x99\x43\x1e\x8c\xae\x5e\xdf\x0d\xe8\x2d\x7b\ +\x04\x3d\x77\x0a\xad\x1e\x80\x58\xbb\x98\x4f\x96\xc4\xa8\x55\x25\ +\xf4\x72\x6d\x39\x60\x79\x74\x9c\xe1\x74\x3b\x4c\x9f\x3a\xc9\xf4\ +\xd8\x89\x70\x3c\x8d\x25\x6c\x5c\xc7\x31\x76\x60\xb6\x34\xcc\x35\ +\x77\xde\x4f\x69\xe9\x9d\xb4\xe7\xee\xe2\x07\xdf\xaa\x60\xd9\x30\ +\x57\x03\xe9\xc2\xde\x9d\x49\xf6\xfd\xf0\x3a\x36\xdf\xb2\x91\x91\ +\x95\xb3\x6c\xba\x79\x92\x89\x13\x4f\x72\xec\xc7\xcf\x32\x75\xe2\ +\x24\x93\x67\xce\xc4\xe6\x1a\x46\xcc\xb8\xc0\x8d\xfa\x0c\xd0\xf0\ +\x91\xbc\x22\x14\xc0\x2b\x90\x08\xc7\xb8\x62\x0e\x6a\xd2\xc1\xa1\ +\x1a\xd8\x25\xc1\x90\xe8\x20\x9b\xa7\xbd\x87\x54\x66\x3e\x5d\x6a\ +\xbb\x48\x0e\x4e\x15\xd1\x07\x4d\x33\xef\x7c\x9f\x88\x9a\x73\xa5\ +\x63\x4e\x0a\x51\x8a\xb9\xea\x24\x6f\xec\xfc\x6f\x14\xcb\x4f\xb1\ +\xf5\x9e\x7b\xb8\xee\xb6\x3b\xe8\xf5\xee\x65\xef\x33\xa3\x14\x2b\ +\x8a\xff\xe1\xff\x96\xcc\x4e\x1e\xe7\xe8\xeb\xa7\x99\x39\xbb\x82\ +\xf1\x13\x1b\x10\xd6\x17\xd8\x78\xeb\xbf\xe0\xe6\x07\x7f\xcc\xeb\ +\x3b\xff\x84\xb7\x5f\x79\x85\x76\xb3\x15\x6b\x70\xf1\x6b\x08\xe6\ +\x4b\x94\x5d\x09\x20\xd0\x28\x6f\x0e\x26\x84\x87\xa2\x0b\x06\x43\ +\x61\x0a\x25\x94\x9a\x4e\xae\xcb\xd8\x73\xe2\xad\x63\x72\xb0\xdb\ +\x48\x2b\xcb\x32\xaa\x6e\x07\xc6\xc5\x62\xa6\x6a\x89\x0f\x8a\xf2\ +\x6b\x10\xfa\x3d\x66\x26\xa6\xf8\xe1\x7f\xfb\x2e\x56\xe2\xef\xd8\ +\xf6\xd1\x4f\x70\xc7\x43\xff\x8a\xf1\x93\x37\x52\x9f\x00\xa1\x5e\ +\xe6\xc0\x0f\xbf\x4e\x69\x74\x25\x9b\x6e\xbe\x9f\xca\x8a\x8f\x32\ +\x7d\x66\x1d\xc7\xdf\xbc\x8f\xcd\xb7\x2e\xa7\xb2\xf2\xff\xe5\xf9\ +\x6f\xfd\x65\x38\x52\x26\xf6\xe1\x03\x43\x2c\x2e\x55\x4d\xd8\xc2\ +\x77\x06\x29\xf8\xf4\xa7\x3f\xcd\xd4\xd4\x14\x27\x4e\x9c\xe4\xc4\ +\x89\xe3\xf4\xfb\x7d\xc3\x0a\x08\x4c\x8b\x20\xf5\x14\x72\xcc\x75\ +\x98\xfd\x83\xca\xa8\xa5\x8b\xcf\xff\x33\xe6\x02\x0d\xb8\x85\xc0\ +\x06\x0f\xb6\x65\x85\x13\x48\x30\x53\xba\x81\xfb\x70\xfb\x7d\xf6\ +\x3d\xf7\x04\xcd\xe9\x93\xdc\xf1\xcf\x7f\x93\xfc\xd0\xb5\x9c\x7b\ +\x67\x9a\x89\x13\x87\x19\x3f\xfe\x36\xc7\x7f\xfc\x22\xa3\x6b\xfe\ +\x1f\xae\xbb\xe7\x13\x5c\xbd\xf5\xb3\x74\x9a\xd7\xf3\x91\x7f\xf1\ +\x79\x0e\xef\xdd\xcd\xc9\x37\xdf\x36\x6a\x81\xe2\x80\x58\xe7\x15\ +\xae\x80\x28\xc0\xfb\x43\xee\xbd\xf7\x5e\x20\xaa\xdc\x9d\x9d\x6d\ +\xb0\x77\xef\x5e\xf6\xbc\xbc\x87\xa9\xe9\x29\x6d\xe0\x42\x04\x0e\ +\x15\xe6\xc0\x84\x38\x75\xaa\x34\x82\x28\x60\x02\x74\x05\x30\xc7\ +\xc8\x6a\x98\x14\x4c\xa5\x92\xb1\xe1\x0c\x7a\xf9\x16\x18\x63\x6c\ +\xf4\xef\xd2\xed\x76\x79\x6b\xcf\xab\xb4\x67\x7f\x8b\x95\x5b\xae\ +\xe1\xe4\x5b\x87\xc2\xef\xd8\xef\xf5\x38\x75\xe4\x28\xe3\x27\xff\ +\x33\x5b\xef\x7e\x8b\x91\xab\xee\xe0\xed\x3d\x49\x9a\xb5\x06\x41\ +\xab\x88\x52\x26\x19\x26\x83\xf9\x45\x46\x58\x7b\x29\x58\x9a\x05\ +\x5e\x07\x0e\x1c\x50\x03\x1d\xbf\xda\xee\x02\xd8\xbf\x7f\x3f\xbb\ +\x77\xef\xe6\xc8\x91\xa3\x74\xbb\x1d\xda\x6d\x8f\xfb\x0f\xa2\x88\ +\x70\x38\xa4\x9a\xaf\xfa\x36\x62\xe4\xbc\x08\xc3\x9c\x16\x6e\x56\ +\xec\x46\x03\x21\x85\xc6\x43\xc4\x47\xd9\x9b\x25\x5b\x66\x95\x8e\ +\xd1\xea\x2d\x7d\x62\x4a\x7a\xa5\x6f\xae\x3b\xc8\x6c\x02\x5e\x25\ +\x92\x25\xe8\xb5\x3b\xe6\xfc\xc1\xd8\x1c\xa3\x40\xf0\x7f\xff\xd8\ +\xdf\x83\x82\xb3\x67\xcf\x02\x97\xf1\x9c\x40\x80\xad\x5b\xb7\x86\ +\x5f\x7e\xff\xbe\x7d\xca\xec\xa1\xf7\xae\xea\xd6\xad\x5b\xb9\x6e\ +\xeb\x75\xa0\x60\x66\x66\x86\x63\xc7\x8e\x71\xee\xec\x59\xce\x9c\ +\x3d\xcb\xe1\xc3\x87\x99\x9c\x9c\x34\x84\x34\x40\xa2\x68\xec\xa2\ +\x8a\x99\x7f\xc5\x60\x08\x16\x9f\x0c\xa2\xe6\x19\xd7\xa2\x94\xb9\ +\x13\x07\x9a\x39\x63\x73\x0b\x82\x7c\x85\xd1\x2e\xe6\x1b\x7a\xb7\ +\xe7\x6a\xc8\xc7\x1f\x19\xe7\xef\xfa\x60\x84\x9c\xee\xf6\xf4\x8a\ +\xa1\x2b\x80\x0a\x8e\xd6\xf5\x1f\xf8\x80\x78\xe8\xe1\x87\xc5\xe8\ +\xc8\x88\x35\x3d\x35\xf5\x3f\xd9\x89\xc4\x7f\xfa\xdd\xdf\xfd\xdd\ +\x8a\xae\x14\x95\x4a\x85\x4a\xb9\x02\x37\x29\xfa\x8e\x43\xb7\xd7\ +\xf3\xf2\xf0\x47\x8f\xf2\xe2\x8b\x2f\xf2\xda\x6b\xaf\xc5\x84\xaf\ +\x62\x67\x02\xc4\x46\xc9\x05\x43\xa3\xe2\x85\x17\xfa\x34\x10\xe6\ +\x2b\xc6\x30\x23\x0a\xa1\xfb\xe9\xd8\x5c\x81\x81\xd6\x6f\xa9\x83\ +\xc9\xd8\x1c\x04\x7f\x3c\xbe\x5e\x20\x12\x1e\x9b\x23\x2e\x7d\x7b\ +\xf8\x25\x1b\x4c\xfc\xe0\x8e\x1d\x69\xcb\xb6\x8b\x96\x6d\xff\x8a\ +\x6d\x89\x3f\xb4\x2c\x3b\x2d\x84\x30\x88\xa0\xaf\xfc\xf6\x57\x62\ +\x7c\xf9\x3c\x93\xc6\x80\xe9\xe9\x69\xf6\xec\xd9\xc3\xde\xd7\xf6\ +\x52\xab\xd6\x98\x9b\x6b\xd2\x6c\xcd\xcd\x33\x19\xd4\x3c\x67\xc8\ +\x9c\x0a\xae\x87\x99\x9a\x22\xf8\x98\x40\x12\x3f\xa5\x24\x06\x4a\ +\x03\xce\xc1\x1f\x0d\x17\x8c\xab\x0f\x86\x53\x0f\x00\x53\xad\x16\ +\xc0\x98\x99\xac\x75\x15\x07\x16\xe1\xf1\xc7\x1e\x43\x29\x18\x1f\ +\x3f\xb7\xe0\x2e\x60\xc1\xde\xf8\xc1\x07\x1f\xb4\x9e\x78\xe2\x09\ +\xf9\xb1\xfb\x3f\x96\x49\x67\xd3\x1b\x2c\x61\x7d\x5a\x08\xf1\x5b\ +\x89\x84\x9d\x1e\x00\x64\xb1\xfe\x7a\x1d\xc5\x7f\xf5\xab\xbf\x63\ +\x4e\xdb\xd6\x95\x41\x41\xbf\xef\x30\x36\x76\x92\xb1\xb1\x31\x26\ +\x26\x26\x38\x7c\xf8\x08\x87\xde\x3e\x84\xd3\xef\x9b\xd3\xc1\xc3\ +\x5a\x04\x65\xe4\x15\xc2\xbc\x84\x9a\xbf\x50\xc3\x3c\xe9\xc4\xdb\ +\xde\xba\x52\x79\xd6\x21\x88\x48\xa4\x1f\xd7\x9b\x13\xcd\x8d\x4c\ +\xa0\x6f\x01\xcc\x01\x12\x26\xae\x79\xfc\xb1\xc7\x51\x42\x31\x7e\ +\x6e\xfc\xf2\x53\x80\x1d\x0f\x3e\x68\x7d\xff\x89\x27\x24\xc0\x43\ +\x0f\x3d\xf4\x11\xcb\xb6\x1e\x12\x42\x7c\xd6\xb2\xec\x21\x4b\x0c\ +\xf6\x3b\x18\xc4\x47\x0c\xe4\x85\x93\xb9\xb5\xb9\xff\xbf\xf7\x7b\ +\xbf\x37\x30\x46\x26\x48\x9e\x49\xe5\x35\x7c\x38\x8e\x43\xad\x56\ +\x63\xcf\x2b\x7b\x78\xe1\x87\x2f\x30\x3e\x3e\x6e\x9c\x47\x10\x27\ +\xa0\xce\x2f\x0c\xf3\x0c\x83\xf0\xd4\x13\x21\xcd\xb9\x83\xc6\xe9\ +\x66\xb1\x33\x0f\x95\x34\x7a\x1b\x65\xec\xc4\xb3\xf0\xb0\x0b\x3f\ +\x93\x28\xa5\xe2\xf1\x27\x1e\x07\x05\xe3\xe3\x97\x91\x02\xec\xd8\ +\xb1\xa3\xf4\xfd\xef\x7f\x7f\xd6\xdf\xfd\x9f\x4b\x24\xed\x5b\xc0\ +\xfa\xb8\x25\xc4\x52\x61\xe9\xd3\x31\x82\xe4\xad\x60\xa0\x5d\xcc\ +\x20\x85\x74\x74\x1e\x67\x11\x65\x78\xff\xf7\x7f\xff\x3f\x18\xee\ +\xe1\x7c\xd6\x62\xff\xbe\xfd\xec\xde\xfd\x12\x47\x8e\xbc\x43\xb3\ +\x39\x47\x7d\xb6\x4e\xcf\xef\x21\xd0\x4d\x73\x5c\x11\x02\xa1\xa3\ +\x09\x2b\x1a\xe9\xe6\x1d\x5f\x1b\x76\x03\xcd\xc7\x55\x48\x73\xc8\ +\xa4\xd2\x18\x49\xa5\xd7\x48\x68\x7c\xc6\x63\x8f\x3f\x0e\x4a\x85\ +\x83\x2c\x7e\xae\x15\xe0\x81\x8f\x3f\x90\x7e\xf2\xa9\x27\xbb\x00\ +\x0f\x3c\xb8\xe3\xcb\x09\xcb\xbe\xdf\xb2\xac\xdb\x10\x22\xe7\x57\ +\x4b\x63\x36\xbb\x46\x82\x1f\x88\xeb\x95\x99\x23\x1f\x44\xe8\xe6\ +\xf8\x56\xa9\x14\x96\xb0\x58\xbf\x7e\x1d\x37\xdd\x74\x53\x18\x72\ +\x5d\x77\xdd\x75\xd1\xf4\x6e\xc5\xc0\x6c\x9e\x99\x6a\x95\x93\x27\ +\x4e\x30\x31\x31\xc1\x89\x13\x27\xd8\xb7\x6f\x1f\xe7\xce\x9e\x8d\ +\x46\xd5\xc6\x72\x08\x11\x8f\x10\x2b\xec\x50\xca\x18\x71\x6f\x60\ +\x88\xf8\x79\x08\x21\xa1\xe4\xbd\xf7\x60\x16\x33\xca\x85\x3e\xf6\ +\xd8\xe3\x00\x4c\x4c\x2c\xbc\x05\xb8\xe0\x28\xe0\xc9\xa7\x9e\xec\ +\x3e\xf0\xc0\x8e\xaf\xd9\xb6\xf5\xcf\x2d\x21\x56\x29\x21\xb2\x21\ +\xda\x16\x42\x4b\xf1\x9a\xc9\x5e\xa1\xcf\x0f\x8c\x27\x42\x94\xd9\ +\x51\xa4\x57\xcc\x18\x42\x51\x8a\xab\xd6\xaf\xe5\xe6\x9b\x6f\x36\ +\xbe\xd3\x9b\x6f\xbe\x89\xe5\xf7\x01\xda\xb6\xcd\xd5\x57\x5f\x15\ +\x0d\x79\x12\x50\x29\x97\xa9\x94\xcb\xfe\x00\x4a\x07\xa7\xef\xe0\ +\xb8\x2e\x07\x0f\x1d\xe2\x07\xcf\x3d\xc7\x2b\x7b\xf6\xd0\x97\x32\ +\xa2\xb2\x85\x76\x68\x84\xe6\x9a\x54\x6c\x64\x89\x32\xc0\xa5\x39\ +\x22\x46\x60\x16\x7e\x28\x19\xab\x81\x18\xa0\xd0\x2e\x4d\x36\xe8\ +\xa7\x56\x80\xfb\xef\xdf\x9e\xb3\xac\xc4\x57\x2c\xcb\xfa\xbc\x10\ +\xa2\x00\x4a\x44\xa6\x5a\x44\x47\xb7\x0a\xbf\x63\x56\x68\x85\x2e\ +\x42\xab\x97\x0b\x2a\x7c\x84\x32\x98\x30\xfd\xa2\xea\x79\xf3\x78\ +\x76\xef\xfa\xeb\xaf\x9f\xdf\xb4\x09\xc2\xc9\xa1\xa7\x4e\x9d\xc6\ +\xb2\x6c\x6c\xdb\x62\x74\x74\xd4\x28\xcd\xb6\x84\x4d\x32\x65\x91\ +\x54\x8a\x1b\xb7\x6d\xe3\xc6\x6d\xdb\x00\x45\xb5\x5a\xe3\xa5\x97\ +\x5e\xe2\xb5\xd7\x5f\x63\x7a\x6a\xda\x9b\x3a\x32\x5b\x37\x69\x5b\ +\x06\xcf\x1b\x08\xb2\xa0\x03\x38\x45\x19\xa1\x4d\x30\x46\x7a\x7e\ +\xd2\xd7\x63\x96\x7e\xfe\x14\xe0\xde\x7b\xef\x4d\x25\x93\xc9\x11\ +\xa5\xd4\xbf\x11\x42\xfc\x76\xf8\x25\x55\x34\xd1\x17\xa2\x59\x4a\ +\xe1\x8c\x40\xed\x39\xfa\x00\x48\xb4\x23\x5c\x91\xf3\x4c\x0e\x8d\ +\x03\xb0\xa0\xdf\x5e\x8b\x13\xb3\xd9\xec\xbb\x7a\x37\x41\x30\xf5\ +\x43\x20\x2c\x41\xb5\x5a\x0d\x27\x87\x48\x29\x71\xfd\xd2\xf0\xd1\ +\xe0\x9c\x1f\xff\xbd\xcb\xe5\x21\x1e\x78\x60\x07\x0f\x3c\xf0\x00\ +\xae\xe3\x30\x76\xfa\x14\x67\xce\x9c\x65\xfc\xdc\x38\xfb\xf7\xed\ +\xe3\x27\xfb\x7e\x12\x56\x2a\x2b\x83\xd1\x13\xf3\x9f\x2a\x12\xd2\ +\xd2\xda\x7c\x00\xa9\x38\xef\x2c\x88\x9f\xb7\xee\xe0\xed\xdb\xb7\ +\xdf\xa6\x94\x7a\x50\x4a\xf9\xd5\x60\x67\x05\xb1\x6b\xa0\x07\x02\ +\xbc\xf4\xaf\xaf\x01\xc2\xff\xbf\xf0\xc2\x10\x24\x7f\x44\x34\x40\ +\x01\xcc\xe2\x8d\xf8\x29\xe0\xa1\x9f\x15\xc6\xf0\xa5\x60\x4d\x4e\ +\x4e\xb2\x6c\xd9\xb2\xf9\x13\x51\xc4\xa6\x73\x23\x10\x08\x2c\x21\ +\x10\xb6\x1d\x81\x4d\x21\x38\x77\xee\x2c\x8e\xe3\xe0\xba\x2e\x6b\ +\xd6\xae\xd1\x72\x19\x0a\xcb\xb6\xb9\x6a\xed\x55\xac\x5d\x7b\x15\ +\x4a\x4a\x1e\xfc\xc4\x0e\x94\xab\xa8\xd6\x6a\xfc\xe3\x3f\xfe\x03\ +\xcf\x3e\xfb\x2c\xa7\x4e\x9d\xd2\xe9\xbc\xf3\x14\xad\xa8\xd0\xe2\ +\xbd\x5b\x0f\x68\x7c\x1e\xe2\xcf\x8b\x05\x78\x39\x9b\xcd\xd2\x98\ +\x9b\x43\x08\x48\xd8\x36\x42\x04\xf3\xf4\x22\x73\xe5\x85\x73\xc2\ +\xb7\x07\xc2\x38\x42\x4d\x08\x34\x54\x6d\x86\x81\x88\x58\x99\x98\ +\x1e\x16\xbe\x8b\xaf\x7c\xfd\xf5\xd7\xd9\xbe\x7d\xbb\xdf\xa2\xad\ +\xa7\xa2\x35\x4b\x23\x15\x58\xc1\x7b\x78\xa3\xe9\x55\xac\x31\xc5\ +\x73\x1b\x9e\x82\x9c\x38\x76\x42\x3b\x99\x04\xae\xbe\xea\x2a\xe3\ +\x39\xb6\x65\x83\x05\x23\x23\x4b\xf8\xd4\x27\x3f\xc5\xa7\x3e\xf9\ +\xc9\x30\xd2\x78\xf9\xe5\x97\x39\xfa\xce\x51\xaa\xd5\x1a\x53\x53\ +\x93\x74\xfc\x5a\x41\x63\xfa\xe7\x25\xec\xff\xbf\x98\x0a\xa0\x1e\ +\x7c\xf0\x41\x31\x39\x35\x49\xbd\x56\x67\xfc\xdc\x39\xc6\x27\x26\ +\x68\xb7\xdb\x58\x3e\xd8\xf2\x86\x2c\x0a\x2c\x84\xd6\x2d\xed\x0d\ +\x49\x30\xce\xfb\x21\x1a\xc3\xaa\xab\x7d\xbc\x5a\x46\x3f\xdd\xf3\ +\xbc\x61\x8c\x10\xec\xde\xbd\x9b\xbb\xef\xbe\xdb\x78\xdc\x9b\x36\ +\x26\xfc\xc3\xaa\x24\x42\x4a\x5f\xc0\xc1\x68\x56\xaf\xf7\x5f\xea\ +\x65\xea\xbe\x19\x8b\x7f\xe2\xf1\x13\x27\xc2\xdb\xd5\x6a\x95\xa7\ +\x9e\x7a\x8a\x2f\x3d\xfa\xa8\xef\xe6\xa2\x54\xfe\xf5\xd7\x6f\x65\ +\xeb\xf5\x5b\x41\xeb\xd9\x53\xbf\x00\x00\x13\x02\x49\x44\x41\x54\ +\x41\xb5\x5e\xe5\xcc\xe9\x33\x4c\x4c\x4c\x72\xe4\xc8\x61\x7e\xf4\ +\xa3\x1f\x31\x36\x36\x66\x28\xff\x79\x2f\xf4\x25\x54\x0e\xf1\x3e\ +\x5c\x80\xfc\xed\xaf\x7e\x55\xf4\x7b\x7d\x3a\x9d\x36\x0d\xbf\x03\ +\xb7\x31\x37\xc7\xd9\xb3\x67\x19\x1b\x1b\xf3\x09\x17\xe5\xa3\xef\ +\x84\xe7\x77\xb5\x11\xee\xe7\x9d\x7f\xa7\x11\x41\x66\x4c\xff\xde\ +\x2f\x44\xb1\x58\xe4\xae\xbb\xee\xa2\x52\xa9\x18\x59\x38\xdb\xb2\ +\xb1\x6c\x2b\x3c\x20\xda\xb2\xac\xf0\x3b\x49\xff\xd8\x39\x29\x25\ +\xd2\x75\x71\xa5\x8b\xeb\xb8\xb8\xae\x7b\x5e\xa5\x93\x52\xf2\x9d\ +\xef\x7c\x67\xe0\xf1\x47\xbe\xf8\xc5\x30\xca\x20\x86\x63\xa4\xff\ +\x19\xae\x2b\x39\x70\xe0\x00\xcf\x3c\xfd\x34\xbb\x77\xef\xf6\x32\ +\x9e\xf3\xac\xef\x7d\xef\x7b\x28\xa5\x98\x9e\x9e\xfe\xf9\x0a\x03\ +\xfb\xbd\x1e\xfd\x7e\x1f\xdb\xb6\x29\x57\x2a\x54\x86\x2b\x48\xa9\ +\x58\xbf\x7e\x03\xdd\x6e\x9b\x6e\xb7\x4b\xb5\xea\x0d\x5a\x3c\x7e\ +\xfc\x78\x08\xb8\x82\x8b\x1f\x62\x87\x81\x8a\x01\xd0\x27\x25\xfe\ +\x34\xfa\xdf\x68\x34\x78\xe1\x85\x17\x58\xbb\x76\x2d\x1b\x36\x6c\ +\xa0\x54\x2a\x79\x44\x8d\x3f\x2d\x5c\xe8\xa3\x5a\x02\xa5\x0c\xce\ +\x0b\x94\xde\x59\xc4\x4a\xaa\x81\x53\x49\xe6\xfb\x9c\xf9\xd6\xff\ +\xf9\x07\x7f\x10\xde\xfe\xdf\xfe\xed\xbf\x25\x9b\x49\x6b\x23\xea\ +\x3d\xb7\x61\x09\x9b\x1b\xb7\x6d\x63\xdb\x0d\x37\x80\x80\xea\x4c\ +\x95\x57\x5e\x79\x85\xd7\x5f\x7f\x9d\xa9\xa9\x29\xa6\xa6\xa6\x98\ +\x9e\x9e\x1e\x50\xfc\xed\xdb\xb7\xff\x2e\x30\x06\xbc\xb1\x6b\xd7\ +\xae\xbd\xfe\x63\xd6\xae\x5d\xbb\xe4\x25\xb5\x00\x8f\x3e\xfa\x88\ +\xe8\xf7\xbc\x82\xc9\x6a\xb5\xea\xf7\xc8\xd9\x51\x21\xa6\xf4\x08\ +\x10\xe9\x3a\xb8\xae\xa2\xd3\xeb\x70\xe6\xcc\x19\x8e\x1e\x39\xca\ +\xc9\x93\x27\xe9\x76\xbb\xf3\x28\xc2\xc5\x9f\x89\xb6\x6a\xd5\x2a\ +\xae\xbe\xfa\x6a\x46\x47\x47\xc9\x65\x73\x58\xb6\x4d\xc2\xf6\x66\ +\x00\x0b\x2f\x3e\x34\x14\x42\x2a\x15\x46\x05\xfa\xf4\xb0\xf8\x72\ +\x5d\x97\x97\x5e\x7a\xc9\x03\x7c\x3f\xc5\xfa\xf5\x5f\xff\x82\x16\ +\x42\x46\x16\x51\x01\x4e\xdf\x61\xfc\x9c\x97\x02\x0f\x78\x8d\xc0\ +\x02\xf8\xc7\xd7\x37\x80\x53\xc0\x01\x60\x0e\x78\x1b\xd8\xb9\x6b\ +\xd7\xae\xd7\x7c\xf9\xe4\x76\xed\xda\xd5\x5a\x50\x05\x78\xe4\x8b\ +\x5f\x14\x3d\xa7\x0f\x0a\x5e\x7e\x79\x0f\x4a\x79\x83\x97\x0a\xc5\ +\x22\x43\x43\x43\x94\x86\x86\xc2\xd1\x6c\xc4\x8a\x3f\x85\x10\xd4\ +\xea\x75\xc6\x4e\x9e\xe0\xe8\xd1\x77\x98\x98\x98\x38\xef\x85\xbe\ +\x60\xb3\x96\x48\x50\x2c\x96\x10\x16\xac\x5e\xb5\x9a\xa5\x4b\x97\ +\x51\xae\x0c\x79\xed\xdc\x96\xed\x8f\x7f\x89\x46\x94\x49\x3f\x24\ +\x73\xa5\x34\xa6\x7a\x05\xab\xd7\xeb\xd1\xed\x76\x79\xe3\x8d\x37\ +\x38\x75\xea\xd4\x45\xf1\xd1\x5f\xf8\xc2\x17\xb4\x31\x31\xc1\x61\ +\x58\x26\xfe\x98\x9e\x9e\x0e\x84\x3f\xdf\x6a\x03\x13\xc0\x39\xa0\ +\x0a\xec\x17\x42\xfc\xcd\x33\xcf\x3c\xf3\xb2\x2f\xaf\xfc\xae\x5d\ +\xbb\x9a\x17\x55\x01\xfe\xf7\xdf\xf8\x0d\xe1\xf4\xfb\x28\xa5\xd8\ +\xb3\x67\x4f\x58\x91\x13\x24\x33\x94\x3f\xa2\x25\x97\xcb\x31\x54\ +\x1e\xa2\x32\x54\x21\x5f\xc8\x63\x09\x61\x1c\xf5\xe6\x99\x5f\xc9\ +\xe4\xe4\x14\x27\x4f\x7a\x99\xbc\x46\xa3\x11\x1e\xfd\x72\x41\x8a\ +\x21\x20\x99\x48\x92\x4c\xa6\x48\x25\x13\x24\x53\x29\xd6\xad\x5b\ +\x87\x10\x82\x74\x3a\x4d\x3e\x9f\x27\x9f\xcb\x91\xce\xa4\x11\x96\ +\x17\x0a\xba\x8e\x13\xee\x70\x21\x44\x38\xb4\x6a\x76\xb6\x4e\xb5\ +\x5a\xa3\x39\xd7\xe4\xd0\xa1\x83\xf4\xfd\xe7\x2d\xc4\xfa\xfc\xe7\ +\x3f\x67\x80\xe2\xaf\x7f\xfd\xeb\xef\xf7\x2d\x7a\x40\x0b\x68\x02\ +\x93\x42\x88\xd7\xfa\xfd\xfe\xdf\x3d\xff\xfc\xf3\x8f\x5f\x34\x05\ +\xf8\xf5\x7f\xf7\xef\x84\xe3\x4f\xd7\x0c\x15\x40\xaa\x30\x64\x92\ +\x52\x86\xf7\x55\x60\x56\x95\x22\x9d\x4a\x51\x2a\x15\xa9\x94\x2b\ +\x14\x4b\x43\xa4\x52\xa9\x30\x73\x16\x0c\x6a\xea\x76\xba\x4c\x8c\ +\x8f\x73\xfa\xcc\x69\x26\x27\xa7\xe8\x76\xbb\xf4\xfc\x62\x10\xc7\ +\x71\x42\x97\x21\xfe\x09\x86\x4c\x58\x16\xa9\x64\x92\x44\x22\x41\ +\x2a\x99\x22\x99\x0a\x94\x21\xe9\xdf\xf6\x7f\x52\x29\x92\xc9\x24\ +\x28\x15\xba\x25\x29\x25\x9d\x4e\x87\x6a\xb5\x4a\xbf\xd7\x43\x2a\ +\x45\xad\x5a\xa3\xe7\xf4\xbd\xf1\x70\xa1\xf2\x5e\x98\x05\x58\xdf\ +\x68\xf0\xa7\x7b\xf6\xfc\xd4\xaf\xff\xfa\xe6\xcd\x3c\xb9\x6a\x15\ +\x3d\x9f\xcb\x38\x8f\xbb\x92\xab\x57\xaf\x96\xc9\x64\xca\x3a\x7d\ +\xfa\xd4\xbf\xde\xb9\x73\xe7\x37\x2e\x18\x04\x06\xbb\x3d\x40\xe8\ +\x51\xad\xde\x60\x57\xac\x16\xde\xd3\x69\xb7\x69\xb5\x5a\x9c\x3d\ +\x7b\x0e\xa9\x24\x96\x10\xe4\x0b\x45\x8f\x93\xaf\x54\xc8\xe7\x73\ +\x28\x09\x4b\x97\x2d\x65\xd9\xb2\xe5\x08\x4b\x30\x37\x37\xc7\xe4\ +\xe4\x24\x93\x93\x93\x34\x1a\x0d\x3a\x9d\x0e\xad\x56\x8b\x76\xbb\ +\x1d\x82\xbb\x79\x41\xa5\x94\x74\xbb\xde\x39\x00\xe9\xe1\xb4\x1f\ +\x89\x78\x8a\xe6\x8d\x84\x13\xde\x79\x00\x78\x07\x3e\xf7\x7c\x60\ +\xdb\xef\xf7\xe9\xf5\xfb\x21\xd0\xf5\x7e\x7a\xa1\x7b\x48\x24\x12\ +\x38\x8e\x73\x51\x84\xff\x2f\xdf\x79\xe7\x82\xde\xe3\x57\xfc\xb0\ +\x34\xae\x04\x81\x72\x8e\x8c\x8c\x30\x3c\x3c\xec\x71\x9f\x02\x3e\ +\x74\xd7\x9d\xff\x75\xe7\xce\x9d\x17\x1e\x05\x48\x57\x45\xa9\x4b\ +\xe3\xf4\x4d\xed\x78\xa6\xb0\xb8\x42\x86\xc4\x8b\xc1\x84\x49\x70\ +\x95\x4b\x75\xa6\xca\xcc\xf4\xb4\x8f\xbe\x5d\x72\xd9\x1c\xe5\x4a\ +\x99\x72\x79\x98\xa1\x52\x89\x84\x6d\xb3\x72\xf9\x72\x56\xae\x5c\ +\x81\x92\x8a\xd9\x46\x83\x5a\xad\xc6\xec\xec\x2c\xed\x76\x8b\x46\ +\x63\x8e\x46\xa3\x41\xab\xd5\x32\x94\x41\x57\x88\x99\x99\x19\xe3\ +\xfb\x6f\xd9\xb2\xc5\x33\xf1\x02\xb0\x44\x64\xa9\x02\xbe\x41\x4a\ +\x2d\x9d\xeb\xdd\x6e\xb7\x5a\x17\xcd\xcc\x07\xc2\xff\xd0\xe4\xe4\ +\x05\xd1\xbd\xa3\x42\x0c\x28\x81\x6d\xdb\xe1\x2c\x43\xdb\xb6\x71\ +\x5d\xd7\x53\x7e\x2c\xa6\xab\x35\xfb\xa2\x84\x81\xc1\xc5\x42\x41\ +\x69\x68\x88\xc6\xec\x2c\x7d\xd7\x9d\xe7\xc0\x67\x19\x3b\xb5\x3b\ +\x76\x00\x14\x3a\x65\xea\x3d\x67\xae\xd9\xa4\x31\xd7\xe0\xf8\xf1\ +\x93\x28\x25\x49\x26\x92\x94\x4a\x25\x86\x97\x0c\x87\xa7\x7c\xac\ +\x58\xbe\x9c\x15\xcb\x97\xd3\x77\x1c\x5a\xcd\x26\x73\xcd\x26\x9d\ +\x4e\x87\xb9\xb9\x39\x7f\x44\x7c\x3d\x8c\x34\x02\xb3\xae\xaf\x83\ +\x07\x0f\xfe\xcc\x18\x37\xa1\x14\x9f\x3f\x74\x88\xeb\x6b\x35\x53\ +\xf8\xc2\x23\xcd\x5c\x25\x70\x05\x38\xda\x6d\x57\x08\x1c\xc0\x05\ +\xef\x3e\x82\x75\xfd\x3e\x28\xc5\xa8\x10\x7c\xee\xed\xb7\x21\x99\ +\xe4\xb9\xcd\x9b\x19\x1a\xf2\x5c\x6b\x30\x2a\xcf\x1b\xc4\x81\x3f\ +\xd1\x5c\x72\x91\x14\x40\x86\x27\x7d\x6d\xda\xb4\xd1\xe7\x06\xfa\ +\xd4\x1b\x0d\xea\xb5\x1a\xf5\x5a\x9d\x56\xbb\x35\x78\x80\xb3\x9e\ +\x06\xd5\x0b\x2d\xc2\xdc\x19\x5a\x9a\xd5\xbb\xdd\xed\x75\x99\x98\ +\x9c\xe0\xdc\xf8\x39\xdf\xe4\x43\xa1\x50\xa2\x52\xa9\x30\x3c\x5c\ +\xa1\x50\x28\x30\x92\xcd\xa2\x94\xa2\xd7\xef\xd3\xf5\x67\x00\xf6\ +\x7a\x3d\x6a\xb5\x1a\xd3\xd3\xd3\x34\x1a\x0d\x7f\x27\xcc\xcf\x41\ +\x5c\x4a\xe1\xff\x5f\x7b\xf7\x9e\x5f\xf8\x08\x4f\xf0\x80\xab\x08\ +\x15\x41\x86\xc2\x8f\x14\xe1\x60\x2a\xc5\x96\xa0\x64\x5e\x08\x3e\ +\x77\xe0\x00\x43\x43\x43\x3c\x57\x1e\xa2\xef\xf4\xbd\x6c\x87\xb0\ +\xb0\xfc\xc9\x65\xc2\xe2\x5d\x41\xf5\xfb\x73\x01\xd2\x0d\x0f\x74\ +\xa8\xd5\x67\xc9\xe7\x72\xd8\x89\x04\x95\x4a\x99\xe1\x72\xd9\x03\ +\x1f\x52\xd2\x9c\x9b\xa3\x5a\xab\x31\x33\x33\x43\xa3\x31\x6b\x1e\ +\xfa\x48\xec\xbc\x1d\xad\xc0\x42\xa0\x1d\xb2\xac\x27\x86\x84\xc0\ +\x75\x5d\x6a\xb5\x2a\xd5\xea\x0c\x47\x8e\x78\x58\x24\x93\x49\x53\ +\xae\x94\x59\x52\x59\xc2\xd0\xd0\x10\xc5\x62\x01\x25\x15\xa5\x52\ +\x89\x95\x2b\x57\xe2\x3a\x0e\xad\x56\x8b\x99\x6a\x95\x99\x99\x19\ +\x9a\x4d\x2f\x2a\x9a\xcf\x3a\x2c\xd4\x0a\xcc\xfe\xbc\xc2\x47\xe0\ +\x28\x85\xf4\x77\xbb\xeb\x0b\xd9\xd1\x6e\xbb\x78\xc2\x97\x81\x65\ +\x40\xf0\x46\x2a\xcd\xb6\x5e\x37\x54\x82\x07\x7f\xfc\x63\x84\xe3\ +\xf0\xc2\xe6\xcd\x38\xc9\x24\x42\x78\xf9\x0e\x81\x40\x48\x71\x11\ +\x2d\x80\x8c\xca\xa7\x4e\x9c\xf0\x4c\xb5\x25\x04\xd9\x5c\x8e\x52\ +\xb1\x48\xbe\x50\xf0\x42\xad\x42\x81\x5c\xa1\xc0\xaa\x95\x2b\x91\ +\x4a\xd1\xe9\x74\xa8\xd5\x6b\xcc\x4c\xcf\x50\xad\xd6\xe8\xf5\xba\ +\x61\x04\x01\xf3\x9c\x96\xa5\x88\xb2\x87\x2a\xc8\x9f\x13\x3b\x5c\ +\x59\xd1\x6a\xb5\x68\x36\x9b\x9c\x3e\x75\x3a\x8c\xff\x3f\xf4\xa1\ +\xbb\xb1\x2c\x8b\x44\x32\x81\x6d\xdb\x24\x93\x49\x8a\xa5\x22\x6b\ +\xd6\xac\xc6\x75\x5d\x1a\x8d\x39\xa6\xa7\xa7\x43\x77\xf1\x5e\xa3\ +\x8b\x8b\xea\xf3\x85\xf0\x77\xb7\xf2\x05\x1f\xed\x70\x89\x08\x05\ +\xef\x0a\xbc\xc7\x45\x70\x5f\x84\xee\xe0\xd5\x74\x86\x5b\xba\x5e\ +\xa2\x69\x58\x08\x76\xec\xdf\x0f\x4a\xf1\xc2\x35\xd7\xe0\x24\x93\ +\x7e\xf2\xcd\x02\xa1\x8c\xc4\xd6\x85\x59\x00\xdd\x7c\xfb\x20\xc9\ +\x91\x2e\xf5\x7a\x9d\x5a\xbd\x8e\xf2\x59\xb4\x6c\x36\x4b\xb1\x58\ +\xa4\x58\x2c\x92\xcb\xe5\x48\xa7\xd3\x2c\x5d\xba\x94\xd1\x91\xa5\ +\xa0\x14\x7d\xa7\x4f\x7d\xb6\xce\xcc\xf4\x0c\x33\x33\x55\x1a\x73\ +\x8d\x30\x01\xa4\x82\x23\x66\xe2\xb9\x02\xff\x02\x4a\x35\xcf\x79\ +\x7c\xfe\xf2\x50\xba\x1c\x18\xdd\xa6\x94\x1f\x01\x58\xb6\xf7\xbd\ +\x4a\x45\x94\x54\xf4\xfb\xde\xf7\xf0\x4a\xcb\xbd\x83\x25\x2e\x8d\ +\xf0\x05\xae\x50\x9e\x50\x43\x01\xfb\xbf\x15\xfe\x8e\x57\x38\xbe\ +\x12\x44\xf8\x20\x78\x8d\x77\xff\xc5\x4c\x86\xbb\x3a\x9a\x12\x1c\ +\x38\x80\x82\xd0\x12\x80\x8b\x54\xe2\x62\xba\x00\x69\x1e\x7e\x10\ +\x4c\xc2\x54\xe6\x89\x9f\xcd\x66\x93\xb9\xb9\x39\x4e\x9f\x3e\x8d\ +\x54\x8a\x64\x22\x41\xa1\x58\x60\x68\x68\x88\x42\xbe\x40\x2a\x95\ +\xa2\x52\xae\x50\x2e\x0d\xb1\x6e\xdd\x3a\x94\x52\x34\x1a\xb3\xcc\ +\xcc\x54\x99\x9a\x9a\xa6\x5e\xaf\xe1\xb8\x8e\x76\x0c\xcb\xe0\x29\ +\x3a\x03\x67\xf0\xc5\x6a\x29\xa2\x93\xbd\xa3\x12\xef\x90\x7a\x95\ +\x5e\x24\x63\x5b\x36\xe5\xa1\x32\x95\x72\x05\x21\x04\x9d\x4e\x87\ +\x46\xa3\x41\xbd\x5e\xa7\xd3\xe9\x84\x7f\xef\xfb\x0d\xfd\xde\x0d\ +\xf0\x85\x3b\x3f\x14\xbe\xf0\x05\xad\xa2\x5d\x2e\x4c\xdf\x2f\x2d\ +\x70\x54\x64\x15\x5c\x08\x2d\xc6\x73\xd9\x2c\xf7\xb6\xdb\xa1\x12\ +\xfc\xcb\x57\x5f\xc5\xb5\x2c\x9e\xdf\xb2\xc5\x53\x7c\xa1\x70\xdf\ +\x25\x03\xf9\x3e\x2d\x80\xa9\x00\xef\x95\x07\xe8\x75\xbb\x4c\x75\ +\x3a\x4c\x4e\x4c\x86\x3c\x40\x36\x97\xa7\x5c\xf2\xe8\xe3\x5c\x2e\ +\x4b\x3e\x5f\x20\x9f\xcb\xb3\x6a\xd5\x6a\x40\xd2\x6e\x77\xa8\xd5\ +\x6a\x4c\x4d\x4d\x33\x33\x33\x1d\x85\x63\xc1\x51\x32\xe7\x49\x23\ +\x18\x07\x2f\xf9\xbd\xf7\xc1\x69\xf4\x6a\x20\xa2\x31\x2b\x78\x53\ +\xa9\x14\x23\x23\x23\x8c\x8e\x8e\x02\xd0\x6a\xb5\x68\x34\x1a\xcc\ +\xcd\xcd\xd1\xeb\xf5\x70\x5d\x37\x64\x2a\x95\x52\xe7\x75\x1b\xbf\ +\xf3\x93\x9f\xbc\x8b\xf0\x23\x1f\x2f\x7d\x01\x3b\x42\xf9\xa6\x5f\ +\xe0\xe2\xef\x7c\x1f\xc5\xcb\xc0\x3d\x08\x1f\x1c\x6a\x11\x82\xf7\ +\x5e\xf0\x64\x36\xc7\x03\xed\x56\x88\x09\xfe\xd7\x3d\x7b\x78\x6e\ +\xf3\x66\x0f\x03\x58\xbc\xeb\x59\xc4\xef\xd3\x02\xe8\xe5\xce\x17\ +\xc6\x03\xd4\x6b\x75\x6a\xd5\x6a\xc8\x03\x64\x33\x59\x4a\x43\x25\ +\x86\x86\x2a\x14\x0b\x05\x92\xc9\x14\x23\xa3\xa3\x8c\x8e\x8e\x20\ +\xfd\x43\xa2\x67\xeb\xb3\x4c\x4d\x7b\x59\xb3\xfa\x6c\x7d\xde\x29\ +\x1a\xf1\x83\xc9\x05\x18\x34\x74\x70\x30\xa5\x71\xc8\x8f\xa6\x14\ +\xfa\x6e\xcf\x64\x32\x64\xb3\x59\x96\x2d\x5b\x16\x9e\x3b\x34\x37\ +\x37\x47\xbb\xdd\xd6\xc8\xa2\xbe\x61\x62\x85\x10\xef\xe2\xf3\x3d\ +\xb4\x1f\x01\xba\xc8\xbf\x4b\x5f\x98\xde\x6d\x81\x0c\x42\xc2\x40\ +\x69\xfc\xf9\x8a\x9e\x2b\xf0\xdf\x4f\x44\x56\xe1\x7b\xf9\x3c\x9f\ +\x6c\x36\x0d\xce\x46\x58\x5e\x44\xee\x5c\x2c\x0b\xa0\x7c\xaa\x57\ +\xa1\xc8\xe7\xf3\x34\x9b\x4d\x1c\x29\x2f\x0a\x0f\xd0\x6c\xb5\x98\ +\x6b\xce\x31\x36\x76\x1a\xa5\x24\x09\x3b\x41\xb1\x58\xa4\x52\x29\ +\x53\x2c\x95\xc8\x64\x32\x0c\x95\x87\x28\x0d\x95\x58\xb7\x6e\x1d\ +\x52\x4a\x5a\xad\x16\xd3\xd3\xd3\x21\xa8\xf3\x0e\x81\x52\x10\x8b\ +\x24\xf4\xe3\xdb\x8d\x49\x65\xef\x81\xf7\xd0\x9f\x97\xcb\xe5\xc8\ +\xe7\xf3\x08\x21\xe8\xf7\xfb\xb4\xdb\xed\xb0\x93\xb9\xd7\xeb\xd1\ +\xe9\x74\x06\x73\xfc\xbe\xcf\x8f\x84\x19\x09\xde\x89\x61\x00\x47\ +\xc3\x01\x81\xd0\xdd\x30\x02\x88\x84\x2d\x35\x2b\xe2\x68\x56\x62\ +\xa0\x20\xc6\x4f\x83\xab\x77\xc1\x36\xef\x3b\x0a\x90\x7e\xc9\xf3\ +\xea\x35\x6b\x7c\xe0\xd5\xa7\xd9\x6c\x31\xd7\x68\xd0\x68\xcc\xd1\ +\xe9\x76\x2e\x0a\x0f\xd0\xeb\xf7\x98\x9a\x9e\x62\x62\x32\xca\x1a\ +\xe6\xf3\x05\x2a\x95\x32\xe5\xa1\x21\xef\xfc\x9f\x6c\x96\x55\x2b\ +\x57\xb2\x62\xc5\x0a\x8f\x0f\xf0\xe3\x63\xa3\x93\x58\x6f\x14\x91\ +\xf1\x13\xc3\xdf\x1f\xb0\xd3\x5f\x6b\x59\x16\x85\x82\x77\x5c\x3d\ +\x40\xbf\xdf\x9f\x57\x01\x5c\xe1\x55\x25\x45\x21\x1e\xda\x6e\x37\ +\x43\xbd\x70\x47\x5b\xba\x72\xf8\x82\xb6\xfc\xd7\x61\x86\x88\x12\ +\x15\xbe\x57\x9c\xb3\x21\x70\x83\x17\xc9\x02\x88\xa3\x47\x8f\x32\ +\x3a\x3a\x42\x22\x99\xf0\xd8\x36\xdb\xc6\xb6\x12\x21\xe2\x5f\xe1\ +\x5b\x89\x56\xbb\xcd\xec\xec\x2c\xb3\xb3\xb3\x34\x9b\x73\x17\x85\ +\x07\x90\x7e\x76\xae\x5e\xaf\xf9\xe0\x4c\x91\xc9\xa4\x28\x0d\x79\ +\x35\xfe\xa5\x52\x89\x64\x2a\xe5\xc7\xbc\xe6\x29\x23\x81\xf2\x1a\ +\x1d\x0a\xe7\x0b\x25\x7e\x4a\x85\x08\xa8\xd8\x81\xa4\x8c\x32\x4d\ +\xb5\x2e\x54\x03\x0f\x68\xf1\xbe\xc9\xfe\x05\x04\x91\xe7\x16\x74\ +\xb7\xe1\x04\x61\xe4\x3c\x0a\x10\x90\x67\x08\x0b\x57\x5d\x1c\x05\ +\xd8\xfd\x83\xe7\x7f\x90\x16\x42\x7c\xb0\x54\x2a\xb1\x62\xc5\x0a\ +\x56\xac\x58\x41\xb1\x58\x24\x99\x4c\x92\x4a\xa5\x48\x24\x12\x08\ +\x61\x91\xcb\x65\xc9\x66\xb3\x2c\x5d\xba\x14\xc0\x40\xd7\xb3\xb3\ +\x8d\x8b\xc8\x03\xb4\x69\x36\x5b\x9c\x3d\x73\x26\xe4\x01\x6e\xbb\ +\xed\x36\xcd\xf4\x47\x1c\x7f\x84\x0f\x62\x83\x9a\x2f\xe2\x9a\xcf\ +\xad\x78\x48\x5e\x45\xc2\xd3\xe2\x7c\x47\x68\xca\x41\xb4\xc3\x25\ +\xfa\x73\x85\x89\x05\xc2\xe7\x9b\x1c\x82\x9c\x07\xaf\x79\xb5\x2f\ +\xde\x90\xec\x0b\x56\x80\x5d\xbb\x76\xdd\xe9\xa7\x85\xff\xb6\xd9\ +\x6c\xb6\x0e\x1e\x3c\xe8\xbe\xf5\xd6\x5b\x77\x27\x93\xc9\x75\xe5\ +\x4a\x99\xa5\xa3\x4b\x19\x19\x19\x21\x9d\x49\x93\xcb\x66\xc9\x66\ +\x73\xde\x21\x0b\x4a\x79\xc7\xad\xa6\x52\x54\x86\x87\xbd\xb0\xa4\ +\xef\xd2\x68\x34\xa8\xd5\xaa\xd4\xea\xb3\x21\x43\x77\x31\x78\x00\ +\x88\x0e\xdf\x3c\x4f\x6c\x08\x0b\x22\xfe\xf3\xa4\x65\xf5\x1d\x2f\ +\xe6\x13\xbe\xee\xff\x35\xf3\x2e\x74\xb7\x10\x23\x84\x82\xff\x37\ +\x18\xc3\x79\x5c\x80\x02\x25\x2e\x22\x0f\xe0\x2b\xc2\x3f\xd3\x6a\ +\x04\x7e\x59\x29\xf5\xb1\x99\xe9\x19\x77\x62\x7c\xa2\x6f\xdb\xf6\ +\xef\xa7\xd3\x69\xca\xe5\x32\xe5\x72\x99\x52\xb1\xa4\x72\xb9\x9c\ +\x28\x96\x8a\xe4\xf3\x79\xaf\x84\x5c\x49\xb0\x6d\x4a\xa5\x22\xa5\ +\x52\x91\x35\xfe\xee\x6f\x36\x9b\xd4\xaa\x35\x66\xaa\x55\x1a\x8d\ +\xd9\x9f\x9a\x07\x90\xb1\xf6\x6f\xfd\xb0\x06\xbd\xd1\xe4\x52\x8d\ +\xe0\x70\x44\x9c\xd5\x3b\x0f\xcd\x1b\xb2\x81\x11\xd0\x73\x35\xa0\ +\xe7\x99\x7a\x61\x72\x08\xda\x6d\x27\x16\x92\x4a\x57\xfa\xa5\x6f\ +\xea\xe2\x2a\x40\xb0\x3e\xf6\xb1\x8f\x89\x9d\x3b\x77\xbe\x00\xbc\ +\xa0\x29\xc4\x51\xc7\x71\xec\xf1\xf1\x71\x71\xee\xdc\xb9\x1b\x12\ +\x89\xc4\x6f\x64\xd2\x19\xf2\x85\x3c\x85\x42\x81\x5c\x3e\xef\x9d\ +\xc9\x5b\x2e\x93\xcf\xe7\x51\xca\x2b\xc3\x42\x79\xec\x61\x26\x93\ +\x61\xf9\x8a\xe5\x48\xa5\xe8\x75\xbb\xd4\x6b\x35\xaa\xd5\x1a\xd5\ +\x5a\x95\x4e\xbb\xfd\x9e\x78\x00\x7f\xa2\x43\xd4\x41\xa4\x45\x27\ +\x0a\x6d\x22\xf9\x02\x2c\xa5\xd4\x00\x9b\x68\x80\xbd\x01\x53\x8e\ +\x69\x11\x30\xdd\x44\x80\xf0\xc3\x9d\xaf\x94\x17\x02\x0a\x2f\x87\ +\xe0\x0a\xcb\xc0\x0b\x03\x51\x00\x5e\xbe\x41\x5e\x24\x0c\x60\xac\ +\x9d\x3b\x77\xaa\x79\xac\xc3\xb7\x82\xdb\xf7\xdd\x77\x5f\x56\x29\ +\xf5\x78\xbb\xd3\x96\xb3\x8d\xd9\x46\x32\x99\xfc\x6b\xdb\xb6\xd7\ +\xa7\xd3\x69\x32\x99\x0c\x99\x4c\x46\x15\x0a\x05\xb1\x64\x64\x09\ +\xc3\x95\x0a\xa9\x54\x06\xa5\xa4\x7f\x7e\xa0\x24\x91\x48\x30\x3c\ +\x32\xc2\xf0\x92\x25\x1e\xe5\xec\xba\xcc\x35\x1a\xcc\xcc\x4c\x33\ +\x3d\xe3\x59\x89\x79\x79\x00\x7d\xf0\xe4\x3c\xcd\x24\x0b\x79\x28\ +\xa3\x94\x92\x5c\x2e\x67\x3e\xa6\xd3\xb9\x0a\x1c\xcb\x8f\xe7\xf5\ +\xc7\x7d\x21\x05\x3e\xdd\x15\x2a\x8c\xf5\x75\x01\x3b\x31\x17\x11\ +\xe0\x86\xe0\x7d\xe6\x03\xa8\x42\x5c\xc4\x64\xd0\xfb\x59\xcf\x3c\ +\xf3\x4c\x1b\x78\x5e\x53\x88\x3b\xa4\x94\xf9\x56\xab\x25\x1a\x8d\ +\x46\x22\x99\x4c\x1e\xb2\x2c\x8b\xb1\xb1\x31\x12\x09\x9b\x74\x3a\ +\xa3\x86\x87\x87\xc5\xe8\xe8\xa8\x7f\xea\xa7\x15\x35\x6e\x28\x85\ +\x25\x04\xc5\x62\x91\x42\xa1\xc0\x9a\x35\x6b\x51\xca\x03\x81\xb5\ +\x9a\x97\xe9\x9b\x9d\x9d\x0d\x31\x80\x31\x72\x59\xdb\xfd\x3a\x91\ +\xb5\x50\x2b\x6e\x6e\x1d\x3c\x1a\x37\x40\xf7\xd2\xdf\xc5\x7a\x62\ +\xc7\x11\xba\x29\xf7\x18\x42\x2f\x7a\xd0\xea\x01\xfc\x88\xc2\xd1\ +\x70\x84\x61\x31\xac\x79\x38\x1b\x21\xbc\x9e\x5b\xa9\x2e\xbd\x02\ +\xcc\xa3\x10\x13\xfa\xfd\xed\xdb\xb7\xe7\xa5\x94\xe2\xd4\xa9\x53\ +\xdd\xa5\x4b\x97\x7e\xa1\xd5\x6a\xff\x41\xad\x56\xe3\xf8\xf1\xe3\ +\x08\x21\xc8\xe7\xf3\x8c\xfa\x4c\x60\xa1\x50\xf2\xce\xfb\x31\xfa\ +\xef\x25\x99\x4c\x9a\x65\xcb\x96\x31\xba\x74\x29\x4a\x2a\x1c\xb7\ +\x3f\x4f\x22\xc8\x1c\x26\xb9\x90\xab\xef\xf7\x16\x9a\x2e\x40\xdb\ +\xc9\x21\x6a\xf7\xc0\xac\xa7\x08\xa6\x1f\x0f\x42\xbe\x90\x28\xd2\ +\x42\x3f\x47\xe9\x0c\xa0\xe6\x4a\xe6\xb1\x00\x6e\x30\xbc\x42\x80\ +\x94\xe2\x67\xaf\x00\xf3\xb8\x0b\xbd\xd6\xea\x0f\xfd\x9f\x40\x39\ +\x8e\xd4\xeb\xf5\xf5\xf5\x7a\x5d\x1c\x39\x72\x04\xcb\xb2\x18\x1a\ +\x1a\x62\xe9\xd2\xa5\x0c\x0f\x57\xbc\x43\x1f\x95\x79\x38\x13\x80\ +\x6d\x25\x8c\x79\x7f\xc6\xa0\x49\xe4\x82\xf7\xe3\x35\xe7\x9a\xd1\ +\x49\xa4\x7a\x14\x10\xa2\x76\x93\xd1\x0b\x84\xef\xc4\xd1\x7d\x28\ +\xe4\x28\x41\x34\x10\x05\x04\x0a\xa3\x65\x0b\xe3\x16\xc0\xaf\x7a\ +\xde\x2f\xdf\x65\xd8\xc0\xcf\x4c\x01\xce\xb7\xee\xbf\xff\x7e\xf1\ +\xf4\xd3\x4f\x6f\x0c\xee\x7f\xe2\x13\x9f\x48\x77\x3a\x9d\xe6\xcc\ +\xcc\x4c\x7d\x7a\x7a\x5a\x28\xa5\x72\xa9\x54\x2a\x3d\x3c\x5c\x61\ +\xc9\xc8\x08\xc5\x42\xc9\x3b\xc0\x49\xf9\x5d\x40\x61\x0e\x22\xca\ +\x4d\x84\x73\x7f\x17\x78\xa5\x52\x49\x66\xeb\xf5\x79\x78\x00\xbd\ +\xba\xc7\x8f\xf5\xf5\x74\x70\x2c\xde\x97\x71\xbe\x40\xc7\x0c\xf1\ +\x82\x11\xad\x82\x28\x46\x41\xff\xd0\xb2\xc4\x2e\x2b\x61\x7f\x17\ +\x41\xf7\xbc\xec\x1e\x97\xd9\xba\xef\xbe\xfb\xfe\x95\x52\xea\xb7\ +\xa4\x94\x1d\x7f\xb7\x5f\x9b\xcb\xe5\x43\x8a\x38\x9b\xcb\x85\x8d\ +\x28\x02\xcb\x3f\x91\x44\x5d\x92\x86\xcb\x6a\xb5\x0a\xc0\x37\xfe\ +\xe2\x2f\xc2\xe8\xe3\x60\x2a\x65\x50\xbf\x91\x4b\x10\xe7\x65\x05\ +\x23\xa6\x4f\x73\x01\x61\x22\x29\xc2\x05\x7a\xf2\xe8\x4b\xf5\x5a\ +\xc8\x9a\x02\x3c\xfc\xd0\x43\xeb\x1e\x7b\xec\xb1\xe3\xff\x24\xbd\ +\x7b\x39\x09\xff\x81\x07\x1e\x10\x4f\x3e\xf9\xa4\x8a\x61\x89\xef\ +\x28\xa5\xca\x52\x4a\x5b\x29\x55\xb0\x2c\xeb\xb6\x7c\x3e\x4f\xa9\ +\x54\xa2\x50\x28\x90\x48\x78\xb4\x75\xf0\xfb\x7c\x8c\xdd\xc5\x5a\ +\x53\x93\x93\x7c\xf3\x2f\xff\xd2\xc8\x06\xfe\x24\x95\xf2\x04\x68\ +\xe9\xe9\x5d\x61\xe4\xf5\x75\x50\x18\xd6\x08\x30\xcf\x8e\x1f\x20\ +\x93\x04\x5f\xae\x99\xc2\x07\xfe\x4e\xc0\x3f\x7b\x4f\xfc\x3e\x97\ +\xf1\xba\xef\xbe\xfb\xc4\x33\xcf\x3c\x13\x4a\xf3\xe1\x87\x1f\x4e\ +\xb6\x5a\xad\x6f\x4a\x29\x5b\x52\x4a\x17\xb8\x2f\x91\x48\xac\x0b\ +\xb2\x78\xb9\x9c\xc7\x4e\x06\xcd\x21\xb6\x6d\x0f\x64\xfc\x2e\xc6\ +\xba\xe3\x8d\x37\xf8\xcc\xb3\xcf\x1a\x4a\xf0\xa3\x4c\x3a\x22\x7a\ +\x02\x0b\x60\x61\xa0\x7f\x4f\xb0\xd6\xbc\xec\x5f\x98\xf5\x13\x68\ +\xd9\x45\xc1\x97\xeb\x03\xc2\xff\x47\xe0\x1e\xf1\x1e\xe9\x8e\xcb\ +\x5a\x01\xde\x83\x82\xdc\x23\xa5\xbc\x57\x29\xe5\xba\xae\xdb\xb7\ +\x2c\xeb\xff\x48\xa5\x52\x61\x9e\x3f\x9d\x4e\xab\x74\x3a\x2d\xd2\ +\xe9\xb4\x07\x2c\xc3\x8e\xe1\x0b\x53\x88\x44\xbf\xcf\xed\xfb\xf7\ +\xf3\x91\x57\x5f\xa5\x3c\x37\x17\x2a\xc1\x8b\x99\x8c\x49\xfa\x08\ +\x4d\x19\x44\x9c\x0a\xc6\x54\x98\x80\x23\x00\x4f\x71\xd4\xbc\xc2\ +\xff\x3b\xe0\xdf\x0b\x78\xe3\x3d\x67\xf8\xae\x54\xe1\x7f\xfc\xe3\ +\x1f\x17\x4f\x3d\xf5\x54\xdc\x5d\xfc\x8a\x52\x2a\x2d\xa5\xb4\x94\ +\x52\x6b\x6d\xdb\xfe\xf7\xc9\x64\x92\x74\x3a\x1d\xfc\xa8\x4c\x26\ +\x23\x72\xb9\x9c\xdf\xbe\xa6\x7e\x6a\x85\x38\x9f\x12\x3c\x97\xcd\ +\x9a\x60\x10\xe1\xf1\x00\xc2\xd2\x5c\xc2\x60\x59\x98\x4e\x27\x4b\ +\x01\x5f\xae\xd5\x2f\x58\xf8\x57\xbc\x05\xf8\x27\x14\xc4\x76\x1c\ +\xe7\x5e\x29\xa5\xeb\xba\x6e\xdb\xb6\xed\xff\x60\x59\xd6\x47\x03\ +\xf7\x90\x48\x24\xc8\x66\xb3\x1e\x85\x9d\xcb\x91\x4c\x26\xc3\x52\ +\xb0\xf7\xaa\x10\xe7\x53\x82\xa7\x72\x59\x0d\xe0\xc5\x81\x9f\x19\ +\xee\x39\x41\x18\xa8\x45\x08\x5f\xae\x5f\x1c\xe1\xff\x42\x2b\x40\ +\x7c\x6d\xdf\xbe\x7d\x44\x29\x35\xaa\x94\x12\xfd\x7e\xbf\x95\x4a\ +\xa5\x8e\x05\xe0\xd1\x2f\x2f\x57\xf9\x7c\x5e\x04\x95\xce\x5e\xe8\ +\xf9\xde\x2c\xc4\x7c\x98\xe0\x7b\xf9\xfc\x3c\xe8\x3f\x12\xba\x14\ +\xf1\x9c\x81\xa7\x04\xbf\x39\xb8\xf3\xdf\x97\xcf\x5f\x54\x80\xf7\ +\xae\x10\x65\xa5\x94\xed\x38\x8e\x95\x48\x24\xd6\x0b\x21\x5e\x0e\ +\x5a\xc7\x2d\xcb\x22\x93\xc9\xa8\x62\xb1\x28\x4a\x7e\xb9\x9a\xce\ +\xbf\xbf\x57\x25\xf8\x6e\xbe\x60\x96\x8a\x85\x26\xde\x2f\x16\x0d\ +\x6a\x03\x7d\x6b\xf0\x9b\x17\x08\xf8\x16\x15\xe0\xc2\x14\xc2\x02\ +\xac\x5d\xbb\x76\x39\xdb\xb7\x6f\xff\x03\xe0\x37\x82\xaa\x60\xcb\ +\xb2\xc8\xfb\x99\xce\x62\xb1\x18\xe2\x07\x3d\xe4\x3c\x9f\x3b\x78\ +\xff\x12\xbb\x70\xb3\xbf\xa8\x00\x17\x5f\x39\x8e\x03\xab\xfc\xeb\ +\x29\x2c\xcb\xb2\x4a\xa5\x12\xe5\x72\x99\x42\xa1\xe0\x1d\x19\x03\ +\xd8\xbd\x1e\x77\x1c\x38\xc0\x87\x5e\x7a\x89\x91\x4e\xe7\x42\x3e\ +\xf2\xa2\x08\x7f\x51\x01\x16\x80\x8b\xd8\xb1\x63\x47\xa2\xd7\xeb\ +\x35\x95\x52\xb3\x4a\x29\x0b\xc8\xa6\xd3\xe9\xec\xd0\xd0\x10\x43\ +\x43\x43\x94\xd3\x69\xae\x7a\xe6\x19\xfe\xcd\x5b\x6f\x5d\xc8\xc7\ +\xde\x78\x31\x84\xbf\xa8\x00\x97\xc6\x3a\x7c\x0a\xf8\xba\x94\xb2\ +\xa9\x94\xb2\x2c\xcb\xb2\x84\x10\x25\xcb\xb2\xb6\x3d\xfd\xf4\xd3\ +\x67\x16\xaf\xd0\xe2\x5a\x5c\x8b\x6b\x71\x2d\xae\xc5\xb5\xb8\x34\ +\xdc\x90\x58\xbc\x0a\x8b\x6b\x71\x2d\xae\x85\x5f\xff\x3f\xa5\x0f\ +\x64\x57\x3b\xb6\xe3\xb5\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\ +\x60\x82\ +\x00\x00\x3f\x66\ +\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\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\xdb\x09\x17\ +\x0b\x29\x38\x14\xe2\x83\x8f\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\x20\x00\ +\x49\x44\x41\x54\x78\xda\xed\xbd\x79\x94\x26\x57\x75\x27\xf8\xbb\ +\x2f\xe2\x5b\x73\x5f\x2a\x6b\xcb\x52\x55\xa9\xaa\xb4\x22\x23\x81\ +\x04\x36\xc8\xd8\x83\x05\xc6\x67\x38\x80\x30\xb8\x51\x23\x10\xb8\ +\x25\xc1\xcc\xe0\xe6\x9c\xc6\xd0\x3e\x9e\x71\x6b\xe8\xb1\x4f\x43\ +\xab\xe9\x31\x63\x18\x23\x64\x70\x7b\xc0\x56\x43\xd3\x60\x1b\x68\ +\x99\xc5\x3d\x0d\x36\x8b\x40\x42\x08\x0b\x24\x95\x84\xaa\x24\xd5\ +\x9e\x55\x95\x4b\x65\x7e\x5b\xc4\x7b\x77\xfe\x88\x88\x17\xf7\xbe\ +\x88\xa4\x67\x00\x37\x16\x53\x1f\x47\x48\x99\xf9\x2d\xf1\xc5\xbb\ +\xeb\xef\xfe\xee\xbd\xc0\xf9\xc7\xf9\xc7\xf9\xc7\xf9\xc7\xf9\xc7\ +\xf9\xc7\xf9\xc7\xf9\xc7\xf9\xc7\xf9\xc7\xf9\xc7\xf9\xc7\xf9\xc7\ +\xf9\xc7\xf9\xc7\xff\x5f\x1e\x74\xfe\x16\xfc\xd7\x1f\xef\x7f\xff\ +\xfb\x77\x5a\x6b\xff\x37\x10\xfd\x05\x81\xbe\xfe\x1b\xbf\xf1\x96\ +\x93\x77\x7c\xf0\x83\xf4\xa6\x5b\x6f\xe5\xa7\xfb\x77\x33\xe7\x8f\ +\xb7\xfa\x78\xcf\x7b\xde\x43\x00\xf0\x67\x1f\xfd\x33\xfa\xfd\xdf\ +\xff\xfd\x77\xac\xad\xad\x3d\xb2\xba\xba\xfa\xc6\x7e\xaf\xff\xe7\ +\x69\x9a\x9e\xf8\x83\xf7\xbd\xef\x03\x6f\xba\xf5\x56\xbe\xe3\x8e\ +\x3b\xe8\xbc\x05\xf8\x29\x7b\xdc\x7e\xfb\xed\xf4\xf6\xb7\xbf\x9d\ +\x6f\xbf\xfd\xf6\xe7\x02\xf8\x93\x8d\xde\xc6\xc5\xa3\xe1\x08\x69\ +\x9a\xb2\x63\x26\x76\x8e\x17\x16\x16\x68\x6e\x6e\xee\x79\x37\xdf\ +\x7c\xf3\xd7\xce\x0b\xc0\x4f\xe1\xe3\x5d\xef\x7a\xd7\x1f\x38\xe7\ +\xde\xd2\xeb\xf5\xc0\xcc\x60\x66\x38\xe7\x60\x22\x03\x9b\xa4\x00\ +\x01\x3b\x77\xee\xfc\xda\x8e\x6d\x5b\x7e\xe1\x55\xbf\xf6\x8f\x93\ +\xa7\xf3\x77\x8d\xcf\x1f\x37\xf0\x3b\xff\xeb\xbf\xe8\x36\xe3\xc6\ +\x2b\x0d\x99\x8f\x00\x78\x78\x34\x1a\x5d\x32\x1c\x8d\x98\x08\x04\ +\x26\x80\x00\x63\x0c\x26\x3a\x5d\xac\xd8\x73\x60\xe7\xb0\xbc\xbc\ +\xfc\x73\x71\xa3\xf9\x3a\x00\x1f\x3e\x6f\x01\x9e\x26\x8f\x77\xbe\ +\xf3\x9d\x74\xdb\x6d\xb7\xf9\xc0\xed\xb6\xdb\x6e\x7b\x3b\x80\xcb\ +\xa3\x38\xda\x0e\xe0\xc5\xcc\xc8\xb4\xdd\x3a\x66\x30\x21\xd7\x7e\ +\x76\x0e\x26\x8a\xd0\x6a\x34\xb0\xb6\xbe\x01\x02\x83\x01\x6c\xd9\ +\xb2\x90\x4c\x4f\x4d\xce\xdc\x72\xeb\xad\x1b\xe7\x05\xe0\x69\xf2\ +\xf8\xed\xdf\xfe\xed\x7f\xfc\xe8\xa3\x8f\x0e\x0f\x1c\xb8\xe8\x7f\ +\xef\x74\x3b\x8b\x00\x13\x18\xc8\x0e\xdf\x79\x93\xaf\xff\x71\x68\ +\xc6\x0d\x30\x03\xfd\xe1\x00\x00\xc3\x5a\xc7\xed\x56\x9b\xb6\x6d\ +\xdf\xf6\xb9\xb7\xbc\xe5\x2d\x2f\xb9\xf3\xce\x3b\xe9\x96\x5b\x6e\ +\xe1\xf3\x02\xf0\x0f\xec\x71\xe5\x95\x57\x4d\xbc\xe4\x25\xbf\x3c\ +\xc3\xcc\xf7\x11\xd1\x7f\x69\x77\xda\xaf\x62\xc7\x68\xb7\xdb\xe0\ +\xec\xd4\x61\x5d\x76\xd0\x80\x03\x33\xe0\x72\xad\x07\x73\xf6\xdf\ +\xec\xd0\x6a\x34\x30\x4a\x12\x24\x36\xfb\x3d\x33\x23\x49\x12\x5e\ +\x58\x58\xa0\xf9\xf9\xf9\x1b\x6f\xb9\xe5\x96\x3f\x3d\x6f\x01\x7e\ +\x42\x8f\xb7\xbd\xed\x6d\xf4\x9e\xf7\xbc\x87\xf3\x00\x2e\xfe\xad\ +\xdf\xfa\x2d\x7a\xed\x8d\xaf\x7d\xcd\xd4\xe4\xd4\x01\x66\x3e\xb0\ +\x65\xcb\x96\xd7\x8c\x8f\x8f\x23\x49\x12\x34\x5b\x4d\x76\xa9\x23\ +\x66\x86\xdb\x44\xe3\x5d\xfe\x6f\x38\x86\x83\x03\x18\x88\x8d\xc1\ +\x30\x49\x94\x55\x80\x23\x24\x36\xe1\xdd\xbb\x77\x2f\x77\xbb\xdd\ +\x6f\xc5\xad\xf8\xfa\x5f\xbf\xe9\xd7\xd7\xcf\x0b\xc0\xdf\xe3\xe3\ +\xd6\x37\xbd\x89\x3e\x78\xc7\x1d\x0c\x00\x7b\xf6\xec\xe9\x1c\x3e\ +\x7c\xb8\x0f\x00\x6f\x7e\xf3\x9b\xdf\x30\x1a\x25\x0f\x4e\x4f\x4f\ +\xdd\x6e\xad\xbd\x66\x6a\x7a\x8a\x0d\x99\xf1\x76\xbb\x8d\x66\xb3\ +\x09\xe7\x5c\xc5\xcc\x67\x9a\xce\x42\xd3\x59\xfc\xbd\x78\x2e\xc0\ +\x60\x18\x66\x24\xce\x01\xec\xe0\x5c\x16\x03\x14\x02\x12\x99\x08\ +\xed\x76\x1b\x8b\x8b\x8b\xff\xd3\xd7\xbe\xf6\xf5\xcf\x7e\xf8\xc3\ +\x1f\x7a\xe2\xbc\x00\xfc\x3d\x3e\xde\xf0\xc6\x37\xfe\x21\x11\x3e\ +\x7f\xe4\xa9\x23\xcf\x3b\xb0\x7f\xff\x2d\xa9\xb5\xf7\x6d\xdf\xbe\ +\xed\x85\xbd\xde\x00\x3b\x17\x77\x80\x9d\x03\x91\x81\x21\x83\xd4\ +\xd9\xc0\x9c\x8b\x7f\x1c\x83\xe1\xf2\x34\x0f\xb9\x4b\x70\x70\xc8\ +\x05\xc0\x49\x6d\x77\x70\x80\x4f\x09\xb3\xf3\xcf\xac\x84\x65\x07\ +\x93\x05\x85\x38\x74\xf8\xf0\x3d\x1f\xf8\xc0\x1f\xfe\xec\x5d\x77\ +\xdd\x45\x37\xdc\x70\x03\x9f\x17\x80\xff\x0f\x8f\x1b\x6f\x7c\x1d\ +\x7d\xf4\xa3\x1f\x61\x00\xb8\xf1\x75\x37\x46\x1f\xfd\xc8\x47\xed\ +\x0d\x37\xdc\xf0\x33\xd6\xda\x67\xcd\xce\xce\x76\x47\xa3\xd1\xfb\ +\xc7\xc7\x26\x1e\xdd\xb2\x30\x7f\xe0\xdc\xfa\x39\xb4\x5b\x1d\x6c\ +\xdb\xb6\x15\x1b\x1b\x1b\x98\x9c\x9c\x64\x6b\x2d\x59\x6b\xcb\xc3\ +\x65\xce\x0e\xd3\xb9\xdc\xc7\x23\xb7\x04\x75\x82\x10\x98\x7e\xce\ +\x7d\x3d\x00\x9b\x24\x00\x08\x4c\x54\xfe\x3e\x70\x19\xce\x5a\x44\ +\xc6\x60\xcb\xc2\x02\xe6\xe6\xe6\xfe\xc3\xcd\x37\xdf\xfc\x6b\x00\ +\xf0\x47\x77\xfe\x11\xdd\x7c\xcb\xcd\x7c\x5e\x00\x82\xc7\xeb\x6e\ +\xbc\x91\x3e\xf2\xd1\x8f\xb2\xb8\x0e\x06\x80\x5f\xfd\xd5\x57\xbd\ +\xec\xdc\xb9\xb5\x07\x77\xec\xd8\xf1\x6f\x7b\x1b\xbd\xab\xf6\x1f\ +\xd8\x4f\xc3\xe1\x70\xd7\x96\xf9\x2d\x58\xd8\xba\x80\xfe\xa0\x8f\ +\xb1\xee\x18\x5b\x6b\x29\x4d\xd3\xcc\x84\x13\xc3\xda\xcd\x22\xf8\ +\xea\x61\xbb\x3c\xf8\x93\xc2\x21\x0f\xd3\xfb\xfe\x5c\x30\x46\x83\ +\x21\x4c\x1c\x7b\xad\x2f\x82\xc7\x22\x58\xe4\x5c\x50\xd8\x39\x8c\ +\x92\x11\xef\x5a\x5c\x1c\x6d\xdf\xb6\xfd\x5b\x44\xe6\x9f\xbe\xfe\ +\xa6\xd7\xdf\x7b\xde\x02\x6c\xf2\x78\xf9\xcb\x5e\xf6\x2f\x01\x7c\ +\xf1\xd8\xf1\xe3\xdd\xbd\x7b\xf7\xdc\x31\x1a\x8d\xee\xb9\xf8\xe2\ +\x4b\x5e\x7d\xf6\xec\x59\x3c\xe7\x39\xcf\xc1\x68\x34\x42\xa7\xdb\ +\x41\xab\xd1\xc4\x28\x49\xc0\xec\xbc\xdf\x2e\xfd\x35\x44\xe0\xe6\ +\x72\xed\xcd\x0e\x0e\x0e\xe5\x6b\x36\x0b\xf6\x8a\xf7\xca\x0f\xdc\ +\xe6\x87\xeb\x85\x81\x1d\xfa\x1b\x7d\x34\xdb\xad\xec\x3d\x39\xb7\ +\x22\x2e\x17\xa0\x22\x8e\x40\x19\x3f\x10\x19\xb4\xdb\x6d\xec\x5a\ +\x5c\xfc\xc8\xaf\xbc\xe8\x85\x6f\xd8\x73\xe0\x12\xf7\x53\x2b\x00\ +\xaf\xbf\xe9\x26\xfa\xbf\xfe\xe4\x4f\x18\x00\x6e\xb8\xe1\x86\xf8\ +\xae\xbb\xee\x4a\x01\xa0\xdb\x6a\xcd\x5c\xf3\xdc\xe7\x4c\x7d\xe9\ +\xcb\x7f\x73\xf8\xe5\xaf\x78\xc5\x0b\x9c\x73\xaf\x1f\x0d\x07\x1f\ +\x9f\x9f\x5f\x98\xed\xf5\x7b\x77\xcd\xcc\x4c\xdf\xb7\xb8\x63\xf1\ +\xd9\xa7\x4f\x2f\xa1\xd1\x6a\xe1\xca\x2b\xaf\xc4\x99\xd3\x4b\xd8\ +\xb3\x67\x2f\x27\x69\x42\x69\x6e\x76\xad\xb3\xd9\x41\x82\xf3\xe0\ +\x8b\x33\x7f\x5c\x93\xab\x67\x87\x86\xfc\x40\x9c\xd7\x76\xff\x1c\ +\xe4\x87\xe5\x90\x65\x00\x90\xef\x53\x06\x88\x10\x56\x22\x49\x12\ +\x0c\x87\x03\xb4\xbb\x63\x60\xeb\xf2\xeb\x70\xb5\x58\x81\x13\x96\ +\xc1\xa5\x16\x3b\x77\xee\xc4\xd6\x6d\xdb\x9e\xf7\xc6\x37\xbe\xf1\ +\x6b\x3f\xd5\x16\xe0\xf5\x37\xdd\xf4\xc6\x33\x4b\x67\xbe\x32\x37\ +\x3f\xfb\xa7\x83\xfe\x60\xfb\x70\x34\xfc\x2b\x6b\xdd\xd4\xe4\xe4\ +\xc4\xcb\xfa\x83\x7e\xf4\xcc\x2b\xaf\x3c\x17\x99\x68\xfa\xe8\x91\ +\x23\xd8\xbd\x7b\x37\xf6\x5e\x78\x21\x7a\x1b\x1b\xd8\x32\xbf\x85\ +\x93\x34\xa5\x51\x32\x02\x31\x00\x30\x52\x9b\xe6\xe6\xb4\x3c\x30\ +\x27\xb4\xb2\x40\xe6\xd4\xc1\xc1\xe5\xa6\x18\xca\xa7\xfb\xe7\xf9\ +\xa0\xce\x95\x56\xc3\xe5\x42\xe3\xcd\xba\xf3\xd6\xa0\x38\x44\x00\ +\xe8\xf7\x36\xe0\x98\xd1\x6a\xb7\xc1\x96\xbd\x00\x54\x83\xca\xc0\ +\x1a\x39\x0b\x66\xe0\xb2\xcb\x2e\x43\xb3\xd9\x3a\xf3\x4f\xfe\xc9\ +\xaf\xcf\xff\x54\x0a\xc0\xeb\x6e\xbc\x31\x22\x63\xd2\x6e\xa7\x8b\ +\x6b\x5f\xf0\xf3\xe8\x6f\x6c\x60\xe9\xcc\x19\x10\x11\xf6\x5d\xb8\ +\x0f\xce\x59\x44\x91\x41\xab\xd5\x06\x11\x61\x34\x1a\x01\x22\x9a\ +\x2e\xb5\xaf\x00\x62\xca\x43\x67\x61\x62\xfd\xa1\x7a\xf3\x5c\x1c\ +\x58\x21\x00\xc2\xaf\x5b\xf8\xe8\xbe\x78\x6e\x61\xba\x21\x84\xca\ +\x6b\x6e\x6e\xc2\xb5\x7b\xc9\x04\x60\x75\x65\x05\xad\x56\x0b\x71\ +\xa3\xe1\x0f\xd9\x03\x45\xe1\x75\xaa\x80\xd2\xc1\x5a\x87\x34\x49\ +\x78\x6e\x6e\x0e\xcf\x78\xc6\x15\xdf\x62\x76\x77\xbe\xf6\xb5\xaf\ +\xbd\xe3\x1f\x92\x00\xfc\xc8\xc5\xa0\xc1\x70\x78\xc5\x96\xf9\x79\ +\x5c\xf7\xa2\x17\x63\x30\xe8\x63\x6a\x6a\x1a\xb3\x73\x73\x00\x01\ +\xce\x3a\xc4\x51\x0c\x10\x21\x49\xcb\xa2\x59\x11\xf9\x19\x02\x1c\ +\x13\x72\xf5\x07\xb3\x94\x47\xd6\x4f\x26\x00\xcc\x1e\x87\xa7\xfc\ +\xbf\x28\x7f\x82\xff\x0b\x17\xcf\x2d\xe2\x4a\x02\x81\xe0\x20\x3e\ +\x83\x58\xbc\x3d\xe5\x11\x28\xfb\xd7\x14\xaf\x64\x06\x92\x24\x41\ +\x77\x6c\xcc\x5f\x0a\x33\x83\xb2\x4a\x01\xfc\xe5\xe6\xd6\x2b\x0c\ +\xf5\x0d\x11\x1a\xcd\x06\xad\xad\xad\xe1\xdb\xdf\xbe\xff\xd9\x3b\ +\xb6\xef\xe0\x4f\xfe\xc7\x4f\xde\xdf\xeb\xf7\x1e\xb0\xd6\x8e\x6e\ +\xba\xe9\xa6\x9f\x78\x76\xf0\x23\x13\x42\x98\xf9\x17\xa7\xa6\xa7\ +\xe1\xd2\x04\x44\x99\x6f\x4d\xd3\x14\x36\xb5\xfe\x30\x88\x08\x44\ +\x26\x3b\x0a\x22\x98\xfc\x77\xd9\x1f\xcb\xf3\x25\x71\xfe\x44\xe4\ +\x9f\x2f\x7e\x99\x1f\x4f\x79\xce\xd9\x0f\x04\x22\xd6\xc2\x43\x79\ +\x64\x9e\x45\x82\x20\x66\x80\x48\x7d\x86\xff\xf8\xe2\x5a\xf2\xcf\ +\x65\x64\xcf\xb3\x2e\x85\x73\x0e\x51\x14\xe5\x4f\x0f\xae\xa7\xc6\ +\x84\x72\x21\xa0\x5c\x5e\x0a\x33\x63\x75\x75\x95\x97\x57\x96\xaf\ +\x3e\x71\xf2\xc4\x3d\x49\x92\x5c\x5f\x1c\xfe\xa7\x3e\xf5\x17\xf4\ +\xb4\x16\x00\x43\xe6\x97\xe6\xe6\xe6\xb2\xe8\xb9\xbc\xa3\xfe\xdd\ +\x29\xbf\x99\x94\x6b\x04\x89\x9b\xcd\xc5\xcf\xb9\x36\xb1\x97\x84\ +\x4d\x1c\x15\x97\x3f\xf8\x83\x23\x02\x53\x8d\x67\xcb\x64\xc0\x3f\ +\x2f\x13\xa8\xa2\xe8\x53\x63\x64\x18\x5e\x88\xb2\xb7\x35\x18\x0d\ +\x87\xd9\xe1\x57\xae\x87\xd4\x7b\x17\x17\x5d\x08\xb1\x30\x30\xfe\ +\xa5\x51\x14\xd1\xf1\xe3\xc7\x71\xef\xbd\xf7\x72\x9a\xda\xbb\xee\ +\xba\xeb\xdf\x9f\xfc\xde\x43\x0f\x37\xae\xbf\xfe\xe5\xfc\xb4\x16\ +\x80\x38\x8e\x7e\x76\x66\x66\x26\xf3\xaf\x24\xee\xa6\x3a\x3c\xf6\ +\xa0\x4a\xa6\x96\x94\x6b\xb0\x3c\x0d\x71\x28\x1c\x38\x02\xce\xad\ +\x81\x3c\x7c\x84\xee\x22\xff\x3b\x89\xcf\x17\xc2\x58\xbe\x2d\x57\ +\x84\xac\x70\x2b\x85\x89\x2f\xfc\xff\xa0\xd7\x47\xb3\xd9\xf4\xc2\ +\x84\x22\xbd\xe4\xc2\xe5\x50\xfe\x5c\x69\x8f\xf4\xbf\x39\x17\x70\ +\xca\x84\x00\xcd\x66\x93\xbe\xf1\xcd\x6f\xe0\x9b\xdf\xfc\xc6\xc2\ +\xf7\xbe\xfb\xdd\xff\xe3\x93\x9f\xfc\xe4\xab\x9e\xb6\x02\xf0\x9a\ +\x1b\x6e\x98\x6f\xb5\xdb\xf3\x9d\x6e\xd7\x47\xcf\xe1\x61\x16\x41\ +\x9e\xf3\xe6\x31\x4b\xbf\x50\x44\xe6\xa5\xc5\x46\xe1\xc2\x33\x6b\ +\x90\xfd\x8f\x98\x83\x23\x2c\x7c\xad\xab\x1a\x08\xe9\x4e\x50\x95\ +\x2b\xaf\xa7\x4c\x20\xae\x31\x32\x81\xdc\xf6\xfb\x7d\x34\x5b\xad\ +\xf2\x3a\x51\x5e\xa3\x0e\x50\xd8\x0b\x16\x83\x0b\x0e\x89\x17\xd8\ +\xe0\xad\x61\x88\xd0\xeb\xf5\xf0\xd0\x43\x0f\xbd\xf9\xf8\xf1\x63\ +\x1f\xfc\xd2\x97\xbe\xdc\x04\x80\x8f\x7d\xec\xe3\xf4\xb4\x12\x80\ +\x74\x94\xfc\xec\xe4\xc4\x24\x62\x63\xa0\xef\x92\x8f\x0f\xbc\x00\ +\xc0\xe7\xd7\x79\xc4\xef\x20\x75\xd2\xff\x48\x90\x92\x50\x1e\xb9\ +\x7c\x7b\xae\xf3\xbe\xac\x4f\x87\x6b\xbd\x08\x57\x42\x35\xaa\x73\ +\xe6\x04\xa4\xd6\x22\x49\x53\x34\x1a\x0d\x2f\x74\xec\x63\x97\xc0\ +\x4c\x15\xef\x5e\xb8\x85\x22\x33\x28\x7e\xc9\x55\x69\xb4\xd6\xe2\ +\xd1\x47\x0f\xf2\x93\x4f\x3e\x35\x73\xec\xd8\xd1\xe1\x27\x3e\xf1\ +\x1f\x7f\xff\x1f\xfd\xa3\x5f\xe3\xa7\x95\x00\x90\xa1\x5f\x9a\x9d\ +\x9d\xf5\xda\x2a\x9d\x2c\xb3\x8a\x82\x04\xb2\xc6\xa5\x25\x28\x84\ +\xc1\x5b\x8f\x42\x58\x6a\x74\x98\x64\x7c\xc7\x28\xbd\x07\xfb\x8a\ +\x5d\x78\xf8\x2c\x7c\x7e\x06\x04\x91\x8c\xf9\x03\x6d\x86\x77\x33\ +\x44\x84\xe1\x70\x80\xc8\x18\x18\x63\xbc\x9b\xa0\xc2\xe4\xe7\xb1\ +\x47\x55\x0e\xd9\x07\x90\xb4\xa9\x2e\x97\x22\xd8\x6a\xb5\xe8\xe4\ +\xc9\x93\xf8\xcc\xa7\x3f\xcd\xc7\x8e\x1e\x7d\xc3\x67\x3f\xf3\xd9\ +\xbb\xef\xfe\x4f\x9f\x3d\xf0\xb4\x11\x00\x63\xa2\x5f\x9c\x9d\x9b\ +\x45\x6a\x1d\x00\xca\xb4\xdb\x6b\x6c\x6e\xfa\x0b\xd4\x2d\x2c\xbe\ +\xf8\x52\x2c\x6a\xcc\x64\xa8\x61\xe2\x90\xa5\x40\x10\x2b\xaf\xc3\ +\xf2\xff\x73\x81\x22\xef\x5f\x0a\xcd\x74\xc1\x5b\x07\x48\x61\x7e\ +\xd0\x1b\xeb\x1b\x68\xb6\x5a\xe2\x24\xa9\x0c\x2d\x58\xb8\x26\x0e\ +\x05\x28\x77\x36\x3e\x0d\x0d\xc3\x9b\x22\x63\xc9\xde\x2f\x8a\x22\ +\xb4\xda\x6d\x7a\xe8\xe1\xef\x4d\x7d\xe5\x2b\x7f\xfb\x92\x95\x95\ +\xb5\x1b\x3f\xf3\x99\xcf\xec\x7f\x5a\x08\x40\xb3\xd9\xbc\x62\x62\ +\x62\x02\xce\xba\x5c\x73\x9d\x30\xf9\x19\xb4\x0a\xce\x51\x3a\x32\ +\x65\xf1\x24\x6e\x82\x1b\x6d\x70\x64\xb2\xe7\x44\x31\xb8\xd5\x01\ +\x47\x0d\x9f\xd9\x17\x01\x99\x03\xf9\xdc\x9d\x64\x10\xe7\xf3\x76\ +\xa1\x86\xec\x43\x4b\x14\x96\x9a\x89\x02\xcb\x50\x06\x8a\x5c\xe3\ +\x2a\x8a\xc7\xfa\xfa\x06\x3a\xdd\xb1\xb2\xd0\x53\x08\x07\x15\x2e\ +\x8b\x4a\x0b\x14\x98\x2a\x29\x48\xa1\x11\x23\xf1\x2c\x79\xed\xfd\ +\xfe\x00\x4f\x3d\xf5\x14\x4e\x2d\x9d\xfa\x17\xcb\xcb\xcb\x8f\x32\ +\xf3\x7f\x93\x9e\x8d\x1f\x1a\x08\x7a\xcd\x6b\x5e\x73\x79\xb7\xdb\ +\x89\x9a\xcd\x26\xd2\xd4\xfa\xf4\x08\xcd\x36\xe0\x2c\x60\x2d\x28\ +\x8e\xc1\x71\x33\xbb\xf9\x87\x1f\x02\xb6\xec\x04\x26\x67\x61\xff\ +\xfc\x43\xc0\xd6\x45\xd0\xe2\x3e\xf0\xf6\xdd\xc0\x27\x3e\x00\x6e\ +\x8f\x81\x77\x5f\x04\xde\xb6\x1b\x3c\x31\x05\x8e\x62\x30\x19\x98\ +\xe3\x4f\x80\xbb\xe3\xe0\x76\x37\xbb\xe9\x69\x0a\xa4\x23\xaf\xb1\ +\x65\xac\x01\xa5\xf9\x3e\x65\x64\xae\x31\xc2\x12\x2f\x40\x69\xda\ +\xf3\x87\x63\x87\x7e\xbf\x87\x1d\x9d\x1d\x70\x36\x07\x7e\x8a\x63\ +\x63\x2e\x8f\x99\xf2\xe0\x25\x40\x03\x51\x2a\x38\x98\x49\x89\x5a\ +\xe6\x8e\xa8\x8c\x47\x88\x41\x9c\xe3\x23\x51\x84\xaf\x7e\xed\xab\ +\x98\x18\x9f\xc4\xec\xec\xec\xfa\x5f\xdd\x7d\xf7\xdd\x2f\xf9\x95\ +\x5f\xf9\xd5\x7f\x90\x02\xc0\xcc\xbf\x30\x3d\x35\x05\x44\x31\x30\ +\x18\x80\xbb\xe3\xa0\x93\x4f\xc2\x3c\x78\x0f\xdc\xfe\x67\x64\xf2\ +\xff\xe7\x77\x82\x76\x5f\x0c\xcc\x6d\x85\xfd\xeb\x4f\x82\xc6\x26\ +\x81\xa9\x79\xf0\xd2\x11\xd8\x24\x85\x89\x22\xd0\xd8\x04\x90\x8e\ +\x60\x7b\x3d\x98\xaf\xfe\x15\xa8\xd9\x02\x4d\xce\x00\xdb\x76\x81\ +\x77\x5f\x8a\xe8\xeb\x77\x03\xc3\x01\x30\xbb\x00\xbb\x6d\x37\xec\ +\x8e\xbd\x48\x17\x76\xc1\x8d\x4f\x83\x1b\x8d\xcc\xa2\xa4\x09\x60\ +\xd3\x4a\x50\x0e\x30\x58\x24\xe5\xe4\x83\x4d\xf6\x01\x5b\x9d\x15\ +\x48\x46\x09\x1c\x33\x1a\xcd\x06\x6c\xea\x32\xc1\x66\xae\x38\x29\ +\x6f\x6a\xb8\x26\xec\xe4\x02\xb9\x2c\xc8\x23\x94\x59\x3b\x95\xc9\ +\x88\x4c\x29\x07\xa1\xda\xad\x36\xfa\x83\x3e\x3e\xf6\xb1\x8f\x75\ +\x2e\xbe\xf8\xe2\x17\xfe\xcd\x97\xbf\xfc\x4f\xfb\x83\xc1\xbd\xa3\ +\xd1\xe8\x9b\xd6\xda\xf4\xe5\x2f\xff\xf1\xe2\x06\x3f\x74\xda\xf1\ +\xaa\xd7\xbe\xf6\x93\x57\x3d\xf7\x79\xd7\xef\x89\x52\x98\xaf\xff\ +\x15\xcc\xf7\x1f\x04\x77\x27\xc1\xa7\x8e\x66\x00\x4f\x2b\x23\x5d\ +\xa6\xfd\x01\xc0\x0e\x8d\xc9\x69\xb8\x24\x41\xd2\xeb\xa1\x3d\x3b\ +\x8d\xb1\xf9\x79\xf4\x96\x4e\x63\xb8\xbe\x8e\xb8\xdd\xc6\xc2\x25\ +\x17\xe1\xdc\x89\x53\xe8\xaf\xac\xc2\xf6\xfb\x70\x36\x81\x61\x86\ +\x19\x9b\x00\x45\x06\x6e\x34\x04\xa5\x16\x26\x02\x4c\xdc\x02\x8f\ +\x8d\xc3\xce\x6d\x47\xb2\xed\x02\x24\x0b\x17\x20\x99\x59\x40\xda\ +\xec\xc0\xc1\x00\x2e\x05\xd2\x04\x6c\xad\x2f\x28\x71\x4d\xd5\xaf\ +\xfa\x37\x06\x11\x61\x69\xe9\x34\x1e\x5e\xf8\x2e\x9e\x6f\xaf\x45\ +\x9a\xa4\x25\xfe\xaf\x62\x19\x07\xf6\xe5\x66\x51\x49\x14\xa5\x69\ +\x76\x28\xeb\x16\x35\x9f\x55\x32\x92\x20\xea\x13\xd9\xfb\x58\xe7\ +\x30\x3d\x35\x89\x03\x07\x0e\x60\x66\x66\x16\x53\x53\x53\xbf\x7b\ +\xfd\xf5\xd7\xff\x0e\x00\x7c\xee\x73\x9f\xa3\x5f\xfe\xe5\x5f\xe6\ +\x9f\xa8\x00\x7c\xf8\x45\x57\x1c\x8f\xf7\x5e\xb6\xad\xfd\xe8\xb7\ +\xc0\xc3\x01\x1c\x80\x74\x30\xc4\xec\xee\xdd\x48\xfa\x03\x6c\x9c\ +\x39\x8d\x6d\x57\x5c\x8e\xb8\xd5\xc4\xb9\x63\x27\x30\xb9\x73\x07\ +\x26\x77\x6e\x47\xff\xec\x32\xc8\x18\x4c\x6c\xdb\x9a\x09\x44\x7f\ +\x80\x74\x38\xc0\xd8\x96\x79\x38\xeb\xe0\x92\x14\xc9\xc6\x3a\x36\ +\xce\x2e\x63\xfd\xd4\x12\x5c\xea\xb0\xeb\x39\xcf\x46\xef\xcc\x59\ +\xf4\x97\x97\xd1\x3b\x7b\x16\x83\xb5\x75\xa4\x83\x21\x60\x53\x10\ +\x3b\x44\x11\x01\xad\x0e\xec\xc4\x2c\x92\xf9\x1d\x18\x6c\x59\xc4\ +\x68\x76\x07\x46\xdd\x49\xd8\x28\xce\x6e\xb4\x4d\x41\x2e\x85\xb3\ +\xb6\x0c\x2a\xd9\x79\x2a\x58\x71\xe3\xa3\x28\xc2\xa3\x8f\x3e\x8a\ +\xe5\x2b\xce\xe2\x59\xeb\xcf\x46\x9a\xa6\xfe\x90\x21\x8b\x41\x79\ +\x84\xcb\x41\x86\x53\xa9\x10\x16\xc5\x21\xc7\xf5\xb4\x34\x51\xc6\ +\x96\x65\x6e\xc7\x9c\x43\xea\x09\x86\xc3\x11\xbf\xec\x65\x2f\xa3\ +\xdd\xbb\x77\x1f\x6d\xb7\xdb\xd7\xbe\xe0\x05\x2f\x38\xfc\x13\xb5\ +\x00\x7f\xf9\xc2\x8b\xa6\x47\x69\xba\xec\x46\x43\xb8\x38\x46\xdc\ +\x68\x62\xd7\x35\xcf\xc2\xf0\xdc\x39\x8c\x6f\xd9\x02\x8a\x22\xb0\ +\xb3\x00\x08\xa6\x11\xc1\x98\x08\x2e\x4d\xb3\x38\x39\x32\xde\x57\ +\x17\x78\xbf\x0a\xa5\xf2\x34\xcb\x18\x03\x98\xac\x15\x8b\xad\xcd\ +\x11\xd7\x2c\x8c\x72\x36\x45\x32\x18\x60\xb8\x7a\x0e\xbd\xe5\x15\ +\x0c\xd6\xd6\x90\xf4\xfa\xe0\x34\x01\x39\x8b\x88\x08\x88\x63\x70\ +\x7b\x0c\xa3\xa9\x2d\x18\xcc\x6d\x47\x6f\x66\x3b\xfa\x13\x73\x48\ +\x9a\x6d\x38\x10\x60\x6d\x66\x29\xac\x15\x56\xc1\xc1\x50\x84\x2f\ +\x8c\x3e\x8f\xed\x3b\x76\xe0\xe2\x13\x17\xc3\xba\x92\x02\xe6\x9c\ +\xb6\x02\x10\xa4\x92\x82\x3d\x5c\x4f\x38\xd9\xbc\xdf\x20\x13\x28\ +\xa7\xb3\xa3\x1a\xeb\xc0\x00\xa6\xa6\x26\xf1\xd2\x97\xbe\xf4\x83\ +\x9d\x4e\xe7\x3f\x4d\x4d\x4d\xfd\xe5\x35\xd7\x5c\xc3\x3f\x91\x18\ +\x60\xc4\xfc\x1c\x07\x42\x34\x3e\x81\xc9\xb9\x59\x6c\xb9\xe4\x00\ +\x38\x49\x31\x36\x3f\x97\x69\x18\xbb\xbc\x00\x44\x70\xa9\x05\x93\ +\xcb\x31\xff\xd2\x5f\xfa\x9f\x73\xff\x4a\x41\xf4\xee\xac\x2d\xfd\ +\x3a\x41\xdd\x20\x30\x23\x6e\x34\xd1\xd8\x32\x8f\xf1\x2d\x5b\x32\ +\x62\xc7\x28\xc1\xa8\xd7\xc7\x60\xed\x1c\x06\x6b\xe7\x30\xea\x6d\ +\x80\x93\x11\x9a\xa7\x9e\x42\xfb\xd4\x13\x98\x35\x06\x68\x34\x91\ +\x76\x27\xd0\x9b\x5a\xc0\xc6\xf4\x36\x6c\x4c\xcc\x63\xd0\x19\x87\ +\x35\x59\xa9\x17\xd6\xc2\xb9\x14\xa3\xe1\x10\xed\x56\x0b\xec\xb2\ +\x9c\xc4\x79\x90\x87\x95\xbb\x67\x1f\x1c\x16\xf0\x70\x18\x0c\x56\ +\x71\xed\x2a\x0c\xc5\x25\x60\x01\x5d\x0c\x63\x89\x8c\x32\x63\x65\ +\x79\x19\x0f\x3c\xf0\xc0\xad\x0b\x0b\x0b\xb7\x6e\xdb\xb6\x6d\x1c\ +\xc0\xc6\x4f\xc4\x02\x7c\xe2\x17\xf6\xbd\xdb\x5a\xfb\x8e\x99\x3d\ +\x17\x60\xfe\xc2\x3d\x48\x93\xc4\x57\xfc\xe0\x0b\x3c\xf9\xbf\x0d\ +\x95\x9a\x6e\x00\x82\xd1\x55\xb9\xe2\xbf\x59\xc6\x52\xec\xcd\x2d\ +\x73\x10\x65\xbb\x02\xd9\x29\x48\x19\x45\xba\x99\x17\x7f\x8a\x34\ +\xcd\x39\xd8\xe1\x08\xa3\x5e\x0f\xc3\xf5\x0d\x24\xbd\x1e\xec\x68\ +\x04\x4e\x2d\x0c\xbb\xac\x22\x19\x47\xb0\x8d\x36\x06\x63\x33\x58\ +\x9f\x98\xc7\xda\xc4\x3c\x36\xba\xd3\x78\x78\xf7\x53\xa0\x28\xc6\ +\xe2\xa1\xdd\x20\x97\x80\x02\x06\x52\x68\xee\xeb\x19\x4a\x05\xef\ +\x20\x0b\x02\x4b\xee\x60\x95\x77\x10\x12\x53\x21\xc8\x25\x3e\xc6\ +\x70\x0e\xce\x39\x0c\x06\x03\xcc\xcf\xcf\xe3\xfa\xeb\xaf\x47\x1c\ +\xc7\xa7\x9b\xcd\xe6\xbf\xbb\xee\xba\xeb\xde\xfe\xdf\x3a\x0b\xf8\ +\xef\xd8\x31\xda\xe3\xe3\x70\xa9\x55\x19\xae\x3a\x7c\x51\xf9\x2b\ +\x2a\x83\xf0\x8a\x4f\x65\xea\x48\x21\x5c\x4b\x00\x9b\xb2\x40\x20\ +\xeb\x3b\x3e\xe5\xcf\xab\x80\xbe\x56\x80\x92\x41\x94\xd3\xb6\x29\ +\x8e\xd0\x9a\x9c\x40\x6b\x72\x22\xbb\x99\xd6\x22\x1d\x0c\x91\xf4\ +\x07\x48\x06\x03\xd8\xd1\x08\x64\x2d\xba\x6b\x4b\x98\x58\x3b\x85\ +\x1d\x04\x70\xdc\x00\x45\x09\x7a\xad\x71\x6c\x3f\x63\xb1\xda\x99\ +\xc1\x46\xb3\x8b\xd4\xc4\x70\x8e\x41\xb0\x20\xb6\x1e\x03\x00\x73\ +\x86\x35\xc8\xd4\xb3\x44\x8c\x40\x5c\xd8\x10\x01\x55\x70\x95\x47\ +\xc0\x14\x20\x9b\x22\x68\x2d\xd2\x50\x02\xd0\x6e\xb7\xb1\xb2\xbc\ +\x8c\x3f\xfe\xe3\x0f\xa3\xdd\xe9\xcc\x5f\x75\xe5\x55\xaf\xfe\xc6\ +\x37\xbe\x71\xef\xc1\x83\x07\xef\xb9\xf1\xc6\x1b\x0f\xbf\xf5\xad\ +\x6f\xa5\xf7\xbe\xf7\xbd\xff\xaf\x5d\x43\xf4\xc3\x9c\xfe\xab\xf7\ +\xce\xbe\x0f\x40\x34\x77\xe1\x9e\x4c\xc3\x61\xb2\x03\x2e\xb4\xb9\ +\xd0\x7a\xf1\x0f\x6a\x7e\x86\x31\xde\x0d\xf8\x32\x31\x0b\x34\xcd\ +\x43\xb0\x39\x0e\xcf\x81\xe9\x44\xa9\xf5\x1e\x89\xf6\xce\x24\x7f\ +\x07\x97\x03\x51\xb9\x2f\xa7\x38\x42\xa3\xdd\x42\x73\xac\x8b\xd6\ +\xc4\x04\x1a\xe3\x63\x88\xdb\x6d\xa0\xd1\x80\x33\x11\x18\xc0\x99\ +\xd9\x0d\x74\x46\x7d\x5c\x7e\x68\x15\x8b\x2b\x4f\x61\xd7\xea\x11\ +\x2c\x6c\x2c\x61\x22\xd9\x80\x61\x87\x94\x22\x24\x51\x8c\x14\x26\ +\x8b\x27\x0a\xbe\x41\x4d\x15\x82\x2b\xc5\x09\x0a\xa0\x23\x2e\xdd\ +\x0b\xd7\x10\x61\x82\xf7\x28\x62\x27\x80\x30\x1a\x8e\xe0\x9c\x9b\ +\x1e\x8d\x46\xaf\x3a\x7d\xfa\xf4\xab\xe7\xe7\xe7\xbf\xfa\xa1\x0f\ +\x7d\xe8\xc8\xdf\xab\x0b\xf8\xd4\x0b\x0f\x5c\x94\x5a\xf7\x88\x69\ +\x36\xb1\xfb\x9a\x67\x65\xda\x66\x0c\x4c\x61\xe2\x89\x40\xc6\x64\ +\x01\x5f\xa1\xe9\xc6\x08\x01\x30\x5e\x48\x00\xe3\xf9\x00\x65\x1d\ +\x40\xf2\xff\x4a\x92\x26\xb8\x6c\xdc\x90\x3e\xb6\xe4\xfa\xe5\x80\ +\x4d\x10\xa0\x21\xe7\x0a\x7a\xd6\xae\x63\x8f\x5a\x16\x68\x25\x17\ +\x80\x91\x73\xf8\xf6\xfe\xd3\xb8\xe2\xa1\x29\x3c\xb0\xef\x34\x2e\ +\xff\xee\x64\xc6\xed\x03\x60\x88\x11\xe7\xb1\x8b\x33\x31\x86\x71\ +\x0b\xab\x8d\x31\x9c\x6e\x4c\xe0\x4c\x3c\x8e\x55\xd3\xc2\x10\x26\ +\xbf\x0e\x07\x62\x9b\x5d\x9f\xfb\x41\x34\x75\x1d\xfc\x49\xd7\x22\ +\x03\xcc\x82\x62\x56\x32\x98\xcb\x8c\x21\x23\xad\x0e\x71\xf5\xd5\ +\x57\xe3\xea\xab\xaf\xee\x4d\x4e\x4e\x3e\x32\x39\x39\xf9\x8b\xcf\ +\x7d\xee\x73\xd7\xfe\x5e\x5c\x80\x63\x7a\x01\x3b\x46\x7b\x62\xcc\ +\xdb\x63\xaf\xa1\x12\x33\xa7\xa2\x30\x92\x6b\x08\x69\x26\x0f\x73\ +\x76\x53\x51\x10\x35\x3c\xc9\x4b\xe2\xfb\x94\x93\x2b\x54\x35\x3f\ +\xa8\x0a\xb2\x06\x74\x2a\x4c\x32\xca\x6b\x06\xa1\x89\x96\x56\x24\ +\x17\x12\x97\xbb\x13\x63\x60\x1a\x31\xe2\x76\xab\x14\x1a\xe7\x90\ +\xb2\xf3\x82\xdd\x72\x09\xb6\x0d\x57\xb0\x73\xb4\x02\x22\x20\x8d\ +\x1a\x38\x67\xda\x38\x1d\x77\x71\xca\x74\x71\x1a\x6d\x9c\xe3\x08\ +\x29\x13\xc0\x0e\xa6\x00\xb9\xb9\xac\x95\x94\x2c\x98\xfa\x02\xb3\ +\xbf\x9d\x0e\x20\x2e\x8b\x58\xc4\x0c\x97\x5f\x7e\x1c\xc7\x88\xa2\ +\x08\x0f\x3c\xf0\x1d\x1c\x3c\x78\xb0\xbb\xb0\x65\xe1\xaa\x57\xfe\ +\xea\x2b\xdf\xf2\x85\x2f\x7c\xe1\x8b\xc3\xe1\xf0\x81\x97\xbe\xf4\ +\xa5\xc3\x1f\xab\x00\x30\xbb\xeb\x98\x19\xed\xa9\xc9\x32\x9a\xaf\ +\xa5\xee\xe4\x6c\x9d\x82\xbf\x57\x94\x7a\x49\x72\xfa\xe0\x99\x7d\ +\x92\xd6\x01\x92\x85\x22\xae\x9a\x7d\x19\x34\x33\xab\x7f\xcb\x82\ +\x2f\x15\xf7\x38\x2b\x49\x94\x34\x30\x0f\x23\x17\x15\xc8\x4c\x10\ +\xd3\x33\x03\x8c\x0e\xaf\x81\xe2\x59\x41\xf4\xf0\x45\x7c\x10\x9b\ +\x5c\xab\x1d\x52\xce\xac\x9b\x35\x06\x14\x45\x20\x30\xa6\x30\xc0\ +\x5c\x3a\xc4\xa5\xb4\x0c\x4b\x40\x9f\x9a\x58\xa6\x16\x4e\x50\x1b\ +\x27\xb8\x85\xb3\xdc\xc0\x00\x80\x65\x82\x01\x60\xe0\x80\x2c\x81\ +\x14\x09\x41\x19\xf0\x96\xd7\x96\x1b\x46\xaa\x89\x23\x0a\x5f\x1e\ +\x1b\x0c\x07\x43\x1c\x3d\x7a\x04\xf7\xdf\x7f\xff\xef\xcd\xcf\xcf\ +\xff\xde\xec\xec\xec\x69\x00\x5b\x7e\xbc\x02\x40\xf4\x7c\x10\xd0\ +\x9a\x9c\x80\x73\x0e\x52\x7f\xcb\x34\x9e\x44\xe9\x14\xb9\x09\x95\ +\x6c\x9d\xec\x6f\x04\xca\xcc\x3b\x05\x65\x94\xf0\x04\x3d\x01\xa4\ +\xb4\x13\xf0\x65\xdd\x22\x00\x08\x71\xff\x52\x14\x88\x18\x30\x00\ +\x5b\x54\xb8\x06\x65\x90\x4a\xb0\x6b\x43\x98\x7d\x0d\xd0\x1a\xe9\ +\x4a\x9f\x64\x89\xba\x52\x47\xd9\x66\xfc\x47\x97\x9f\x88\x31\x06\ +\x51\x14\xc3\x34\x1a\x30\xcd\x06\xda\x86\xb1\x68\x86\xd8\x43\x99\ +\x12\x26\x64\xb0\xca\x0d\x9c\xe4\x06\x8e\xa5\x31\x4e\xd8\x18\xab\ +\x96\x3c\xd9\x55\x5e\x9b\x3e\x68\x16\xc1\xa1\xf8\x3d\x0b\xbe\x41\ +\x6e\x82\x13\x6b\xf1\xb9\xcf\x7d\x0e\xd6\x5a\xbe\xec\xb2\xcb\xe6\ +\xbf\xf4\xa5\x2f\x7d\x7b\x30\x18\xdc\xd3\xef\xf7\xff\xf4\x15\xaf\ +\x78\xc5\x97\x7f\x24\x01\xf8\xd4\x2f\x5d\x34\x91\x3a\x5e\x8c\x1a\ +\x31\x1a\xed\x76\x96\x27\x93\x57\x2b\x15\xc7\xa3\x64\xc9\x09\x8d\ +\xa5\xd2\x00\x4b\xbf\x2f\x78\x03\x2a\x40\x09\xcc\x3f\x0a\x3c\x9d\ +\x35\x2d\x84\x03\xbe\x5e\x51\x15\x54\x37\x54\xb2\x81\x49\xbc\xbf\ +\xf8\xfc\xef\xec\x3b\x83\xab\x8e\xec\x04\x8f\x33\x82\x7b\xaf\x84\ +\x81\x1d\x09\xf6\x47\x11\x6c\x02\x2e\xb5\xb0\xa3\x04\xdc\xdb\x28\ +\xf8\x92\x30\xcd\x06\xa2\x56\x0b\x8d\x76\x0b\x71\xa3\x89\x99\xd8\ +\x61\xc1\x8c\xf0\xcc\xf6\x10\x8e\x09\xcb\x2e\xc2\x07\xcf\x8c\xc3\ +\xe4\x11\xb9\xa9\x7c\x23\x16\xd6\x51\x58\x86\x92\x85\x01\x87\xd2\ +\xa2\x19\x22\xb4\xdb\x6d\x00\xa0\x27\x9f\x7c\x12\x77\xde\x79\xe7\ +\x33\xaf\xbd\xf6\xda\x67\x2e\x2e\x2e\x9e\x03\xf0\xa3\x09\x00\x03\ +\xd7\x80\x81\xe6\xf8\x18\xa2\x66\x33\xfb\xb2\xa2\xf4\x95\x29\x39\ +\xe7\x9c\xbf\x5c\xc3\xb9\xb8\xf7\xc5\x5d\x34\xfe\xee\x8b\x7b\xe8\ +\x39\x83\x2c\x4c\xba\xa4\x99\xf9\xdf\x13\x34\xbf\x30\x50\x52\x0a\ +\x58\x82\x5c\x57\xf6\xad\x63\x0d\xa5\x0c\x97\x3a\x98\xb1\xa6\xf0\ +\x17\x21\x3f\x21\x28\x1f\x15\xa0\x16\x8b\x63\x32\x04\x38\x93\xb3\ +\x7e\x1c\xd2\x8d\x1e\xf8\xdc\x86\xb7\x52\x71\xb3\x81\xb8\xdd\x41\ +\xb3\xdb\x41\x73\xac\x8b\x6e\x44\x78\xe5\x74\x1f\xc7\x13\x83\xa3\ +\x23\xc2\xd2\x88\xd0\xb3\x19\xdc\x6c\x00\xc4\x3e\x06\x60\xaf\x44\ +\x35\xd4\x2b\x50\x0e\x51\x87\x8c\xac\xa3\x47\x8f\x82\x88\x30\x36\ +\x36\xf6\x69\xce\xca\x90\x11\x11\xa5\x3f\x94\x00\x38\xe0\xd9\x64\ +\x08\xc9\x60\xc0\xbd\xd3\x67\xa8\x35\x35\xe9\x19\x30\xfe\x90\xf2\ +\x1f\x4c\xe1\xe3\x99\xb5\x7f\x2f\x6e\x95\x83\xb2\x1a\x10\x84\x0f\ +\x56\x9a\x0b\x1f\xc0\x95\xbe\x31\x50\x4d\xe1\xd3\x4b\x52\x27\x6b\ +\x7a\xae\xa2\x8b\xe8\x3f\x13\x01\x76\x3d\x01\xba\x00\x19\x02\xa7\ +\x14\x10\x5a\xa1\x5c\x4f\x51\x0a\x2e\x0e\x44\x11\xcd\x02\xa2\x63\ +\x96\x05\x95\xdf\x23\xe9\x0f\x30\x5c\xef\xe1\x9c\x4d\x31\xb5\x63\ +\x3b\xa6\x76\x6c\xc7\xc5\x4d\xe0\x52\xca\xd2\xd4\x11\x13\xce\x5a\ +\x83\x93\x43\xc2\xb7\xd7\x18\x47\xfa\x08\x3a\x20\x9c\x12\x82\x22\ +\x2d\xe4\x4d\xb8\x70\xed\x76\x1b\xf3\xf3\xf3\x68\x34\x1a\xf7\x51\ +\xc6\x44\x49\x7f\x28\x42\xc8\x67\x5f\x7c\x09\xbd\xea\xaf\x0f\xde\ +\x4e\xc0\xdf\xa4\xfd\x01\xd9\x24\xcd\xb9\xfe\x0c\x72\x2c\xb9\x57\ +\xb9\x92\x0a\x23\xc5\x25\x11\x83\x21\x9c\x98\xe7\x07\x66\x51\x1a\ +\xe5\x69\x8f\x7f\xbf\x3a\x8a\xb0\x84\x4d\x59\xd4\xff\x5d\x90\x0a\ +\x14\x97\x23\xe3\x6a\x49\x0e\x92\x87\x66\x08\xe9\xca\x00\xa6\x13\ +\x6b\xb6\x30\x0b\xfe\x89\x10\x4e\x45\x32\x29\xe3\x5d\x41\x3b\x65\ +\x6c\x4a\x4f\xcd\xeb\x1c\x51\xa3\x81\x73\x27\x4e\xe1\xf8\xdf\x7d\ +\x0f\x27\x1e\x3b\x84\x33\x27\x96\xb0\xde\x1b\x00\x04\x2c\x74\x22\ +\x5c\x3d\x6d\xf0\x33\x93\x84\xa6\x21\xa4\x0e\xe8\xa5\x45\x16\xc2\ +\xf5\x58\x01\x0b\x56\x6c\xa1\xb0\xce\x61\x66\x66\x06\xdd\x6e\xf7\ +\xa9\x6b\xaf\xbd\x76\xfd\x47\x0a\x02\xff\xfb\xcf\x3f\x5c\x18\xbc\ +\x2b\x29\x8e\xd1\x9c\x18\xcf\x8b\x34\x24\x58\xb0\xc2\x56\xc0\x94\ +\xc0\x0d\xe5\x95\x34\x47\xf9\xf3\xb3\x03\x23\xaa\x92\x3c\xbd\x9f\ +\x53\x81\x90\x0b\x12\x25\xf2\x79\x7c\x79\x08\x65\x97\x6e\x85\xb9\ +\xcb\xa5\x5b\x52\xa0\xbc\xb7\x14\x84\xfb\xf7\x2c\xe1\xaa\x27\xb7\ +\x02\x0b\x10\x3d\x87\xec\xc9\x1b\x1a\x3c\x29\xaf\x47\x81\x80\x92\ +\xb1\xe4\x24\x09\x2c\x63\x10\xc9\x94\xb5\x30\x3d\x36\x49\x90\x2c\ +\x0f\xb0\xb1\x74\x06\x8c\x6c\x1a\x59\xdc\x6a\x62\xc7\x33\x7f\x06\ +\xd7\xcc\x36\xf0\xac\x19\x87\x73\x29\xe1\xec\x08\xf8\xf8\x93\x7d\ +\x9c\x4b\x18\x06\xac\x09\x31\x0e\xb5\xcc\x06\x6b\x2d\xb6\x6f\xdf\ +\x8e\x46\xa3\xf1\x95\x1f\x0b\x25\xec\xd3\x2f\xbe\x64\x91\x08\x13\ +\x71\xb3\x81\xb8\xd9\x50\x66\x4f\x51\xa7\x1c\x94\x69\xe6\xbc\x1e\ +\x0e\x05\xe0\x70\xd9\xdb\xe7\x41\x11\x17\xfc\xdd\x79\xb0\xa7\xc4\ +\xff\x4b\x33\xeb\x0f\x88\x64\xde\x4c\x9b\x04\x95\xd2\x65\x94\x1a\ +\xcb\x00\xd8\x32\x6c\x3f\x45\x34\xd9\xcc\x3e\xb3\xc2\x34\x96\xd7\ +\x29\x5a\xd8\x48\xc4\x2a\x4e\xa6\xa2\x24\x9b\x9e\xf2\xb3\x16\x2e\ +\x28\xec\x4e\x22\x03\x8a\x23\x98\x28\x06\x18\x18\xf5\x06\x58\x39\ +\x72\x0c\xcb\x4b\xcb\x18\x26\x0e\xe3\xad\x08\x7b\xc7\x23\x3c\x73\ +\x26\xc6\xb6\x8e\x11\x91\x48\x01\x23\x73\x4d\x63\x5a\x66\x01\x76\ +\xee\xdc\x09\x22\xfa\xeb\x1f\x4b\x1a\x98\x32\x3d\x9f\xd9\xa1\x35\ +\x36\x96\xc1\xbf\x6c\xf3\x2f\x54\x7e\x55\x2a\x0e\x24\xc7\xc8\x4b\ +\x1c\x3b\xd3\x7c\xe2\x52\x0f\xca\xe0\x90\x34\xcc\xc3\x22\x27\x66\ +\x91\xb7\x0b\x16\x31\x07\x07\x5a\x16\x93\x58\xab\xa4\xcc\x02\xa4\ +\x86\x32\x3c\x5b\x88\x47\x16\x80\x83\x69\xc5\x79\x6a\xcb\xfa\xb9\ +\xb2\x16\x11\xb0\x79\xfc\x67\x17\xe6\xce\x15\xd6\x2e\xe0\x09\xb2\ +\x14\x10\x78\x8e\xa3\x8a\x6d\x3d\x97\x10\x38\x73\xe8\x70\x3e\xea\ +\x86\xd0\x9d\x99\xc2\xde\xe7\xff\x1c\x5e\xb6\x27\x02\x5b\xc6\xf2\ +\x88\xf1\x3b\xf7\x9d\x81\x81\x43\x44\x40\xec\xf9\x89\xa8\x54\x14\ +\x17\x16\x16\xc0\xcc\x5f\xfe\x31\xe1\x00\x7c\x1d\xd8\xa1\x35\x31\ +\x5e\x6a\x6b\x7e\xc8\xc5\x97\x67\xd2\xa6\xd2\x3b\x48\xc7\x28\x68\ +\x8e\x0a\x02\xf2\xa9\xbe\x08\x6a\x64\xc7\x8d\x3c\x4b\x66\x5d\x35\ +\x64\x0d\x1f\x93\x64\xfd\x38\x99\x5d\xb0\xd0\xd6\xfc\x3a\x8b\xe8\ +\xd9\x00\xa3\xb5\x21\x68\x3e\xce\xdc\x98\x0b\x30\x79\xfd\x81\x92\ +\x58\xa6\xd5\x98\x59\xa1\x8f\x4c\x4e\xfc\x4e\xe8\xab\xa4\xb4\xb3\ +\x06\x7c\xe4\x21\x46\x51\x04\x8e\x0c\xe0\x18\x83\xb5\x0d\x1c\xbd\ +\xff\x3b\x68\x4f\x4d\x61\x6c\x61\x1e\xed\x76\x0b\x6f\x7d\xc6\x0c\ +\x9e\xda\x48\xf0\xe0\xd9\x01\x9e\x58\x1d\xd5\xe5\x06\xe8\x76\xbb\ +\x98\x9c\x9c\x1c\x5d\x77\xdd\x75\x07\x37\x15\x80\x03\xbb\xfe\xf5\ +\x6d\x4a\x6b\x0c\x95\xb8\xae\xaf\xd8\x65\x27\xf7\xd9\xd3\xdf\xb9\ +\x3e\xc6\x08\x63\xf1\x3c\xcc\xe9\x86\x87\x4d\x75\x55\x4f\xe2\xfb\ +\xc5\xfb\x98\xb2\x52\x88\xf0\x6f\xa4\x92\xb8\x32\x5b\x10\xbc\x4e\ +\x40\x75\xf2\x14\xed\x62\x4c\x3e\xc7\x04\x33\x21\xf0\xf2\xaa\x6e\ +\xef\x83\x50\x2e\xbb\x80\x39\x2f\x5e\x0d\xcf\xf4\x71\x62\xe7\x53\ +\x38\xf1\xd4\x45\x9e\x7c\x71\xec\xdc\x61\x1c\x5a\xd9\x53\x7e\x86\ +\xcc\x4e\x0a\x1b\xc1\xac\xe0\x05\xe6\xba\xda\x7f\x51\xdd\x2c\x6e\ +\x6b\xf6\xb9\x8c\x2a\x25\x9e\x6b\xb8\x85\x3e\xc6\x5d\x61\xf0\x69\ +\x8b\xb1\x73\xf3\x98\xd8\xb6\x00\x43\x84\xb8\x09\x0c\x27\x12\x1c\ +\xef\x0f\x60\x73\xc5\x89\x4c\x76\x4f\x9d\x63\x4c\x4d\x4d\xe1\x53\ +\x0f\xee\x5d\xda\xf9\xfa\x13\xb7\x15\x33\x8e\xc2\xb4\x39\x56\xb8\ +\xa2\xc2\x58\xa9\xac\x3c\x31\x23\x22\x1b\x35\x28\x9d\x03\x32\x9c\ +\xbc\xac\xd0\xb1\x2f\x06\x90\x44\x57\x88\x3c\x53\xbe\x28\x99\x72\ +\xd1\x80\x29\x5b\xb8\x25\x18\x40\x5c\xad\x96\xb1\x04\x8d\xa1\x40\ +\x91\x50\x43\xb9\x4a\xfb\xcd\xa9\xdc\xa4\xe1\xd3\xf2\xc4\xc0\x44\ +\x38\x7a\xc9\x21\x5c\x70\xf0\x22\xa0\x5d\xc3\x1e\x96\xf8\x6b\x2e\ +\xb0\x92\xf9\x4b\x32\xeb\x53\xd7\x5e\x22\x95\x5e\x4e\x5d\x50\xbf\ +\xa0\x7a\x2c\xa3\x8e\xcd\x6c\x88\xc0\xcd\x18\xbd\x33\x67\x31\x58\ +\x5d\x83\x69\x34\x30\xbd\x6b\x27\xb6\x8e\x35\xf1\xe2\xdd\x0d\xa4\ +\x0e\xb8\xef\x54\x0f\x67\x06\x29\xe2\x88\xe0\x9c\xc3\xc4\xe4\x04\ +\xd6\x06\xf1\xe1\x1f\x54\xf9\x33\xaa\x9b\x37\xe8\xe6\x21\x91\xd6\ +\xce\x36\xd7\xe7\x73\x5a\x16\x27\x1b\x3d\x15\xa9\x97\xc5\x9f\xb0\ +\x28\x23\xaa\x57\xcc\x2a\xf9\x52\x58\x3b\xb3\x90\x76\xae\x32\x7b\ +\x83\x0e\x22\x42\x09\xc0\x84\xb9\x3d\xd7\x74\xfb\x54\x12\x4a\x56\ +\xd5\x2d\xb0\x75\x30\x4d\xa3\x30\x84\xb0\x49\x45\xba\x9d\xe0\xb2\ +\xc5\x77\xab\x9a\x1f\x42\x11\x6b\xf0\x0f\xac\xc7\x06\x2d\xa5\x1a\ +\x0b\x24\x01\xf8\x18\x03\x67\x1d\x92\x5e\x1f\xfd\x95\x55\xf4\x37\ +\xfa\x70\xcc\x88\x63\x83\x3d\x53\x2d\x5c\x30\xd9\xf2\x91\xfd\xc4\ +\xc4\x04\x96\xce\x35\x1f\x0f\x15\x44\xbe\x77\xfc\xc2\xb7\xbd\xbe\ +\xac\xe4\x69\x5c\x46\xc4\x4b\x8e\x88\xcc\xc9\xb9\x13\x7f\xfb\x85\ +\x89\xd5\xc7\x5e\x14\xb7\x5b\xe8\x4c\x4f\xfb\xf4\xac\x30\xed\x65\ +\x7a\x4c\x02\x22\x86\x4a\xf2\xaa\x5f\x9e\x6a\xeb\xe8\xf2\xa2\x29\ +\x34\x8f\x2a\xe0\x83\x07\x9c\x18\x01\xb5\x8a\xab\xfe\x9c\x83\x9e\ +\x30\x3b\x4a\x31\x9c\x99\xc5\xfe\x2d\x5b\xcb\x18\x83\x19\xd8\xb5\ +\x82\x7d\xe9\x9c\x12\xc2\xea\xeb\x59\x05\xab\x32\xf3\x28\x99\x4c\ +\xd5\xdf\xeb\xa0\xb6\xc6\x8a\x31\xd7\xd4\x00\xb8\x22\xe9\xce\x9e\ +\x01\xf7\x4f\x23\x4a\x62\x6c\xbb\xe2\x72\x5c\x16\x35\x01\xeb\xf0\ +\x9f\x9f\x5c\x45\x3f\x01\x9e\xb9\xaf\x8b\x99\x8d\xd6\xd1\x4b\xf6\ +\x14\x5d\x4c\x56\x0f\xb5\x20\x91\x06\x4a\x56\x0a\x87\x36\x83\x0c\ +\x03\x40\x7b\x78\xf6\x02\x00\x88\x5a\x2d\x71\x73\x49\x74\x02\x69\ +\xad\x55\xd5\x0b\x51\xe9\x0a\xc2\xf6\x4a\xaa\x85\x1a\xb0\x0f\xa8\ +\xd3\xba\x90\x32\x51\xf3\x44\x12\x00\x8e\x4a\x21\xb3\xef\xe7\xfa\ +\x29\x28\x8e\x4a\x2e\x59\xd8\xd8\x4f\xf5\x98\x78\x2d\xfd\xa3\x9e\ +\x13\x92\x03\x4a\xc1\xfb\x33\xe9\x21\x17\xc1\xe1\xfb\xa7\x73\x10\ +\x7f\x8a\x3b\x48\x26\x4b\x1d\x9d\x63\x9c\x7a\xf8\x20\x96\x8f\x9d\ +\x84\x33\x84\xe7\x6c\x1f\x87\x69\x34\x61\x9a\x9d\x73\x89\x8b\x06\ +\xb2\x01\x96\xa4\xde\x31\x60\x2a\x71\x07\x05\x3e\x49\x00\x1d\x8d\ +\x64\x7d\x11\x44\x88\xe2\x38\x07\x5d\xf2\x3e\x39\x75\x52\xba\x8c\ +\xcb\x02\x79\x2b\x2b\x57\x32\x8a\x2f\xe1\x5d\xaa\x85\x7c\xa5\xf9\ +\xaf\x60\x78\xa5\xc0\x28\x80\x4c\xfc\xc2\xa1\x1a\x70\x09\x57\xf3\ +\xe8\x05\x8f\xe0\xc0\x53\x17\x65\xae\x40\x47\x8e\x41\x70\xb6\x79\ +\x1b\x19\x07\x98\x9f\x8c\x51\x28\xcc\xfd\x29\x48\x03\xc5\xbb\xaa\ +\x36\x77\xe6\x00\x2b\xa8\x73\x8f\xe5\x77\x4d\xfa\x7d\xf4\xce\x9c\ +\x45\x32\x18\xa1\x13\x47\xf8\xc5\xc5\x71\x34\x56\x4e\x1f\x41\xfd\ +\xcb\x7c\xdc\x6e\x40\xd5\x94\x37\x84\xd1\x89\x80\xe6\x68\xad\x4b\ +\x9c\x8e\x11\x65\xf5\x6f\xdd\x31\x17\x62\x2f\xe5\x41\x86\xc8\x9e\ +\xaa\x64\xe5\x45\x0c\x52\xe7\xcb\xea\xcb\x31\x4b\xbb\xc1\x08\xcb\ +\x74\x95\x0e\x7c\x41\xfc\x60\xae\xaf\x9d\x78\x9a\x19\x33\x5c\xe2\ +\x60\xda\x51\xbd\x8f\xe6\x32\xf8\xe3\x40\xb0\x09\x55\x46\x70\x18\ +\xbd\x17\xad\xe2\x24\x6a\x22\x14\x92\x3f\xa8\x7a\x38\xc4\x08\x5c\ +\x16\x94\xf4\x90\xec\x8f\xf4\x46\xda\x60\xd4\xeb\x63\x7d\xe9\x34\ +\x18\x84\x06\x18\x83\x24\x7a\x9c\x6a\xe2\x0c\x4d\xca\x11\x19\x1c\ +\x4b\x8e\x5d\x00\xef\x76\x7b\x47\x77\x80\x08\x64\x88\xad\x9f\xf4\ +\x15\xb6\x37\xc9\x8e\x59\x56\x60\x9c\xf2\x79\x81\x04\x2b\xd7\x40\ +\x50\x3d\x76\x5e\x93\x54\xf0\x55\xe3\x62\x74\x88\xe9\x2d\x08\x07\ +\xaa\xaf\x32\xf3\x34\xa7\x92\xc5\x11\x54\xfe\x21\x04\x39\x04\x6b\ +\xd4\xc1\x30\x87\x35\xa3\x20\xa2\x2f\xf9\x10\x15\xcf\x55\x3d\xc3\ +\x5a\x01\xdc\xc4\x03\x21\xc4\xaa\x98\x01\x13\x47\x58\x3d\x7a\x0c\ +\xe9\x68\x08\x10\xe1\x2c\xcd\x1f\x66\x4d\x81\x50\x4a\x0e\x02\x0c\ +\x87\x7f\x0c\xda\xe0\xb2\xef\xe9\x68\x65\xea\xd2\xc7\xfa\x9d\xad\ +\xf7\xb1\xb5\x64\x47\xa3\x72\x60\x4b\xc0\xd1\x62\x55\xaa\x65\x15\ +\x9a\x7b\x8b\x10\x04\x53\x3e\x30\x92\x19\x29\x73\xf0\x5e\xe5\x01\ +\x92\x90\x60\x09\xb4\x50\xc5\x9f\xb1\xbe\xf3\x01\x48\x68\x87\x16\ +\x14\x91\xa2\x0e\x84\xee\x8b\x03\xe8\x19\x1c\xd8\x1d\x61\x25\x20\ +\x84\x56\x1f\x38\x57\x4f\x5f\xa4\x83\xde\x4a\xa0\x26\x4d\x21\xdd\ +\x7f\xa0\xeb\x3d\xa4\x0b\x52\x0c\xc4\xad\x36\xe2\x56\x2b\x83\x0e\ +\x30\xbb\xb4\xa9\xf0\x14\x31\x40\xe8\x9b\x8a\x14\x9e\x65\x2a\x4a\ +\x86\x89\x80\x66\xba\xbe\x15\x44\x88\x1a\x0d\xa5\xb7\xe5\x21\xb3\ +\x22\x78\x56\x7a\x23\xc4\xcf\x24\xcd\xba\xd0\x28\x9d\x86\x95\x3f\ +\x3b\x5f\x64\x09\xf8\x01\xd2\x10\xa8\x32\xb2\x9e\x4c\xa2\x86\x56\ +\x14\xfe\x7f\xf1\x61\xec\x7f\xe2\x22\x51\xa3\xa8\x0a\x41\x45\x80\ +\xf2\xd4\xb1\x52\x94\x73\x55\xf0\x86\xb9\xaa\x71\xf5\x0d\x22\x81\ +\xf2\xd4\x59\x86\xca\x8c\x9a\x00\xbf\x01\xe0\x1c\xa3\xd9\x6d\xc3\ +\x44\x06\x09\x9a\x27\xeb\x5f\x2f\xeb\x13\x19\xdf\xa0\x12\xf8\x72\ +\x5d\x44\x4b\x40\x94\xf6\xb7\x81\x08\x26\x0f\x02\x89\x04\xf9\x53\ +\x04\x8c\x24\x2f\x34\xc0\x51\x74\x9a\x49\x55\xd1\xa4\xaa\xc2\x94\ +\x3e\x2b\xa4\x83\xd6\x0f\x98\x62\xed\x7b\xf4\x79\xba\xd2\x6c\xdb\ +\x91\x85\x69\xc5\xa2\x94\xcc\x02\x2d\x44\x65\xec\x4c\xe5\xc6\x7b\ +\xd8\x7a\x93\x14\x51\xc6\x2d\xa4\x63\x21\x4f\x03\x0f\xb8\xaa\x8a\ +\x5c\x22\x83\x5c\x84\x37\x43\xb4\x9d\xfb\xeb\x73\x68\x8d\x8f\x83\ +\x19\xe8\xd1\xf8\x61\xa9\xdc\x84\x60\x84\x62\x81\x03\x54\x78\x2e\ +\x35\x2f\x02\x03\x9d\xde\x89\x39\x22\x8e\x41\x86\x9d\xb5\x64\xa2\ +\xa8\x52\x60\x21\x47\x79\x65\x0a\x62\x62\x97\x28\xd7\xfa\x20\x06\ +\x12\x24\xd5\x52\xc9\x21\x75\x43\xf0\xfc\x29\x30\xcb\x01\x09\x43\ +\x64\x4a\x25\x92\xc9\x75\x52\x00\xfc\xc6\xbf\xfa\x1f\xfc\xcb\xdf\ +\xfb\x8e\x3f\x28\xc3\x33\xc7\xa8\x86\xff\x41\x89\x99\xb5\x79\x67\ +\x39\xc8\x8a\xeb\x53\xc2\xca\x19\xd6\xa0\x92\x00\x54\x3b\x3b\x18\ +\xb5\x88\x61\x5d\xba\x59\x04\xdb\xcd\xf1\x71\xb0\x73\x58\xa3\xa9\ +\x43\x84\x0a\x56\xa7\x06\x69\x15\xc8\x7f\x2d\xf7\x42\x07\x21\x8e\ +\x7a\xdd\x6d\x67\xd6\xc7\x76\x7d\x19\xec\x28\x1d\x0c\xf2\xc3\x08\ +\x06\x1f\x50\xd8\xf0\xc0\x41\x0e\x22\x4a\xbd\x92\x60\xe1\xab\x60\ +\x5c\xc5\xc3\x8b\x51\x33\x45\x57\x2e\xaa\xf3\x87\xa4\xd6\x7b\x53\ +\xee\x58\x8d\x75\x03\x38\x20\x59\x02\xb7\xfe\xde\x2d\xe2\xd2\xaa\ +\x44\x0b\x86\xe6\x06\x78\xac\x42\x99\xf9\x9a\xe0\x56\x80\x52\xfa\ +\xb6\x52\x2d\x04\x52\xc1\x0c\x44\x3a\xc8\xa8\x77\x05\x2c\x34\x89\ +\xcb\x0a\x12\x1a\xdd\x36\xc0\x8c\xb3\x34\x7f\x44\x59\x76\x0e\xac\ +\x4c\xfe\xf2\x98\x35\x60\x07\x39\xef\xb1\x9c\xb6\x9a\xc1\x05\x8d\ +\xb4\x37\x9b\x31\x5a\x22\x61\xd6\xb2\x99\x37\xd9\x8f\xd2\x07\x68\ +\xaa\x17\x85\xb8\x67\x5d\xe1\xa3\xe2\x20\x79\x13\x89\xe7\x60\x74\ +\x1b\x57\xfd\x74\x98\x96\xca\xd7\x9b\xec\x3a\x3e\xf8\x3f\xdf\xa9\ +\xc9\xa1\xa1\x9f\x54\xaa\x17\x1f\x00\x00\x1e\xb5\x49\x44\x41\x54\ +\x95\x83\x24\x78\x33\x0d\xa7\xca\x35\xeb\x48\x3f\x20\xbe\xd6\x61\ +\x12\xe0\x8a\x55\xd9\x0c\x78\x02\xe9\x0c\x42\x92\x45\xe3\x56\x13\ +\x51\xa3\x81\xd4\xd2\xc6\x10\x9d\x9e\xe2\x4a\x52\x80\xed\xc8\x34\ +\x10\x35\x29\x0a\xd7\x58\x82\x33\x53\x97\x7d\x95\x4d\xdc\x4f\x86\ +\x43\xd8\xbc\xdd\x5b\x69\x56\xa1\xf1\x4e\xd6\xed\x43\xaf\x2d\x2d\ +\x00\x87\x7f\x51\xa9\x1d\x73\x4d\x74\x1e\x68\x3c\x04\x7c\xcb\x21\ +\x9c\x1a\xd6\xed\x51\x6e\x04\x79\xd3\xbb\xde\x94\x99\xff\xb7\xbf\ +\x0f\x92\x69\xa5\x4a\xc9\x4e\xd2\xce\x50\x8d\x05\x6a\x60\x5c\x7d\ +\x0f\x49\x8d\xae\xf1\x64\x92\x42\xb8\x42\x86\x57\x40\xf8\x27\x66\ +\xed\x2a\x59\x5b\x33\x25\xeb\x8e\xd1\x1a\xeb\x02\x44\x18\x52\xfb\ +\x08\x07\x61\x18\x97\xc4\x28\x2f\x3c\xe4\xa1\x60\xae\xfa\xff\x70\ +\xd8\x26\x03\xd8\x18\xdf\x7d\xcc\xb0\xeb\x90\x31\x20\x63\x2a\x35\ +\x6c\x0e\x80\x59\x85\xe2\x09\xb2\x43\x98\x38\x88\x49\x92\x9a\xf6\ +\xe7\x39\x83\xac\x70\xfa\x92\xff\x56\x6a\xaa\xef\x9c\xf1\xe6\xbf\ +\xdc\xf9\x83\x00\x85\x64\x06\x6c\x62\x75\x21\x27\xac\x25\x48\x21\ +\x2d\x9b\x91\x95\x65\x60\xae\xf1\xcd\x1c\x7e\xb9\x00\xe7\x63\x0e\ +\x28\xaa\x61\x8a\x48\xe0\x00\x18\x0b\x81\x41\x55\x34\xca\x9f\xe7\ +\x6c\x8a\xe6\xf8\x38\xe0\x18\xeb\x98\x38\xa4\x62\xad\x00\xaa\x94\ +\xf2\x1c\x87\xe8\x13\x07\xfc\x6a\x19\x80\x8c\x6f\x1c\xde\x99\x51\ +\x00\x8c\xe8\xeb\x0f\x81\x2a\xd1\xe3\xeb\xd9\x41\x12\xe6\x0c\x25\ +\x26\xaf\xeb\x53\x35\xc0\x51\x94\xf3\x5a\xe6\x6d\x40\x32\x45\xd5\ +\x0c\x13\xd7\x40\xd2\x96\x7d\xda\xc6\x0e\xb5\x8c\x5e\x0e\x6a\xfa\ +\x15\x13\x4f\x35\xc5\x1f\xc5\xd1\xd3\xe6\x80\x24\xeb\xb9\x06\xaa\ +\xa0\xfa\x51\xa4\xf5\xf0\x81\xea\xbd\xc8\xba\xa1\x27\xb6\x6d\xcd\ +\x89\x3a\x8c\x15\x9a\x3d\xac\x94\x98\x74\x80\x2c\x63\x77\xa3\xf1\ +\xe9\x9a\xa9\xdd\x02\x29\x4c\xa3\x6e\x2f\x8d\x3b\xa7\x1c\x3b\xd8\ +\xc1\x30\xa0\x72\x55\xcb\xb9\xc5\xa8\x57\x5d\x06\x16\x79\x34\x02\ +\xc4\x90\x11\x00\x30\x14\x34\x8b\x6a\xd4\x51\x05\x5a\xc5\xeb\x5d\ +\xe9\x82\xb8\xa6\xee\x40\x0c\xa4\xc3\x14\x14\xa1\x86\x82\x5e\x4f\ +\x4b\x47\x80\x66\x86\x58\x40\x08\x6a\x69\x1c\x42\xe3\x21\x1c\x40\ +\x73\xfe\x3b\xe4\xdf\xd5\xb7\xd0\x31\xd7\x07\xe6\x41\x1c\xc2\x00\ +\x4c\x1c\x63\x6e\xef\x1e\xc4\xcd\x26\x33\xb3\x5d\xc1\xdc\xc9\xba\ +\x2a\x3f\x07\x2e\x9d\x08\x88\xc1\xba\x8d\x1f\xc2\x3f\xb0\x94\x18\ +\x02\x06\xed\x85\xe5\x34\xee\x9e\x8a\xd3\xfe\x42\x36\xea\x25\x94\ +\x7e\x52\x85\x8c\x32\xe0\xa0\x80\xf7\x2f\x4c\x5b\x4d\x50\x23\xa9\ +\x61\x9a\x16\xc6\x01\xd7\x40\x47\xcf\x1c\x04\x60\x0a\x12\xf6\x53\ +\xc3\x08\x8f\xee\x7a\x04\xfb\x1e\xb9\x48\x65\x27\x3a\xa0\xa4\x4a\ +\xcf\x61\xa5\x41\x45\xfc\x37\x2b\x33\x2d\x88\xa7\xea\x39\xd5\xc0\ +\x56\xe7\xf1\xae\xa6\xe8\x54\xcd\x8a\x2a\x89\x9a\x63\xb4\xc6\x3a\ +\x00\x33\x86\x68\x1d\xbb\x3f\x7a\xee\x9d\x8a\xdb\x43\x35\x00\x94\ +\xb0\xf2\xb1\xfc\xae\x14\xa4\x15\x95\xbc\x91\x80\x4e\xb2\x7a\x20\ +\x9b\x80\x6d\xca\xfc\x57\x91\x42\xc5\x70\xc6\x4d\xa2\xfd\x92\x9e\ +\x05\x35\xdc\x31\xbc\xb1\xe0\x7a\x92\x85\x8e\xee\x29\xdf\x14\x12\ +\x80\xde\x90\x9d\x83\x7a\x7e\xbb\x1d\x59\x44\xad\x38\x88\x51\x48\ +\x58\x2d\x0d\x1a\x85\xc2\x56\x6a\xa9\xf8\x0c\x55\x44\x20\x3d\x91\ +\x94\x59\x09\xaa\x2b\xf8\x92\x4c\x55\x33\x8f\xaa\x1b\xd2\xf3\xcc\ +\x83\x42\x95\x73\x68\x8e\x8f\x81\x01\xf4\xa8\xfb\xa4\xaa\x59\xd4\ +\x00\x40\xe1\x60\x6d\x23\xfa\x19\x6a\xc1\x20\x45\x1f\x72\xa3\x38\ +\x89\xba\xc7\x89\x00\x3b\x1a\x6a\x13\xa6\x46\xc2\x6b\x22\x03\x73\ +\xc8\x16\xd2\x11\xbc\x82\x6b\x1d\x97\xa3\xd9\x83\x82\xcf\x66\xcd\ +\x91\xaa\xd4\x1c\xd8\xc7\x72\x30\x75\xfe\x5e\xd6\xc1\x59\x87\xa8\ +\x69\x02\xce\x81\x53\xcc\xe3\xf7\xbd\xf5\xfd\xda\x1d\x81\x6b\xcd\ +\x3a\x15\x93\xae\x05\x58\xa4\x39\x0d\x1a\x07\x71\xbe\xce\xb1\xc9\ +\x7c\x20\x85\x33\xc8\x9a\x01\x57\x1a\x42\x8b\xff\x6c\x8d\x8f\x03\ +\xce\xe1\x1c\x66\x1e\xaf\x65\xc4\xff\x00\xc6\x94\x09\x53\xd4\x9a\ +\x44\xa0\xfc\xb3\x69\xa6\xa7\x67\x7e\xe6\xf3\x84\x6c\x08\x04\xc9\ +\x3e\x3d\x57\x03\x51\x8b\x2f\x4f\xe2\xb0\x25\xf0\x52\xd9\xe8\x25\ +\xa7\x6d\x06\x91\x7b\x45\x02\xb8\x86\x0f\x50\xc1\xff\xa1\x62\x08\ +\x9b\x38\xcf\xc5\x57\x28\x5f\x2d\xf9\x24\xcc\x1e\x38\x10\x5e\x0e\ +\xfc\x3b\xfb\xb8\x85\x5d\x10\x9f\x54\xfc\x3e\xd4\xda\x1a\x65\xf1\ +\x6a\x58\x4d\x1c\x80\x4c\xc5\x7b\x18\x63\xd0\xe8\x64\x33\x19\x97\ +\xcd\xfc\x11\xaa\x41\xd8\xa9\x8e\xb4\x50\x69\x0c\xa1\x1a\x9c\x46\ +\x06\x0c\xf9\x8f\xad\xe1\x99\xad\xf9\xd4\x2a\xb6\xa9\x55\x52\xae\ +\x02\x3e\x89\xda\x51\x50\xeb\x0f\x6e\x3a\x33\x54\x6b\x17\xb3\x2e\ +\xf9\x32\xd7\x68\x5f\x90\x1a\xfa\xb4\xcf\x95\x9a\xc6\x41\x30\x46\ +\x94\x05\x80\x26\x32\xd5\x98\x4a\xd4\x11\xde\xf6\xbe\x7f\x06\x00\ +\xf8\xcd\xf7\xbf\x4d\x53\xcb\x38\x08\x09\x38\xe8\x43\xe0\x32\x05\ +\xa0\xe0\x39\xec\xb4\x40\xb1\xd8\x66\x26\x85\xb5\x96\x3d\x14\x62\ +\x59\x42\x51\xa2\x56\x13\x51\x23\x86\x45\xb4\xd1\xe7\x56\x5f\x7e\ +\x57\x84\x55\xd3\x70\xd6\x36\x00\x13\x6a\x7e\x50\xd4\x0b\xd2\x5b\ +\x47\x4b\x33\x57\xdd\x3f\x6a\x4c\x3e\x2e\xe7\x3c\x41\xc1\x9e\xac\ +\x08\x1e\xa4\xc3\xfa\x20\xaa\x67\xd5\xe8\x51\x19\xfd\x52\xe7\x06\ +\x9c\x76\x35\x45\x64\xcf\xcc\x8a\x43\x27\xcd\xb2\xd4\xd6\x47\x77\ +\x1f\xc4\xfe\xc7\x0f\x64\xfd\x88\x08\xca\xbd\xcc\xf8\xcd\xfc\xf0\ +\x8b\xc7\x6f\xfe\x9f\x6f\xd3\x8d\x21\x5c\xf5\xd7\x12\xda\x96\x02\ +\x5c\x03\xfc\x69\x60\x49\x76\x13\x29\xd0\x49\xcf\x03\x08\xbf\x87\ +\xb7\x32\xd6\x21\x6e\x77\x00\x18\x0c\xb8\x7d\x44\xb7\x48\x05\xa4\ +\x13\xaa\x69\x9a\x62\x20\x96\xfb\x0f\x88\xaa\x2c\x68\x5d\x7f\xce\ +\x3c\x46\xd3\xf6\x76\x4a\x9e\xbd\x62\x9a\xb0\xee\x54\xe5\x5a\x20\ +\x84\x82\xf2\xa8\xf8\x5d\x08\x1c\x6f\x52\xa2\xa5\x9a\xcc\xa0\x1e\ +\x01\x2c\x9a\x39\x33\x3f\x6a\x93\x2c\x00\x94\xdc\x42\x16\x83\x83\ +\xff\xcd\xff\xf8\x1e\x80\x81\xdf\xfc\xc3\xb7\xe1\xf6\x37\xff\x9b\ +\x20\x18\x0c\x2a\x92\x1c\x0c\x70\x0a\x6b\x09\x1c\x36\xbc\x84\xcc\ +\x25\xd9\x64\x12\x04\xa2\x61\x4d\x25\x38\x56\x9b\x5a\xcc\x5d\xb8\ +\x07\xed\xa9\x49\x66\x6b\x69\x03\xe3\x87\x25\xa6\xa0\xc6\x18\x87\ +\xf9\x3f\x49\x20\x88\xeb\xc9\xba\x6a\x7c\x8d\x00\x85\xda\xc9\xea\ +\xb8\x61\xdb\x62\x43\xcc\x8e\xb3\xb6\x81\x62\x56\x10\x4b\x80\x02\ +\xc1\xc0\xf4\x60\x1e\x00\x58\xd7\xd0\x2b\x8d\x9b\xa8\x64\x00\x61\ +\x01\xad\x8a\xd1\xe8\xcf\x50\x9d\xc3\x80\x9f\x16\x66\xa2\x9a\x34\ +\xcf\xd5\x11\x37\x50\x03\xf4\x70\xa5\xb8\x58\x4d\xb6\x59\x1d\x28\ +\xea\x14\x42\x94\xe7\xe4\xca\xba\xac\x17\x03\x9b\x4f\x0c\xf3\x19\ +\x1b\xa1\x35\x36\x06\x13\x47\xb4\xca\x93\xf7\x2f\xd1\xd6\x87\x15\ +\x5d\x8c\x49\xd7\x0f\x02\xe6\x77\xf1\x3e\xa6\xb8\xa1\x9b\x2d\xea\ +\xd2\x53\x30\x1c\x0d\x1a\x53\xeb\x4b\x53\xcf\xf8\x38\x31\x88\xb3\ +\x87\xc6\xee\xd5\xf7\xd3\x00\x4e\x19\x58\x89\x85\xcb\x72\x10\x84\ +\x63\x05\xda\x94\x91\xb7\x53\x81\xa1\x1e\x1a\x09\xfd\xda\x60\x6c\ +\x3b\x71\xd9\x66\x96\x8e\xac\x9f\x60\x56\xa0\x75\x1c\x10\x3e\x98\ +\xab\x88\xa3\x76\x43\x08\xfc\xb6\xa8\x7d\x48\x01\x09\x5c\x4f\xe1\ +\xa6\x24\x8b\xaa\x8c\x0b\xe4\xb5\x90\xa6\xd4\x39\x1d\x74\x50\x9e\ +\x14\x46\x71\x8c\xb8\xd5\x04\x3b\xb6\xdf\xe3\x67\xfe\xc5\x1a\xa6\ +\x97\x51\x01\xbf\x6a\xd0\x55\x52\x7d\x3b\x39\x23\x88\x6a\x8a\x55\ +\x75\x19\x81\x31\x4c\xec\x68\x69\xf2\xf2\xef\xf5\x9b\x33\xdf\x45\ +\xdd\xe2\x1e\xe6\xda\x1b\xc7\x95\xdf\xeb\x9b\x2e\x09\x1b\xb2\xc4\ +\xca\x95\x72\x32\x7c\xa0\x07\x35\x01\x3c\x4c\x93\xc4\xe4\xcd\xfc\ +\xf1\xe8\xee\x83\xb8\xf0\xfb\xfb\xab\x9c\x41\xc7\x55\x86\x71\x25\ +\xb7\xaf\x1f\xce\xa4\x4c\xbf\x0b\xaf\x39\x98\x63\x20\xaf\x3d\x08\ +\x8a\x95\x22\x85\xe5\xbf\xa0\xe3\xc6\x59\x87\xb8\xd3\x01\x99\x08\ +\x09\x5a\x27\xe5\x67\xd7\xf5\x50\x78\xa8\xbf\xba\xfc\x24\x6b\x0e\ +\xe5\x1a\xe0\x80\xa9\xca\x22\xcd\xdc\x40\x1e\x07\xb8\xde\x36\xbf\ +\x81\xa7\x40\xc2\x84\xef\x2e\x4c\x59\xc5\x7c\x07\xcb\x19\x34\xbd\ +\x19\xa8\xe7\x62\xd7\xf4\xe9\x7b\x5f\x49\x22\xe8\xe4\x7a\xdc\x33\ +\xff\xe4\x74\x64\x11\x37\x23\xaf\xbd\x50\x0d\x25\xa8\x2d\x43\x73\ +\xa5\x36\xc0\xf5\x81\x9d\xbf\xc9\x5c\xc6\x0d\x54\xf3\x3d\x02\x57\ +\x59\xe9\x60\x27\x39\xa1\x26\x28\xaf\xe5\x16\x21\x6a\x34\xd0\x9e\ +\x98\x00\x98\xd1\xe3\xb1\xc3\xaa\xfd\xbc\x52\xc6\x25\x11\x07\xe9\ +\xba\x40\x39\xb0\x87\xeb\xa9\x67\x35\xdd\xd1\xfe\x87\x53\x13\x97\ +\x7f\x16\x44\x4e\x29\x49\x25\x5d\x0b\xb5\xb3\x86\x24\x82\x00\xd4\ +\x71\x22\xaa\x76\xac\xca\xbc\xfe\x79\xf9\x73\xc8\x41\x8f\x84\x71\ +\x55\x9a\x89\xaf\x32\xba\x6c\x06\x50\xdc\x88\x7c\x03\x68\x59\x9b\ +\x40\xd5\x7d\x20\xc0\x2c\x14\xdd\xbd\xae\xf4\x2d\x6b\x08\xb9\x70\ +\xb9\x10\x9f\xa0\x00\xbb\x60\x4d\xfd\x82\x00\x97\x02\x4e\x6d\xe9\ +\x36\x2c\xe6\x0f\xec\xc7\xc4\xb6\x05\x38\x6b\xb1\xca\x53\x4f\xf8\ +\x7b\xa2\x52\x69\x12\xa5\x67\x6c\xba\x4d\x2d\xae\x4c\xcd\xa2\x6a\ +\xdf\xa6\xda\xc5\x98\x67\x0a\xc3\xe6\xdc\x69\xf2\x8d\x25\x45\x97\ +\xac\xe8\xc0\x0d\x80\x20\x39\xe4\x90\x05\x6c\x5c\x76\xc9\x54\x03\ +\x30\x56\xe0\x08\xea\x03\x22\x05\xe3\x42\xc5\x22\x52\xbb\x39\xcd\ +\xae\xd1\x90\x98\xf4\x56\xc7\xd1\xe0\x2a\x85\x96\xc3\xd2\xaa\x10\ +\x04\x0a\x37\x89\x88\x37\x72\x08\xd3\x69\xae\x5a\x3c\xd6\xec\x60\ +\x3f\x13\x50\x05\x83\x05\x84\xcc\x20\x13\x23\x6e\x36\x00\xc7\x78\ +\xc4\x5d\x7a\xc7\x0a\x66\x4f\x91\x29\xad\x21\xfb\x35\xba\xec\x4b\ +\xcb\x44\x41\xf3\x81\x68\x00\xd7\x84\x10\xaa\xb2\x4f\x94\xf0\x0a\ +\xdf\x61\xc9\xb8\x51\xa3\xfb\x14\xa1\x1c\x03\xcf\xb5\x50\xae\x6e\ +\xcb\x52\xb0\xaa\x63\xbf\x75\xa3\x8e\xda\xc5\xa2\x9f\xbf\x42\xc4\ +\x50\x78\x81\x13\x81\x64\xb8\xaf\x30\x0b\x9a\x0e\xee\x3d\x88\xbd\ +\x8f\xec\xd3\x4d\x9e\x28\xd7\xd4\x87\x64\x0b\xdd\xcd\x44\x15\x74\ +\x92\x15\x73\x84\x6a\x51\x4a\x0a\xe6\x00\xa8\xcd\xe4\x22\x90\xd4\ +\xd6\x31\x10\x08\xd9\xf3\xe0\x1c\xe2\x46\x0c\x8a\x62\xa4\x1c\xaf\ +\x9d\xe5\x2d\xc7\x19\xe4\x58\x81\x47\xae\x16\xa4\xe2\x60\x8c\x4d\ +\x21\x98\xb1\xf4\xf5\x21\x51\x57\x69\x3d\xeb\x8c\x60\x18\x4f\xad\ +\xa7\x66\x6c\xa9\x49\xbd\x5d\x3e\x0a\x2f\xc6\xc1\x8a\x1b\xc3\x75\ +\x9c\x78\xae\x65\x81\x06\x1d\x45\xc1\xcb\x9c\x98\x43\x58\x59\x0c\ +\x15\x44\x11\xac\xf1\x05\x26\x20\x1d\xa5\x88\x9b\x91\x36\xf1\x2a\ +\xda\xa7\x4a\xf5\x8d\x9d\x9e\x37\x28\x35\xb8\xb8\x6c\xa7\x86\x60\ +\x71\xd5\x74\x53\xcd\x10\x68\x11\x68\x31\x71\xa5\x7f\x81\xc5\xfe\ +\x04\x1f\x5f\x5a\x8b\xf6\xe4\x24\xba\xf3\xb3\x4c\x00\xf5\xd1\x7e\ +\x32\x8f\x8d\xfc\xd4\x6c\x96\xfb\x4a\x6b\xd6\xe9\x91\xe0\xfa\x71\ +\x1e\x00\xc4\xc1\x48\x00\x1d\xf5\x53\x7d\x3a\xe8\xad\x80\x69\xf6\ +\xb2\x4e\x60\x03\x86\x15\xdd\x3c\xa8\x04\x2f\x72\x61\x63\x08\x16\ +\x61\xb3\x7e\x0e\xae\x07\x5f\xc2\xc3\xab\x7b\x2f\x96\x8d\x22\x2e\ +\xab\x01\x34\x9a\x51\x36\x9c\x2a\xc4\x0e\x02\x01\x65\x46\x05\xd7\ +\x00\xd7\x81\x41\x75\x55\xca\x82\xdc\x4a\x25\x06\xe1\x0f\x39\xbf\ +\x07\x4e\xd4\x3f\xb9\x9a\x9b\x4b\xeb\x53\xe8\x88\x4b\x2d\xc6\xb6\ +\xcc\x63\x6c\x6e\x86\x6c\x6a\xdd\x3a\x4f\x1e\x2e\xf9\x9b\x65\x37\ +\x29\x51\x20\x8f\x9c\xe1\x77\x24\x69\xef\x86\xf2\xe9\x6e\x94\x75\ +\x06\x85\x24\x10\x84\x14\xfd\xc0\x07\x16\x82\xfe\xe4\xf4\xcf\x7d\ +\xd1\x51\xe3\x1c\x40\x19\xbe\x2e\x9a\x3a\x58\x0e\x4f\x82\x58\xff\ +\x1a\x22\x66\x35\xff\x68\x78\xb8\x5e\x30\xd4\x06\x11\x57\xc2\xaa\ +\xa5\x49\x87\x9f\xc0\xed\x6c\x36\xf0\xd9\x44\x24\xa6\x85\x07\x24\ +\x16\x85\x45\xb0\x2a\x06\xf1\xa6\xd0\x75\x50\xb0\xf2\xd8\x82\x56\ +\x01\x66\x39\x38\x4b\x13\x68\x48\xb9\x83\x30\x87\xcf\x5d\xab\x75\ +\xd8\x7a\xe9\x25\x68\x4d\x8c\xb3\x4b\x2d\x1e\x48\x9f\xfd\x9e\x43\ +\x6e\xff\xbd\x54\xe0\x1c\x4e\xb8\xda\x1f\x40\x8e\xe5\x82\xb1\x25\ +\x16\x78\xc7\x95\x6e\xe0\xb0\x87\x2c\x14\x82\x40\x52\x0f\xcd\xbc\ +\xe0\xce\x7d\x67\xff\xf3\x3f\x03\x45\x4c\xc4\x94\x4d\xd9\x12\x5a\ +\x24\x24\x5f\x0b\x15\xd5\xb7\xab\x70\xc8\x10\xe6\xea\x88\x98\xda\ +\x80\x50\xbc\xd8\xe9\xef\x94\x24\x16\x94\xef\x30\x60\x66\xbc\xe3\ +\x43\xe5\x82\x8d\x7f\xfe\xe1\x77\x00\x00\xde\xfd\x86\x77\xd7\x8e\ +\xa2\x21\x09\x3b\x93\x8e\x6d\x2a\xcd\x20\xb2\x73\x29\xac\xcb\x72\ +\x6d\xef\x4b\xcd\x6a\x61\xae\x70\x22\x4c\xb3\x89\xf6\xd4\x04\x9c\ +\x75\x76\xc3\x8d\x1d\xec\x73\x77\xa3\x24\xcc\x95\xf3\x93\x09\x01\ +\x05\x18\x5c\x31\xdd\xbe\xb7\x22\x5f\x66\x61\x36\x8d\x80\x83\xd9\ +\x3c\x25\x7b\x47\xf4\x01\x38\x4b\x83\x78\x6a\x6d\xa5\xb5\xeb\x0b\ +\x59\x80\x1a\xb1\x04\x42\x48\x56\xf6\x1c\x2a\x29\xa1\xfa\xb7\x0c\ +\x88\x64\x29\x17\x54\x02\x2c\x01\x97\x40\x4d\xd6\x0e\x4a\xc7\x2c\ +\x40\x97\xc7\x2e\x7c\x0c\x7b\x1f\xd9\xe7\xff\xf0\xee\x5f\xff\xd7\ +\xea\x96\xbf\xfb\xa6\x77\x97\x3b\x06\x6a\x00\x1c\x6f\x8e\x5d\xb5\ +\x1f\x40\x69\x88\x0b\x4a\xb7\xae\xa6\x3c\xce\x55\x9e\x44\x05\x10\ +\x73\xf9\xcd\x76\xd9\xb1\x36\x3a\xed\x6c\x9b\x39\x77\x9e\x78\x20\ +\xb9\xea\xe3\x80\x23\xdd\x76\xc9\x1a\x0b\xf1\x42\x44\xfa\x6c\x1d\ +\x89\x95\x3b\x99\xd0\x18\xc5\x02\xaa\x01\x7f\xb8\x82\xf5\x91\x70\ +\x03\x86\xc1\x8e\x8e\x4c\x5e\xf3\x95\x34\xea\x9c\x20\x22\x32\x51\ +\xa4\xf6\xfc\xd4\x45\xc7\x15\x42\x88\xbc\x71\xd0\x1c\xbf\xc2\xa2\ +\x14\x37\xb8\x5a\x6d\x63\x55\x23\x97\x33\x0a\x8b\xcf\x4b\x47\x16\ +\x8d\xa6\x01\xdb\x1c\x3e\x76\x99\xc6\x03\xc0\xbb\x6e\x7a\x97\xe0\ +\x26\xe8\x34\x52\x2e\xaa\x50\xe6\x3e\x68\x6a\x55\x66\xbf\x06\xef\ +\xf0\x2e\xd1\xa1\xda\xa3\xe8\xaa\x10\xb2\xef\x87\xb4\x16\xb3\x17\ +\x2c\x62\x7e\xff\x3e\x76\xa9\xc3\xc0\x75\x8f\xe6\xa9\x1e\xd7\x76\ +\x0a\x81\xb2\x54\x9c\x49\x0b\x9f\xab\x61\x66\xe5\x55\x54\xa3\xfc\ +\x7d\x85\x63\x07\x39\xa8\x5b\x34\x3c\x96\x41\x0d\xc3\x30\xc0\x38\ +\xd5\x39\xf0\x79\x07\x33\x8c\x1a\x71\x86\x2f\x3b\xf1\xe5\xa4\x84\ +\x03\xc1\xd0\x45\xcd\xf1\x77\x1c\xf8\xde\x4a\xc9\xb6\x8e\x57\xc0\ +\xc1\xe7\x95\x9f\xe1\x1c\xc3\x5a\x87\x28\x8e\x02\x6a\xb9\xc6\xd8\ +\xfd\x04\x70\x57\xd7\xcd\xa4\xad\x8f\x86\xa2\x35\x03\xaa\x6e\xca\ +\x57\x65\xf4\x5c\xcd\xb0\x4b\x76\x3a\x75\x2b\x62\x9c\x46\xa7\x03\ +\x76\x8e\x4e\xd8\xad\x77\x3f\x65\x77\xdd\x5b\x80\x5b\x5c\x89\x3b\ +\x8a\xcf\x09\xe9\xed\x80\x92\x97\x60\x1e\x98\x91\x3e\x89\x82\x72\ +\x32\xd5\xcc\xcb\x27\x96\x28\x61\x69\xb2\xce\xb4\xf7\x3d\x6e\xc0\ +\xad\xac\x4f\x3d\x2e\x0f\xcf\xe9\xce\x5d\xae\x09\xb2\xb4\x43\x74\ +\xe5\xdf\x9c\x66\xf6\xc8\x66\x93\x70\xb1\x92\x22\xa2\x14\x3b\x7c\ +\xf2\x00\x30\x2b\x63\x50\x65\x08\xc5\xbb\x5e\xf7\xae\x1c\x31\x0b\ +\x2d\x89\xd8\x49\xac\x82\x41\x9d\x9b\x23\x0c\x44\x65\x20\xe9\x58\ +\x37\xc7\x70\x48\x2f\x93\x33\xa5\x35\xdc\x57\xf4\x56\x76\x67\x67\ +\xb2\x7d\x46\xcc\x78\x3c\x39\x70\xcf\x86\x1b\x5f\xd3\x0d\xc1\x5c\ +\x4b\x6c\xf5\xc3\x38\xc5\x2e\x01\xc5\x63\x10\x74\x45\xc3\xa4\xeb\ +\xc3\x92\x3b\x2e\xf7\xf8\xe9\xf4\x84\xca\x5c\x32\x7f\x71\x2b\x5d\ +\xef\x8e\xcc\xf8\x61\x10\xa5\x26\x8e\x10\xb5\xf2\xb1\xab\x8a\x4f\ +\xc7\x4a\x93\x88\xeb\x1a\x3e\x74\x33\x49\xc8\x10\xe2\x3a\x3a\x56\ +\x71\x23\x43\x1f\x0d\xc2\x63\xfb\x1e\xc3\xee\x87\x2e\x0c\xc9\x76\ +\x82\xc4\xe1\x2a\x34\xee\x32\x73\x11\xe6\xd3\xb1\x06\x89\x98\x2b\ +\x69\xa7\x6a\x31\x0f\x4d\x3a\x73\xa5\xa9\x84\x02\xcb\xe8\x21\xdc\ +\xd4\xf9\x75\xba\x60\x86\xe5\x78\x15\x41\x0f\x27\x0b\x2a\xb9\xcc\ +\x18\x28\x84\xe4\x29\xa8\x61\xb0\xfe\x5e\xa6\x52\xec\xa9\x21\x83\ +\xca\x8b\x93\x75\x6b\x19\xc6\x0e\xa3\xf1\xde\xf7\x27\x9e\xff\xef\ +\x07\xd1\xcc\xc3\xc8\xb8\xea\x9c\xc5\x03\xce\x5b\x01\xe2\x72\x13\ +\xb7\x2c\x85\x72\x2d\xef\xae\xc0\xb3\x03\xc2\xa7\xf0\x9b\xa4\xb4\ +\x4d\x68\xaa\x58\x22\x95\x24\x99\xff\x57\x68\x9c\x34\xb7\x8e\x2a\ +\x6c\x25\x35\xa4\x22\x2c\x30\x09\x0a\x9b\x4a\xb9\x1c\x36\x75\x51\ +\x75\x43\xaf\xa8\x12\x54\xe6\x97\x93\xa6\x18\x9b\x9f\xc5\xd4\xce\ +\xed\xec\x52\x8b\x65\x37\xf3\xb5\x7b\xfa\xd7\xbc\x97\x25\xb2\x18\ +\xb0\x78\x6b\x7b\x2a\x0a\x4b\xe0\xa0\x47\xe5\xfa\x2e\x64\x12\x7c\ +\x80\xb0\x8b\x14\x1a\xe1\x94\x60\x09\x71\xb5\x31\x21\xf3\x4b\x8e\ +\x12\x6a\x0f\x0e\x8e\xff\xfc\x27\x7a\xd1\xcc\x83\x06\x44\x51\xa3\ +\xa9\xaf\x4a\xfa\xeb\xf0\x8a\x45\xfe\x5e\x29\xb8\x54\xa0\xdf\xd0\ +\x12\xeb\x12\xb2\x8c\xe0\x6d\xea\x70\xf4\x8a\x27\xf0\xf8\x45\x8f\ +\xd7\xfb\x76\xbf\x0c\x32\xc0\x21\x8a\x80\xd2\xc9\xcf\xd4\x1b\x41\ +\xb5\x00\x73\x5d\x45\x3c\xfc\x21\x88\x17\x84\x1b\x15\x50\xf6\xf8\ +\xfc\x3c\xda\x93\x13\x94\x5a\xde\x58\x4b\xa7\x0f\x81\x62\x47\xec\ +\x88\xc5\x6c\x23\x15\xab\x84\x13\x9b\x2a\x38\x40\x80\xef\xbb\xd2\ +\xfa\xc4\x95\x7a\x2f\xd5\x0c\x8a\xa8\x4c\xeb\x94\x51\x70\x61\x35\ +\xc8\x77\x2c\xb7\x78\x7d\x0f\x83\x10\x35\x62\xb8\x24\x46\x3a\x4a\ +\xfc\x84\x5d\x85\x02\xaa\xad\x60\xa2\x5a\x06\xdd\x55\xab\x3a\x6c\ +\x0b\x5c\xc0\xd5\x30\x86\x58\xb3\x20\x9d\x03\x76\x7c\x67\x37\x66\ +\x67\x3a\x00\x31\x0e\x5f\xfc\xb8\x42\x27\xf7\x3c\xbc\x57\xf5\x49\ +\xd5\x36\x66\x84\x68\x1f\x34\x2e\xc1\x41\xa5\x88\x6b\x72\xea\x4a\ +\x70\xe8\x2a\x1d\x94\x8a\xb5\x1b\xb5\x5b\x60\xeb\x70\x4f\xef\xe7\ +\x6f\x2f\xd4\x94\x43\xda\x8e\x2f\xd6\x89\x31\xf4\xb9\xcf\x2e\xca\ +\xc3\x5c\xe9\xba\x21\xf1\xda\x6c\x82\x6a\xac\x96\x32\x92\xf6\xf5\ +\xc5\x61\x29\x8c\x39\xec\x3a\xa5\xdc\x8c\xfa\xc3\x21\x1c\xea\xfc\ +\xec\x1f\x4d\xa6\x27\x2f\x58\x18\x3e\xf6\xca\x46\xa7\x83\x34\x49\ +\x3c\xae\x1e\xf2\x05\xfd\x2e\x0c\x26\xcf\x2b\xa0\x0a\x9f\x4e\x9f\ +\x01\x55\x3a\x80\x04\x66\x21\xae\x2d\x4d\x9d\x5c\x4f\x8c\xdd\x0f\ +\xed\x55\x02\x73\xe8\x92\x43\x1e\xa0\xde\xf3\xd0\x5e\x7f\xfd\xd5\ +\x56\xb7\xea\x28\x8b\x3a\x5e\xbf\xae\xf6\xd5\xb5\x86\xd7\xa5\x6e\ +\xf0\xc3\x36\xe3\x76\x0b\x5b\x2e\xda\x97\x2d\xdb\x66\x8c\x58\x2c\ +\xc7\x54\xf3\x80\x8c\x18\xe5\xc3\x72\x20\x55\x01\x07\x97\x65\x5d\ +\x0a\x2d\x81\x81\xaf\x1a\xc2\x37\x87\x72\x0d\x97\xbc\x00\x11\xf2\ +\x19\xc0\xec\xea\xc6\xb8\x49\xdf\x52\x46\x9e\x1b\x66\x76\xa5\xd7\ +\x98\x5a\x9b\x1e\x1d\x7b\x76\x93\x37\x76\xb7\x27\x26\x60\x93\x14\ +\xa3\xf5\x0d\xb1\x21\xb4\x5c\x82\xc2\xc5\x9c\x61\xe6\xea\xe0\xc5\ +\x70\x4c\xfb\x26\x75\x82\xca\xa4\x2e\x02\x46\x23\x8b\x38\x36\x65\ +\xea\x26\x8c\x25\x31\xf9\x43\x07\x80\xc3\x97\x1e\xf2\x37\xe9\xce\ +\x77\x7e\x18\x00\xf0\xbf\x7c\xfc\x77\xf0\xbb\xaf\xfe\x97\xc1\x20\ +\x6a\x0e\x16\x49\x73\x30\x0c\xb0\xa6\xab\x09\xd5\x06\xd2\x82\xa4\ +\x41\x60\xb8\x51\x8a\xc9\x1d\xdb\x30\xb3\x67\x11\x6c\x2d\x12\x17\ +\x9f\x5e\xb2\xf3\x5f\x97\x35\x02\x22\x19\xd1\x91\x9e\xcd\xc0\x62\ +\x8e\x60\xd8\xdc\x5b\xa8\x6e\x7e\xf8\x61\x27\xb8\x91\x66\x9f\x18\ +\x95\x46\x0c\x35\x3d\x23\x68\x71\x52\x7d\xf7\x81\xef\x61\x44\xee\ +\x44\xeb\xe2\x2f\x00\x26\x05\x08\x51\xa3\xc1\x51\xa3\xa9\x52\x37\ +\x09\x7a\x84\xfe\x94\x1d\x2a\x34\x71\x19\x91\x73\x25\x7a\x86\x62\ +\xcd\x80\x33\x01\x68\xc4\x91\xd8\xfe\x51\x13\x6c\xe6\x87\xb1\xfb\ +\x7b\x7b\xfc\x3f\x00\x70\xf3\x6d\x6f\x54\x10\xb3\x14\x7e\x0a\xda\ +\xde\xe1\x04\x5d\xdd\x89\xf6\xf4\x0a\x65\x4d\x5f\x2f\x71\x06\xf6\ +\x74\x66\xa6\xd0\x9e\x9a\x04\x3b\xc6\xa9\x64\xcb\x17\xbf\xb3\x71\ +\xf9\xbf\x3b\x34\xd8\x77\x2f\x38\x9f\xb8\xaf\xf6\x65\x87\x4b\x04\ +\xa5\xb2\x50\xd9\xc8\x19\x66\x0c\x92\x73\x28\xdc\x95\x0a\x02\xcb\ +\xd2\x30\xab\x1e\xb8\x82\x76\x05\x55\x62\x0e\xaa\x67\x79\xae\x59\ +\x0a\xb8\xa3\xb3\xd1\xe2\x91\x6f\x77\x5f\xfa\xbb\x7d\x33\xfd\x20\ +\x91\xa1\xb8\xdd\x62\x3f\x5d\x44\x06\x86\x02\x2b\xd8\x7c\x2e\x30\ +\x54\x2a\x29\x5b\xa5\x58\xf4\x0c\xb0\xa8\xf3\xa7\xa9\x43\x23\x22\ +\xb0\x75\x02\x6a\xae\x92\x3b\x2b\xd0\x2d\x80\x3f\x7a\xe7\x1f\x0b\ +\x08\x15\x9a\xb0\xea\x36\xe9\x1e\xde\x74\x59\x85\x64\x33\xe9\xbd\ +\x4a\x2e\xb5\x98\xdb\xb7\x17\xad\xf1\x31\xb0\xb5\x38\x91\x6c\xff\ +\xbb\xbe\x1b\x5f\x2f\xf5\x8f\x02\x00\x87\x05\x76\x81\xea\x2c\x65\ +\x0e\xe7\x16\x6b\x2a\x7d\xa9\x20\x39\x7d\xef\xd6\xf7\x1e\xbf\xad\ +\xd2\x0d\xe4\x82\x06\x48\xd1\xaa\xed\xad\x8c\x13\x5d\xbc\xa1\x70\ +\xc8\x1b\xe3\x2c\x01\xc0\x95\x83\xcf\xff\x73\x03\xd7\x06\x11\xfa\ +\x2b\xab\xb0\xc3\x91\x6e\x4b\x0e\x47\xa5\x40\x7e\x0e\xd7\xf4\x15\ +\x70\xa5\xf4\x4f\xc2\x42\x39\x07\x2c\xaf\xf4\x31\x37\xd3\x2e\xb5\ +\x46\x8f\x83\x54\xd3\x3c\xa5\xc0\xeb\x0e\x65\x54\x78\x7c\xb5\x26\ +\xbe\xe2\xe2\x39\x68\xb0\x60\x4d\x05\x70\x8c\xb8\x11\x63\xea\x82\ +\x45\x74\x67\x26\x61\x1d\x0d\xbf\xba\xfe\xbc\x7f\x55\x34\xdb\x92\ +\xec\xdb\x22\xdd\xc7\x45\x79\x55\x8f\x88\xcb\xde\x7d\x19\xc4\xe7\ +\x55\x3b\x32\x41\x1b\x90\x58\xd5\x50\xbc\xce\xa8\x36\x26\xcd\xa1\ +\x54\x65\x4d\x3d\xb9\x5b\xb7\x0e\xc9\x51\x28\x85\xa4\xf9\x5a\x3c\ +\x19\x06\x22\x3e\x11\xed\xfb\xcb\x73\x34\x7b\x2f\x3b\x87\xf6\xc4\ +\x04\x3a\xb3\x33\xf5\x75\x01\x51\x72\x66\x27\x97\x2c\x69\x04\x51\ +\x22\x74\x70\x5c\xe9\xc3\x4b\x53\x8b\xc8\x90\x16\x96\x4a\xc1\x45\ +\xee\x2d\x0a\xc0\xa0\xb0\xed\x4c\x06\xa4\x2e\x60\x20\xbb\xb0\xa5\ +\x2d\x00\xab\x9c\x1e\x86\xc9\xce\x01\xce\xa2\xd1\xed\x60\x6c\x7e\ +\x16\x69\x4a\xbd\x0d\x3b\xf6\x88\xcc\xef\x25\x17\xb1\x6e\x89\xa5\ +\xe7\x1c\x6c\x4a\x03\x0f\x67\x2a\x84\xee\x22\xfb\x65\x1c\x8e\x89\ +\xf7\x3e\xde\x03\x64\x54\x9d\xb2\x59\x6c\xd0\x60\x0a\x72\xf5\xb0\ +\x5c\x5b\x6a\xed\xf1\xf8\xc0\xf7\x4e\xf2\xde\x47\xae\x18\xfe\xf5\ +\xa5\x11\xd2\x31\x13\x45\xdc\xe8\x76\xa8\x08\x0c\x6b\xb7\xb4\x78\ +\xc0\x89\x36\xef\xfc\xa9\x61\x2f\x6d\xf4\x52\xf4\x07\x29\xda\xcd\ +\x38\xa8\x2c\xe2\x07\xb7\x9d\x57\xc8\x1e\x5c\x61\x38\xa9\x72\x2d\ +\xe9\x09\xe9\x14\x72\xfd\xd4\x9c\xd9\x3c\x35\xb5\x29\x4c\x1c\x63\ +\x7a\xcf\x05\xe8\xce\x4e\xb3\x4b\x52\x3a\x95\x6e\xfd\xbf\xbf\x3f\ +\xd8\xff\x4d\x92\x93\x1b\x04\x9b\x89\x5c\x98\xa1\xe5\xab\x38\x88\ +\xc3\x1d\x3d\xc5\xc2\x36\x0f\xd8\x91\x1c\xdb\xa7\x37\xf8\x81\xb3\ +\xcd\x4f\x7a\x70\x50\x2d\x72\x85\xfa\x92\x31\xb1\xda\xbe\x5b\xb3\ +\xf6\x44\xd0\xaf\x9d\x23\xe6\xd8\x7e\xbb\xf9\xe2\xdb\x8f\x47\xfb\ +\x3f\x41\x20\x6a\x74\x3a\x6c\x1a\x8d\xec\x8b\xda\xd0\x0a\x70\x09\ +\x37\x33\x57\x27\x79\xa8\x52\xb3\xf6\xef\xfd\x81\x45\xab\x11\xa1\ +\xdd\x34\x39\x5f\x50\xd3\xad\x54\x61\xa7\xd2\x77\x28\xe1\x60\xaa\ +\xa2\x68\x21\x01\xa4\x66\xb4\x6c\x09\xb7\x0a\xc1\x72\x40\x3a\x4a\ +\xd0\x99\x9e\xc6\xf6\x2b\x2e\x43\x77\x6e\x06\x20\xa2\x95\x64\xf2\ +\x9b\x4b\xc3\x2d\x8f\x55\xc8\x2e\x61\xcf\x65\x05\xdb\x51\x83\x77\ +\x2b\xb8\x83\x5f\xab\xe3\x99\xc8\xba\xed\x27\xdb\x64\xc2\x79\x6b\ +\x58\x85\x0e\xbe\x09\x51\x43\x91\xd4\xa8\x82\x7c\x95\x1d\xb1\x72\ +\x5d\x4a\xa1\xcb\x59\xd5\x90\x1c\xd3\x31\x73\xd1\x83\x33\x7c\xea\ +\xca\x0e\xad\xef\x1f\x9b\x9d\xcd\xa6\x8f\xac\x9e\xc3\x70\x6d\x3d\ +\xf3\x7f\x44\x8a\xdc\x4d\x5c\xc7\xd0\x65\x41\xc1\x2a\x13\x45\xc7\ +\xd9\xba\xb4\xf1\x4e\xb3\xe4\x21\xd4\xb4\x9d\x55\x58\xc7\xaa\x81\ +\xae\xa0\x94\xeb\x4d\xa7\x14\x12\x3d\xea\x76\x06\x86\xad\x6c\x39\ +\xc2\x49\x64\x30\x7f\x60\x3f\xc6\xe6\x67\xe1\xd2\x14\x60\xf0\x23\ +\x1b\x07\x3e\x74\x3a\x5d\x38\xa2\x96\x6a\x43\xaf\xd3\xf5\xf1\x00\ +\xe5\x15\x4b\xd5\xad\x23\x06\x74\x04\x85\xbb\x52\xf3\x83\x4e\x10\ +\xd2\x70\x70\xac\x48\x9f\xde\x72\x93\xea\x5c\x2d\xdf\x57\xf6\x16\ +\xe9\x36\x24\x52\x8c\x1f\x52\x93\xbe\xfd\xcd\xcb\x21\x2a\x62\xe0\ +\x38\xf6\xfd\x97\x39\x3a\xba\xd4\xe6\x8d\xc5\x26\xf7\x17\x9b\x63\ +\x63\x30\x51\x44\x36\x49\x90\xf4\x06\x41\x50\x48\x55\x98\x58\x15\ +\x66\xca\x9b\x9f\xa6\x2e\x23\x39\x30\x57\xda\xbe\x00\x6c\x6e\xea\ +\x39\x98\xd3\x2f\x04\x41\x01\x69\x01\x95\x8c\xe4\xcd\x0b\xdc\x89\ +\x73\x59\x2b\x5a\x67\x7a\x1a\x33\x17\x2c\x72\xd4\x6c\x90\x4d\xd2\ +\x74\xc3\x8e\x3f\xf2\xed\xf5\x2b\xff\x43\x16\x84\x39\x62\x09\xd7\ +\x88\x31\xb0\x44\x50\x3c\x4a\x3f\x96\x57\x8e\x8b\x25\x31\x55\x3d\ +\xe8\xfa\xa0\x70\x44\x88\x10\xaa\xe2\x5a\xe3\xb0\x83\x54\xf1\xe9\ +\x2b\xae\x8c\x34\x14\xca\x21\xf6\x41\x08\x77\xec\x90\xef\x76\x11\ +\xa0\x0f\x03\xcb\xb4\xfd\xc8\x59\x6c\x3f\x02\x00\xcf\xe2\x2f\xbc\ +\xc3\x18\xd7\x6d\x8e\x75\x41\x64\xb0\x9e\x9c\x46\x3a\x18\x96\x51\ +\x79\x58\xa7\x56\xf1\x80\xa0\x9b\x11\x30\x4a\x2c\xe2\x98\xaa\x08\ +\x9d\xef\x4a\x42\x85\xe5\xab\x03\xcd\x12\x3e\x63\xb9\x08\x52\x6e\ +\x2a\x55\xf1\x01\x07\xe8\x69\x76\x49\x69\x92\xa0\x3d\x31\x8e\xc9\ +\x9d\xdb\xd1\x9e\x9c\x04\xc0\xb4\x3e\x68\x7e\xff\xf8\x68\xfb\x57\ +\x8f\x0d\xb7\x7f\x3f\xe7\xee\x13\x93\x61\xb5\x4c\xab\x78\x9f\x00\ +\xea\xf5\x9e\x9c\xf4\x39\xca\xb6\xaf\xb2\x1b\x8b\xfc\x7c\x4f\xd9\ +\x17\xe0\x81\x3d\x39\x2b\x38\x18\x00\x50\x56\xfd\xc0\x41\x3f\x7c\ +\xa9\x8d\x24\xfe\x56\x36\x3f\xe4\xd2\xe6\x48\xe5\xf3\x72\xce\x4d\ +\x65\x20\x53\xfe\xe5\xbe\x85\x5f\xba\x7d\x92\x97\x16\x66\xf9\xd4\ +\xbe\x79\x3a\xf6\xe2\xb1\xf9\x39\xb0\xb5\x48\x93\x14\x76\x30\xc4\ +\xe0\xdc\x3a\xf4\x96\x6e\x79\xcd\xae\x6c\x49\x63\x60\x94\x38\x74\ +\xf2\x05\x50\x92\x1d\xcc\x08\xc0\x20\xd4\x04\x9c\xa2\xa1\x55\xfb\ +\x45\x57\xb5\x10\x35\x1a\x5f\xfc\x64\x47\x09\x66\x2e\x58\xc4\xf8\ +\xd6\x2d\x99\x38\xb9\x6c\x71\xec\xf7\xfb\x17\xde\xbd\x92\x4c\x9f\ +\x2e\x4b\xec\xc4\xe5\xf2\xe7\x80\x97\x21\x0e\x15\x01\xcd\xaf\x5c\ +\x55\xc7\xea\x35\x24\xd6\xd0\xa8\x32\x7e\x29\x21\x7e\x83\x1a\x15\ +\xe3\xe5\x6b\xf7\xf1\x6c\xd2\x29\x2d\x73\x7d\xe2\x2a\xfe\x2e\xd7\ +\xa9\x43\x60\xd4\xcc\x35\x54\x70\x35\xbf\xd7\xf0\x2a\xb6\x9e\xec\ +\xf3\xe4\xea\x38\x96\x2f\x6d\x60\x38\x1f\x19\xd3\x69\xb4\xdb\x88\ +\x9b\x4d\x4e\xfa\x7d\x72\x49\x0a\xe7\x44\x05\x88\x8c\xf6\xe9\x94\ +\xf1\xf9\x52\xeb\x10\x9b\x48\xa7\x40\xd0\x96\x42\xb3\x72\x83\xec\ +\x5d\x4e\x3c\x2b\x7c\x69\xd8\xae\x15\x72\x27\xc0\x60\x6b\x81\x28\ +\x42\x14\xc7\xd8\x7a\xe9\x45\x68\x74\xda\x70\xd6\x71\xca\xd1\xea\ +\x37\x56\x9e\xf5\xfe\xf9\xd6\xd9\x1d\xab\xc3\xa9\x33\xb2\xd5\x9e\ +\x7c\xf1\x46\x44\xfc\x90\x1d\x47\xc5\x32\x2e\x56\xa3\x79\x2b\x2c\ +\xde\x22\x65\xa7\x1a\xb9\x94\x6d\x5e\xa6\x3a\x2f\x20\xae\xe6\x54\ +\x84\xda\x19\xbd\x2c\x97\x1f\x93\x30\x8f\xf0\x2b\x51\x54\xc4\x29\ +\x52\x41\x92\x4d\x91\xd2\x95\x04\xac\xde\x21\xda\x83\xef\xb8\x9f\ +\xff\x10\x31\x60\x78\xd4\xb8\xc8\x7c\xe7\x25\x13\xd1\xca\xb3\x27\ +\xb7\x6f\x87\x73\x0e\x2e\x4d\x91\x0e\x86\xf9\x3f\x03\x38\x2b\x26\ +\x75\x33\xc3\xe6\xfd\x71\x91\x21\xc1\x0d\xa4\xea\xf8\xf5\x0a\x0d\ +\x2e\x94\x72\x01\x16\x39\x11\x1f\x38\xb1\x2b\x31\xc7\xf2\x5d\x9a\ +\xa2\x35\x31\x8e\xb8\xdd\x42\x14\xc7\x98\x5a\xdc\x99\xf1\xf9\x52\ +\x8b\x81\x6b\x1f\xb9\x77\xf9\xea\x0f\x33\x31\x4e\x0c\xb6\x3d\x61\ +\xe0\x48\x4d\x06\xa3\xea\x80\x48\xf6\x41\x1f\xa9\xc2\x17\xe5\xd6\ +\x55\x6d\x7b\xf6\x19\x72\x39\x29\x95\x6a\x88\x9d\x7e\xff\x23\x82\ +\xc0\x51\x16\x83\x4a\x33\xcd\x35\xfd\x7a\xba\xb9\x5c\x30\xc4\x3c\ +\x21\x99\xea\x10\x31\x2e\xd9\x43\x54\x33\x01\x9c\xe4\x60\x25\x41\ +\x61\x62\x00\x96\x9b\xc9\x49\xb7\x78\x1f\xc0\x71\x1b\xbd\x9d\x0d\ +\x4a\xe6\xa3\x46\x03\x71\xa3\x01\x9a\x9a\x44\x7f\x65\x0d\x1b\x27\ +\x97\xb2\x2d\x99\xf9\x17\x32\x20\xcc\x8e\x37\xbc\xf6\x13\x82\x8e\ +\xe1\xa0\x8c\xab\x50\xc4\x10\xe8\xaa\xed\xe9\x23\xb8\xd4\x02\xce\ +\xa1\xd1\xed\x20\xed\x0f\x30\xbd\x6b\x11\x9d\x99\x69\x6e\xb4\x5b\ +\xe4\xac\x05\x3b\x8b\xd5\xd1\xd4\xbd\x03\x6e\x2d\x27\xae\xb1\x5e\ +\x1e\x4e\x96\x09\x71\xd0\x8a\xaf\xca\xb0\xa4\xe3\x2f\xd9\x71\x5d\ +\xb2\xb3\xb8\x52\xb7\x27\xf1\x3e\x5c\x53\x0d\x64\x2a\x15\xce\x04\ +\x09\x41\x5c\x5d\x16\xa8\x61\xe0\xd2\xd9\x97\xf9\x87\xda\xe7\xe3\ +\x21\x62\xaa\x69\xf5\xd2\x6b\xb2\x39\x64\xd6\x88\x53\x21\x47\x72\ +\x66\x22\x00\xe0\xac\xdb\x76\xec\xac\xdd\xfa\x29\x66\x20\xe2\x34\ +\x9a\x32\x67\xb7\x4e\x9a\xb3\x3b\xb7\x44\xc7\x5e\xd4\x9a\x18\x6f\ +\x36\xba\x5d\xd8\xe1\x10\xa3\xde\x00\xe9\x60\x98\x8f\xae\x73\x70\ +\x29\x4b\x4c\x54\xf5\xe7\x95\xd3\xc1\x04\x3b\x56\xee\x21\x65\xa1\ +\x31\x9c\x47\xf2\xf9\x7b\x39\x6b\x31\x7b\xe1\x2e\x0c\xcf\x6d\x60\ +\x7a\xd7\x4e\xd9\x31\x41\xe7\xfa\xcd\x47\x3b\x71\x7f\xf7\xc1\x73\ +\x17\xfd\xc9\xd2\x70\xee\x58\x31\x61\x9d\x02\xd3\xee\x3f\xdb\xe8\ +\x41\x1a\x65\x54\x4f\x7a\x21\xa6\x9a\xec\xc1\x4a\xeb\x33\x8b\xc0\ +\x2a\x0d\x54\x9b\x59\x03\x0b\xa7\x77\x0f\x64\x67\x17\x43\xd1\xbc\ +\x79\xd3\x36\x71\x9f\x83\x57\x06\x26\x86\x08\x59\x4d\xdf\xbf\x1c\ +\x4e\x13\x60\xe2\xc8\x19\xc4\xf5\xf3\x70\xcb\xa0\xd3\x52\xc3\x9e\ +\x75\x0b\xc7\xce\xa6\x0b\xc7\x26\xda\xab\x07\xda\xe8\xed\x31\x06\ +\xcd\xa8\x3b\x86\xe6\xd8\x58\x26\x60\xce\xc1\x8e\x12\x24\xfd\x3e\ +\x92\xde\x00\xe9\x60\x00\x9b\xa4\xb0\x49\x8a\xce\xd4\x24\x98\x39\ +\x73\x1d\xa9\xf5\x6b\xe2\xa3\x46\x03\xce\x3a\x38\x9b\x69\x76\xd4\ +\x6e\x83\x60\x60\x87\x23\x34\xda\x2d\x8c\xcd\xcc\xe7\xf8\x04\x30\ +\xb7\x77\x37\x4c\x23\x46\x67\x66\x06\xb0\xce\x83\xee\x47\xfb\xdb\ +\x3e\xfd\xf8\xfa\xbe\xfb\x8a\x54\x44\xd3\xeb\x38\x40\xe0\xb4\xa3\ +\xf6\x01\xa0\x38\xe0\x92\xb7\x41\xd5\x7e\x42\x88\xec\x80\x44\x29\ +\x1d\x65\x1f\xa2\xcf\x06\xc3\x35\x2d\xd0\x4a\xca\x7e\x54\x6c\xe1\ +\x3d\x02\x36\x8e\x84\x36\x6b\x07\x7f\x12\x95\xe8\x19\xb4\xcf\x2a\ +\x53\x4a\xaa\x21\x4a\xe8\x21\x19\x55\x86\xab\x0e\x26\x39\x00\x81\ +\xfe\xae\xff\xdc\x3f\x63\x00\x63\xb4\x3a\x35\x13\x9d\xde\x35\x69\ +\x56\x2e\xec\x46\xbd\xdd\x0d\xe2\xb9\xb8\xd5\x44\xdc\x6a\xa1\x3b\ +\x93\x09\x96\xb5\x16\xc9\x60\x80\x66\xa7\xc3\x26\x8e\x89\xad\x85\ +\x4d\x52\x24\xfd\x01\x86\xe7\xd6\x31\x36\x37\x83\xb8\xd3\x46\xda\ +\x1f\x62\xb8\xbe\x81\xe6\xd8\x18\xb7\x26\xc6\xc9\x8e\x86\x60\xc7\ +\xdc\xe8\x74\x88\xb7\xb2\x87\x83\x07\xa3\xf8\xc4\xc0\xb6\x4f\x3a\ +\x98\xc1\x83\xcb\x97\xdf\x3d\xd5\x5c\x99\x5b\x4d\xa7\xcf\x64\xea\ +\xa8\xd0\x97\x20\x07\x27\x31\x46\x2f\xff\x99\xf2\x58\x45\xc4\xb3\ +\x44\x3a\x0e\x51\x3e\x3d\x6c\x59\x92\x08\x0d\x91\x08\xf6\xe5\xa5\ +\x90\x8a\x75\x4a\x61\xc9\x14\x2b\x96\x34\x64\x19\x55\x97\xfb\x9c\ +\x45\x94\x0a\x9d\x5b\x53\xb8\xda\x1d\x2a\x38\xd0\x33\xca\xc2\x3e\ +\x3c\x89\x4e\xc9\x46\x4a\x15\x13\x51\x05\x99\x94\xb5\x81\x0d\x37\ +\xb5\xba\x91\x4e\xad\x32\xf8\xc1\xec\x9a\x6d\x34\x17\x9d\xde\x36\ +\x13\x9f\xd9\x3b\x16\xaf\xef\x6d\xd3\x60\x27\x19\xd3\x6e\x8f\x8f\ +\x81\x1d\xd3\x20\x89\x8f\x37\x89\xb7\x46\xcd\x86\xc9\x84\x64\x3a\ +\xd3\x7c\x26\x34\x3a\x1d\x34\xba\x5d\x30\x33\xd9\xd4\x8d\x4c\x14\ +\x37\x11\x83\xd6\xfa\xad\x87\x1b\x51\x3a\xdd\x8a\x46\xdb\x96\x06\ +\x5b\xbe\xf8\xc4\xfa\xae\x6f\xf5\x6d\xb6\x8c\x01\x04\xac\x8c\xa6\ +\xcf\x64\x8a\x6d\x3c\xa8\x20\xad\x9e\xe8\x69\x56\x7b\x18\x7d\xb5\ +\x31\x07\xdd\x98\x74\x70\x4c\x26\x10\x02\x7f\x3b\xab\xd2\x50\x58\ +\x01\x55\xce\xe7\x60\x07\x19\x85\x35\xdf\xec\xca\x62\xff\xe2\xda\ +\x16\xd5\x62\xcf\x4f\x2e\xbd\x9c\xf9\x33\x76\x81\xc6\x87\x15\x45\ +\xe1\x56\xb8\xa6\x26\x2e\x23\x21\x62\xaa\x61\x01\x71\x65\xbd\x19\ +\xd7\x0d\x2d\x08\x9b\x73\x39\xb2\xa7\x93\xad\x47\x97\x46\x5b\x8f\ +\x12\xf3\xdf\x32\x80\x6e\xb4\x31\x31\xd7\x58\xba\xa0\x45\xc3\xa9\ +\xc7\xd6\x2f\xfe\x2a\x00\x4c\x37\xce\x2c\xcc\x36\x97\x77\x4f\x36\ +\xd6\x2e\x6c\x46\xa3\xb9\x6f\x2c\x3d\xe7\x03\x5b\xdb\x27\x2f\x98\ +\x6e\xad\xec\x1d\x8f\x37\xf6\xdc\x7b\xfa\xea\x3f\x1e\x6f\xac\x4f\ +\xce\xb5\xce\x5c\xf0\xc4\xfa\xee\x07\xf3\x2f\x47\x0a\xad\x21\x15\ +\xee\x84\x68\x82\x32\xcb\x41\x05\xa6\xe4\xec\x93\xe4\xe2\x09\xa0\ +\xcc\xb0\xda\xb2\xa5\xa2\x78\x39\x58\xa3\x98\xf4\x60\x82\xf4\x10\ +\x92\x41\x24\x0d\x91\x04\x11\xb2\x7f\xd3\xad\xff\xf6\xf8\x6d\xde\ +\x3c\x14\x34\xec\x60\xe0\x90\x2f\xcb\x8a\xca\x20\xd7\xd0\x9e\xd5\ +\x00\xa4\x1c\x10\x92\xc3\x1d\xf4\x28\x75\xd2\x40\x93\xe3\xea\xf3\ +\x7c\xf3\x05\x69\xd7\xa2\xc6\xb1\x50\x4d\x66\xa1\x05\x98\xbc\x20\ +\x33\x11\xd7\x0e\xee\xae\xb4\x8c\xfb\x9b\x47\x59\x1b\x65\xdd\x7c\ +\x1d\xaa\x9b\xa9\x9c\xd7\xd9\x89\x74\x47\x2d\x91\xae\xcb\xeb\xda\ +\xbd\x7e\x1d\xcb\x9a\xbe\x78\x4d\x31\xe1\xc4\xff\x5d\x10\x40\xd5\ +\xe7\x0a\x24\x88\x8c\xa4\x7c\x09\x5e\x80\xc9\x9e\x13\x7b\x71\x92\ +\x3b\x76\x49\xb3\x57\x15\xfc\xc9\xd5\x7e\xb4\xd2\x0c\x65\x2f\x76\ +\x72\xe3\xa7\x1a\x7a\x24\x7a\xd8\x64\x5d\x21\xa8\x63\x93\xc0\xfe\ +\x15\xb9\x92\x39\x70\x0d\x65\xff\xbf\x4e\xe1\x48\xb0\x99\x75\x99\ +\x92\xc3\x4c\xa7\xf8\x34\x26\x0d\x79\x97\xc1\x1b\x57\x58\xc7\xa0\ +\xea\x30\x65\x0a\xb9\x8b\x54\x1a\x6f\x12\x23\x1a\x38\x44\x5b\x08\ +\xe1\x90\x0e\x0a\xb6\x78\xb0\x44\xf1\xa0\xe7\x50\x10\xe9\x19\x70\ +\x2a\x5d\xa4\x00\xb1\x2a\xb6\xbc\x8b\x98\x2c\x96\x15\xaf\x90\x30\ +\x10\x6e\x9d\xe2\xc0\xa7\x10\x07\x5b\x2d\x6b\xaa\x62\x9e\xaa\xec\ +\x58\xc3\xca\xb5\x44\x1a\x69\xca\x6a\x26\x7f\x08\x72\x3a\xb3\x1e\ +\xb0\x4c\xb2\x9b\xb8\x86\x13\xaf\xd3\xb0\x52\x90\x28\x68\xd9\xd6\ +\x41\x2c\x89\xdd\x07\xa4\x97\x6b\x16\xa4\x4e\xd2\x3b\x11\x59\x4d\ +\xfe\x20\x75\xdd\xaa\x2b\x9e\x82\x03\x27\xe1\x72\xa9\x52\xb8\x53\ +\x09\x3c\x57\xb6\x51\x96\x8a\x4b\xf2\xfd\x83\x58\x83\x1c\xca\xf1\ +\xe0\xe5\xa0\x48\x19\x90\x51\x75\x49\x05\x53\xb5\x63\xc8\x9b\x5a\ +\xd2\x45\x1f\x48\xda\x95\xb8\x02\xc9\xec\xa9\x43\xdb\x42\x61\xd8\ +\x74\x69\x63\x58\x9b\xe0\x60\xe2\x36\x05\xad\x53\x95\x8e\x30\xd5\ +\x4a\x45\xc2\x4d\x70\x58\xe3\x0f\xe6\xfd\x39\x94\x3d\x80\xbe\xda\ +\x21\xc9\x9e\xae\xca\x0f\xa8\x8e\x86\x85\x9f\x50\xa2\xc9\xac\x2c\ +\xd6\xcc\x48\x2a\xbf\x1e\xee\xcb\x75\x43\x35\x50\x37\x62\x47\x77\ +\x73\x91\x1f\x15\x17\x7a\x38\x86\x51\x01\x49\xd1\x7e\x20\x57\x4d\ +\x70\x1d\x45\x5b\x92\xc1\x64\xfd\x9a\xea\x2f\x8e\x50\x3f\xe6\x43\ +\x09\x0f\xc2\x93\xaa\x5a\x1f\x75\x13\x48\x0f\xaf\x08\x16\x3d\x52\ +\xed\xda\x96\xa0\xc1\xa4\xb2\x08\x4a\xa7\xa2\x24\xa6\x62\xf9\xbe\ +\x43\xd9\x49\x1c\x96\xab\xa1\x67\x03\xa8\xe1\x58\x08\xb3\x19\x68\ +\x9a\xb7\x56\xed\xb2\x75\x0e\xba\x90\x86\xc0\xeb\xa8\xe0\x8f\xf5\ +\x8c\x65\xa8\xb8\x95\xf4\x3a\x5b\x6f\x01\x82\x2a\x87\x1f\x23\x82\ +\x72\x93\x25\x73\x38\x31\x84\xf5\xb6\xd1\x0a\x74\xa3\x0f\x9f\xb9\ +\xba\x98\x91\x6b\x37\x6c\x92\xba\xf8\x60\xd1\x47\x40\x35\x0b\xc7\ +\xc1\xb1\x02\x9a\x58\x1c\x9e\x9c\xf4\x51\xb2\x8c\x48\xad\x7c\x91\ +\xac\x59\x04\x1c\x41\x0e\x7a\xed\x8b\x96\x6e\xd9\x83\x4f\xaa\xd3\ +\xb7\x5a\x50\x23\x96\xe9\x70\xd0\x3b\x58\xd7\x06\x17\x2a\x15\x28\ +\xe8\xd6\x0a\x48\xac\x21\x4d\x5c\xb8\x54\x46\x75\x3d\xb0\x2f\x07\ +\x53\x40\xb6\x50\x03\x0f\x3c\xe3\x97\x2a\xac\x1a\xdd\x39\x84\xc0\ +\xd7\x55\xb0\xc8\xb2\x16\xaf\xc6\xa0\x89\xb9\x03\x54\x6a\x19\x57\ +\x4c\x27\x95\x04\x87\x10\x2b\x77\x21\x4f\x11\x35\xcb\x9f\x39\x48\ +\x17\xa9\xb4\x72\x8e\xf5\xf4\x52\x75\xef\xb9\x62\x69\x64\x5e\x2f\ +\x27\x68\x30\xd7\x03\x6e\x52\x25\x65\xac\xa0\xe7\x2f\x15\x1b\x1c\ +\xeb\x8e\xc9\x4f\x00\xd4\x33\xfe\xe4\x7e\x07\x59\x0b\xd0\xc9\x07\ +\xd4\xfc\x56\x66\x05\x35\x67\x84\x94\xa0\x1d\x98\xbd\xff\xae\xb9\ +\x18\x2e\x8d\x7e\xf1\xa1\x04\x6d\xc2\x29\x38\x80\x4d\x86\x80\xa9\ +\xf5\x31\x65\x8f\x61\x29\x2c\xd2\xad\x70\xb0\x6d\x24\x74\x49\xb2\ +\xe7\x8e\xea\xba\x8a\x98\x2a\xbc\x3e\xbd\xb2\x7e\xb3\x6e\x5e\x12\ +\x7d\x01\x5a\xf3\xf4\x4a\x5a\x69\x7d\xa8\xc2\x72\xae\x5e\x2b\xd5\ +\x6c\xba\x63\xa0\x2e\xb1\xa8\x58\x15\xae\x58\x2a\x0e\x17\x41\x04\ +\x0b\xa1\x19\xda\x8a\x94\xde\x9d\x60\x7c\x6f\x5e\x25\x5e\x2d\x35\ +\x9f\x6b\xb7\x59\x52\xd0\x91\x53\x12\x05\x28\x18\x28\x41\x0a\xee\ +\x0d\x76\x0d\x72\xe8\x4c\x28\x58\x48\x59\x6e\x17\x63\x22\x15\xa8\ +\xb2\x12\x92\x2a\x75\x5a\xed\x33\x52\xbe\x5d\x73\x1d\xd4\xc4\x51\ +\x40\xb7\x91\x07\x23\x5c\x4a\x41\xa1\xca\x7c\x02\xe9\xd3\x29\x40\ +\x37\x59\x36\xce\x04\x56\x10\x95\x14\x90\x95\xf1\x93\xa7\x46\x7a\ +\x83\xa2\x62\x09\x95\x2d\x67\x41\x6a\x1a\x2c\xc1\x94\x7d\x14\xff\ +\x0f\x36\x86\x77\xb7\x57\xe9\x33\x5f\x00\x00\x00\x00\x49\x45\x4e\ +\x44\xae\x42\x60\x82\ +\x00\x00\x35\x8c\ +\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\x00\x01\x73\x52\x47\x42\x00\xae\xce\x1c\xe9\x00\x00\x00\ +\x06\x62\x4b\x47\x44\x00\x18\x00\xec\x00\xe0\xa9\x21\xac\x80\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\xdc\x08\x06\ +\x10\x1f\x13\xe9\xf1\x8e\xd9\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\x20\x00\ +\x49\x44\x41\x54\x78\xda\xed\xbd\x79\x94\x5c\xd5\x7d\xef\xfb\xd9\ +\xe7\xd4\x3c\x75\x55\xab\x5b\x52\x77\x4b\x02\x8d\x08\x09\x4b\x60\ +\x06\x81\x04\x66\x92\x19\xc4\xe0\x64\xe1\x9b\xfb\x5e\xec\xb5\xbc\ +\x3c\xdc\xf5\xd6\xbb\x4e\x96\x7d\x1d\x03\xef\x05\x3b\xce\xf0\x9c\ +\xf7\xb2\xae\x7d\xf3\x92\x38\xc9\x8b\x6f\xe2\xbb\x6c\x5f\x3b\x76\ +\x62\x48\x1c\x04\x66\x36\x10\x83\x24\x30\x60\x90\x00\xcd\x53\x4b\ +\x3d\x77\x57\x55\xd7\x5c\x75\xce\xde\xef\x8f\x33\xd4\x3e\xd5\x2d\ +\x06\xa3\x96\x91\xdc\x9b\xa5\xd5\xd5\x45\xf5\xa9\xaa\xb3\xbf\xfb\ +\x37\x7c\x7f\x13\xcc\xaf\xf9\x35\xbf\xe6\xd7\xfc\x9a\x5f\xf3\x6b\ +\x7e\xcd\xaf\xf9\x35\xbf\xe6\xd7\xfc\x9a\x5f\xf3\x6b\x7e\xcd\xaf\ +\x5f\x8b\x25\xce\xd4\x1b\xdd\x77\xdf\x7d\xca\x7b\xfc\xd5\xaf\x7e\ +\x55\xcc\xdf\xfa\x5f\x13\x00\x8c\x8d\x8d\xf9\x1b\xff\x17\x7f\xf1\ +\x17\xa7\x7c\xdd\x3c\x28\xce\x41\x00\xe8\x9b\xef\x2d\x85\x02\xd5\ +\xfe\xed\x2f\xff\xf2\xaf\xe6\x01\x71\xae\x03\x20\x9f\xcf\x93\xcb\ +\xe5\x9c\xed\x57\x0e\x08\x84\x8f\x03\xe7\x39\xdc\xe7\xff\xfa\xaf\ +\xff\x7a\x1e\x0c\xe7\x1a\x00\xee\xbe\xfb\x6e\x84\x10\xac\x59\xb3\ +\x86\xb5\x6b\xd7\xd2\xdb\xd3\x43\xa6\xab\x8b\x05\xdd\xdd\x98\xa1\ +\x10\x4a\xa9\x80\x84\x10\x0a\x94\x82\xbf\xf9\xdb\xbf\x79\xcb\xeb\ +\xcf\x03\xe3\x2c\x02\x40\xe7\x4a\xa5\x52\x64\xbb\xba\x48\x67\xba\ +\x58\xb9\x72\x05\xeb\xd6\xad\x23\x9b\xcb\x39\x3b\xdf\xa1\x2a\x94\ +\x2b\x22\x3c\x9c\xfc\xdd\xdf\xfd\xdd\x3c\x18\xce\x16\x00\x28\xa5\ +\xb8\xe7\x9e\x7b\x66\xfc\x3f\xa5\x94\xf6\xcf\xd9\x70\xd3\x30\x58\ +\x73\xc1\x05\x6c\xba\xe2\x0a\x56\xad\x5a\x45\x28\x14\x72\x3e\xa4\ +\x70\xb1\xa0\xf4\x9f\x12\x81\xe0\x9b\xdf\xfc\xe6\xbc\x74\x78\xdf\ +\x02\x60\x74\x54\x29\x08\x00\x40\x01\x48\x85\xff\x9f\x52\xee\xef\ +\xee\x49\x57\xde\xf3\x90\xcb\xe5\x58\xbb\x76\x2d\xcb\x96\x2d\x23\ +\x9b\xcd\xd2\xdb\xd3\x4b\xa6\x2b\xa3\x49\x05\x7c\x44\x48\xf7\xe7\ +\x3f\xfc\xc3\x3f\xcc\xab\x8c\xf7\x0b\x00\x46\x47\x47\x15\x3a\x00\ +\xbc\x13\x1f\xd8\x6c\x50\x4a\xba\xc0\x68\x3f\xd6\xa5\x03\x28\x42\ +\x21\x93\xae\x4c\x17\x89\x54\x8a\xfe\xbe\xc5\x5c\x74\xd1\x06\x2e\ +\xbc\x70\xad\x0f\x84\x80\x1d\xe1\xab\x11\x10\x4a\xf1\xad\xff\xf1\ +\x3f\xe6\x01\xf1\xab\x00\xc0\xc8\xe8\xa8\x12\x28\xee\xb9\xe7\x5e\ +\x9c\x83\xaf\x10\xde\xe6\xca\xb6\x04\x70\xf4\xbd\xb3\xd9\x52\xb6\ +\x37\x54\x21\x11\x8e\x80\x40\x29\xe9\xd8\x01\x52\x21\x69\x7b\x0d\ +\xdd\xb9\x1c\x97\x5f\x7e\x39\x97\x5f\x76\x19\x5d\xd9\x1c\xc2\x00\ +\x43\x18\x8e\xda\x50\x9d\xb6\x84\xf3\x87\xdf\xfe\xf6\xb7\xe7\xc1\ +\x70\x46\x00\x30\x32\xaa\x40\x71\xef\xbd\xf7\xfa\x27\x1a\x40\x4a\ +\xe9\xbc\xb3\x04\xa9\xa4\x26\x09\x54\xe0\x44\xfb\xf6\x81\xbb\xf9\ +\x52\xb5\xa5\x08\xd0\x06\x91\x26\x5d\x56\xaf\x5e\xcd\xea\xd5\x6b\ +\xe8\xed\xed\xa1\xb7\xa7\x97\xc5\x7d\x8b\x08\x85\xc2\xee\xdf\x38\ +\x6f\xaa\x10\xfe\x7b\x7e\xf7\x3b\xdf\xf9\xb5\xf6\x34\xe6\x18\x00\ +\x23\x0a\x4f\x02\x28\x67\xb3\xfd\xcd\x42\xb5\x6d\x01\xdf\x10\x04\ +\x25\x65\x00\x00\xde\x49\xf7\x40\xe3\x49\x8f\xe0\x6b\x9c\xcd\x74\ +\xc0\xe4\x9e\x76\x29\x49\x24\x93\xa4\xd3\x69\xd2\xe9\x34\x17\x5e\ +\x78\x21\x1f\xfc\xe0\x07\x59\xd0\xdd\xed\x4b\x82\xb6\xbf\x21\x82\ +\xc0\x52\xf0\xfd\xef\x7f\xef\xd7\x02\x0c\x73\x0c\x80\x61\xa5\x14\ +\xdc\x7b\xef\x3d\xee\x49\x6e\x6f\x98\xd4\x6d\x82\xc0\x26\x3a\x6a\ +\x42\x4a\xd9\x96\x18\x6d\xa6\x08\x25\xa5\x2b\xd6\x05\x12\x77\xc3\ +\x75\x70\xb9\xff\x5f\xb9\xd2\x42\x2a\x35\x03\x50\xeb\xd6\xaf\x63\ +\xf3\x96\xcd\x5c\xb8\xf6\x42\x84\x10\x98\xa6\x89\x61\x18\x6d\x3b\ +\xc5\x51\x54\xfe\xdf\xfd\xe3\x3f\xfe\xe3\x39\x2b\x1d\xe6\xf4\x0b\ +\x0c\x8f\x8c\x28\x5c\x37\x50\x37\xe8\x1c\x3d\xaf\xfc\x93\x2a\x5d\ +\x63\x4d\x6a\x46\xa2\x27\x1d\x02\xea\xc0\xb5\x01\x74\x5e\x40\x79\ +\x9b\xec\x6f\xb4\xc4\xff\x55\xc9\x00\xd0\x3c\x69\xa2\xbb\x9e\xb9\ +\x5c\x96\xb5\x17\x38\x9e\x46\x2e\x97\x63\xc9\x92\x01\xba\x73\x0b\ +\x34\xe9\xe0\x1b\x0f\xbe\x61\xf9\xc3\x1f\xfc\xe0\x9c\x51\x19\x73\ +\x0b\x80\xe1\x61\xa5\x50\xdc\x73\xf7\x3d\xae\x78\x57\x2e\xd3\xa7\ +\xdc\x13\x2b\x40\x2a\x47\x2b\xfb\x00\x70\x37\x4c\x28\x94\xdd\xde\ +\x06\xe9\xab\x06\x77\x63\x03\xd6\xbf\x6b\x40\xea\x9e\x85\xf7\x7a\ +\x3c\x95\xa1\x40\x82\x8d\xaf\x6b\x02\x1e\x89\x52\x8a\x50\x28\x44\ +\x32\x99\x24\x91\x48\x30\x30\xb0\x84\xcb\x2e\xbf\x8c\x8b\x37\x6c\ +\xd0\xd4\x16\x01\x42\xca\xf9\x9c\xce\xdf\xff\xe8\x9f\x7f\x74\x56\ +\x02\x62\x6e\x01\x30\xe4\x00\xe0\xee\x7b\xee\x99\x45\xdc\xab\xa0\ +\x5a\x40\x3b\xcd\xee\x66\x49\x25\xfd\x1b\xed\x6f\xb8\x94\x33\xdc\ +\x48\x4f\xaa\x04\x0d\x48\xe9\xaa\x06\xdd\x48\xc4\x7f\xbe\x2d\x09\ +\x94\xef\x29\xb4\x3f\x8b\x0a\x78\x23\xd9\x5c\x96\x2b\x37\x5d\xc9\ +\xa6\x4d\x9b\xe8\x5e\xd0\x8d\x69\x98\x84\xc2\x61\xf7\xe6\x39\xea\ +\x48\x97\x56\x28\xb8\xff\x81\xfb\xcf\x0a\x29\x31\xa7\x1f\x64\x68\ +\x68\xc8\xa1\x82\xbf\x78\x77\x5b\x2f\xa3\xfc\x4d\xf4\x3d\x82\x80\ +\xe8\xee\xb0\x11\x74\xe2\x48\x67\x0f\x67\x79\xde\xc1\x8d\xb6\xc1\ +\x72\x16\x60\xf9\x1b\xed\x0a\x78\x29\xdb\xaa\xc9\x7b\x6f\xef\x73\ +\xea\xaf\xd3\xde\x7b\xf5\xea\xd5\xac\x5c\xb9\x8a\x85\x0b\x7b\x18\ +\x18\x18\x60\xe9\xd2\x65\x84\x23\x61\x9f\x94\x52\x5a\xb4\xd3\xbb\ +\xf6\xa3\x8f\x3e\x46\xb5\x5a\x7d\xdf\x01\x62\x6e\x01\x70\x72\xc8\ +\x91\x00\x77\xdf\x1d\xb0\x01\xbc\x0d\x11\x9e\x6b\xa7\xb9\x73\x3e\ +\x38\x3a\x4e\xa7\x54\x9a\xe8\xee\x94\x1e\x9d\x27\x5a\x3b\xed\x42\ +\xb4\xb9\x05\x5f\x45\x9c\xe2\xef\xd0\x36\x7c\x76\x63\xd5\xa1\xa0\ +\x7d\x10\x01\xb1\x58\x8c\x64\x3c\x41\x3a\x93\x62\xc3\xc6\x8d\x5c\ +\x79\xe5\x95\x2c\x5a\xb8\x28\x00\x04\xef\x7b\x07\xd5\x07\xfc\xf8\ +\xdf\x7e\xfc\x2b\x07\xc3\x9c\xbe\xd9\xc9\x93\x27\xfd\x60\x50\xd0\ +\x90\xd3\x74\xb7\xa6\xaf\x1d\x69\xe0\x6d\xb8\xb7\xd9\xed\x8d\xf3\ +\x81\x40\xdb\x7e\x50\x1e\x20\xa4\xc0\xb1\x26\x34\xf5\x10\x60\x1b\ +\x75\x60\xa8\xf6\x09\xd7\x49\x28\xff\x7d\x74\x09\xd4\xb6\x21\x94\ +\x44\x03\xae\x6e\x8c\x0a\x07\xb8\x02\xff\x73\xae\x5b\xbf\x8e\x6b\ +\xae\xb9\x86\x35\x17\xac\x21\x1a\x89\x12\x8d\x44\x31\x43\xa6\xc7\ +\x4f\x06\xfe\x16\x14\x0f\x3e\xf8\xe0\xaf\x44\x3a\xcc\x39\x00\x14\ +\x8a\xbb\xbf\xf8\x45\xa4\xc2\x65\xf5\xa4\xc6\xe3\x3b\x37\x5a\x49\ +\x97\xf1\x43\x17\xe5\xda\x26\xd2\x3e\x7d\x01\xf0\xc8\xb6\x78\x96\ +\x04\xf5\x3b\xb6\x42\x8a\xa0\xc8\xc7\x65\x17\x95\x14\x28\xe1\xda\ +\x08\x1d\xbc\x43\xdb\x95\xd4\x6c\x0f\x8f\x8b\xd0\x81\x05\xb3\xa8\ +\x24\x9d\xc6\x6e\x4b\xbb\x6c\x2e\xcb\xea\xd5\xab\x59\x3a\xb0\x94\ +\x45\x8b\x17\xb1\x62\xf9\x0a\x7a\x17\xf5\xfa\x2e\x2c\xa8\x36\xc7\ +\xa1\x1c\xb2\xea\xa1\x87\x1e\x66\xc5\x8a\x15\x00\x7c\xfa\xd3\x9f\ +\x9e\xb3\x7d\x0a\xcd\x25\x00\x02\x22\x50\xe9\xba\xb1\x2d\x42\xd1\ +\x36\x5c\x05\x82\x3c\x41\x62\x46\x2a\xe9\xa0\xb5\xad\x09\x34\x3d\ +\xad\xff\x8d\x7b\x4f\x45\xd0\xb0\x6b\x73\x0a\x6e\xd0\x41\x12\xdc\ +\x48\xda\xa0\x62\x16\x23\x53\xf9\x2a\x88\x0e\xa9\x42\x1b\x2c\xee\ +\x89\x72\x7e\x97\xbe\x87\x30\x35\x39\xc5\xae\xc9\x5d\xec\x50\x3b\ +\x30\x0d\x93\x78\x3c\x4e\x24\x12\x65\xc5\x8a\xf3\xb9\xea\xaa\xcd\ +\x5c\x71\xc5\x15\xe8\xba\x41\x29\xd8\xb6\xed\x36\xf6\xee\x7d\x73\ +\xce\x55\x40\x68\x6e\x2f\xaf\x3a\x92\x3d\xa4\x0f\x06\x66\xd1\xf3\ +\x9e\x08\xd7\x8d\xb5\xb6\xee\xa6\xcd\xf6\x05\x36\x65\xa6\xff\x3f\ +\xdb\x09\xd5\x0d\x32\xe8\x0c\x3a\xb5\x81\xd5\x09\x08\xe1\xab\x1d\ +\x07\x38\x41\x10\x7b\x48\x14\x41\xc0\xf8\x3f\xdb\x6a\x44\xb8\xef\ +\x61\xd9\x16\xd3\xd3\x25\x60\x9a\xf1\xf1\x31\x76\xed\x7a\x01\x29\ +\x15\xb9\x5c\x17\x9b\xaf\xda\xc2\x15\x9b\x2e\x67\xf5\x9a\x35\x01\ +\xee\x61\x2e\x97\x31\xb7\xdb\xdf\xb6\xf4\x75\x9f\x5b\xba\x6e\x5a\ +\xc0\xed\xf2\x68\x5c\xa5\x66\x90\x40\xc2\x17\xf9\x3a\x33\xe8\x6d\ +\x89\x07\x24\x11\x24\x6d\x54\xfb\x1a\xde\xc9\x77\xcd\x07\xcd\x95\ +\xd4\x0c\x34\x1d\x28\xae\x1b\x8a\x12\x78\x14\x82\xf2\xdf\x43\xf9\ +\x6e\xa6\xff\x9d\x08\xda\x1a\x04\x62\x15\xb4\x55\x9a\x6f\xdc\x10\ +\x30\x64\x41\x31\x35\x55\x60\xfb\xf6\x07\xf9\xf2\x97\xfe\x20\x00\ +\xe2\xb3\x5a\x02\x08\xf4\x53\xa5\xe5\x82\x82\x7f\x33\xbd\x7b\x22\ +\xfc\x4d\x0a\x5a\xe7\xfe\x5e\x48\x85\x70\x4f\x9a\xd0\x8c\x34\x47\ +\xf4\x2a\x7f\x97\xfd\x6b\x7a\x5c\x02\x3e\x2d\xd8\x36\x3a\x35\x02\ +\x29\x70\xe2\x75\xe9\x21\x5c\xc0\xcd\xd8\x58\x45\x50\x88\x29\x8f\ +\x0a\x00\xdb\x21\xb0\xda\x7c\x85\xf0\xbd\x06\x1d\xb8\xca\xb7\x83\ +\x3a\x40\x45\xdb\x5b\x38\x53\x6b\x8e\x6d\x00\xfd\x34\x7a\xec\x5b\ +\xfb\xc4\xf9\x06\x1b\x12\xe9\x1a\x3f\xfe\xcd\x0c\x9c\x14\xed\x71\ +\xe7\xf5\x15\x33\x36\xd1\xe7\x02\x84\x42\x48\x57\x4a\xc8\xf6\xc6\ +\x77\x9e\xd8\x40\x58\x9a\xa0\xbd\xa2\x3a\x54\x82\x54\x0a\xe1\x5a\ +\xee\xbe\xa1\x27\xda\x2c\xa7\xee\x22\xd2\xa9\x5e\x74\x33\xc2\x17\ +\x91\xd2\x4f\x88\x11\x1e\x07\xa1\x38\x63\x20\x08\xcd\xb1\x09\x10\ +\x24\x80\x94\x76\xc3\x09\x92\x2d\x9e\xcb\xa7\x07\x72\xfc\x0c\x62\ +\xd4\x8c\x00\x8f\x08\x5c\x5f\xcd\x3c\x65\x1d\xc0\x71\xf4\xb7\xd0\ +\x72\x0e\x3b\x52\xd4\x85\xa7\x4f\x3c\xa9\xa1\x5f\x43\xf9\x00\x42\ +\xb7\x09\x3a\x40\x34\xd3\xee\x20\xf0\x59\x94\xea\xa0\x91\xb5\xa8\ +\x64\x40\x75\x9c\xb9\xfd\x9f\x63\x09\xd0\xb6\xad\x3b\xbe\x3c\x9a\ +\x58\xd6\x6e\x64\x40\x14\x6a\x01\x5b\x2d\x51\x04\x1f\x04\x8e\xa5\ +\xaf\xa4\x13\x27\xb0\x6d\x1b\x21\x04\x42\x08\x9f\x25\xf4\xfd\x6c\ +\x37\xc2\xa7\xbb\x67\xa8\x4e\xf1\xee\xb1\x81\x6d\x60\xb5\xff\xbf\ +\xce\xea\x79\xf9\x04\xa0\x44\xd0\x28\x44\x0f\x47\x7b\xc9\x2f\x68\ +\xa1\x6e\x3a\xb3\x96\x34\xb5\xe3\x45\x43\xa5\x3a\x93\x1a\x60\xae\ +\x25\x80\x9b\x84\xe1\x7f\xa7\x20\xcb\xa7\xab\x09\xe5\x9f\x32\x57\ +\x07\x74\xf8\xd2\x6d\xde\x40\xbb\x89\x52\x61\x59\x16\x27\x4f\x9e\ +\xa4\xd9\x6c\x92\x4a\xa7\x48\xa7\xd3\xc4\x22\x31\x4d\x93\x4a\xed\ +\xa4\x6b\xec\x23\xc1\xcd\xf7\x6c\x86\xd9\x5c\x4b\x1d\xb9\x52\xb5\ +\x33\x54\x95\x14\x9e\x3f\x1a\x00\xb8\x4f\x41\xfb\xd6\xa7\x26\x11\ +\x3b\xdc\xdb\xce\xf4\x35\xe1\xc4\xbc\xcf\x11\x00\xf8\x99\x37\x32\ +\xe0\xbf\x2b\x8f\xf8\x90\xba\x5a\x20\x60\x94\xcd\x3c\x85\x4a\xbb\ +\x89\x6d\xf1\x6d\x59\x36\xb5\x5a\x8d\x64\x32\x49\x2a\x99\xa2\x56\ +\xa9\x32\x39\x31\x49\x57\x36\x4b\x2c\x1a\x45\x08\xa1\x01\xcb\x23\ +\x8c\x3a\x72\x04\x74\xaf\x41\x0f\x5b\x2b\xdd\x25\xd5\xc2\xd6\x3e\ +\x5f\xa0\x66\xa5\xad\x75\x23\x53\x77\x5d\x75\xe9\x86\x16\x14\x73\ +\x5f\xe4\x10\x57\x81\x3b\x71\x96\x03\x40\xa2\x10\x22\x58\xf9\xe3\ +\x6f\xa2\xee\xea\xcd\x76\x3a\x02\xae\x83\x66\xec\x05\x18\x3f\x30\ +\x0c\x81\xd5\x6a\x91\x4a\xa5\x58\xb6\x6c\x19\x57\x5e\x79\x25\x2f\ +\xbf\xfc\x32\x7b\xf6\xec\xa1\x90\xcf\x93\x49\xa7\x89\x44\xa3\x18\ +\xa6\xd1\xa1\x1a\x34\x05\xa5\x59\x66\xfa\x67\x14\x5a\x25\x93\x4b\ +\xe0\x6a\xba\xdd\x73\x05\x83\xee\x67\x40\x12\x74\x1a\xf4\x9a\x72\ +\x97\x1a\x57\xa0\x94\x4b\x93\xea\x99\x51\xe7\x82\x0d\x20\x66\x89\ +\xa1\xab\x59\x18\x41\xcf\xe2\xd7\xef\x91\x4f\xf8\xb8\x79\x01\xaa\ +\x93\x29\x04\x2c\xab\x45\xb3\xd5\xa4\x65\x59\xc4\x62\x31\xea\xf5\ +\x3a\xc5\x62\x91\x4f\x7d\xea\x53\x1c\x38\x70\x90\x5d\xbb\x9e\x63\ +\xcf\x9e\xdd\xe4\xf3\x79\x12\x89\x38\xb1\x58\x3c\xe8\x4b\x68\xd2\ +\x44\x4a\x27\x37\x11\x61\x68\x6e\x1a\x7e\x8c\x40\xa3\xf9\xb5\xdc\ +\x44\x82\xd2\x4d\xb7\x5e\x3a\x49\x2c\xa1\x02\x86\x69\x50\xbd\xa8\ +\x19\x24\xd6\xb9\xe1\x06\x06\x6c\xa3\xb6\x88\x6d\xeb\x5f\xa9\xf1\ +\x03\x5e\x0c\xdf\x31\xdc\x04\xed\x1c\xbf\x20\xbb\xd6\xd6\xd1\x85\ +\x42\x91\xc9\xb1\x51\xb2\xa1\x10\xe5\xe9\x69\x6e\xba\xe9\x26\x9e\ +\x7c\xf2\x49\x96\x2e\x5d\xca\xd2\xa5\xcb\xa8\x54\x06\xc8\x66\x3f\ +\xc0\x81\x03\xcf\xb3\x7f\xff\x1e\xc6\xc6\xc6\xc9\x76\x65\x89\xc5\ +\x63\x80\xa0\xd9\x6c\xd0\x68\x34\x90\x52\x62\x08\x03\x33\x64\x62\ +\x1a\x06\xc2\x30\xfc\x14\xb1\x40\xe0\x48\x53\x25\x3e\x7a\x3a\x0c\ +\x3d\x3a\xd8\x47\x8f\x01\x45\x8a\x80\xeb\xdb\xc9\x50\x2a\xe9\xb8\ +\x93\x74\x18\xc2\x67\xb9\x0d\x40\xc0\xb5\xd3\xa5\x81\xce\x92\x29\ +\x3a\x09\x96\x60\xb8\x56\x27\xf8\xfc\x1b\x2c\x15\xd5\x4a\x99\xb5\ +\x89\x04\x0b\x52\x29\x8e\x85\xc3\x2c\x5f\xbe\x9c\x45\x8b\x16\xf1\ +\xe2\x8b\x2f\x72\xf3\xcd\xbd\x8c\x8d\xf5\x31\x39\xb9\x92\x0d\x1b\ +\x2e\xe3\x92\x4b\x5e\xe5\xd0\xa1\x1d\xec\xdd\xbb\x8f\xb1\xb1\x31\ +\x7f\x73\x97\x2e\x5d\x4a\x22\x91\xa0\x56\xab\x51\x28\x14\xa8\x54\ +\xab\x58\x96\x85\x21\x04\xd1\x58\x8c\x68\x34\xda\x56\x41\x22\x98\ +\x62\xee\x78\x03\x92\xa0\x38\x09\xf2\x0c\x48\xa5\x05\x96\x34\xd6\ +\x91\x0e\x15\xa0\x07\x93\xce\x19\x37\xb0\xd3\xc0\x72\xa3\x25\xfe\ +\xe6\xeb\x62\x53\x57\x05\x1d\x3e\xb3\xce\x1d\xe8\x04\x8d\xd5\x6c\ +\xd2\x1d\x8b\x51\x6b\xd4\x59\xb1\xee\x42\x62\xb1\x18\x2b\x57\xae\ +\xe2\xa5\x97\x7e\xce\xf4\x74\x81\xde\x5e\xc5\xc9\x93\x36\x4f\x3f\ +\xdd\x8f\x65\x2d\xa1\xa7\x67\x23\x2b\x57\x3e\xc4\xd0\xd0\xff\xe4\ +\xe2\x8b\x2f\xe6\xfa\x1b\x6e\x60\xe9\x92\x25\x98\x86\x41\x3c\x91\ +\x40\x08\x41\xa1\x50\xe0\xc8\x91\x23\xec\xde\xbd\x9b\xd7\x5f\x7f\ +\x9d\xb1\xb1\x31\xe2\xb1\x38\xf1\x44\x1c\x43\x18\xae\xee\x3e\xc5\ +\x26\xea\x7a\xdd\xa7\x80\x5d\xec\x88\x60\x26\x54\x80\x15\x42\x21\ +\x35\xad\x20\xce\x25\x09\xd0\x0e\xf9\x6a\xa7\x1f\x8d\xb4\x51\x41\ +\xe3\x47\x2a\x27\x34\xac\x07\x5f\x82\xc4\x4a\xdb\xf7\x6f\xb5\x5a\ +\x44\x43\x21\x4e\x36\x1b\xac\xea\xeb\xc7\xb2\x6c\x72\xd9\x2c\x85\ +\x42\x81\x62\xb1\x40\x2e\xd7\xe4\xda\x6b\x87\xd9\xb0\x21\xc4\x89\ +\xc1\x2c\x83\x27\x7a\xb1\xed\x3e\x56\xac\x58\xc1\x6f\xff\xf6\x6f\ +\xb3\x6a\xf5\x2a\x22\xe1\x08\x21\xd3\x74\x7d\x70\xc9\xe2\xc5\x8b\ +\x58\xb5\x6a\x35\x9b\x37\x6f\x66\x70\x70\x90\x97\x5e\x7a\x89\x17\ +\x5f\x78\x81\xc1\x13\x27\x30\x4d\x93\x68\x34\x4a\x38\x14\xf6\xf3\ +\x17\xbd\x1c\xc7\xc0\xa9\x57\x33\x03\x55\xa8\x99\x11\x4e\xfd\x71\ +\x30\x16\x01\xea\x9c\x60\x02\xb5\x9c\xfb\x00\xeb\xe7\x05\x76\x84\ +\xf2\x03\x3a\x42\x3b\x11\xca\xf3\xb7\xa5\x4b\x0b\xeb\x92\xc0\x7d\ +\xce\xb6\x5b\x88\x56\x8b\x08\x50\xb3\x6d\xe2\xae\x11\x28\x0c\x41\ +\xb3\xd9\x64\x7a\x7a\x1a\xc3\x30\x1c\xfd\x6e\x54\xe8\x1f\x28\x90\ +\xcd\x0d\xb3\x6b\xd7\xab\x74\x77\x77\xb3\x78\xf1\x62\x50\xd0\x6c\ +\x36\x69\x81\x53\x81\xea\xfe\x30\x0c\x83\xae\xae\x2e\x27\x63\x78\ +\xed\x5a\xae\xbb\xf6\x5a\xfe\xf1\x07\x3f\x60\xe7\xce\x9d\x54\xab\ +\x55\x0c\xd3\x20\x99\x48\x22\x84\x93\x9f\x20\x3b\xdc\xbe\x40\x4c\ +\x41\xe3\x04\x24\x1d\xf4\xb2\x6a\xe7\x01\xf8\xea\xce\x8b\x5a\x89\ +\x73\x45\x02\x68\x37\x45\x27\x70\x66\xb0\x60\x4a\x0b\x17\x7b\x71\ +\x03\x82\xc9\x21\x1e\xfb\x86\x02\xdb\x96\x60\xdb\x54\x5b\x2d\x6a\ +\x40\xad\x56\xa3\xd1\xa8\xd3\x6a\xb5\x10\x42\x50\x29\x97\x89\x46\ +\xa3\x94\xcb\x65\x6c\xdb\xe1\x0a\x26\x27\xc7\x29\x14\xf6\x71\xf1\ +\xc5\x1f\x24\x14\x0a\xd1\x6a\xb5\xdc\x4d\x6f\xdf\x6d\xfd\x31\x02\ +\x04\x82\xbe\xbe\x3e\xd6\xaf\x5f\x4f\xa9\x54\x62\xf5\xea\xd5\x6c\ +\xdf\xfe\x10\x95\x4a\x85\x44\x3c\xd1\x36\x0a\x75\x62\xd3\xff\x45\ +\x38\xc1\xa1\x8e\xef\x19\x60\x0c\x65\xdb\x50\xf4\xd8\x68\x1d\xf4\ +\x67\xb9\x0d\x40\x30\x97\xdf\xd3\x81\x33\x6e\x8a\xf2\xe3\x22\xbe\ +\x3c\x98\x61\x04\xb6\x95\xbf\x94\x4e\x62\x69\x15\x78\x51\x4a\x64\ +\x36\xcb\xee\x3d\x7b\x48\x67\xd2\x54\x2a\x55\x4c\xd3\xe4\x95\x57\ +\x5f\x25\x1e\x8b\xa1\x94\x62\x7a\x7a\x9a\x72\xb9\x4c\x36\x9b\x65\ +\xe9\xd2\xf3\x58\xb5\x6a\x15\x52\x4a\x3f\x1b\xc8\xd9\x73\xe1\xff\ +\xec\x04\x83\x65\x5b\x8c\x4f\x4c\xd0\xd7\xd7\xc7\x47\x3f\xfa\x51\ +\x72\xb9\x1c\xdf\xfa\xd6\xb7\x68\xb6\x9a\x84\xcc\xd0\x29\xca\xda\ +\xda\x11\xa8\x40\xd6\x11\x3a\x45\xdc\xa9\x12\xda\x86\x83\x12\xe7\ +\x04\x00\x02\xe4\x7f\x90\x0f\xf0\xdc\x1e\xed\x8b\x07\xbc\x00\x34\ +\x16\x0e\x19\x60\xcd\x94\x52\xd4\xea\x35\xa2\x89\x04\x1b\x36\x6d\ +\xe2\x92\x4b\x2e\xe1\xb1\xc7\x1e\xe3\xb9\xe7\x76\xa0\x94\xa4\x58\ +\x2c\x12\x8f\xc7\x49\xc4\x13\xc4\x62\x11\xfa\x16\xf7\xb1\x72\xe5\ +\x0a\x92\xa9\x14\xb1\x58\x8c\xee\xee\x6e\x9a\xcd\xa6\xbb\xc1\xca\ +\xfd\x29\x34\x10\x38\xa8\xf0\x1e\x56\x2a\x15\x8e\x1f\x3f\xce\x07\ +\x2e\xba\x08\xdb\xb6\xd9\xb2\x65\x0b\x6f\xbe\xf9\x26\xcf\x3c\xf3\ +\x2c\x5d\x99\x8c\x1f\xf7\x76\xec\x01\xd1\xf1\x3d\x65\x50\x16\x2a\ +\xe7\xac\xb7\x6d\x04\x81\x52\x76\x90\x7d\x14\x67\x8e\x09\x3a\x43\ +\x6e\x20\x33\x22\x80\x5e\x02\x80\x16\x06\xd2\x4e\x84\x5e\xab\x27\ +\x02\xe4\x88\x54\x8e\xfe\x9f\x9a\xca\x73\xf1\xc6\x8d\x6c\xdb\xb6\ +\x8d\x74\x3a\x8d\x94\x92\xd7\x5e\xdb\x4d\x36\x9b\xe5\xba\xeb\xae\ +\x23\x9b\xcd\x62\x9a\x21\xba\xbb\x73\xc4\xe3\x71\x6c\x29\x31\x0d\ +\x03\xd3\x34\x7d\x03\xd2\xa9\x20\x16\x18\xc6\xec\x2a\xc0\x7b\x7c\ +\xe2\xc4\x20\xd3\xc5\x22\x03\x03\x03\xb4\x9a\x4d\x10\x82\x6b\xaf\ +\xbd\x96\x17\x5f\x7c\x91\x66\xab\x49\x24\x1c\xf6\x63\x18\x0a\xa9\ +\x05\x74\x14\xca\x2f\x53\x56\x6d\xb0\x7b\xd4\x30\x5e\x16\x54\x3b\ +\x37\xa2\xd3\x80\x3c\xeb\x55\x80\x10\x2a\xe0\x0b\xeb\x99\xc1\xde\ +\x49\x31\x0c\x03\xdb\xb6\xdb\x46\xa0\x90\x01\xab\x38\xe0\x2b\xa3\ +\x68\x59\x36\xad\x56\x8b\x35\x6b\xd6\x90\x4c\x26\x91\x52\xb2\x66\ +\xcd\x1a\x56\xac\x58\x41\x2c\x16\x43\xda\x36\x08\x41\x28\x64\xa2\ +\x94\xa2\xd1\x68\x38\xe0\x31\x0c\x9a\xcd\xa6\x93\x06\x25\x0c\x57\ +\xda\x6b\xa7\x7e\x16\x00\x48\x29\x79\xfd\x8d\x37\x48\xa5\x52\x2c\ +\x58\xb0\x80\xa6\x6b\x63\x0c\x0c\xf4\x73\xc1\xda\x0b\x78\xf5\x95\ +\x57\xdd\x4e\x26\x6a\x46\x5b\x1b\x1f\xf2\xb2\x5d\x41\x34\x23\x4b\ +\x79\x06\x3d\xad\x91\x5e\x67\xbd\x04\x08\xd4\xe8\x07\x03\x26\xde\ +\x0d\x5b\xb0\x6c\x29\xe1\x54\x37\x56\xbd\x84\x55\x2a\xd2\xac\x54\ +\xa9\x37\x1a\x34\x9b\x2d\xb0\xed\x0e\x22\xc8\xf9\x9b\xb0\x69\x12\ +\x0e\x85\x19\x1c\x1c\x64\xe3\xc6\x8d\x84\xc3\x11\x40\x61\x18\x06\ +\x8d\x46\xd3\xb7\xa0\x2c\xcb\xc2\x30\xdc\xec\x23\xa5\x30\x4d\x13\ +\x84\xc0\x56\x0a\x25\x2d\x84\x21\x02\x45\xa1\x3a\x12\x84\x63\x01\ +\x52\x2a\x95\x38\x78\xf0\x20\x6b\x56\xaf\x21\x1c\x0e\xfb\x46\xa6\ +\x10\x06\x17\x5e\x78\x21\x2f\xfd\xfc\x25\x97\xb1\x14\x01\x1a\xb8\ +\x9d\x19\xa4\x3a\x4e\x37\x3e\x18\xbc\x18\x40\x20\x31\x45\x0f\x7b\ +\x9f\x0b\xe1\xe0\x40\xa0\x27\x40\x9a\x38\xdb\x79\xc1\x75\xb7\xd3\ +\x34\x3e\xc4\xd0\x01\x45\xbe\x3e\x8a\x8a\x1f\x25\xd1\x73\x98\x5c\ +\xf8\x38\x76\x7d\x9c\xd1\xc3\x47\x7c\xaf\x41\x08\x90\xb6\x42\x98\ +\x26\x0b\x7a\x7b\xd9\xb9\x73\x17\xb6\x6d\x73\xe3\x8d\x37\xd2\xdd\ +\xdd\x1d\xa8\x28\x36\x0c\x83\x56\xab\x45\xa3\xd9\xf0\x0d\xb5\x7a\ +\xa3\x4e\xb3\xd1\x24\x1c\x0a\x11\x89\x44\x10\x86\xe1\xf3\xfc\xa1\ +\x50\x88\x68\x38\x82\x61\x1a\x01\x1b\xe6\xcd\x37\xde\xa0\x52\xae\ +\xb0\x72\xe5\x4a\x6c\xcb\xf6\x81\x2d\xa5\xa2\x52\xae\x38\x92\xc5\ +\x96\x08\x07\x69\x9a\xed\xa2\x3a\x1a\x54\xa8\x76\xb6\xb2\x4e\x84\ +\x49\x66\x0d\x78\x9d\x13\x6e\xa0\x9e\xed\x1b\x48\x98\xd0\x98\xc1\ +\x56\x13\x8e\x1e\x8a\xd3\x6c\x84\x58\xf6\x81\x1c\xb5\xf2\x5a\x2a\ +\x45\x85\x1d\x6e\xb2\xec\x83\x45\xce\xbb\xfc\xa7\x4c\x1c\xdd\x4d\ +\x39\x5f\x22\x14\x82\xfa\xf4\x14\xf5\xe2\x34\x91\x70\x98\x70\xc4\ +\x64\xe7\xce\x9d\x4c\x8c\x8f\x73\xc7\x9d\x77\x92\x48\x26\x09\x19\ +\x06\xd3\xd3\xd3\x94\x4a\x25\x0c\x29\x09\x21\xa8\xd5\x6b\x34\xaa\ +\x55\x92\xd1\x08\xf1\x70\x84\x42\xb3\x49\xbd\xd1\x40\x49\x49\x34\ +\x1a\x25\x12\x8d\x42\x24\x02\x91\x08\xd1\x54\x8a\x74\x26\x43\x22\ +\x1e\xa7\x5e\xab\xb1\xe7\xf5\xd7\x19\x18\x18\x20\x97\xcb\x61\x59\ +\x96\xef\xb7\xef\xd9\xb3\x87\x17\x5e\x78\x41\x53\x1b\x33\x2d\xfa\ +\x40\x4d\xa2\xa0\x5d\x14\xd3\x41\x16\xb5\x03\x4c\xc1\x80\xd2\x39\ +\x20\x01\xe8\x60\xba\xda\x40\xf7\x8c\xe3\x63\x2f\x3c\xc2\xf9\x97\ +\x57\xb0\x5b\x4d\x1a\x55\x83\x4b\xee\xfc\x0d\x8e\xec\x49\xf1\xc6\ +\x8e\x28\x3f\xf8\xfa\x22\xfa\x57\x7c\x84\x55\x17\x7f\x88\xde\x0b\ +\x05\x99\xde\x0c\xc5\x89\x3c\xe5\xb1\x41\x5a\xb5\xc3\x2c\x6c\xee\ +\x67\x60\xed\x20\x43\xc7\xf7\xf3\xf0\xf6\x7f\xe5\x83\x17\x6d\x24\ +\x2e\x0c\xc2\x52\xd2\x9f\xcd\x12\x33\x4d\x84\x6d\x93\xe9\xea\xa2\ +\xab\xaf\x0f\x69\xdb\x34\x1a\x0d\x42\x40\x2c\x1c\x06\x29\x29\x55\ +\xab\x14\x4a\x25\x2a\xc5\x22\x95\x66\x93\x92\x6d\x33\x15\x8d\x92\ +\xec\xeb\xa3\x50\xab\x31\x3e\x3e\xce\x15\x57\x5c\x41\x28\x14\x42\ +\xa1\x68\x35\x5b\x1c\x3a\x74\x88\xc7\x1f\x7f\x9c\x93\x27\x4f\x12\ +\x8f\xc7\x1d\x63\x52\x76\x90\x3c\xde\x26\x4b\x02\x31\x7f\xed\x45\ +\x81\x10\x32\x1d\x25\xef\xe7\x88\x0a\x20\x58\xdb\xa7\xf9\xbf\x9e\ +\xab\x33\x7c\xe0\x20\x43\xfb\x0e\x20\xc2\x21\xd2\xdd\x39\x2e\xba\ +\xf1\x0a\x6a\xe5\x0b\xa8\x95\x61\xe5\x06\x45\xcf\x40\x0c\xa5\x7a\ +\x39\xf2\x7a\x93\x56\x2b\x42\x22\xb3\x88\x54\x76\x80\x50\x66\x13\ +\x66\x08\xba\x57\x95\x59\x75\xf5\x09\x7e\xf6\xc0\x57\x99\x38\x74\ +\x90\x8f\x5d\x73\x0d\xd9\x44\x0a\xdb\xb2\x08\x09\x41\x34\x14\xc2\ +\x6a\x36\xb1\x1a\x0d\x27\xe3\x46\x08\x6c\xcb\x42\x36\x1a\xd8\x96\ +\x45\x4e\x49\x72\x91\x08\x52\x08\xac\x48\x84\x6a\xbd\xce\x64\xa5\ +\xcc\x1b\x2f\xbe\xc8\xd3\x43\x43\x2c\x59\xb9\x92\x25\x4b\x96\x20\ +\x84\xc3\x30\x1e\x3e\x7c\x98\xc7\x1e\x7b\x8c\x63\xc7\x8e\x11\x8b\ +\xc5\x30\xcd\x90\x5f\x78\xaa\x82\x47\x3f\x00\x04\x39\x43\x2a\x12\ +\x4c\x47\xeb\x28\x94\x51\x42\x9d\x43\x2a\x40\x6b\x0d\xa3\x5b\xcb\ +\x81\xd6\x30\xcd\x26\xc5\xd1\x51\xf6\x3e\xfb\x2c\xc9\x6c\x17\x9b\ +\x6e\x95\xa4\x92\x83\x9c\x78\x63\x1f\x60\xb1\x78\x51\x8b\x54\x36\ +\xc9\xe0\xde\x11\xea\xc5\x0c\xc4\x56\x60\x71\x3e\x93\x43\x7d\xb4\ +\x9a\xeb\xc0\xbc\x8f\x3d\x87\xbe\xc9\xf4\x7a\x83\x64\x75\x02\x61\ +\xb7\x68\x4a\x87\x26\x96\xb6\x0d\xb6\x8d\x94\x36\xca\xb2\x51\xb6\ +\xf3\x4f\x4a\x89\xb4\x2c\x94\xf4\x9e\x93\x28\xdb\x26\x27\x6d\x8c\ +\xc9\x49\x1a\x63\x63\xa4\x37\x6e\x24\x1a\x8d\xd2\x68\x34\xd8\xb3\ +\x67\x0f\x4f\x3f\xfd\x34\x47\x8e\x1c\x21\x99\x4a\x11\x76\xbd\x8c\ +\x19\xc1\x2b\x37\xe0\x15\x54\x7f\xed\xda\x86\xd9\xc2\xc6\x81\x22\ +\xd4\x73\xc6\x08\x44\x0f\x78\x69\x91\x30\x9f\xf1\x6b\xfb\xc2\x9e\ +\xc5\xfc\xc6\x53\x8f\x70\xfe\xc6\x61\x6a\xa5\x69\x86\xf6\x1f\x40\ +\xb5\x6c\x9a\xf5\x1a\xcd\x66\xd3\xb1\xe4\xc3\x61\x42\xa6\x41\x24\ +\x16\x27\x96\x4c\xb2\x78\xdd\x45\x2c\x5e\x73\x3d\x93\xe3\x17\xf2\ +\xb2\xf9\x3b\x3c\x70\x64\x92\xab\x7a\xdf\x60\x79\xe2\x00\xd1\xc9\ +\xc3\x48\x5b\x62\x5b\xca\xd9\x5c\x69\x23\x3b\x00\xe0\x3f\xb6\xdb\ +\xcf\x8f\x37\x1a\xbc\x32\x36\xc6\xfa\x68\x94\xf4\xe0\x20\x27\x06\ +\x07\x39\x78\xe8\x10\x3b\x76\xec\x60\x78\x78\x98\x74\x3a\x8d\x61\ +\x18\x6d\xf6\x52\x10\xb0\x6d\x02\x29\x6e\x5a\xf1\x87\x94\xc1\x90\ +\xb6\x9e\x00\x23\x3a\xd3\xd2\xc5\xb9\x62\x03\x88\x60\x10\x48\x20\ +\xdc\x22\xd0\x99\x6d\xdc\x40\x51\x9e\x98\x64\xf7\x93\x4f\x75\x74\ +\x15\x6b\x27\x60\x58\x8d\x06\x2d\xa0\x5a\xa9\xc2\xc4\x04\x43\x47\ +\x8f\x92\xdc\xf5\x3c\x4b\x2e\xdc\xc8\xe6\x5b\xb6\x31\x36\x76\x29\ +\xff\xba\xe7\x12\x92\x43\x43\xac\x2a\x3f\xc5\xca\xcc\x5e\xb2\x85\ +\xd7\x88\x58\x05\x94\xd5\x44\x5a\x36\xd2\x76\x82\x4d\xed\x93\xef\ +\x02\x40\xda\xb4\x5a\x16\xbb\x6a\x35\xaa\x8d\x06\x57\x2d\x58\xc0\ +\xe8\xd1\xa3\xfc\xf3\xf7\xbf\xcf\x78\xa1\x40\xad\x5e\x27\x9d\x4a\ +\x23\x4c\xc3\x37\x64\x02\x29\xe4\x9d\x01\xaf\xf6\xc1\x6f\xc3\xbd\ +\x23\xcc\x3d\x5b\x84\x50\x09\x75\x0e\xa5\x85\x07\x74\xa2\xae\x0e\ +\xe8\x88\x12\xb6\x23\x83\x74\xdc\x18\x2f\xa4\xaa\xbc\x9e\x1c\x6e\ +\x08\xce\xbb\xe9\xa5\x89\x49\xde\x7c\xf6\x49\xc6\xf7\xbf\xce\x9a\ +\xcd\x57\xb1\xf4\x8e\x4b\x51\xe6\x66\x4e\xfe\xe2\x2e\x86\xc7\x0a\ +\xa4\xf3\xcf\xd2\x33\xbd\x8b\x5c\x64\x84\xa4\x3d\x8e\x59\x99\x44\ +\x55\x0a\x88\xda\x34\x42\x5a\x6e\x4a\x98\xc0\x92\xb0\x4f\xda\x1c\ +\xb2\x2d\x16\x0b\xc1\x58\x71\x9a\xd7\xc2\x61\xaa\x0b\x32\x24\xba\ +\x53\x24\x55\x9a\x66\xa5\xe1\x04\xa2\x54\xbb\xbc\x4c\xcc\x56\xd8\ +\xaa\xf9\xfe\x81\xa6\x15\x01\x69\xa0\x02\xad\x6f\x95\x9e\x6c\x74\ +\xce\xe4\x03\xf8\x34\xa7\x96\x7c\x19\xa8\x18\x68\x2b\x3c\xd9\x69\ +\x19\xd3\xae\xb4\xf5\x53\xc5\x85\x96\xb5\xeb\x22\xc6\x93\xc0\x63\ +\x43\xc3\x8c\xfd\xe8\x7e\x8c\xd0\x8f\x39\xff\x83\x57\x12\x4d\xaf\ +\x85\xc5\x17\x93\xef\xf9\x28\x27\x46\xee\x22\x54\x1a\xa1\xab\x7e\ +\x88\xee\xd6\x9b\x64\xaa\xfb\x88\x4c\x9f\x40\x4d\x8d\x42\x7e\x9c\ +\x90\xd1\x62\x4a\x4e\xf3\xef\x76\x95\x09\x0c\xc2\xc9\x2c\x23\xfd\ +\xfd\x24\x2e\xfe\x5f\x39\x3f\x76\x03\x21\x63\x14\xec\x7d\xb4\xea\ +\x07\xa8\x97\x4f\x72\xf2\xcd\xbd\x2e\xe9\x24\xdb\x35\x07\xfe\xb7\ +\xd5\x45\xbc\x0c\x96\x02\xe9\x99\x51\x1d\xaa\xd1\x3f\x02\x5e\xf6\ +\xd1\xb9\x12\x0c\xea\xd4\x8b\xc1\xee\x1b\x32\x98\x2a\xa5\x55\x02\ +\xeb\xfc\xb9\xea\xa4\x5a\x3b\x8c\x4a\xbd\x78\xc3\x6a\xb5\x38\xf4\ +\xe2\x73\x84\x8c\xe7\xe9\xe9\x1f\x60\xf5\xd5\x5b\x10\xe7\xf5\x53\ +\x29\xf7\x93\x9f\xea\x67\xdf\xf4\xc5\x34\xa7\xb3\x98\x8d\x0a\x89\ +\xda\x71\x22\x13\x07\x50\x76\x83\xc3\x45\x38\x3c\xda\x44\x98\x05\ +\x86\x96\xb4\xb8\xec\x23\x17\x71\xc1\x65\xd7\x71\xe8\x95\x28\xe1\ +\x88\x81\xe2\x36\xe2\x49\x8b\xae\xde\x22\xf9\x13\x3f\x65\xe4\xf0\ +\xbf\x33\x35\xb8\x8f\xc1\x03\x07\x91\xf5\xba\x56\xb7\x30\x4b\x86\ +\x30\x1d\xaa\x21\x60\x08\xea\xf6\x42\xa7\x5a\x3c\x17\x8c\x40\xa5\ +\x71\x01\x1d\xe1\x5d\xd5\x51\x25\xa4\x17\x6e\xcd\x5a\xe6\xa5\xda\ +\xe9\xd8\x7e\x5f\x01\x15\xb4\xaa\x05\x20\x2d\x8b\x86\x52\x9c\x38\ +\x7c\x84\x13\x87\x0e\x21\x42\x21\x92\xdd\x0b\xc8\xf4\x2c\x26\xd3\ +\x3b\x40\x62\x45\x3f\xa1\xd8\x22\x6c\xfa\xb1\xd4\x45\x48\x7b\x01\ +\xd9\x03\xbf\xe0\x3f\xac\xef\xa7\x56\x12\x4c\x0e\x85\x98\x3a\xd9\ +\xc7\x33\x87\xa3\x28\x29\x48\x66\x14\x5d\x3d\x82\x7a\x39\xcc\xd1\ +\xd7\x7b\x68\x35\xef\x24\xd7\xbb\x85\x4b\xee\x18\xe1\xbc\xc1\x87\ +\x79\xe3\xd9\x87\x19\x3e\x72\x84\x36\xb5\xaf\x3a\x24\x5b\xb0\x1a\ +\xa8\xdd\x84\xa2\xa3\x28\x26\x98\x45\x71\xf6\x53\xc1\x81\x76\x28\ +\x1a\x0d\x1a\x30\x8a\xbc\x30\x78\x67\x23\x27\x5d\x0a\x68\x1b\x3d\ +\x9b\x9f\xad\x07\xcf\x64\xc0\x95\x72\x4f\x5c\xcb\xa2\x38\x32\x42\ +\x71\x64\x18\xa5\x5e\x76\x3c\x8a\x48\x94\x4c\x4f\x2f\xbd\x4b\xfa\ +\xc9\xf6\x74\x23\x8b\xfb\x39\xfe\xf3\x34\x91\x64\x9a\x68\x28\x42\ +\x66\xe1\x32\xa2\xa9\x01\x6c\xab\x9f\x70\xe2\x52\xaa\xa5\x0c\x99\ +\x9c\x60\xc3\x75\x8a\x50\x38\xc2\x2b\x4f\xf6\xf1\xe2\xa3\xfd\xf4\ +\xaf\xda\xc0\x8d\xff\xe9\x2e\x8a\x23\x8f\x33\x7a\x6c\x2f\xc3\x07\ +\xf7\x71\x72\xdf\x7e\x5a\x8d\x46\x30\xb2\x17\xa8\x25\xf4\xc2\xbf\ +\x02\xcd\x84\xf4\xa9\x61\x71\x6e\x50\xc1\x4e\x8e\x8b\x50\xc1\x26\ +\x0f\x81\xaa\x5e\x57\x0d\xe8\x25\x7b\x78\x35\x77\x0a\x2d\x1f\x80\ +\x8e\x72\x31\x97\x2c\xe9\xa0\x56\x95\xd0\xd3\xb5\xe5\x0c\xc9\xa3\ +\xdb\x19\x56\xa3\xce\xe4\x89\xe3\x4c\x0e\x1e\xf3\xdb\xd3\x18\xc2\ +\xc4\xb6\xac\xc0\x09\x8c\x67\xba\xb9\x60\xf3\x4d\x64\x16\x6e\xa6\ +\x56\xde\xc2\x4f\xbf\x9f\xc3\x30\xa1\x5c\x00\x69\xc3\x4b\x8f\x86\ +\xd9\xfd\xcc\x3a\xd6\x5c\xbe\x8a\x9e\xfe\x69\x56\x5f\x36\xce\xd8\ +\xb1\x9f\x70\xe4\x17\x4f\x32\x71\xec\x38\xe3\x43\x43\x1d\x7d\x0d\ +\xdb\xcc\xb8\xc0\x6e\xd7\x19\xa0\xd9\x47\xf2\x9c\x00\x80\x93\x20\ +\xe1\xb7\x71\x25\xd8\xa8\x49\x37\x0e\xd5\x8c\x53\xe2\x35\x89\xf6\ +\xa2\x79\xda\x35\xa4\x0a\xc6\xd3\xa5\x76\x8a\xe4\xcc\xae\x22\x7a\ +\xa3\x69\x66\xed\xef\xd3\xa6\xe6\x6c\x69\x05\x3b\x85\x28\x45\x39\ +\x3f\xce\xab\x8f\xfe\x13\xe9\xec\x23\xac\xbf\xf6\x5a\xd6\x6d\xba\ +\x8a\x66\xf3\x06\x5e\x7a\xbc\x97\x74\x4e\xf1\x9b\x7f\x2e\x99\x1e\ +\x3f\xca\xa1\x57\x4e\x32\x35\xdc\xc7\xe8\xb1\x95\x08\xe3\x73\xac\ +\xba\xe2\xe3\x5c\x76\xdb\x2f\x78\xe5\xd1\xbf\x61\xff\x0b\x2f\x50\ +\xab\x54\x3b\x0a\x5c\xdc\x1c\x82\xd9\x02\x65\xe7\x82\x11\x18\x48\ +\x6f\xf6\x3a\x84\xfb\x5b\xe7\x35\x86\x22\xb8\x29\xfe\xae\xe9\xe4\ +\xba\xec\x78\x4d\x67\xe9\x98\x9c\x59\x6d\xa4\xa5\x65\x05\xb2\x6e\ +\x67\xb4\x8b\x25\x18\xaa\xa5\xb3\x51\x94\x9b\x83\xd0\x6a\x32\x35\ +\x36\xc1\x33\xff\xf4\xcf\x18\xa1\x7f\x61\xe3\x8d\xb7\x73\xd5\x1d\ +\x9f\x61\xf4\xf8\xc5\x14\xc7\x40\xa8\x9d\xbc\xfe\xcc\x37\xc8\xf4\ +\xf6\xb3\xfa\xb2\x9b\xc8\xf5\xdd\xc8\xe4\xd0\x72\x8e\xbe\xf1\x61\ +\xd6\x5c\xb1\x98\x5c\xff\xdf\xf3\xf4\xf7\xbf\xeb\xb7\x94\xe9\x78\ +\xf3\x19\x4d\x2c\xce\x54\x4e\xd8\xdc\x57\x06\x29\xb8\xeb\xae\xbb\ +\x98\x98\x98\xe0\xd8\xb1\xe3\x1c\x3b\x76\x94\x56\xab\x15\x90\x02\ +\x82\xa0\x44\x90\x7a\x08\xb9\x43\x75\x04\xeb\x07\x55\x20\x97\xae\ +\xb3\xff\x5f\xa0\x2f\xd0\x0c\xb5\xe0\xc9\xe0\x99\x65\x59\x7e\x07\ +\x12\x82\x21\x5d\x4f\x7d\xd8\xad\x16\xbb\x9f\x7a\x88\xca\xe4\x71\ +\xae\xfa\xad\xff\x93\x64\xd7\x85\x8c\x1c\x9e\x64\xec\xd8\x01\x46\ +\x8f\xee\xe7\xe8\x2f\x9e\xa3\x77\xe9\x7f\x67\xdd\xb5\xb7\x73\xfe\ +\xfa\x4f\x51\xaf\x5c\xc4\xf5\x1f\xff\x5d\x0e\xbc\xb4\x83\xe3\x6f\ +\xec\x0f\xe4\x02\x75\x1a\xc4\x3a\xaf\x70\x0e\x78\x01\xce\x17\xb9\ +\xe1\x86\x1b\x80\x76\xe6\xee\xf4\x74\x89\x97\x5e\x7a\x89\x5d\x3b\ +\x77\x31\x31\x39\xa1\x35\x5c\x68\x1b\x87\x8a\x60\xc3\x84\x4e\xea\ +\x54\x69\x04\x91\xc7\x04\xe8\x00\x08\xb6\x91\xd5\x6c\x52\x08\x82\ +\x4a\x76\x34\x67\xd0\xd3\xb7\x20\xd0\xc6\x46\xff\x2c\x8d\x46\x83\ +\x37\x77\xbd\x48\x6d\xfa\xf7\xe9\x5f\x7b\x01\xc7\xdf\xdc\xe7\x7f\ +\xc6\x56\xb3\xc9\x89\x83\x87\x18\x3d\xfe\xb7\xac\xbf\xe6\x4d\x7a\ +\xce\xbb\x8a\xfd\xbb\xc2\x54\x0a\x25\xbc\x52\x11\xa5\x82\x64\x98\ +\xf4\xfa\x17\x05\xdc\xda\x33\xc1\xd2\xcc\xf1\x7a\xfd\xf5\xd7\xd5\ +\x8c\x8a\x5f\xed\x74\x01\xec\xd9\xb3\x87\x1d\x3b\x76\x70\xf0\xe0\ +\x21\x1a\x8d\x3a\xb5\x9a\xc3\xfd\x7b\x5e\x84\xdf\x1c\x52\xcd\x96\ +\x7d\xdb\x66\xe4\x1c\x0f\x23\xd8\x2d\x3c\x98\xb1\xdb\x6e\x08\x29\ +\x34\x1e\xa2\xb3\x95\x7d\x30\x65\x2b\x98\xa5\x13\x28\xf5\x96\x2e\ +\x31\x25\x9d\xd4\x37\xdb\x9e\xc9\x6c\x02\x4e\x26\x92\x21\x68\xd6\ +\xea\xc1\xfe\x83\x1d\x7d\x8c\xbc\x8d\xff\xb7\x07\xff\x0d\x14\x0c\ +\x0f\x0f\x03\x67\x71\x9f\x40\x80\xf5\xeb\xd7\xfb\x1f\x7e\xcf\xee\ +\xdd\x2a\x58\x43\xef\xdc\xd5\xf5\xeb\xd7\xb3\x6e\xfd\x3a\x50\x30\ +\x35\x35\xc5\x91\x23\x47\x18\x19\x1e\x66\x68\x78\x98\x03\x07\x0e\ +\x30\x3e\x3e\x1e\xd8\xa4\x19\x24\x8a\xc6\x2e\xaa\x0e\xf1\xaf\x98\ +\xe9\x82\x75\x76\x06\x51\xb3\xb4\x6b\x51\x2a\x78\x12\x67\x14\x73\ +\x76\xf4\x2d\xf0\xe2\x15\x81\x72\x31\x57\xd0\xdb\x4d\x5b\xb3\x7c\ +\xdc\x96\x71\xee\xa9\xf7\x5a\xc8\xe9\x6a\x4f\xcf\x18\x3a\x07\xa8\ +\xe0\xf6\xba\xe8\x03\x1f\x10\x77\xdc\x79\xa7\xe8\xed\xe9\x31\x26\ +\x27\x26\xfe\x17\x33\x14\xfa\xab\xaf\x7c\xe5\x2b\x39\x1d\x14\xb9\ +\x5c\x8e\x5c\x36\x07\x97\x28\x5a\x96\x45\xa3\xd9\x74\xe2\xf0\x87\ +\x0e\xf1\xdc\x73\xcf\xf1\xf2\xcb\x2f\x77\x6c\xbe\xea\x98\x09\xd0\ +\xd1\x4a\xce\x6b\x1a\xd5\x99\x78\xa1\x77\x03\x61\xb6\x64\x8c\xa0\ +\x47\x21\x74\x3d\xdd\xd1\x57\x60\x46\xe9\xb7\xd4\x8d\xc9\x8e\x3e\ +\x08\x6e\x7b\x7c\x3d\x41\xc4\x1f\x9b\x23\xce\x7c\x79\xf8\x19\x6b\ +\x4c\x7c\xdb\xb6\x6d\x51\xc3\x34\xd3\x86\x69\xfe\x47\xd3\x10\x5f\ +\x37\x0c\x33\x2a\x84\x08\x10\x41\xf7\x7d\xe9\xbe\x0e\xbe\x7c\x96\ +\x4e\x63\xc0\xe4\xe4\x24\xbb\x76\xed\xe2\xa5\x97\x5f\xa2\x90\x2f\ +\x50\x2e\x57\xa8\x54\xcb\xb3\x74\x06\x0d\xce\x19\x0a\x76\x05\xd7\ +\xdd\x4c\x0d\x08\xae\x4d\x20\xe9\x9c\x52\xd2\x61\x94\x7a\x9c\x83\ +\xdb\x1a\xce\x6b\x57\xef\x35\xa7\x9e\x61\x98\x6a\xb9\x00\x81\x9e\ +\xc9\x5a\x55\xb1\x27\x11\xb6\x3f\xf8\x20\x4a\xc1\xe8\xe8\xc8\x9c\ +\xab\x80\x39\xbb\xf0\x6d\xb7\xdd\x66\x3c\xf4\xd0\x43\xf2\xe6\x9b\ +\x6e\x8e\x45\xe3\xd1\x95\x86\x30\xee\x12\x42\xfc\x7e\x28\x64\x46\ +\x67\x18\x64\x1d\xf5\xf5\xba\x15\xff\xe5\x2f\xff\x41\xb0\xdb\xb6\ +\x0e\x06\x05\xad\x96\xc5\xe0\xe0\x71\x06\x07\x07\x19\x1b\x1b\xe3\ +\xc0\x81\x83\xec\xdb\xbf\x0f\xab\xd5\x0a\x76\x07\xf7\x73\x11\x54\ +\x20\xae\xe0\xc7\x25\xd4\xec\x89\x1a\xc1\x49\x27\xce\xf1\xd6\x41\ +\xe5\x48\x07\xcf\x23\x91\xae\x5f\x1f\xec\x68\x1e\x88\x04\xba\x12\ +\x20\xd8\x40\x22\x68\xd7\x6c\x7f\x70\x3b\x4a\x28\x46\x47\x46\xcf\ +\x3e\x00\x6c\xbb\xed\x36\xe3\xe1\x87\x1e\x92\x00\x77\xdc\x71\xc7\ +\xf5\x86\x69\xdc\x21\x84\xf8\x94\x61\x98\x5d\x86\x98\x59\xef\x10\ +\x20\x3e\x3a\x8c\x3c\xbf\x33\xb7\xd6\xf7\xff\x0f\xff\xf0\x0f\x67\ +\xb4\x91\xf1\x82\x67\x52\x39\x05\x1f\x96\x65\x51\x28\x14\xd8\xf5\ +\xc2\x2e\x9e\x7d\xe6\x59\x46\x47\x47\x03\xf3\x08\x3a\x09\xa8\x53\ +\x6f\x46\x70\x86\x81\x3f\xf5\x44\xc8\x60\xdf\xc1\xc0\x74\xb3\x8e\ +\x99\x87\x4a\x06\x6a\x1b\x65\xc7\xc4\x33\x7f\xd8\x85\x1b\x49\x94\ +\x52\xb1\xfd\xa1\xed\xa0\x60\x74\xf4\x2c\x02\xc0\xb6\x6d\xdb\x32\ +\x0f\x3f\xfc\xf0\xb4\x7b\xfa\x7f\x27\x14\x36\x2f\x07\xe3\x16\x43\ +\x88\x85\xc2\xd0\xbb\x63\x78\xc1\x5b\xc1\x8c\x72\xb1\x00\x29\xa4\ +\x5b\xe7\x9d\x2c\xa2\xf4\x7f\xff\xe3\x3f\xfe\x93\x80\x7a\x38\x95\ +\xb4\xd8\xb3\x7b\x0f\x3b\x76\x3c\xcf\xc1\x83\x87\xa9\x54\xca\x14\ +\xa7\x8b\x34\xdd\x1a\x02\x5d\x34\x77\x02\xc1\xdb\x74\xb4\xcd\x6a\ +\xb7\x74\x73\xc6\xd7\xfa\xd5\x40\xb3\x71\x15\x32\xd8\x64\x52\x69\ +\x8c\xa4\xd2\x73\x24\x34\x3e\xe3\xc1\xed\xdb\x41\x29\xbf\x91\xc5\ +\xfb\x1a\x00\xb7\xde\x72\x6b\xf4\x27\x8f\xfc\xa4\x01\x70\xeb\x6d\ +\xdb\xfe\x8f\x90\x61\xde\x64\x18\xc6\x26\x84\x48\xb8\xd9\xd2\x04\ +\x8b\x5d\xdb\x1b\x3f\xc3\xaf\x57\xc1\x18\xf9\x4c\x0b\x3d\xd8\xbe\ +\x55\x2a\x85\x21\x0c\x56\xac\x58\xce\x25\x97\x5c\xe2\xbb\x5c\xeb\ +\xd6\xad\x6b\x77\xef\x56\xcc\xe8\xcd\x33\x95\xcf\x73\xfc\xd8\x31\ +\xc6\xc6\xc6\x38\x76\xec\x18\xbb\x77\xef\x66\x64\x78\xb8\xdd\xaa\ +\xb6\x23\x86\xd0\xe6\x11\x3a\x12\x3b\x94\x0a\xb4\xb8\x0f\xd8\x10\ +\x9d\xf3\x10\x7c\x42\xc9\xb9\xf6\xcc\x28\x66\x3b\x16\xfa\xe0\x83\ +\xdb\x01\x18\x1b\x9b\x7b\x09\xf0\x9e\xbd\x80\x9f\x3c\xf2\x93\xc6\ +\xad\xb7\x6e\xfb\xaa\x69\x1a\xbf\x65\x08\x31\xa0\x84\x88\xfb\xd6\ +\xb6\x10\x5a\x88\x37\x18\xec\x15\x7a\xff\xc0\xce\x40\x88\x0a\x56\ +\x14\xe9\x19\x33\x81\x4d\x51\x8a\xf3\x56\x2c\xe3\xb2\xcb\x2e\x0b\ +\x7c\xa6\x37\xde\x78\x03\xc3\xad\x03\x34\x4d\x93\xf3\xcf\x3f\xaf\ +\xdd\xe4\x49\x40\x2e\x9b\x25\x97\xcd\xba\x0d\x28\x2d\xac\x96\x85\ +\x65\xdb\xec\xdd\xb7\x8f\x9f\x3e\xf5\x14\x2f\xec\xda\x45\x4b\xca\ +\x36\x95\x2d\xb4\xa1\x11\x9a\x6a\x52\x1d\x2d\x4b\x54\xc0\xb8\x0c\ +\xb6\x88\x11\x04\x13\x3f\x94\xec\xc8\x81\x98\x41\xa1\x9d\x99\x68\ +\xd0\x2f\x0d\x80\x9b\x6e\xda\x9a\x30\x8c\xd0\x7d\x86\x61\xfc\xae\ +\x10\x22\x05\x4a\xb4\x45\xb5\x68\x8f\x6e\x15\x6e\xc5\xac\xd0\x12\ +\x5d\x84\x96\x2f\xe7\x65\xf8\x08\x15\x60\xc2\xf4\x9b\xaa\xc7\xcd\ +\x3b\xa3\x7b\x17\x5d\x74\xd1\xec\xa2\x4d\xe0\x77\x0e\x3d\x71\xe2\ +\x24\x86\x61\x62\x9a\x06\xbd\xbd\xbd\x81\xd4\x6c\x43\x98\x84\x23\ +\x06\x61\xa5\xb8\x78\xe3\x46\x2e\xde\xb8\x11\x50\xe4\xf3\x05\x9e\ +\x7f\xfe\x79\x5e\x7e\xe5\x65\x26\x27\x26\x9d\xae\x23\xd3\xc5\x20\ +\x6d\xcb\xcc\x79\x03\x5e\x14\x74\x86\x9d\xa2\x02\xae\x8d\xd7\x46\ +\x7a\x76\xd2\xd7\x61\x96\xde\x7f\x00\xb8\xe1\x86\x1b\x22\xe1\x70\ +\xb8\x47\x29\xf5\xbf\x0b\x21\xbe\xe4\x7f\x48\xd5\xee\xe8\x0b\xed\ +\x5e\x4a\x7e\x8f\x40\xed\x35\x7a\x03\x48\xb4\x11\xae\xc8\x59\x3a\ +\x87\x76\x1a\x60\x5e\xbd\xbd\xe6\x27\xc6\xe3\xf1\xb7\xd4\x6e\x02\ +\xaf\xeb\x87\x40\x18\x82\x7c\x3e\xef\x77\x0e\x91\x52\x62\xbb\xa9\ +\xe1\xbd\xde\x9c\x1f\xf7\xda\xd9\x6c\x17\xb7\xde\xba\x8d\x5b\x6f\ +\xbd\x15\xdb\xb2\x18\x3c\x79\x82\xa1\xa1\x61\x46\x47\x46\xd9\xb3\ +\x7b\x37\xaf\xed\x7e\xcd\xcf\x54\x56\x01\x46\x4f\xcc\x3e\x55\xc4\ +\xa7\xa5\xb5\xfe\x00\x52\x71\xca\x5e\x10\xef\xb7\xea\xe0\xad\x5b\ +\xb7\x6e\x52\x4a\xdd\x26\xa5\xfc\xb2\x77\xb2\x3c\xdf\xd5\xc3\x81\ +\x00\x27\xfc\xeb\x22\x40\xb8\xff\xcf\xbf\x31\x78\xc1\x1f\xd1\x6e\ +\xa0\x00\xc1\xe4\x8d\xce\x29\xe0\xbe\x9e\x15\x81\xe6\x4b\xde\x1a\ +\x1f\x1f\x67\xd1\xa2\x45\xb3\x07\xa2\xe8\xe8\xce\x8d\x40\x20\x30\ +\x84\x40\x98\x66\xdb\xd8\x14\x82\x91\x91\x61\x2c\xcb\xc2\xb6\x6d\ +\x96\x2e\x5b\xaa\xc5\x32\x14\x86\x69\x72\xde\xb2\xf3\x58\xb6\xec\ +\x3c\x94\x94\xdc\x76\xfb\x36\x94\xad\xc8\x17\x0a\xfc\xec\x67\xff\ +\xce\x93\x4f\x3e\xc9\x89\x13\x27\x74\x3a\xef\x14\x49\x2b\xca\x97\ +\x78\x6f\x55\x03\xda\xd9\x0f\xf1\xfd\x22\x01\x76\xc6\xe3\x71\x4a\ +\xe5\x32\x42\x40\xc8\x34\x11\xc2\xeb\xa7\xd7\x16\x57\x8e\x3b\x27\ +\x5c\x79\x20\x02\x23\xd4\x84\x40\xb3\xaa\x83\x6e\x20\xa2\x23\x4d\ +\x4c\x77\x0b\xdf\x42\x57\xbe\xf2\xca\x2b\x6c\xdd\xba\xd5\x2d\xd1\ +\xd6\x43\xd1\x9a\xa4\x91\x0a\x0c\xef\x1a\x4e\x6b\x7a\xd5\x51\x98\ +\xe2\xa8\x0d\x07\x20\xc7\x8e\x1c\xd3\x26\x93\xc0\xf9\xe7\x9d\x17\ +\x78\x8d\x69\x98\x60\x40\x4f\xcf\x02\x7e\xe3\x23\xbf\xc1\x6f\x7c\ +\xe4\x23\xbe\xa7\xb1\x73\xe7\x4e\x0e\x1d\x3e\x44\x3e\x5f\x60\x62\ +\x62\x9c\xba\x9b\x2b\x18\xe8\xfe\x79\x06\xeb\xff\x4f\x27\x00\xd4\ +\x6d\xb7\xdd\x26\xc6\x27\xc6\x29\x16\x8a\x8c\x8e\x8c\x30\x3a\x36\ +\x46\xad\x56\xc3\x70\x8d\x2d\xa7\xc9\xa2\xc0\x40\x68\xd5\xd2\x4e\ +\x93\x84\xc0\xbc\x1f\xda\x6d\x58\x75\xd8\x77\x66\xcb\xe8\xd3\x3d\ +\x4f\xe9\xc6\x08\xc1\x8e\x1d\x3b\xb8\xe6\x9a\x6b\x02\xcf\x3b\xdd\ +\xc6\x84\x3b\xac\x4a\x22\xa4\x74\x37\xd8\x6b\xcd\xea\xd4\xfe\x4b\ +\x3d\x4d\xdd\x15\x63\x9d\xef\x78\xf4\xd8\x31\xff\x71\x3e\x9f\xe7\ +\x91\x47\x1e\xe1\x58\x10\x58\x17\x00\x00\x14\xdb\x49\x44\x41\x54\ +\xde\x7b\xee\x71\xd5\x5c\x3b\x94\x7f\xd1\x45\xeb\x59\x7f\xd1\x7a\ +\x50\x90\x2f\xe6\x19\x3a\x39\xc4\xd8\xd8\x38\x07\x0f\x1e\xe0\xe7\ +\x3f\xff\x39\x83\x83\x83\x01\xf0\x9f\xf2\x46\x9f\x41\x70\x88\x77\ +\xa1\x02\xe4\x97\xbe\xfc\x65\xd1\x6a\xb6\xa8\xd7\x6b\x94\xdc\x0a\ +\xdc\x52\xb9\xcc\xf0\xf0\x30\x83\x83\x83\x2e\xe1\xa2\x5c\xeb\x3b\ +\xe4\xe8\x5d\xad\x85\xfb\x29\xfb\xdf\x69\x44\x50\xd0\xa7\x7f\xe7\ +\x37\x22\x9d\x4e\xb3\x65\xcb\x16\x72\xb9\x5c\x20\x0a\x67\x1a\x26\ +\x86\x69\xf8\x03\xa2\x0d\xc3\xf0\x3f\x93\x74\xc7\xce\x49\x29\x91\ +\xb6\x8d\x2d\x6d\x6c\xcb\xc6\xb6\xed\x53\x82\x4e\x4a\xc9\x0f\x7f\ +\xf8\xc3\x19\xcf\xdf\xfd\xc5\x2f\xfa\x5e\x06\x1d\x76\x8c\x74\xdf\ +\xc3\xb6\x25\xaf\xbf\xfe\x3a\x8f\x3f\xf6\x18\x3b\x76\xec\x70\x22\ +\x9e\xb3\xac\x1f\xff\xf8\xc7\x28\xa5\x98\x9c\x9c\x7c\x7f\xb9\x81\ +\xad\x66\x93\x56\xab\x85\x69\x9a\x64\x73\x39\x72\xdd\x39\xa4\x54\ +\xac\x58\xb1\x92\x46\xa3\x46\xa3\xd1\x20\x9f\x77\x1a\x2d\x1e\x3d\ +\x7a\xd4\x37\xb8\xbc\x9b\xef\xdb\x0e\x33\x32\x06\x40\xef\x94\xf8\ +\xcb\xe0\xbf\x54\x2a\xf1\xec\xb3\xcf\xb2\x6c\xd9\x32\x56\xae\x5c\ +\x49\x26\x93\x71\x88\x1a\xb7\x5b\xb8\xd0\x5b\xb5\x78\xa0\xf4\xe6\ +\x05\x4a\x67\x16\xb1\x92\x6a\xc6\x54\x92\xd9\xde\x67\xb6\xf5\x5f\ +\xbf\xf6\x35\xff\xf1\x7f\xfe\xec\x67\x89\xc7\xa2\x5a\x8b\x7a\x47\ +\x6d\x18\xc2\xe4\xe2\x8d\x1b\xd9\xb8\x61\x03\x08\xc8\x4f\xe5\x79\ +\xe1\x85\x17\x78\xe5\x95\x57\x98\x98\x98\x60\x62\x62\x82\xc9\xc9\ +\xc9\x19\xc0\xdf\xba\x75\xeb\x57\x80\x41\xe0\xd5\x27\x9e\x78\xe2\ +\x25\xf7\x39\xe3\x89\x27\x9e\x90\x67\x54\x02\xdc\x73\xcf\xdd\xa2\ +\xd5\x74\x12\x26\xf3\xf9\xbc\x5b\x23\x67\xb6\x13\x31\xa5\x43\x80\ +\x48\xdb\xc2\xb6\x15\xf5\x66\x9d\xa1\xa1\x21\x0e\x1d\x3c\xc4\xf1\ +\xe3\xc7\x69\x34\x1a\xb3\x00\xe1\xf4\xf7\x44\x1b\x18\x18\xe0\xfc\ +\xf3\xcf\xa7\xb7\xb7\x97\x44\x3c\x81\x61\x9a\x84\x4c\xa7\x07\xb0\ +\x70\xfc\xc3\x00\x20\xa4\x52\xbe\x57\xa0\x77\x0f\xeb\x5c\xb6\x6d\ +\xf3\xfc\xf3\xcf\x3b\x06\xdf\x2f\xb1\x3e\xff\xf9\xcf\x69\x2e\x64\ +\x5b\x22\x2a\xc0\x6a\x59\x8c\x8e\x38\x21\x70\x8f\xd7\xf0\x24\x80\ +\x3b\xbe\xbe\x04\x9c\x00\x5e\x07\xca\xc0\x7e\xe0\xd1\x27\x9e\x78\ +\xe2\x65\x77\x7f\x12\x4f\x3c\xf1\x44\x75\x4e\x01\x70\xf7\x17\xbf\ +\x28\x9a\x56\x0b\x14\xec\xdc\xb9\x0b\xa5\x9c\xc6\x4b\xa9\x74\x9a\ +\xae\xae\x2e\x32\x5d\x5d\x7e\x6b\x36\x3a\x92\x3f\x85\x10\x14\x8a\ +\x45\x06\x8f\x1f\xe3\xd0\xa1\xc3\x8c\x8d\x8d\x9d\xf2\x46\xbf\x67\ +\xb1\x16\x0a\x91\x4e\x67\x10\x06\x2c\x19\x58\xc2\xc2\x85\x8b\xc8\ +\xe6\xba\x9c\x72\x6e\xc3\x74\xdb\xbf\xb4\x5b\x94\x49\xd7\x25\xb3\ +\xa5\x0c\x74\xf5\xf2\x56\xb3\xd9\xa4\xd1\x68\xf0\xea\xab\xaf\x72\ +\xe2\xc4\x89\xd3\xa2\xa3\x3f\xf7\xb9\xcf\x69\x6d\x62\xbc\x61\x58\ +\x41\xfb\x63\x72\x72\xd2\xdb\xfc\xd9\x56\x0d\x18\x03\x46\x80\x3c\ +\xb0\x47\x08\x71\xff\xe3\x8f\x3f\xbe\xd3\xdd\xaf\xe4\x13\x4f\x3c\ +\x51\x39\xad\x00\xf8\xc2\xef\xfd\x9e\xb0\x5a\x2d\x94\x52\xec\xda\ +\xb5\xcb\xcf\xc8\xf1\x82\x19\xca\x6d\xd1\x92\x48\x24\xe8\xca\x76\ +\x91\xeb\xca\x91\x4c\x25\x31\x84\x08\x8c\x7a\x73\xc4\xaf\x64\x7c\ +\x7c\x82\xe3\xc7\x9d\x48\x5e\xa9\x54\xf2\x47\xbf\xbc\x27\x60\x08\ +\x08\x87\xc2\x84\xc3\x11\x22\xe1\x10\xe1\x48\x84\xe5\xcb\x97\x23\ +\x84\x20\x1a\x8d\x92\x4c\x26\x49\x26\x12\x44\x63\x51\x84\xe1\xb8\ +\x82\xb6\x65\xf9\x27\x5c\x08\xe1\x37\xad\x9a\x9e\x2e\x92\xcf\x17\ +\xa8\x94\x2b\xec\xdb\xb7\x97\x96\xfb\xba\xb9\x58\xbf\xfb\xbb\xbf\ +\x13\x30\x8a\xbf\xf1\x8d\x6f\xbc\xdb\x4b\x34\x81\x2a\x50\x01\xc6\ +\x85\x10\x2f\xb7\x5a\xad\x7f\x79\xfa\xe9\xa7\xb7\x9f\x36\x00\x7c\ +\xfe\xbf\xfc\x17\x61\xb9\xdd\x35\x7d\x00\x48\xe5\xbb\x4c\x52\x4a\ +\xff\x77\xe5\x89\x55\xa5\x88\x46\x22\x64\x32\x69\x72\xd9\x1c\xe9\ +\x4c\x17\x91\x48\xc4\x8f\x9c\x79\x8d\x9a\x1a\xf5\x06\x63\xa3\xa3\ +\x9c\x1c\x3a\xc9\xf8\xf8\x04\x8d\x46\x83\xa6\x9b\x0c\x62\x59\x96\ +\xaf\x32\xc4\xdb\x30\x64\xc2\x30\x88\x84\xc3\x84\x42\x21\x22\xe1\ +\x08\xe1\x88\x07\x86\xb0\xfb\xd8\xfd\x17\x89\x10\x0e\x87\x41\x29\ +\x5f\x2d\x49\x29\xa9\xd7\xeb\xe4\xf3\x79\x5a\xcd\x26\x52\x29\x0a\ +\xf9\x02\x4d\xab\xe5\xb4\x87\xf3\xc1\xfb\xfe\x70\xe1\xde\x6a\xd9\ +\xb6\x2d\x97\x2c\x59\x22\xc3\xe1\x88\x71\xf2\xe4\x89\xff\xf4\xe8\ +\xa3\x8f\x7e\xeb\x3d\x1b\x81\xde\x69\xf7\x2c\xf4\x76\xae\xde\xcc\ +\xaa\x58\xcd\xbd\xa7\x5e\xab\x51\xad\x56\x19\x1e\x1e\x41\x2a\x89\ +\x21\x04\xc9\x54\xda\xe1\xe4\x73\x39\x92\xc9\x04\x4a\xc2\xc2\x45\ +\x0b\x59\xb4\x68\x31\xc2\x10\x94\xcb\x65\xc6\xc7\xc7\x19\x1f\x1f\ +\xa7\x54\x2a\x51\xaf\xd7\xa9\x56\xab\xd4\x6a\x35\xdf\xb8\x9b\xd5\ +\xa8\x94\x92\x46\xc3\x99\x03\x10\xed\x8e\xba\x9e\x88\x03\x34\xa7\ +\x25\x9c\x70\xe6\x01\xe0\x0c\x7c\x6e\xba\x86\x6d\xab\xd5\xa2\xd9\ +\x6a\xf9\x86\xae\xf3\xaf\xe9\xab\x87\x50\x28\x84\x65\x59\xef\xeb\ +\xcd\xf7\xc0\xd9\xd3\xd3\x43\x77\x77\xb7\xc3\x7d\x0a\xb8\x7a\xcb\ +\xe6\xef\x3d\xfa\xe8\xa3\xef\xdd\x0b\x90\xb6\x6a\x87\x2e\x03\xd3\ +\x37\xb5\xf1\x4c\x7e\x72\x85\xf4\x89\x97\x00\x13\x26\xc1\x56\x36\ +\xf9\xa9\x3c\x53\x93\x93\xae\xf5\x6d\x93\x88\x27\xc8\xe6\xb2\x64\ +\xb3\xdd\x74\x65\x32\x84\x4c\x93\xfe\xc5\x8b\xe9\xef\xef\x43\x49\ +\xc5\x74\xa9\x44\xa1\x50\x60\x7a\x7a\x9a\x5a\xad\x4a\xa9\x54\xa6\ +\x54\x2a\x51\xad\x56\x03\x60\xd0\x01\x31\x35\x35\x15\xf8\xfc\x6b\ +\xd7\xae\x75\x44\xbc\x00\x0c\xd1\x96\x54\x1e\xdf\x20\xa5\x16\xce\ +\x75\x1e\xd7\xaa\x55\xce\x86\x65\x9a\xa6\xdf\xcb\xd0\x34\x4d\x6c\ +\xdb\x76\xc0\x8f\xc1\x64\xbe\x60\x9e\x16\x37\xd0\xbb\x59\x28\xc8\ +\x74\x75\x51\x9a\x9e\xa6\x65\xdb\xb3\x0c\x7c\x96\x1d\x53\xbb\x3b\ +\x06\x40\xa1\x53\xa6\xce\x6b\xca\x95\x0a\xa5\x72\x89\xa3\x47\x8f\ +\xa3\x94\x24\x1c\x0a\x93\xc9\x64\xe8\x5e\xd0\xed\x4f\xf9\xe8\x5b\ +\xbc\x98\xbe\xc5\x8b\x69\x59\x16\xd5\x4a\x85\x72\xa5\x42\xbd\x5e\ +\xa7\x5c\x2e\xbb\x2d\xe2\x8b\xbe\xa7\xe1\x89\x75\x7d\xed\xdd\xbb\ +\x97\x73\x65\x29\xb7\xdf\x51\x38\x1c\x26\x16\x8b\xd1\xd5\xe5\xa8\ +\x56\xaf\x55\x9e\xd3\x88\x03\xb7\xa3\xb9\xe4\x34\x01\x40\xfa\x93\ +\xbe\x56\xaf\x5e\xe5\x72\x03\x2d\x8a\xa5\x12\xc5\x42\x81\x62\xa1\ +\x48\xb5\x56\x9d\x39\xc0\x59\x0f\x83\xea\x89\x16\x7e\xec\x0c\x2d\ +\xcc\xea\x3c\x6e\x34\x1b\x8c\x8d\x8f\x31\x32\x3a\xe2\x8a\x7c\x48\ +\xa5\x32\xe4\x72\x39\xba\xbb\x73\xa4\x52\x29\x7a\xe2\x71\x94\x52\ +\x34\x5b\x2d\x1a\x6e\x0f\xc0\x66\xb3\x49\xa1\x50\x60\x72\x72\x92\ +\x52\xa9\xe4\x9e\x84\xd9\x39\x88\xb3\x79\xf3\x23\x91\x08\xb1\x58\ +\x9c\x44\x22\x4e\x34\x1a\x75\xb2\xa1\xac\x96\x13\xed\x10\x06\x86\ +\xdb\xb9\x4c\x18\xbc\xa5\x51\xfd\xee\x54\x80\xb4\xfd\x81\x0e\x85\ +\xe2\x34\xc9\x44\x02\x33\x14\x22\x97\xcb\xd2\x9d\xcd\x3a\xc6\x87\ +\x94\x54\xca\x65\xf2\x85\x02\x53\x53\x53\x94\x4a\xd3\xc1\xa1\x8f\ +\x74\xcc\xdb\xd1\x12\x2c\x04\xda\x90\x65\x3d\x30\x24\x04\xb6\x6d\ +\x53\x28\xe4\xc9\xe7\xa7\x38\x78\xd0\xb1\x45\x62\xb1\x28\xd9\x5c\ +\x96\x05\xb9\x05\x74\x75\x75\x91\x4e\xa7\x50\x52\x91\xc9\x64\xe8\ +\xef\xef\xc7\xb6\x2c\xaa\xd5\x2a\x53\xf9\x3c\x53\x53\x53\x54\x2a\ +\x8e\x57\x34\x9b\x74\x38\x5b\x36\x3e\x14\x0a\x91\x4a\x25\x31\x43\ +\x61\x62\xd1\x88\xd3\x0f\xc1\x33\x92\xdd\x9e\xd7\x42\x38\xf1\x0e\ +\x81\x40\x48\x71\x1a\x25\x80\x6c\xa7\x4f\x1d\x3b\xe6\x88\x6a\x43\ +\x08\xe2\x89\x04\x99\x74\x9a\x64\x2a\xe5\xb8\x5a\xa9\x14\x89\x54\ +\x8a\x81\xfe\x7e\xa4\x52\xd4\xeb\x75\x0a\xc5\x02\x53\x93\x53\xe4\ +\xf3\x05\x9a\xcd\x86\xef\x41\xc0\x2c\xd3\xb2\x14\xed\xe8\xa1\xf2\ +\xe2\xe7\x74\x0c\x57\x56\x54\xab\x55\x2a\x95\x0a\x27\x4f\x9c\xf4\ +\xfd\xff\xab\xaf\xbe\x06\xc3\x30\x08\x85\x43\x98\xa6\x49\x38\x1c\ +\x26\x9d\x49\xb3\x74\xe9\x12\x6c\xdb\xa6\x54\x2a\x33\x39\x39\xe9\ +\xab\x8b\x77\xea\x5d\xfc\xaa\x37\xde\x30\x0c\x32\xe9\x8c\xe3\xe5\ +\x44\x23\x4e\xbf\x24\xcb\x42\x08\xc3\x3d\xf1\xca\x8b\x7b\xfb\xed\ +\x67\x84\x30\x40\xa8\x40\x60\xeb\xbd\x49\x00\x5d\x7c\xbb\x46\x92\ +\x25\x6d\x8a\xc5\x22\x85\x62\x11\xe5\xb2\x68\xf1\x78\x9c\x74\x3a\ +\x4d\x3a\x9d\x26\x91\x48\x10\x8d\x46\x59\xb8\x70\x21\xbd\x3d\x0b\ +\x41\x29\x5a\x56\x8b\xe2\x74\x91\xa9\xc9\x29\xa6\xa6\xf2\x94\xca\ +\x25\x3f\x00\xa4\xbc\x11\x33\x9d\xb1\x02\x17\x29\x52\xcd\x32\x8f\ +\xcf\x5d\x8e\x95\x2e\x67\xb4\x6e\x53\xca\xf5\x00\x0c\xd3\xf9\x5c\ +\x99\x34\x4a\x2a\x5a\x2d\xe7\x73\x38\xa9\xe5\xce\x60\x89\xf7\xa3\ +\x9e\x4f\xa5\xd2\x18\xa6\xc0\x34\x0c\x47\x1a\xba\x43\xad\x10\x06\ +\x18\xae\xc1\x8d\x77\xe2\xa5\xa6\xee\x6c\xa4\x12\xa7\x53\x05\xc8\ +\xe0\xf0\x03\xaf\x13\xa6\x0a\x4e\xfc\xac\x54\x2a\x94\xcb\x65\x4e\ +\x9e\x3c\x89\x54\x8a\x70\x28\x44\x2a\x9d\xa2\xab\xab\x8b\x54\x32\ +\x45\x24\x12\x21\x97\xcd\x91\xcd\x74\xb1\x7c\xf9\x72\x94\x52\x94\ +\x4a\xd3\x4c\x4d\xe5\x99\x98\x98\xa4\x58\x2c\x60\xd9\x96\x36\x86\ +\x65\xe6\x14\x9d\x19\x33\xf8\x02\x37\x4e\x2b\x18\x15\xed\x14\x6f\ +\x9f\x7a\x95\x8e\x27\x63\x1a\x26\xd9\xae\x2c\xb9\x6c\x0e\x21\x04\ +\xf5\x7a\x9d\x52\xa9\x44\xb1\x58\xa4\x5e\xaf\xfb\xdf\x77\xae\x5d\ +\xbf\xbe\xbe\x3e\xaa\xd5\x2a\xc5\x62\x31\xf0\x7c\x3c\x1e\x57\x6e\ +\x98\x5b\xd4\xaa\x35\xa2\xd1\x18\xe1\x70\xc8\x0f\x9d\x08\x24\x86\ +\x74\x12\x5d\x14\x06\x60\xbb\x8e\xb7\x37\xf2\x4e\x80\x50\xd8\x6f\ +\x11\x81\x7c\x97\x12\x20\x08\x80\x77\xca\x03\x34\x1b\x0d\x26\xea\ +\x75\xc6\xc7\xc6\x7d\x1e\x20\x9e\x48\x92\xcd\x38\xf4\x71\x22\x11\ +\x27\x99\x4c\x91\x4c\x24\x19\x18\x58\x02\x48\x6a\xb5\x3a\x85\x42\ +\x81\x89\x89\x49\xa6\xa6\x26\xdb\xee\x98\x37\x4a\xe6\x14\x61\x84\ +\xc0\xe0\x25\xb7\xf6\xde\x9b\x46\xaf\x66\x78\x34\xc1\x0c\xde\x48\ +\x24\x42\x4f\x4f\x0f\xbd\xbd\xbd\x00\x54\xab\x55\x4a\xa5\x12\xe5\ +\x72\x99\x66\xb3\x89\x6d\xdb\x3e\x53\xe9\x9d\xce\xd3\xb1\xea\xf5\ +\x3a\x89\x44\xc2\x07\x40\x28\x14\x56\x91\x48\x18\xa9\x94\xb0\xa4\ +\xc4\xf0\xa5\x41\xdb\xa8\x36\xdc\x4d\x96\x80\x90\x2e\x18\x84\xe1\ +\xa4\xe0\x19\xd2\xcf\x6d\x10\x06\x6f\x39\x8b\xf8\x5d\x4a\x00\x3d\ +\xdd\xf9\xbd\xf1\x00\xc5\x42\x91\x42\x3e\xef\xf3\x00\xf1\x58\x9c\ +\x4c\x57\x86\xae\xae\x1c\xe9\x54\x8a\x70\x38\x42\x4f\x6f\x2f\xbd\ +\xbd\x3d\x48\x77\x48\xf4\x74\x71\x9a\x89\x49\x27\x6a\x56\x9c\x2e\ +\xce\xda\x45\xa3\x73\x30\xb9\x80\x00\x0d\xed\x0d\xa6\x0c\x0c\xf9\ +\xd1\x40\xa1\x9f\xf6\x58\x2c\x46\x3c\x1e\x67\xd1\xa2\x45\xfe\xdc\ +\xa1\x72\xb9\x4c\xad\x56\xd3\xc8\xa2\x56\x40\xc4\xfe\x32\xa0\xa8\ +\xd5\x6a\xe4\x72\x39\x0c\xc3\x50\xa1\x70\x08\x25\x11\x56\xcb\x69\ +\x67\x2f\xbc\x86\x94\x1a\xd1\x85\x70\xb2\xae\x9c\xb8\x96\x93\x19\ +\x6d\x49\x9b\x52\x69\x9a\xee\xee\x6e\x84\x74\xfc\x7f\x61\x38\x08\ +\xb1\x4e\x97\x04\x50\x2e\xd5\xab\x50\x24\x93\x49\x2a\x95\x0a\x96\ +\x94\xa7\x85\x07\xa8\x54\xab\x94\x2b\x65\x06\x07\x4f\xa2\x94\x24\ +\x64\x86\x48\xa7\xd3\xe4\x72\x59\xd2\x99\x8c\xe3\xeb\x66\xbb\xc8\ +\x74\x65\x58\xbe\x7c\x39\x52\x4a\xaa\xd5\x2a\x93\x93\x93\xbe\x51\ +\xe7\x0c\x81\x52\xd0\xe1\x49\xe8\xe3\xdb\x03\x9d\xca\xde\x81\x0e\ +\xd6\x5f\x97\x48\x24\x48\x26\x93\x08\x21\x68\xb5\x5a\xd4\x6a\x35\ +\xbf\x92\xb9\xd9\x6c\x52\xaf\xd7\x69\x36\x9b\xed\x30\xf4\x2c\x80\ +\x88\xc7\xe3\xae\x14\xb1\xb1\x6d\x89\x6d\xd9\x4c\x97\xa6\xb1\x8e\ +\x5b\x94\x4a\x25\x21\x6d\x1b\x4b\xda\x48\x5b\x62\xb9\x0d\x2c\x85\ +\x10\x64\x32\x19\xa2\xb1\x98\x63\xe5\xeb\x2d\x4a\x85\x43\x68\xed\ +\xdf\xbf\x8f\x5c\x2e\x17\x68\x4f\x27\xdc\x30\xb8\x7a\x0b\xdb\xe6\ +\x5d\x7b\x01\xd2\x4d\x79\x5e\xb2\x74\xa9\x6b\x78\xb5\xa8\x54\xaa\ +\x94\x4b\x25\x4a\xa5\x32\xf5\x46\xfd\xb4\xf0\x00\xcd\x56\x93\x89\ +\xc9\x09\xc6\xc6\xdb\x51\xc3\x64\x32\x45\x2e\x97\x25\xdb\xd5\xe5\ +\xcc\xff\x89\xc7\x19\xe8\xef\xa7\xaf\xaf\xcf\xe1\x03\xdc\x92\xf2\ +\x40\x25\xb1\x5e\x28\x22\x3b\x27\x86\xbf\x7b\xa3\x4c\x9f\x47\x90\ +\x4a\x39\xe3\xea\x01\x5a\xad\x96\x0f\x00\x0f\x0c\xd5\x6a\x95\x46\ +\xa3\x41\x6f\x6f\xaf\xaf\x3e\x10\x82\xde\x85\x0b\x59\xb6\x74\x19\ +\xab\x56\xad\x60\xc5\x8a\x95\x2c\x5d\xba\x94\xee\xee\x6e\x7f\xfe\ +\xf1\xc4\xc4\x04\x47\x8f\x1e\x65\xef\xde\xbd\xbc\xbe\x67\x0f\x6f\ +\xbc\xb9\x97\xe1\xe1\x21\x46\xc7\x46\x9d\xd6\xb7\xb6\xcd\x07\x2f\ +\xbd\x14\x43\x29\xc0\xa0\x5c\x29\x93\x9f\x9a\x72\x86\x61\xb9\x99\ +\x50\x1e\xf0\x94\x12\x6f\x99\x85\xf4\x6e\x82\x41\x6a\xcb\xe6\x2d\ +\xf4\xf6\xf6\x10\x0a\x87\x1c\xb6\xcd\x34\x11\x2a\xd8\xcf\x42\x49\ +\x49\xb5\x56\x63\x7a\x7a\x9a\xe9\xe9\x69\x2a\x95\x32\xb6\x2d\x03\ +\x81\x23\x3f\x82\xe8\x06\x8c\xda\xbf\xcb\x60\x96\x8e\x6c\xab\x14\ +\xe9\x32\x8e\x7e\x90\x49\x2a\x62\xb1\x08\x99\x2e\x27\xc7\x3f\x93\ +\xc9\x10\x8e\x44\x02\x74\xae\x77\xad\xf6\xfb\xa8\xc0\x35\x4e\xf7\ +\x68\x16\xfd\xb4\xb7\x5a\x2d\x0a\x85\x22\xd2\xb6\x30\x43\x61\xd6\ +\xae\xbd\x80\x1b\xb7\x6e\xe5\xf2\x8e\x1a\x86\x77\xb3\x9e\x7a\xea\ +\x29\xbe\xf7\xbd\xef\xf1\xfc\xf3\x3b\xa8\x54\x4a\xd8\xb6\x64\xd3\ +\xa6\x4d\xec\xdd\xbb\x97\xae\xae\x2e\xbf\xab\xb9\xf7\x59\x9c\x59\ +\x58\x06\xe1\x70\x24\xf9\x3f\xbf\xfb\x9d\xea\x7b\x05\xc0\xf3\xcd\ +\x66\x33\x2a\x84\xf8\x60\x26\x93\xa1\xaf\xaf\x8f\xbe\xbe\x3e\xd2\ +\xe9\x34\xe1\x70\x98\x48\x24\x42\x28\x14\xf2\x4b\xa5\x74\x29\xa0\ +\x5b\xd7\xd3\xd3\x25\x9a\xcd\x86\x1f\x39\xf4\x26\x77\x3b\xa7\x5c\ +\xf9\x23\xe1\xa4\x0b\x16\x7f\x13\xbd\xac\x1d\x0d\x1c\x9d\x16\x7a\ +\x28\x14\x62\xd3\xa6\x4d\xfe\x75\xfc\x4d\x77\xed\x15\x39\x83\xef\ +\x9f\x1b\xeb\xbe\x5c\x2e\x61\xd9\x36\xb9\x6c\x37\xb7\xdc\x72\x33\ +\x5b\xb7\x6e\x3d\xed\xef\xf1\x9d\xef\x7c\x87\xbf\xfd\xff\xfe\x96\ +\x23\x87\x8f\xa0\x94\xe2\xaa\xab\xae\x74\x13\x63\x85\x3f\x05\xcd\ +\xab\x8d\x08\x87\xc3\xc9\xef\x7d\xef\x7b\xef\x0d\x00\x1a\x10\x1e\ +\x90\x52\x56\x2d\xcb\xb2\x95\x52\xd7\x84\xc3\xe1\xe5\xd9\x5c\x96\ +\x85\xbd\x0b\xe9\xe9\xe9\x21\x1a\x8b\x92\x88\xc7\x89\xc7\x13\xce\ +\x90\x05\xad\x8a\xd6\x4b\x8b\xb6\x5b\x36\xa5\x52\x89\x42\x21\x4f\ +\xa1\x38\x4d\xa5\x52\xf1\xed\x0b\xa9\xb4\xf4\x2c\x0f\x00\x5e\xf2\ +\xa6\x94\xee\xbc\x9f\x60\xd8\x59\x5f\x5b\xb6\x6c\x09\xfc\xbd\x1e\ +\xe4\xd1\xad\x7e\x2f\xa8\x75\x3a\x57\xb3\xd9\xc2\xb6\x2d\xba\xba\ +\xba\xb8\xeb\xae\xbb\x66\x54\x2c\xcd\xc5\xda\xbe\x7d\x3b\x5f\xf9\ +\x83\xaf\x70\x7c\xf0\x38\xb6\x6d\x73\xdd\x75\xd7\xb7\x8b\x62\x5c\ +\x16\xf5\x81\x07\x1e\xf8\xae\x94\xf2\xcf\x81\x57\xde\x33\x00\x3a\ +\xc0\xf0\x21\xa5\xd4\xcd\xb6\x6d\xdb\x96\x65\xb5\x4c\xd3\xfc\xe3\ +\x68\x34\x4a\x36\x9b\x25\x9b\xcd\x92\x49\x67\x54\x22\x91\x10\xe9\ +\x4c\xda\x31\x9e\x0c\xc3\xa9\x96\x95\x0a\x29\xed\x00\x0b\x58\xa9\ +\x54\x28\xe4\x0b\x4c\xe5\xf3\x94\x4a\xd3\x58\x2d\x2b\x90\x57\xe0\ +\x81\xc1\x3b\xc5\xa7\x4a\xdd\xba\xea\xaa\xcd\x81\x52\x6c\xa5\x1c\ +\xd0\xa0\xe7\x2e\xa8\xd3\x3f\xa2\xdd\xd3\xb3\xd7\xdf\x70\x3d\x77\ +\xdc\x71\xc7\x19\x27\x8d\xfe\xf4\xff\xfe\x53\xfe\xea\x2f\xff\x92\ +\x5a\xbd\xc1\xf5\xd7\x5d\xe7\x67\x3d\x0d\x0f\x0f\xb1\x73\xe7\xce\ +\x31\x60\x35\x30\x7d\xda\x00\x70\xf3\xcd\x37\x8b\x47\x1f\x7d\x54\ +\x75\x00\xe2\xb7\xa5\x94\xa6\x6d\xdb\x42\x29\xb5\x21\x14\x0a\xfd\ +\x5e\x2c\x1a\x23\x99\x4a\x92\x4a\xa5\x48\x24\x93\xce\x4c\xde\x6c\ +\x96\x64\x32\x89\x52\x5e\x1a\x96\x1d\x70\x31\xa5\x52\x34\x1b\x0d\ +\x8a\x85\x02\xf9\x7c\x81\x7c\x21\x4f\xbd\x56\x73\x73\xf7\x6c\xff\ +\x84\x4b\x6d\x04\x6b\x1b\x00\x57\xf9\xa7\xdb\xab\xf2\x9d\xa1\xff\ +\x4f\x73\x5e\xbe\x69\x9a\x2c\x58\xb0\x80\xcf\x7f\xfe\xf3\xee\xb8\ +\xf9\x5f\xcd\x2a\x97\xcb\xdc\x78\xe3\x8d\xec\xdd\xbb\x97\xeb\xaf\ +\xbf\x9e\xa3\x47\x8f\xb2\x7f\xff\x7e\x0c\xc3\xb8\xa6\x52\xa9\xfc\ +\xec\xb4\xa8\x80\x77\xba\x3e\xfc\xe1\x0f\xc7\x95\x52\x9b\x6c\xdb\ +\x96\xad\x56\xab\x14\x0e\x87\x7f\x64\x9a\xe6\x8a\x68\x34\x4a\x2c\ +\x16\x23\x16\x8b\xa9\x54\x2a\x25\x16\xf4\x2c\xa0\x3b\x97\x23\x12\ +\x89\x39\xa7\xd5\x75\x91\x64\xc7\x64\x0d\xcb\xb6\x29\x97\x4a\x4c\ +\x4d\x4d\x32\x39\xe5\x48\x09\x69\xcf\x94\x00\x57\x5e\x79\x65\xb0\ +\x09\x64\xc7\xbf\xd3\xcd\xec\x45\xa3\x51\xd6\xad\x5b\xc7\xc7\x3f\ +\xfe\xf1\xf7\x0d\x85\xfc\x89\x4f\x7c\x82\x1f\xfe\xd3\x0f\x09\x99\ +\x21\x36\x6f\xde\x4c\x57\x57\x57\xf2\x47\x3f\xfa\x51\xf5\x3d\xbb\ +\x81\xef\x66\x3d\xfe\xf8\xe3\x35\xe0\x69\x0d\x10\x57\x49\x29\x93\ +\xd5\x6a\x55\x94\x4a\xa5\x50\x38\x1c\xde\x67\x18\x06\x83\x83\x83\ +\x84\x42\x26\xd1\x68\x4c\x75\x77\x77\x8b\xde\xde\x5e\x77\xea\xa7\ +\xd1\x2e\xdc\x50\x0a\x43\x08\xd2\xe9\x34\xa9\x54\x8a\xa5\x4b\x97\ +\xa1\x94\xa2\x5a\xad\x51\x28\x38\x91\xbe\xe9\xe9\x69\x67\xaa\x17\ +\xc1\x6a\x64\xbd\xfd\x8b\x2e\x65\x4e\xc7\x4a\x26\x93\x6c\xde\xbc\ +\x99\x5b\x6e\xb9\xe5\x7d\x15\x43\xf8\xf6\xb7\xbf\xcd\xb2\x65\xcb\ +\xf8\xfa\xd7\xbf\x4e\x2c\x16\x6f\x47\x63\xcf\xa4\x04\x78\x07\xf6\ +\x43\x42\x29\x25\xc6\xc7\xc7\x1b\x0b\x17\x2e\xfc\x1c\xf0\x35\x2f\ +\x21\x53\x08\x41\x32\x99\xa4\xd7\x65\x02\x53\xa9\x8c\x1f\x8a\x56\ +\xb6\x67\x28\xb6\xc9\x26\x4f\x25\x58\x76\x0b\xd3\x30\x67\x39\xf1\ +\x04\xb2\x7c\x4e\xc7\xca\x76\x75\xf1\xa1\x0f\x5d\xcb\xb5\xd7\x5d\ +\x3b\x27\xf7\x67\xd8\x6a\xf1\x0f\xe5\x29\x9e\xaa\x95\x79\xb3\x56\ +\x21\x66\x4b\x96\x0b\x93\x1b\x12\x19\x3e\xdd\xb3\x98\xbe\xc8\xdb\ +\xab\x9a\x3f\xfb\x7f\xfe\x8c\x3f\xfa\xe3\x3f\xe2\xe6\x9b\x6f\x4a\ +\xfe\xeb\xbf\xfe\xb8\xfa\xbe\x02\xc0\xdb\x80\xe3\x20\xb0\xc2\xfb\ +\x7c\x86\x61\xd0\xd5\xd5\xc5\xc2\x85\x0b\xe9\xee\xce\xb5\x33\x5f\ +\x70\x86\x36\xaa\x8e\xe6\x50\x4a\x33\xf4\xa4\x1f\x41\xb4\x4f\x5b\ +\xfb\xb5\x9e\x9e\x1e\x2e\xbf\xfc\xf2\x39\x71\xef\x00\xbe\x57\xca\ +\xf3\xa5\xd2\x04\x0d\xc3\x8d\xe5\xb7\x5a\xd0\xb2\xa0\xd5\x42\xb4\ +\x5a\xc4\x2c\x9b\x3f\x19\x58\xce\xc7\x16\x0d\xbc\xed\xb5\xee\xbb\ +\xef\x3e\xfe\xdb\x9f\xff\x37\xea\xb5\xba\xb7\xd7\x26\xb0\x07\xf8\ +\x34\xf0\xfc\xfb\x0e\x00\x37\xdd\x74\x93\x78\xec\xb1\xc7\xfc\x7d\ +\xba\xfd\xf6\xdb\xa3\xf5\x7a\xbd\xa2\x94\x2a\x2a\xa5\x84\x52\x2a\ +\x11\x89\x44\xa2\xdd\xdd\x39\x16\xf4\xf4\x90\x4e\x65\x9c\x01\x4e\ +\x4a\xfa\xe9\xe6\x5e\xd6\x92\xc4\x7d\x2c\x65\xa0\x27\xf1\x7b\x59\ +\x8b\x17\x2f\x66\xd5\xaa\x55\xfc\xe6\x6f\xfe\xe6\xdc\x6c\xfe\xf4\ +\x24\x5f\x2c\x8c\x41\x24\x04\xe1\xb0\xb3\xf9\x4d\x0b\xac\x16\x34\ +\x5b\xee\xef\x2d\x68\x35\xf9\xda\x79\x17\xf0\xb1\xbe\x25\x6f\x7b\ +\xcd\x8f\x7d\xec\x63\xdc\xff\xa3\xfb\x69\x34\x1b\x02\xf8\x02\x70\ +\x1b\x70\xe3\xfb\x56\x02\xbc\x8d\x71\xf9\x19\xa5\xd4\xef\x4b\x29\ +\xeb\xee\x89\xbf\x30\x91\x48\xfa\x14\x71\x3c\x91\xf0\x0b\x51\x04\ +\xae\xdb\x79\x9a\x48\x9f\xfe\xfe\x7e\xba\xbb\xbb\xf9\xe4\x27\x3f\ +\x39\x37\x62\xbf\xd5\x64\xf3\xf1\xbd\xd4\x43\x26\x84\xc2\x60\x18\ +\x4e\x93\x6d\xab\x05\x96\x2b\x01\x9a\x8e\x34\x50\xae\x24\x78\xfe\ +\xb2\xab\xe9\x8b\xc5\xdf\xf6\xda\x1b\x36\x6c\x60\xcf\x9e\x3d\x28\ +\xa5\x0e\x01\x37\x01\x87\xe7\xd4\x08\x9c\x8b\x75\xeb\xad\xb7\x8a\ +\x9f\xfc\xe4\x27\x7f\x0f\xfc\xbd\xa6\x2e\x7e\xd8\x68\xd4\xb3\x43\ +\x43\x43\xe6\xc9\x93\x27\x53\x86\x61\x6c\x4a\x26\x93\x64\x32\x19\ +\x52\xa9\x14\xa1\x90\x43\x5b\x7b\x3f\xdb\x21\xe3\x5f\x6e\x79\x69\ +\x65\x73\xb1\xbe\x35\x35\x4a\xc3\xb6\x9d\x18\x8f\x5b\x61\xad\x6c\ +\x8b\xe6\x4f\x7f\x06\xb6\x24\x72\xe5\xa5\x2e\x71\xe2\xa8\xb8\x86\ +\x6d\xf1\xad\xc1\x23\xdc\xb7\x7a\xdd\xdb\x5e\x7b\x6c\x6c\x14\xd3\ +\x34\xb0\x2c\xfb\x12\x9c\x32\x33\xce\x4a\x09\xd0\x21\x0d\xc4\xe3\ +\x8f\x3f\xee\xef\xe6\x9d\x77\xde\x19\xae\x56\xab\xdf\x96\x52\x56\ +\xa5\xc3\x34\x7d\x38\x14\x0a\x2d\xf7\xa2\x78\x89\x84\xc3\x4e\x7a\ +\xc5\x21\xa6\x69\xbe\x6b\x4a\xb8\xbf\xbf\x9f\x9e\x9e\x1e\x3e\xf1\ +\x89\x4f\x9c\xf6\xef\x73\xc3\x81\x57\xd9\xdb\x6a\xa2\x42\x26\x18\ +\x26\x4a\x4a\xc6\xae\xb8\x0e\x55\x74\xf8\x1b\x91\x49\xb3\xe8\xc9\ +\x7f\x73\x92\x1b\x5a\x16\xa2\xd5\x62\x6d\x34\xce\x53\x57\x5d\xff\ +\x96\xd7\xdd\x72\xf5\xd5\xbc\xfa\x8b\x5f\x50\xa9\x54\xc4\x59\x61\ +\x04\x9e\x46\x80\x5c\x2b\xa5\xbc\x41\x29\x65\xdb\xb6\xdd\x32\x0c\ +\xe3\x4f\x9d\x6c\x5a\x27\xce\x1f\x8d\x46\x55\x34\x1a\x15\xd1\x68\ +\xd4\x99\x26\xee\x57\x0c\xab\xb7\x05\xc1\x8a\x15\x2b\x4e\xbb\x1d\ +\x70\xfe\x2f\x9e\xa3\x61\x18\x10\x72\x9a\x6f\xd4\xff\xfd\x39\xf2\ +\xff\xdb\xe7\x03\xaf\xc9\xfd\xbf\x7f\x46\xf4\x8a\x4b\x7d\xc3\x30\ +\x2a\x6d\x8e\x7e\xf8\x23\xa7\xd6\xff\x1f\xff\x38\x0f\x6d\xdf\x4e\ +\xb1\x58\x14\x67\x94\x07\xf8\x55\xaf\x5b\x6e\xb9\x45\x3c\xf2\xc8\ +\x23\xcf\x00\xcf\x68\xea\xe2\xb0\x65\x59\xd1\xe9\xe9\x69\xa3\x58\ +\x2c\x2e\x33\x4d\xf3\x8f\xc2\xe1\x30\xd1\x68\xd4\xfb\xa7\x62\xb1\ +\x98\x48\x24\x12\x6e\xf9\xda\xec\x41\xa3\xa1\xa1\x21\xa7\xa3\xe7\ +\xf6\x87\xb8\xfd\xf6\xdb\x4e\xdb\x67\x16\x96\x8d\x30\xdc\x38\x86\ +\x21\xc0\x9a\x25\xe3\xc5\xb6\x11\xb6\xed\x0c\xb4\x50\x12\x61\x9f\ +\x3a\xdb\xe7\x77\x3e\xfb\x59\x1e\x7b\xe4\x91\x53\x6e\xfe\x39\x2f\ +\x01\xde\x06\x20\xa6\x65\x59\x37\x48\x29\x6d\xdb\xb6\x6b\xa6\x69\ +\xfe\x89\x61\x18\x37\x7a\xea\x21\x14\x0a\x11\x8f\xc7\x1d\x0a\x3b\ +\x91\x20\x1c\x0e\x07\x28\x65\x80\xc5\x8b\x16\xb3\x62\xe5\x72\xee\ +\xba\xeb\xa3\xa7\x47\x05\xbc\xba\x8b\xbd\xf5\xaa\x63\xfc\xb9\x2e\ +\xe0\xe8\xd6\x3b\x51\xd3\x8e\xca\x16\xe9\x34\x0b\x1f\xfc\x21\x86\ +\x52\x28\xdb\x46\x58\x2d\x2e\x8c\xa5\x78\xf2\xda\x9b\x66\x5c\xeb\ +\x53\x9f\xfc\x24\x0f\xff\xe4\x11\x46\x47\x47\xde\x72\x8f\x7f\x6d\ +\x01\x30\x0b\xf7\xd0\xa3\x94\xea\x55\x4a\x89\x56\xab\x55\x8d\x44\ +\x22\x47\x3c\xe3\xd1\x4d\x2f\x57\xc9\x64\x52\x78\x99\xce\x8e\xeb\ +\xe9\xd4\xe1\x2d\x58\xb0\x80\xcf\x7c\xe6\x33\xef\xf9\x33\xfc\x5f\ +\x87\xf7\xf3\x37\xc3\xc7\x50\xc2\x00\xc3\x31\x04\xa5\x65\xd1\xdc\ +\xf5\x73\x50\x8a\xe8\x65\x97\x38\xd9\x40\xb6\x05\xb6\x0d\x2d\x9b\ +\xff\xbc\x72\x0d\x5f\xba\x70\x43\xd0\x58\xde\xb6\x8d\x3d\xaf\xbd\ +\xc6\x89\x93\x27\xdf\x76\x7f\xe7\x01\x70\x6a\x40\x64\x95\x52\xa6\ +\x65\x59\x46\x28\x14\x5a\x21\x84\xd8\xe9\x31\x95\x86\x61\x10\x8b\ +\xc5\x54\x3a\x9d\x16\x99\x4c\x86\x81\x81\x7e\x42\xa1\x30\x9f\xfd\ +\xec\x67\xdf\xa2\x6d\xdd\x3b\x70\x03\x1b\x35\xb6\xec\x7a\x86\x1a\ +\xe0\x77\xd4\x72\xe7\x09\x28\x25\xc1\x56\xce\x98\x32\x77\x1a\x7a\ +\x5c\x18\x3c\x77\xfd\xad\xf4\xb9\xef\x59\x28\x14\xb8\xfe\xfa\xeb\ +\x29\x14\x8a\x1c\x3d\x7a\xe4\x1d\xed\xed\x3c\x00\xde\x39\x20\x0c\ +\xc0\x78\xe2\x89\x27\xac\xad\x5b\xb7\x7e\x0d\xf8\x3d\x2f\xfb\xc6\ +\x30\x0c\x3e\xf4\xa1\x0f\x21\x6d\xc9\x05\x17\xac\xe1\x3f\xfc\xd6\ +\x6f\xfd\xf2\x44\xd0\x89\x63\xdc\xbd\xf7\x35\xb7\xd3\x25\xda\x40\ +\x2b\xe9\x58\xff\xb6\x8d\x90\x4e\xfa\xf7\x7f\xdd\x70\x29\x1f\x5b\ +\xb6\x02\x80\x2f\x7c\xe1\x0b\x3c\xfc\xf0\xc3\xd8\xb6\xcd\xc1\x83\ +\x07\xdf\xf1\xbe\xce\x03\xe0\xf4\x80\xe3\x28\x30\x70\xed\x75\xd7\ +\x85\xa4\x5b\x8b\x78\xdd\x75\xd7\x71\xf5\xd5\x57\xff\x72\x20\x18\ +\x3c\xc2\x97\xdf\x7c\x8d\x9a\x5b\x86\xa7\x94\x42\xb8\xb9\x0d\x02\ +\x88\x19\x26\x7f\x72\xd1\xc5\x7c\x6c\xd9\x0a\xbe\xfb\xdd\xef\xf2\ +\x8d\x6f\x7c\x83\x4a\xb5\x8a\xb4\x2c\xde\xdc\xbb\xf7\x5d\xed\xe9\ +\x3c\x00\x4e\x33\x17\xb1\x6d\xdb\xb6\xd0\xe5\x97\x5f\xd1\x72\x72\ +\x01\x43\x5c\x7a\xe9\xa5\xdc\x7e\xfb\xed\xef\x5e\x1d\xd4\x6a\x7c\ +\xeb\xe8\x01\x9e\x1c\x1b\xe1\xcd\x52\x91\x98\x61\xb0\x3c\x99\xe6\ +\xc6\x85\x8b\xf9\xd4\xf9\xab\xf9\xa7\x6f\x7e\x93\x07\xfe\xe5\x01\ +\x2a\xa5\x32\x96\xb4\x79\xf5\x17\xaf\xfe\x52\x7b\x39\x0f\x80\x39\ +\x5c\xf7\xdd\x77\x9f\xf2\x5a\xd0\xe5\xba\xbb\xd9\xb2\x65\xcb\x2f\ +\x2d\x15\xc0\x69\x1f\x77\xff\xfd\xf7\x73\xec\xe8\x51\x2c\xdb\xc2\ +\xb6\x25\xbb\x76\xed\x7a\x4f\x7b\x38\x0f\x80\x33\xb0\xee\xbd\xf7\ +\x5e\xe5\xa5\x85\xdb\xd2\x69\xac\x95\xcb\xe5\x18\x18\x18\x60\xf9\ +\xf2\xf3\x39\xef\xbc\xf3\x59\xb8\x70\x21\x89\x44\x82\x6a\xb5\xca\ +\xc8\xc8\x08\x07\x0e\x1e\x64\xdf\xde\xbd\x1c\x38\x70\x80\x91\xe1\ +\x11\x3f\xbb\xda\xa9\x19\xb0\x79\xf6\xd9\x67\x4f\xcb\xde\xcd\x03\ +\xe0\x0c\xaf\xcf\x7d\xfe\x73\x4a\xda\x4e\x51\x88\xb4\x6d\xbf\xf8\ +\xc3\x2b\x06\xb1\xdd\x93\xdd\x2e\x43\x73\x81\x63\x4b\x1e\x79\xe4\ +\x91\xf9\xfd\x9a\x5f\xf3\xeb\xd7\xc1\xab\x08\xcd\xdf\x85\xf9\x35\ +\xbf\xe6\xd7\xdc\xaf\xff\x1f\x80\x04\x7a\xb0\xf1\xda\x3e\x93\x00\ +\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ +\x00\x00\x17\x83\ +\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\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\xdb\x09\x02\ +\x0c\x06\x0c\x45\xc2\xfe\x7f\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\x16\xde\ +\x49\x44\x41\x54\x78\xda\xed\x5d\x5d\x6c\x5d\xd5\x95\xfe\xd6\xb9\ +\xf7\xfa\x2f\x71\x70\x1d\xff\x74\x4a\xe2\x49\x9c\x26\x40\x02\xc4\ +\x49\x4d\x1c\xe3\xc4\x49\x48\xd2\x24\xa8\xc4\x76\x30\x8a\x31\x8e\ +\x9d\x21\x29\x43\x1d\xc2\x9f\xd4\x32\x40\xa1\x9d\x91\x8a\x2a\x0d\ +\x30\x52\x2b\xf0\x54\xa4\x14\x1e\xa0\x45\x43\x63\x5b\x33\x0f\xe4\ +\x61\x2a\x21\xe5\x69\x2a\x8d\x34\xaf\x23\x34\x0f\x23\xa1\x99\x4a\ +\x10\x53\x75\x04\x52\x8b\xf6\x9a\x87\xb3\x7f\xd6\xda\xe7\x86\xda\ +\xc4\x76\x6c\xdf\xb3\x23\xcb\xb9\xbe\xe7\x9c\x7b\xee\xd9\x6b\xaf\ +\x9f\x6f\x7d\x6b\x6d\x20\x1f\xf9\xc8\x47\x3e\xf2\x91\x8f\x7c\xe4\ +\x23\x1f\xf9\xc8\x47\x3e\xf2\x91\x8f\x7c\xe4\x23\x1f\xf9\xc8\x47\ +\x3e\xfc\x98\x9e\x9e\xe6\xe9\xe9\x69\xce\x9f\xc4\xca\x1a\x49\xfe\ +\x08\x2a\x7b\xd0\x6c\x57\xbf\x7c\xdd\xd7\xd7\x47\xf9\xa3\xab\x30\ +\x0d\xd0\xd7\xd7\x8f\xbe\xbe\xbe\xfc\x89\x55\x9a\x00\xb8\xd5\x4f\ +\x04\x10\x51\x59\x8d\x90\x8f\x15\xae\x01\x06\x06\x06\x40\x44\x20\ +\x22\x0c\x0c\x0c\xe4\x4f\xad\x52\x04\x60\x6a\x6a\x8a\x99\xd9\x4f\ +\xbe\xfb\x01\x18\xd3\xd3\x53\xb9\x16\x58\xe9\x02\xc0\xcc\x60\x66\ +\xbc\xfb\xee\xbb\x7e\xf2\xdf\xfd\xf5\xaf\xc1\x86\xc1\x26\x7f\x78\ +\x15\x33\x2e\x4e\x5e\xe4\x52\xa9\xc4\xa5\x52\x89\x27\x2f\x5e\xcc\ +\x57\xfe\x0a\x1a\xc5\x59\x1d\xc5\xc1\x01\xcc\x67\xbf\x02\x05\x80\ +\x8d\xf1\xb6\x9f\x39\x17\x81\x8a\x8b\x02\x18\x00\x81\x00\x50\xae\ +\x01\x2a\xd3\x04\x30\x28\xa1\x54\x08\x72\x0d\x50\x79\x02\x60\xac\ +\x0e\x00\x01\x26\x17\x80\x4a\xf4\x01\x2c\x12\x98\x6b\x80\x0a\x35\ +\x01\x60\x24\x09\x01\x9c\xcf\x7f\x65\x6a\x00\x66\x80\x12\x10\x31\ +\x38\x47\x80\x2a\x31\x0a\x60\x24\x94\x1e\x9e\x2b\x80\x0a\xf5\x01\ +\x52\x0d\x00\xb0\xc9\x45\xa0\xe2\x34\x00\x60\x90\xc0\xb1\x47\x72\ +\x01\xa8\x40\x1f\x00\x36\x19\x84\xdc\x0b\xac\x5c\x27\x90\x04\x26\ +\x90\x8f\x8a\x13\x80\xc4\x25\x83\x72\x1f\xa0\x02\x05\x00\xa9\x13\ +\x98\x02\x01\xf9\x43\xab\x38\x01\x00\xb3\xb5\x00\x04\xce\x25\xa0\ +\x32\x4d\x80\xe7\x03\xe4\xf3\x5f\xd9\x02\x90\x73\xc1\x2a\xd5\x09\ +\x04\x81\x29\x77\x01\x2a\xd3\x07\x00\x80\x24\xa5\x84\xe4\x8c\xa0\ +\x8a\xd4\x00\x96\x12\xc6\xb9\x00\x54\xa8\x00\x58\x2e\x40\x92\x0b\ +\x40\xe5\x86\x81\x89\x0d\x03\x73\x01\xa8\x3c\x01\x30\x60\x50\x2a\ +\x01\xb9\x00\xac\xb0\x31\x3b\x3e\x80\x49\x73\x01\x94\xb3\x82\x2b\ +\x53\x00\x52\xe5\x6f\x8b\x43\x72\x0d\x50\x81\x26\x80\x0d\x12\x4a\ +\xd9\x40\x4b\xdc\x04\x14\x01\xb4\x03\x58\x6f\x85\xfb\x73\x00\xff\ +\x05\xe0\xbf\x91\x43\x18\xd7\xe2\x04\xba\xfe\x00\x58\x8a\x1a\x60\ +\x13\x80\x07\x00\x1c\x6b\x68\x68\xd8\xb9\x6d\xdb\xb6\xaa\x52\xa9\ +\x94\x86\xac\xc4\xf8\xdd\xff\xfe\x0e\x1f\x7c\xf0\xc1\xa7\x9f\x7f\ +\xfe\xf9\xbf\x01\xf8\x17\x00\x6f\x03\xf8\x9f\x7c\xea\xe7\x1c\x05\ +\x24\x00\xf3\x52\xaa\x0b\xd8\x00\xe0\xc7\xcd\xcd\xcd\x83\x83\x83\ +\x83\x85\xfb\x87\x86\x70\xdb\xf6\xdb\x03\x75\xdd\xfe\x62\x00\xff\ +\xf7\x87\x3f\xd4\xfd\xe6\x5f\x7f\xb3\xff\xbd\x4b\xef\xed\xbf\x74\ +\xe9\xd2\x8f\x67\x66\x66\xde\x01\xf0\x77\x00\xfe\x33\x17\x81\x59\ +\x8c\x57\x5f\x7d\x95\x37\x6e\x6c\xe7\x8d\xed\x1b\xf9\xd5\x89\x89\ +\xa5\x20\x01\x8f\x34\x36\x36\x7e\xfa\xd3\x9f\xfc\x84\x3f\xfa\xe8\ +\x23\xfe\xfd\x27\xbf\xe7\x4f\x3e\xf9\xc4\xff\xcc\xcc\xcc\xf0\xcc\ +\xcc\x0c\x5f\x99\x99\xe1\x2b\x57\xae\xa4\x3f\x1f\x5f\xe1\x2b\x1f\ +\x7f\xcc\x1f\x7e\xf8\x21\xbf\xf4\xd2\x4b\xdc\xd4\xd4\xf4\x27\x00\ +\x7f\x0b\xa0\x94\x3b\x81\x7f\xd6\x02\xd8\xd2\xb0\xeb\xef\x04\xd6\ +\x00\xf8\xe5\xf6\xed\xdb\x7f\x7a\xf9\xf2\xe5\xda\xd1\xb1\x51\x94\ +\x8a\xc5\x34\x45\xcd\x69\xa2\xda\xa5\xab\x99\xd9\xab\x00\xb6\xff\ +\x0c\x80\xea\x9a\x6a\x8c\x8d\x8d\xe1\xf2\xe5\xcb\xc5\x7b\xee\xb9\ +\xe7\x79\x00\xbf\xb5\x7e\x43\x2e\x00\x5f\xe4\x03\x24\x00\x12\x24\ +\xd7\x93\x0f\x50\x02\x70\x71\x68\xe8\xfe\xa1\x4b\x97\x2e\xf1\x8d\ +\x37\x7e\x0d\x2c\xc2\x52\xb6\xa6\x8a\x8d\xf6\xf6\x98\xfc\x9b\xc1\ +\x26\x00\x58\xbb\xb6\x09\xaf\xbf\xfe\x3a\x5e\x7b\xed\xb5\xed\x6b\ +\xd7\xae\xfd\x2d\x80\x03\xb9\x00\x5c\xd5\x05\x60\x4f\x0a\xbd\x4e\ +\x94\xb0\x04\xc0\xdb\xa7\x4f\x9f\x3e\xf6\xb3\x9f\xfd\x23\x6a\x6b\ +\x6b\x89\x99\x00\x36\xbe\x8b\x89\x9d\xff\x94\xb2\xc2\x76\xcd\x33\ +\x82\x16\x60\x52\x1a\xc1\x49\x42\x5f\x7f\x1f\xde\x7f\xff\xfd\xc6\ +\x9d\x3b\x77\xbe\x07\xe0\x58\x2e\x00\x57\x73\x02\x43\x18\x70\x3d\ +\xee\xf3\xfb\x7b\xf7\xee\x1d\x7c\xf9\xa5\x97\xd3\x55\xce\x4e\xd9\ +\x93\x6f\x74\xe8\x84\xc0\x38\x49\xf0\x4b\xdf\x1b\x05\xa5\x29\x7c\ +\xaf\x03\x06\x5a\x5a\x9a\xf1\xd6\x5b\x6f\x55\xdd\x72\xcb\x2d\x93\ +\x00\xbe\x99\x0b\x40\x39\x1f\xc0\xf6\x08\xba\x0e\x2e\x40\x6f\x73\ +\x73\xf3\xf3\x17\x2e\x5c\x40\x52\x28\xf8\x29\x75\x36\x9e\x55\x64\ +\x6a\xc2\x0b\x36\x56\x58\xa0\xb4\x04\x84\xb6\x70\x82\xc3\x0c\x34\ +\x36\x36\xe2\x9d\x77\x7e\x55\xdd\xde\xde\x3e\x09\xa0\x2b\x17\x00\ +\xad\x00\x00\x22\x24\xb4\xe8\xc9\xa0\xda\x24\x49\x7e\x71\xe1\xc2\ +\x6b\x85\xd6\xaf\xb6\xba\xa9\x57\x37\xc6\xd6\xbe\x73\x54\xb8\xea\ +\x94\xbc\x7b\xdf\x2b\x06\xc8\x73\xd8\x1f\xcc\x60\xb4\xb4\xb4\xe2\ +\x8d\x5f\xbc\x51\x57\x5b\x5b\x3b\x6d\xc1\xa4\x5c\x00\xa4\x0f\x00\ +\x5a\x74\x52\xe8\xf7\x47\x47\xc7\xda\xf7\xed\x3b\x10\x2c\x0f\x93\ +\xd3\xf3\x5e\xa9\x3b\x93\x00\xe1\xeb\x85\x23\x58\x88\x4d\x78\x2d\ +\x0e\x0f\xaf\x99\xb1\xf9\xa6\x2d\x78\xe1\x85\x17\x5a\x01\xfc\x12\ +\x73\x21\xcc\x54\x82\x00\x24\x44\xc0\xe2\x39\x81\x6d\xab\x57\xaf\ +\x7e\xe2\xd9\x67\x9f\x41\x9a\x8f\x74\x2b\xd7\xf8\x15\xef\x66\x9b\ +\x84\xa6\xf2\x21\x21\x4b\x0a\x3b\x09\x73\x41\x81\xdd\x1e\xa9\x8d\ +\xf4\xf2\x06\x43\x27\x4f\xe2\xc8\x91\x23\x3d\x16\x2c\xca\x05\xc0\ +\x15\x86\x10\x2d\x6a\x36\xf0\xe9\x87\x1f\xfe\x4e\x6d\x73\x53\xb3\ +\x8f\xe2\x1c\x21\x35\xf8\x01\xf0\xf9\x09\xa5\xea\x49\x6a\x03\xa9\ +\x12\x38\x9c\x2d\xe5\x23\x12\x18\x06\xf0\xe2\x8b\x2f\xa2\xb5\xb5\ +\xf5\x29\x00\x77\xe5\x51\x00\x87\x64\xc0\x22\xf9\x00\xed\x4d\x4d\ +\x4d\x67\x1e\x7f\xfc\x31\xa5\x9e\x63\x9b\x1e\x56\x3d\xc5\xba\x5f\ +\x4c\xb6\x10\x12\xe1\x1b\x04\xbf\x81\x03\x4c\x80\xf0\x19\x8d\x8d\ +\x8d\x98\x98\x98\x48\x0a\x85\xc2\x9b\x00\xea\x2b\x5a\x00\x0c\x10\ +\x34\xc0\xe2\x08\xc0\x53\xe7\x1e\x39\x57\x5a\xb5\x6a\x95\x56\xcf\ +\x7a\x11\xa7\x49\x2a\xf7\x1f\x66\xe1\xd5\x8b\xc9\xf6\x88\xa0\xfc\ +\x91\xf1\x8d\xfd\x4d\x2c\x22\x9e\xf4\xff\xbb\xba\x76\x61\x7c\x7c\ +\x7c\x1d\x52\xc8\xb8\x82\x35\x80\xb1\x8d\xe2\x16\x47\x00\xd6\xae\ +\x5d\xbb\x76\xf4\xcc\x83\x67\xc4\xa4\x87\x55\x0a\xe5\xd2\x85\x15\ +\xcb\xd0\x00\x4f\x10\x1a\x5b\xd0\xe2\xcd\x57\x10\x18\x96\xe8\xa0\ +\x61\x2f\x5c\x12\x40\x7a\xfc\x89\x27\x70\xd3\x4d\x37\x3d\x06\xa0\ +\xa3\xa2\x71\x80\x64\xf1\xda\xc4\x8d\x3c\xf8\xe0\x83\x35\xab\x57\ +\xd7\x0b\x1b\x8e\x30\x61\xb6\x63\x99\x5a\xd9\xc8\x4e\x5e\x98\x44\ +\xa3\xf3\x02\x52\x09\x30\x09\x41\x92\x20\x57\xf8\xa4\xaa\x52\x15\ +\x9e\x7b\xee\xb9\x04\xc0\x3f\x54\xbc\x0f\x40\x09\x2d\x78\x3a\x98\ +\x88\x4e\x8f\x8c\x8c\x58\x35\xcc\x5a\x51\xfb\x09\xe4\xc8\xdc\x73\ +\xa4\xce\x29\xc2\xff\xe0\xe1\x61\x28\xe4\xd0\x41\xc6\xa4\x42\xc4\ +\x14\x43\x0a\xc2\xb0\xaf\x77\x1f\x0e\x1d\x3a\xb4\x1f\xc0\x89\xca\ +\xd5\x00\x20\xd7\x22\x60\x21\xc7\x8e\x5d\xbb\x76\x75\xac\x6f\x6b\ +\x83\x61\x69\xc3\xdd\xc2\x67\x88\x90\x20\x84\x72\x14\x3c\x79\x66\ +\x8d\x02\x3a\xc9\x21\xe5\x43\xb0\xbc\x8c\xd2\x22\x0e\x45\x26\x11\ +\x1d\x30\x18\xcf\x3e\xfb\x0c\x4a\xa5\xd2\xdf\x23\xcd\x48\x56\x20\ +\x12\x98\x60\x31\x7c\x80\xd3\x83\x83\x83\x80\x31\xa9\x73\xc7\x52\ +\x25\x73\x6a\xa7\x49\x4c\x2c\x84\x07\x4f\x52\x60\x9d\x6a\x37\xde\ +\x7f\x30\x1c\xfb\x10\x01\x10\x92\xc0\x10\xc5\x02\xe2\xc2\x92\xf6\ +\x4d\xe8\xef\xef\x6f\x07\x30\x5e\xa1\x40\x50\x02\xa2\x05\x4d\x07\ +\x27\x85\x42\xe1\xbe\xe3\x7d\xc7\x6d\xb8\x19\x50\x3e\xa9\xe0\xc1\ +\x31\x0e\xc0\x32\xe2\x13\x12\xab\xc0\x41\x80\x42\x86\x30\x02\x0e\ +\xbd\x9f\xcb\x52\x38\x58\x1e\x9f\x1e\x75\xfe\xd1\xf3\x28\x14\x0a\ +\x4f\x01\x58\x5d\x79\x02\x00\x2c\x74\x3a\x78\xcf\xce\x1d\x3b\xff\ +\xa2\xa9\xa9\xc9\xab\x72\xe9\x01\x90\x8c\xe1\x95\x7a\xa7\xe0\xb4\ +\x79\x33\xa0\x53\xc4\x6a\xa6\x15\x83\x40\xc6\x93\xc2\xd9\x54\x79\ +\xa3\xf0\xa2\x6d\x7d\x1b\x06\x06\x06\x5a\x00\x9c\xab\x38\x13\x40\ +\x49\x02\x42\xb2\x90\x41\xc0\xf1\x23\x47\x8f\x04\x4f\x9e\x38\xf2\ +\xea\x35\x20\x14\xea\x14\xd9\xce\x1f\x5f\xe5\xc6\xc3\xb9\x41\xb0\ +\xd8\x05\x08\x41\x23\x18\x11\x0d\xb0\x13\x7a\x0e\x1a\xc7\x9a\x98\ +\xf3\xe7\x1f\x41\xa1\x50\x78\x02\x40\x6d\x05\x39\x81\x69\x71\x28\ +\x25\x0b\x1a\x06\x1e\x3f\x7c\xf8\xb0\xc0\xf8\x21\x56\x71\x98\x38\ +\x78\x1e\x50\x44\xf7\x52\x19\x3e\x61\x3a\x0c\x94\xbd\x27\x81\x27\ +\x80\x38\x72\x28\x53\xd8\x2b\x05\x85\xd2\x48\x82\x89\x45\x5a\x19\ +\x68\x6b\xfb\x4b\x1c\x39\x72\xa4\x15\xc0\x43\x95\xe5\x04\x92\x53\ +\xc3\x0b\x22\x00\x37\xaf\x5b\xb7\x6e\xf3\xb6\x5b\x6f\x0d\x1e\xb9\ +\x0a\xe3\x42\x02\x27\xb6\xe1\x6e\xe5\x92\xca\x0d\x90\x56\xf3\x2c\ +\xb4\x01\x22\x8f\x5f\x40\xc7\x2a\x59\xc4\x06\x60\x8a\x4c\x48\x7a\ +\xc2\xf8\xf8\x38\x00\x7c\x6f\x25\x44\x04\xb3\xc6\x01\x12\x10\x90\ +\x2c\x18\x21\xe4\x9e\xa3\x47\x8f\x0a\xe7\x2d\xcd\x3a\x72\x99\xd5\ +\x2a\x0f\x61\xe9\xc9\xb3\x9f\x63\xb8\xec\x61\x00\xfd\x58\xe3\x05\ +\x32\x5d\xec\x9c\x3d\x0a\x9a\xc2\xc1\x42\x86\xb5\x43\xe8\xde\xdf\ +\xba\x75\x2b\x0e\x1f\x3e\xfc\x35\x00\x23\x15\xe3\x04\xa6\x84\x90\ +\x64\xa1\x4c\xc0\x91\x54\x00\x54\xc6\x1e\x12\xde\xf3\x8b\xd8\xaa\ +\x64\x2f\x20\x52\x48\xc0\x2a\x2a\x48\x6d\xb7\xbc\x5f\x12\x5a\x42\ +\xfa\x11\x94\xfa\x10\x26\x58\x05\x16\x21\x87\x37\x08\x4c\xde\x14\ +\x9d\x3f\x7f\x1e\x44\xf4\x5d\x2c\xf3\xfd\x97\xe7\x46\x0b\x5f\x98\ +\xf2\xf0\x55\xab\x56\xad\xda\xb3\x7b\xf7\xee\x0c\x96\xaf\xc8\x1c\ +\xd6\xd1\xb3\x73\x2f\xf2\xfe\x32\xb2\x17\x7e\x43\xe4\xf4\xeb\xe8\ +\x40\xd8\x7d\x8b\x6d\xc8\x50\x11\x1c\xed\x8d\xc4\x82\x8b\x60\x9d\ +\xd3\xad\x5b\xb7\xa2\xab\xab\x6b\x0b\x96\x39\x91\x74\xd6\xd5\xc1\ +\x09\x6c\xb3\xe8\xf9\x17\x80\x9e\x9e\x9e\x9e\xea\xea\xea\x6a\x61\ +\xae\x35\x8a\xa7\xf3\xf7\x3a\x88\x57\xc4\xf0\xcc\xa4\xb1\x40\xf3\ +\xdc\xdb\xa4\x79\x02\x2c\x12\x4b\x0a\x1b\xd0\x18\x00\x20\x98\xc5\ +\xf6\x88\xb1\xb1\x31\x00\x78\x6c\xe5\xfb\x00\xb0\x7d\x22\x93\x05\ +\x01\x82\x0e\xf5\xf4\xf4\x08\x4f\x3d\xac\x50\x63\xe3\x2f\x16\xde\ +\x9f\xca\x01\x20\x4a\xfe\x40\x46\x02\xf0\x31\x83\x9d\x76\xfb\x19\ +\x26\xab\xdf\x7c\x48\x28\xf1\x03\x51\x0c\x2f\x73\xd0\x1c\x44\xee\ +\xe0\xc1\x43\xd8\xb0\x61\xc3\x21\x00\xb7\xad\x7c\x1f\x00\x94\x1e\ +\x3c\xff\x1a\xe0\x60\x4f\x4f\x8f\x02\x5f\x98\x11\x65\x00\x23\x08\ +\x47\x0a\x04\x62\x66\x0f\x22\x26\x10\x2b\x8e\x00\x31\x45\xef\xc1\ +\xe6\x0a\x34\x6b\x50\xc6\x3b\xbe\xa4\x40\xc0\xc6\x6c\x17\xc5\xf0\ +\xf0\x30\x2d\x67\x2d\x30\x47\x52\x68\x32\xdf\xcd\xa2\x1b\x57\xaf\ +\x5e\xdd\xb1\x75\xeb\x56\x81\xba\xe9\x30\x50\x26\x64\x04\x32\x94\ +\x41\x05\x25\x09\x04\xc4\x91\xed\xb6\x5a\x8c\x39\xf2\x17\xa4\xa7\ +\x91\x05\x08\x19\x31\xb7\x90\x95\x00\x32\x03\x27\x4e\x9c\x40\x6d\ +\x6d\xed\x03\x00\x5a\x56\xb0\x13\x08\x4b\x0a\x05\x30\xbf\x7d\x22\ +\x7b\x77\xed\xba\x23\x29\x14\x8b\x61\xf5\x97\x01\x6b\x83\x13\x47\ +\x02\xd0\xb1\x82\x40\x9a\xfa\xa5\x1c\x43\xd2\x24\x51\x16\xa1\x9f\ +\xd6\x6e\x10\xf6\x9e\xa3\x48\x41\xa0\x88\x2a\xff\x90\x1e\xbb\x66\ +\xcd\x1a\x1c\x3f\x7e\xbc\x06\xc0\xd9\x15\xec\x04\x9a\x94\x11\x4c\ +\xf3\x0e\x04\xf5\xde\x79\x67\x8f\x52\xe7\x92\xb8\xa1\x58\x3b\x7e\ +\x72\x49\x70\xfc\x04\x1a\x28\x96\xb4\x87\x7e\x8d\x80\x8e\x11\x25\ +\x81\x54\x85\x91\x46\x16\x35\x6b\x08\xd6\x6f\x08\xa8\x11\x21\xa4\ +\xa0\x01\x60\x74\x74\x14\x00\xfe\x1a\x40\x61\x85\x02\x41\x69\xb8\ +\x44\x94\xcc\x77\x14\xb0\xb7\xbb\xbb\xdb\xe9\x67\x3d\x81\x91\xed\ +\x0f\x31\xbd\x75\xe4\x62\x55\x81\x4c\xd6\x47\x75\x34\x52\x24\x32\ +\x8e\xbe\x1b\xc7\x70\x02\x67\xb2\x48\x2a\x3b\xe9\x9d\xc6\xd4\x9f\ +\xd8\xb4\xe9\xeb\xe8\xec\xec\x6c\x03\xf0\xad\x15\x8b\x03\x24\xf3\ +\x5f\x1a\x56\x5f\x57\x57\xd7\x71\xfb\xf6\xed\xe9\x43\x35\xb8\x2a\ +\xb1\x37\xb6\xcf\x14\xb2\x01\xaa\xc4\x4b\x26\x8d\x2c\xae\x13\xbd\ +\x87\x8c\xc6\x90\x21\x5f\xb4\xfe\xe1\x41\x66\xd6\x61\x62\xe0\x21\ +\x87\xba\x84\xe1\xe1\x61\x60\x19\x66\x09\xe7\xa6\x01\x80\xf9\xdc\ +\x36\xee\xce\xce\x6f\x74\x16\x4b\xc5\x12\x02\xdc\x1f\x00\x7a\x12\ +\x5a\x80\xe2\x5a\x7f\xc5\xe3\xb7\xab\xda\xd2\xc0\x42\xd2\xc8\x04\ +\x55\x0f\x4d\x01\x03\x6b\x2f\x1f\x62\xf2\x33\xb8\x80\xe7\x14\x0a\ +\x3b\xc2\x82\x80\x66\xb1\x91\x43\x87\x0e\xa1\xa5\xa5\xe5\x10\x80\ +\x2d\x2b\x4e\x00\x0c\x0c\x08\x04\x4a\xe6\x75\xdb\xb8\xde\xdd\xdd\ +\xbb\x21\x73\xf9\x31\x14\x2c\x6d\x7d\x1c\x82\x21\x56\xe9\x36\x79\ +\x13\x30\x21\x2a\x43\x06\xd0\xe7\xb3\x54\xe9\xd0\xfe\x42\x10\x0a\ +\x8a\x74\x61\xc4\x40\xb6\x6c\xa4\x52\xa9\x84\x13\xf7\x9e\x20\x00\ +\xdf\x59\x81\x61\x60\x5a\x17\x90\xcc\x2f\x12\xb8\x77\x77\x57\x57\ +\x84\xc6\x89\x87\xcc\x3a\xae\xf7\xf6\x97\x64\x6e\x40\x0a\x8d\x5c\ +\x95\xd2\x9b\x17\x9a\x42\x86\x7d\x32\x5f\x20\x01\x28\x85\x20\x52\ +\xe4\x80\x42\x39\x99\x82\xb8\x08\x06\xe3\xfe\x93\x43\x28\x16\x8b\ +\xa7\x01\xd4\xad\x30\x13\x10\x70\x80\x79\x72\x02\x6a\xaa\xab\xab\ +\x77\xed\xfc\x46\x67\x86\x88\xcd\xb2\xd8\xc3\xe3\xf3\xc1\x0c\x79\ +\xb2\x86\x10\x1a\x92\xf1\xa3\x50\xd1\xa4\x58\x3e\x62\xd3\x3b\xc1\ +\x02\xd6\x45\x22\xa4\xc2\xd1\x90\x5c\xe2\xa8\x2c\x3d\xce\x56\xa4\ +\x97\x6a\x6e\x69\xc1\xfe\xfd\xfb\x1b\x00\x0c\xaf\x3c\x20\x28\x99\ +\xd7\x6d\xe3\xba\x6e\xbf\xfd\xf6\xea\xea\xea\xaa\xe8\xa1\xea\xee\ +\x5e\x1c\x4c\xb9\x5d\xa5\xc6\x7f\xbc\x11\xf8\x3f\x97\xd3\x1e\x19\ +\x27\x32\x0b\x35\x3a\x3a\x78\xf8\x3c\xa3\x15\x3c\x0b\xb6\x29\x73\ +\x8a\x22\x4a\xfa\x59\x04\x51\x32\x03\x83\x83\x83\xc0\x32\x22\x8e\ +\xce\x81\x13\x98\x86\x81\xf3\x44\x09\xdc\xd7\xd5\xd5\x15\x3d\x3c\ +\xce\x16\x75\xc0\xb1\x80\x65\xfd\xbf\x3e\x4e\x96\x7f\x69\x58\x58\ +\xd7\x02\xc4\x71\x3f\x4b\xde\x80\xa7\x95\xc5\xbc\x02\x2d\x64\x06\ +\xd6\xcf\x20\x8e\xf2\x0e\xe1\x77\x4f\x4f\x0f\xd6\xad\x5b\xb7\x03\ +\xc0\x1d\x2b\x0a\x09\x74\x1b\x46\xcc\x53\x8b\x98\x03\xdd\xdd\xdd\ +\x19\xe2\xa6\x22\x80\xc8\xaa\x20\x01\xef\xc6\xb9\x01\x8a\x71\x43\ +\x36\x9e\x0e\x5e\x36\xd8\x8f\xbf\x98\xa4\x9d\xa9\xb7\x4c\xe4\x20\ +\x0a\xd3\x61\x74\x45\xb2\xbc\x4f\x22\xc2\xc9\x93\x27\x81\x65\x42\ +\x19\x9b\xbd\x0f\x80\x94\x10\x32\x0f\x4e\x60\x4d\x92\x24\xbb\x3b\ +\x3b\x3b\x15\xcf\xcf\x39\x62\x7e\x4d\x52\x54\x0d\x6c\xa4\x40\x18\ +\xaf\x05\x4c\xdc\x21\x44\xed\x6b\xa3\xbd\xfc\xb8\x3b\x48\x0a\x14\ +\x46\x1c\x07\xe5\x30\x92\xd2\x00\xd9\x4a\x25\x8e\x5b\x10\x00\x00\ +\x06\x06\x06\x50\x55\x55\x35\x04\x60\xcd\x0a\xf2\x01\xdc\x97\xbc\ +\x66\x01\xe8\xbe\xf9\xe6\x9b\x6b\x56\xd7\x5b\x6a\xbd\x2d\xca\x8c\ +\x55\xae\xc4\x02\x98\x03\xf8\x82\xa8\x8e\x8f\x14\x29\x84\x45\x38\ +\xc7\xfa\x0c\xe1\xad\xc7\x3c\x3f\xe9\xe0\x99\x08\x62\x0c\x21\xa9\ +\x51\x28\x65\x86\xaf\x20\x52\x4a\x37\x34\xdc\x80\x83\x07\x0f\xae\ +\x06\x30\xba\xe2\x7c\x80\x79\x70\x02\x0f\x74\xef\xee\x0e\x2b\x59\ +\xda\x52\xd9\xa4\x81\x35\x45\x3b\x44\x5d\x94\x61\x02\xa9\x58\x50\ +\x32\x7c\x39\x4e\x14\x21\xe2\xfe\x47\x15\xc2\x88\x38\x83\xac\x2b\ +\x86\x82\x9f\x42\xc2\x4c\xa1\x6c\x1e\x62\x68\xe8\x7e\x00\x78\x14\ +\x4b\x9c\x32\x36\x87\x6c\x60\x02\x4a\xe6\xa5\x43\xc8\xc1\xbb\x0e\ +\xde\x95\x01\x5d\x3c\xd9\x5b\xb2\x70\x22\xbb\x4c\xf0\x7c\x30\xcf\ +\xd9\xd7\xc8\x4e\xd4\x16\x2e\xaa\x2b\x88\xf9\xc6\x8c\x58\xf3\x20\ +\x53\x31\xa4\xd0\x44\xa4\x9c\x44\x8e\x92\xe2\x2a\x73\x68\xef\x63\ +\xc7\x8e\x0e\xdc\x76\xdb\x6d\x9b\x01\x1c\x5d\x01\x3e\x80\x49\x1b\ +\x84\x80\xae\xb5\x32\xe8\x86\xba\xba\xba\x3b\xba\x77\x77\xab\x15\ +\x29\xf1\x35\x12\x7e\x87\x84\x74\xe1\x6c\x36\xb1\xee\x0b\x10\xa1\ +\x78\xca\x27\x28\xd7\x35\x40\x39\x9c\x9c\xed\x1e\x12\x53\xc9\xca\ +\x70\x03\xc3\xb9\x46\xb5\xa0\x61\xd6\x25\x65\x36\x3f\xf0\xe8\xf2\ +\x87\x82\x8d\xd5\x00\xd7\x9e\x0e\x3e\xd8\xdd\xdd\x5d\xaa\xaa\xae\ +\x56\x16\x56\x96\x7c\xeb\xb2\x30\xa1\xf2\xa1\x57\xbb\xea\x00\x16\ +\x39\x69\x28\xd7\x29\x46\x69\x16\x41\x0e\x61\x64\x91\x3e\x68\x22\ +\x89\x8e\x48\x58\x77\x2c\x53\xc2\x0a\x91\xd0\x62\x1c\x3e\x7c\x18\ +\xad\xad\x2d\xdf\x04\x70\xcb\x32\x37\x01\x6c\x5b\x04\x5d\x33\x2b\ +\xf8\x68\x6f\x6f\xaf\x0e\x9d\xc2\xce\xf4\xa2\x04\x4b\x28\xe9\x08\ +\xf6\x85\x82\x80\xcb\x30\x77\x39\x6a\x16\x8d\x88\xe2\xe5\x22\x0d\ +\x56\x71\xa7\xaa\x48\x02\x43\x22\x50\x51\x5f\x01\x09\x38\xc6\xd1\ +\x03\x14\x46\x50\x2c\x95\xd0\xdf\x3f\x40\x00\x1e\x5f\x21\x50\xf0\ +\x35\x6f\x1d\x7a\x24\x2d\xff\x62\x35\xe1\xce\xb3\x26\xc7\xf9\xce\ +\x4c\x78\x94\x98\x70\xba\xc1\x59\x08\x57\x3d\x8a\x32\x5d\xc1\x22\ +\x98\xd8\xf8\x39\xe2\xb2\x66\x81\xa5\x4f\xc2\x9a\x9a\x66\x94\xdf\ +\x91\xd5\x58\xe5\xc0\xaa\xa1\xa1\x93\xa8\xae\xae\x3e\x05\xa0\x69\ +\x59\x27\x83\xc8\x16\x86\x98\x2f\x9f\x0e\xee\xd8\xb0\x61\x43\xdb\ +\xfa\xf5\xeb\x95\x0d\x76\xf0\x6e\x9a\xbf\xe7\x08\x5d\x43\xe6\xff\ +\xd9\xb9\x0d\xb5\x81\x9a\x0d\x1c\xf1\x06\x65\xd8\x18\x82\x3a\x61\ +\xb3\x45\x95\x90\x74\x40\x15\xa1\x54\x14\x96\x92\xcc\x57\x88\xf4\ +\xb5\xb6\x5f\x68\x68\xf8\x0a\x8e\xdd\x7d\x77\x2d\x80\x87\x97\xb9\ +\x13\x68\xbb\x85\x7f\x79\x0d\xd0\x7f\xe0\xc0\x01\x3d\xf9\x90\x4d\ +\x9d\x2d\x63\x57\x2d\xf4\x18\xe5\x0b\xd0\xb0\xf2\xd4\x39\xa2\x07\ +\x45\xf9\x7b\x56\xd0\xb0\xc3\x05\x38\x8a\x0d\x1d\xde\xaf\xc5\x47\ +\xaa\x7b\x4d\x17\x8b\x20\x67\xd9\x6f\x2a\x32\x1d\x0f\x04\xb2\x48\ +\xdd\xf2\xd4\x00\x98\x97\x6e\xe1\xfd\xfb\xf7\xef\xcb\x24\x63\x34\ +\x41\x23\xd2\xf9\x1c\x69\x01\x67\x82\x22\xda\xb7\x2b\xf6\x70\x13\ +\x63\x90\xc5\x04\xe4\xb5\x1d\xb7\x95\xbd\xaa\x0f\x3e\x1d\x0b\xa8\ +\x29\x2e\x13\x17\x36\x0b\xb2\xd3\x58\xdc\x7b\x90\x22\x71\xd9\xb4\ +\x69\x13\xba\xba\xba\xbe\x8a\x25\x48\x1c\x5d\xac\x66\xd1\xdb\x1a\ +\x1a\x1a\xb6\xef\xdd\xd3\xeb\x1d\x30\xc5\xb8\x75\xb4\x2b\x96\x10\ +\x6d\x96\x96\xe5\xfa\xbc\x68\x36\x0e\x54\xe7\x8f\xe0\x0e\x48\xba\ +\x38\x6b\xbc\x81\x75\xb8\xe9\x4d\x84\x09\xfc\x01\x13\x87\x77\x0a\ +\xed\x23\x4f\x39\x53\x82\xe8\x84\xce\x70\x74\x6d\xe0\xec\xd9\xb3\ +\x00\xf0\x5d\x00\x55\xcb\x13\x09\xbc\xb6\x66\xd1\xc3\xc7\x8e\x1e\ +\x45\xa1\x54\xb4\x1d\xfe\xc5\x04\x46\x6b\xc8\x87\x69\x14\xc5\x72\ +\xd6\x08\xb3\x02\x00\xa2\x9d\x00\xca\x56\x03\x93\xb0\x0a\x01\x22\ +\x56\x99\x41\x77\x3a\xe9\x10\xcf\x07\x15\xb2\x11\x69\x99\xd6\xf3\ +\x2a\x14\x14\x42\x26\x85\x60\xe7\x8e\x1d\xd8\xb1\xa3\x63\xdd\x52\ +\x83\x87\xe7\xde\x2b\x78\xee\x3e\x20\x01\xb8\xff\xe8\xb1\xbb\x33\ +\xde\xbd\xe6\xe7\xeb\x96\x6f\xc6\x48\xea\x37\x67\x48\xa2\x2a\x14\ +\xe3\xc0\x04\xe2\x72\x85\x25\xc2\x87\x20\x89\x18\xaa\xf6\x01\x8c\ +\x72\xfc\x71\x92\x21\x23\xc5\xdd\x49\xf4\xbd\x87\x66\x55\x1c\xfd\ +\x3d\x3d\xef\xd4\xa9\x51\x00\x78\x66\x29\x69\x81\x39\xe5\x02\x92\ +\x2f\xa7\x01\x0e\xdc\x78\xe3\x8d\x1b\xf7\xee\xe9\x51\xcd\x9e\x0d\ +\xc7\x21\x15\xeb\xcd\x1c\x48\x3e\x44\x42\xb9\x9e\x81\xa0\x28\x54\ +\x54\x78\xbd\x8e\xf1\x1c\xb7\x83\x23\x02\x89\xfe\x3a\x11\x08\x15\ +\x31\x89\x51\xa6\x40\x95\x2d\x6b\xc5\x47\x06\x3e\xaa\x71\xdc\xf1\ +\x80\x6f\xee\xdd\xbb\x17\x1d\x1d\x1d\x1b\x01\x7c\x7b\xd9\xe1\x00\ +\x70\xbb\x86\x99\x39\xab\x80\x73\xe3\xe3\xe3\x28\x14\x8b\x4a\x8d\ +\xfa\x46\x6e\xc2\x6e\xab\x20\xce\x65\x00\x29\x5b\xdf\xa7\xb2\x79\ +\x5e\x25\x9b\x0c\x30\x23\x57\x20\x59\x6c\x47\xef\x26\xa6\xab\x7c\ +\xca\xb5\xa7\x89\xb3\x07\x24\x3a\x89\x84\xbf\x93\xa7\x9f\x65\xb6\ +\xa7\x81\xb8\x37\x02\x9e\xfe\x9b\xa7\x51\x2c\x16\x9f\x07\xd0\xb0\ +\xcc\x70\x00\xe1\x6c\xcf\x7e\xdc\xdc\xda\xda\xda\x3f\x78\xdf\x7d\ +\x9a\x83\x4f\x1a\x32\x75\x93\xe8\x9b\x30\xf8\x78\x3d\xf0\x2e\xbd\ +\x3d\xe1\x40\xfc\x88\xa2\x31\x8d\x14\xaa\x92\xb1\x00\xea\x50\x26\ +\x83\x13\x52\xca\x40\xd4\x2a\x2e\xde\x94\x22\xd6\x00\x46\x38\x7a\ +\x06\xc8\xde\x90\x7b\x3b\x64\x35\xdb\xdb\x37\xe2\xc4\x89\x13\x2d\ +\x00\x7e\xb0\xcc\xc2\x40\xd7\x25\x6c\x4e\x22\xf0\xbd\xb1\xd1\xb1\ +\xa4\xba\xaa\x5a\x93\x3f\x39\x2e\xc7\x12\xd1\x95\xeb\xf7\x03\x44\ +\x0e\x1f\x22\xcc\x9f\xa2\x3d\x02\xc5\xe4\x23\xed\x69\xc0\xac\xe9\ +\x62\x10\xd9\xc6\x72\x3e\x82\x42\x83\xa3\xf6\x42\x88\xcd\x82\xaf\ +\x3d\x84\x6f\x26\xa5\xab\x87\xb2\x1a\xc1\x59\xac\x33\x67\xcf\xa2\ +\xbe\xbe\xfe\x1c\x80\xad\xcb\x2a\x0a\x98\x23\x1d\x60\x73\x7d\x7d\ +\xfd\xc8\xc8\xa9\x11\x64\x29\x5e\x65\x1a\x3e\xc8\xb4\xad\x51\x59\ +\x95\x8c\x5d\x56\xf8\x7e\xa6\x2f\x40\xb4\x86\x85\x36\x88\x8a\xbe\ +\x05\x0a\x48\xaa\x2e\x51\xae\x5e\x8a\x49\xa2\xca\x4f\x14\x60\x56\ +\xfc\xbd\x48\x14\xa8\x70\x20\x9b\x30\x18\x0d\x37\x34\xe0\xa1\x87\ +\xbe\x5d\x02\xf0\x4a\x00\xb1\x97\x7c\x14\x00\xdb\x23\x68\xd6\x3e\ +\xc0\xcb\xe7\xce\x9d\x2b\xad\x59\x53\xaf\x13\x27\x9c\xdd\xc8\x49\ +\x41\xb0\xfe\x33\xa9\x4c\xb1\xa6\xcd\x4e\x46\x9b\x3f\xa9\x07\xaf\ +\x4b\x8a\x1d\x90\x19\xed\x32\x16\x39\x8f\x14\x55\x00\x87\xa2\x32\ +\xef\x84\x52\xa6\x8a\x18\xd9\x4d\xab\x54\x62\x2a\xdb\x50\x82\x44\ +\xb2\xe1\xde\x13\xf7\x62\xf3\xe6\xcd\xfb\xaf\xb7\x43\x38\x7b\x52\ +\xa8\xc7\x01\x66\x35\xee\x69\x6b\x6b\xfb\xd6\xe9\xb1\xb1\x0c\x07\ +\xbf\x1c\x4b\xd7\x3b\x17\x51\xdf\x7f\x19\x97\xcb\xbf\x13\xeb\xaa\ +\x60\xe5\x4b\x28\xa8\x59\xc4\xf7\x40\xa6\x25\x8c\x1f\x46\x6b\x06\ +\xa9\xad\x54\x8e\x40\x32\x8c\x38\xda\x70\x2a\xb6\x17\x1c\xef\x61\ +\xa4\xe5\x32\x29\x14\xf0\xe4\x93\x4f\x82\x88\x5e\x06\xb0\x6d\x69\ +\x0b\x80\x71\x3e\xc0\xac\xc2\xc0\xe6\x62\xb1\x78\xe1\xd5\x57\x5e\ +\x41\x75\x4d\x8d\xc2\xcf\xb8\x5c\x7a\x8f\x49\x37\x6e\x8a\x57\x69\ +\xd4\x1c\x50\x2e\x70\x9d\xd5\x23\xe1\x28\xc6\xdd\xc6\x24\xa2\x23\ +\xe4\xd1\x68\x9a\xb8\xda\x87\x28\xf6\xff\xa3\x62\x90\x2c\xb7\x08\ +\x7a\x33\x2a\xa9\xbb\x88\xd4\xf7\x73\xe7\xee\xe8\xe8\xc0\x99\x33\ +\x67\x56\x01\xf8\x27\x00\x37\x2c\xdd\x30\xd0\xee\xd1\x99\xfa\x00\ +\x5f\x28\x00\x55\x00\xde\x7a\xe4\xfc\xf9\x96\x6d\xb7\xde\xaa\xbd\ +\xf3\xa8\xb0\x53\x51\x29\x35\xa5\x2f\xb2\xfd\xac\x9b\x43\xab\xf6\ +\x31\x51\x03\x08\x8e\x89\x9d\x64\x63\xf4\x68\x63\x69\x08\x76\x91\ +\xd5\x50\xc4\xd9\x8e\xe1\xda\x64\xa9\x9c\x54\x28\x1a\x31\xf2\x7b\ +\xb0\x68\x4c\x21\xd5\x80\xee\x36\x2a\xb5\xdd\xe9\xd3\x7f\x85\xce\ +\xce\xce\x5b\x00\xbc\x8d\xeb\xb0\x4d\xdd\x1c\x9c\xc0\x94\x12\xf6\ +\x05\x95\x21\x09\x80\x9f\xf7\xf6\xf6\x1e\x3e\x37\x7e\x4e\x3b\x76\ +\x31\xe8\x42\xa4\x3d\x3b\xe2\x2c\xba\x86\x2c\xa1\x53\x34\x70\xcd\ +\xb6\x04\x10\xe7\x92\xdc\x37\x40\x45\x1f\x21\x92\x08\xbd\x44\x4d\ +\x68\x3a\x11\xaf\xde\xcc\x2e\x63\x1e\x48\x16\x98\x75\xac\xee\x55\ +\xa6\x49\x2b\x3c\x8f\x26\x06\x61\x4d\x12\xc2\x0f\x7f\xf8\x03\xb3\ +\x65\xcb\x96\xbb\x01\xbc\xb1\xd8\x42\x30\x07\x42\x48\x02\x22\xba\ +\xda\xfc\xd7\x03\xb8\xd8\xbb\x6f\xdf\xc8\xc4\xc4\x04\x17\x8b\x05\ +\xcd\xb0\x41\x9c\xb4\x91\xab\x42\xdb\xce\xb8\x54\x4c\xee\xef\x47\ +\x31\x1f\xe0\x6a\xa5\x61\x19\xb9\x60\xb5\x2b\x98\x0a\x1d\x45\x3a\ +\x5a\xce\x1f\xa9\x44\x10\x29\xc5\x6f\xe2\x32\xf5\xa8\xb1\x81\xca\ +\x2f\xb0\xec\x31\xc2\x59\x20\x85\x81\xaf\x34\x36\x26\x13\x13\x13\ +\xdc\xb3\x67\xcf\x03\x00\xfe\x19\xb3\x68\x47\x3f\x39\x39\xc9\x53\ +\x53\x53\xbc\x38\x1a\x00\xf0\x7b\x07\x97\x81\x82\x0e\x01\xf8\xf7\ +\xe1\xe1\xe1\xbe\x9f\x5f\xb8\x80\xba\xba\x5a\xaf\x00\x4d\x1c\xf7\ +\x33\xc9\xbf\x06\x52\x46\x6c\xab\xcb\xd1\xad\x11\xc8\x3f\x1c\x77\ +\x05\xf5\xe7\x93\xc2\x0c\x42\x68\x46\xda\x09\xe4\xd8\x1e\x47\xa2\ +\x93\x41\x1c\x85\x20\x1b\x57\x8c\xaa\xa9\xe1\xfe\xf6\x49\x9b\x2f\ +\x44\x4e\x29\x47\x55\xc6\x4e\x28\x6a\x6a\x6a\xe8\x85\x1f\xfd\x08\ +\xc7\x8f\x1f\x3f\x0a\xe0\x3f\xec\x73\xfd\xb3\x63\x7a\x7a\x9a\xa7\ +\xa7\xa7\xbf\xb4\x20\x5c\x35\x06\x3d\x35\x72\x8a\x41\xf0\x44\x10\ +\xa2\xc4\x6a\xef\xf0\x9a\xac\x3a\x27\x0b\x13\x92\x2d\x1f\x73\xc2\ +\x42\x6e\x9b\x19\xf7\xda\xff\x58\x73\x62\x89\xa6\xb0\xc7\x26\x09\ +\xd2\xbf\x49\x81\x23\xca\xbe\x26\x20\x41\x62\x1b\x58\xa7\xbd\x8b\ +\xd2\x76\xf6\x52\x50\xe1\xbb\x9b\xca\xf3\xc8\x36\xbc\xcc\xde\x8b\ +\xdd\x14\x2b\xb1\xed\xf0\xae\x7a\xcf\xee\x7a\xf0\xf9\x11\xfb\x66\ +\x1a\x26\xdb\xcf\x4d\x20\x3e\x53\x3d\xbb\xf2\xdf\x2b\xbd\xe5\x04\ +\x94\x20\xdc\xb3\xf5\xbb\xfc\xb5\x90\x7e\x4f\xf7\xd9\x83\x83\x83\ +\x60\x66\x4c\x4e\x4e\xfa\x79\xeb\xeb\xeb\xa3\x79\x11\x80\x91\x53\ +\x23\x5c\x57\x5b\xa7\x8b\x30\x8c\x11\xce\x96\x93\x66\x23\xd4\xbb\ +\xf1\xe5\x5a\xf2\xbd\xb4\xaf\x2f\xc3\x94\xa1\x5c\xeb\xeb\x99\xf0\ +\xdb\x6d\xde\xe4\xb6\x8a\xb1\x79\x76\x66\x7b\x1d\x57\x4a\xc6\xe1\ +\xb7\x2a\x00\x35\x69\x31\x27\x1b\x56\x7c\xbe\x14\x68\x32\xa1\x1a\ +\xd8\x58\x2a\x1a\x33\x8c\x71\x0d\x2a\xcb\x5c\x33\xe3\x68\x8a\x28\ +\xc2\x18\xdb\xc2\xd6\x08\x1a\x99\xf1\xf7\xcf\x96\xeb\x68\xa0\xbf\ +\x2f\xd8\xf8\xcf\x72\xd7\x4c\xff\x66\x7f\x1b\xa1\xe1\x8c\xf6\x1d\ +\xca\x3d\xbf\xe9\xe9\xa9\x39\x0b\xc2\xec\xab\x56\x54\xc3\xbd\x08\ +\x71\x21\x01\x7f\x81\x94\xed\x27\xe8\x1c\x82\x36\x22\x94\x29\xf5\ +\x94\x27\xf8\x8d\x9b\x28\xb4\x7d\x03\x89\x4d\xa2\x24\x54\x6d\xaf\ +\x67\x7d\x7a\xeb\xd9\xdb\x14\xb6\x2e\xe8\x55\x62\x2f\x55\x76\x9c\ +\xeb\xa0\xe8\x9e\x59\xbd\x23\xca\x89\xc9\x5d\x96\x44\xa1\x09\xa9\ +\x2f\xcb\x54\x16\x5d\xf1\x87\xb2\x00\xc0\xc8\xb7\xc2\x23\x11\xb9\ +\x5e\xa5\xc0\xb5\xdc\xf5\xe6\x30\x8a\x5f\xa4\x1c\x3e\xfb\xec\xb3\ +\x32\xaa\x37\x2d\x11\x4b\x8a\xe9\x64\x27\x04\x9f\x29\xb4\x4a\xd4\ +\xab\x76\xb2\x6a\x0b\x49\xe2\xc3\x48\xa5\xde\x9c\xda\xf4\xc7\x06\ +\x33\x22\x55\xb0\xff\x1c\x0a\x2a\x38\x7d\x29\x3f\x87\x00\xa5\x2e\ +\x29\x73\xef\x24\xd5\xb2\x34\x0f\x80\x57\xe5\x4a\xed\xc3\x7e\x37\ +\x48\x35\x4d\xfe\x5c\xa7\x96\xe5\xb9\x59\xd5\x1e\x5d\xcf\xdd\xb3\ +\x37\x5d\xc1\x5c\x68\x33\x1a\xcc\x63\x12\x5f\xd7\x3e\xd3\xc1\x7b\ +\xef\x05\x00\x4c\x4d\x4d\xcd\xbf\x09\x90\x63\x6c\x6c\x94\xab\x4a\ +\x69\x31\xc7\x1f\xff\xf4\x47\xbc\xf9\xe6\x9b\xd7\x15\xbf\xce\x07\ +\x30\x35\x39\xc9\x94\x90\x9f\xc2\xb9\x4e\xfc\x2c\x34\x40\x99\x74\ +\x30\xb0\x58\x7b\x07\xe7\x63\x96\x6b\xf7\xcb\x4e\xfc\x1c\x05\x20\ +\x48\x40\x2e\x00\x4b\x63\xf4\x0f\xf4\xcf\x8b\x16\x9e\x1d\xea\xc4\ +\xc0\xa7\x9f\x7d\x3a\x17\xab\x91\x8f\x7c\xe4\x23\x1f\xf9\xc8\x47\ +\x3e\xf2\x91\x8f\x7c\xe4\x23\x1f\xf9\x58\x92\xe3\xff\x01\x20\x06\ +\x00\xbe\x06\x90\xe5\xa3\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\ +\x60\x82\ +\x00\x00\x1c\x9f\ +\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\x00\x01\x73\x52\x47\x42\x00\xae\xce\x1c\xe9\x00\x00\x00\ +\x06\x62\x4b\x47\x44\x00\xb3\x00\xb3\x00\xb3\x3b\x54\x6b\xc4\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\xdc\x05\x0e\ +\x09\x18\x35\x5a\x6e\xe9\x42\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\xfa\ +\x49\x44\x41\x54\x78\xda\xed\x5d\x6b\xac\x5e\x65\x95\x7e\xd6\x6e\ +\xff\x58\x0a\x66\x28\x15\x64\xcc\x28\x33\x5a\x46\xc6\x4e\xa2\x11\ +\x33\x74\xc8\xd0\x30\x31\x26\x18\xb9\xd8\x1a\x70\xe2\xa4\x54\x09\ +\x28\x97\x52\xe8\x05\x39\x9c\x96\x53\x38\x52\xda\x53\xa8\xf4\x46\ +\xa5\x0e\x75\x10\x32\xc6\xc1\x70\xfb\x8f\xe0\x8c\xcd\x24\x38\xfc\ +\x40\xe6\x87\xd6\x18\x64\x74\x10\xa4\x17\x4a\x7b\x90\xc0\x59\x6b\ +\x7e\xbc\xb7\xb5\xd6\xde\xdf\xa5\xf4\x9c\xd3\x9e\xe3\x5e\xa1\x29\ +\x3d\x67\xef\x6f\xef\xfd\xbd\xeb\x5d\xeb\x59\xcf\xba\x6c\xa0\x95\ +\x56\x5a\x69\xa5\x95\x56\x5a\x69\xa5\x95\x56\x5a\x69\xa5\x95\x56\ +\x5a\x69\xa5\x95\x56\x5a\x69\xa5\x95\x56\x5a\x99\xce\x42\x7f\x4a\ +\x0f\xbb\x64\xc9\x92\x0b\x01\x5c\x06\x60\x01\x11\x7d\x14\x90\xd9\ +\x00\x1d\x16\xe0\x57\x04\xec\x01\xe1\xb1\xef\xed\xfe\xde\xd3\xad\ +\x02\x4c\x33\xb9\xf2\xca\x2b\x17\x02\x18\x02\x70\x01\x11\x20\x02\ +\x80\xc8\x3c\x3c\x51\xfa\x97\x3c\x0b\xd0\xd0\x83\x0f\x3e\xf8\x4c\ +\xab\x00\xd3\x40\x96\x2e\x5d\xba\x1a\xa0\x0d\xe1\x69\x05\x73\xe7\ +\xcc\xc5\x99\x7f\xfe\x41\xfc\xd9\xa9\x73\x70\xd2\xac\x59\x38\x72\ +\xe4\x08\xf6\xef\xdb\x8f\xdf\xbf\xfa\x0a\x5e\x7f\x7d\x5f\xf9\x5a\ +\x08\xb7\xfc\xcb\x77\xbf\xbb\xb1\x55\x80\x29\x2c\x5f\xfd\xda\x57\ +\x6f\x23\xa1\x61\x90\x60\xce\x9c\xd3\x70\xf6\xd9\x67\x63\xce\x9c\ +\xd3\x40\x24\x10\x21\x00\x12\xf6\xbc\x84\xbf\xf7\xed\xdb\x87\x5f\ +\xee\xdd\x8b\x03\xfb\xf7\xa7\x8f\x18\xdc\xb5\x6b\xd7\xb7\x5a\x05\ +\x98\x82\x72\xd5\x55\x5f\xbb\x18\xc0\x13\x00\xf0\x97\x7f\xf5\x51\ +\x9c\xf3\xf1\x8f\x07\xd3\x1f\x16\xfd\x69\x00\x8f\x41\xb0\x07\x24\ +\x0b\x44\x70\x19\x80\x0b\xd3\xaf\x7f\xf1\x8b\x5f\xe0\xa5\x97\x5e\ +\x8a\x8a\x82\x4b\x1e\x78\xe0\x81\x27\xa7\xeb\xf7\x34\x73\xda\x6a\ +\x36\x55\xc3\x20\xe0\x03\x73\x4f\xc7\xc7\xcf\x3e\x1b\xcc\x0c\x00\ +\xcf\x08\x30\xb4\xe8\x8b\x5f\x7c\x56\x1d\xfa\x3c\x80\x6d\x3f\x7a\ +\xf4\x47\x17\x08\xc9\x10\x04\x0b\xe7\xcd\xfb\x28\x46\x47\x8f\xe0\ +\xf5\xd7\xff\x00\x22\x1a\x06\xf0\x64\x6b\x01\xa6\x90\x5c\x7d\xcd\ +\xd5\x57\x00\xf4\x6f\x00\xb0\xe0\xbc\xf3\x70\xf2\xc9\x27\x03\x90\ +\x27\x17\x2d\x5a\x7c\x49\xaf\x73\xff\xfd\x87\x3f\x7c\x02\x84\x8b\ +\xdf\x7c\xf3\x30\x7e\xf6\xdc\x73\x90\xf0\x25\x7d\x79\xc7\xfd\xf7\ +\xff\x60\x3a\x7e\x57\xd5\xf4\xd4\xea\xea\x52\x22\xc2\x07\xcf\x38\ +\x03\xb3\x67\xcf\x06\xb3\x80\x45\x06\xfb\x39\x97\x45\x06\x99\x05\ +\xb3\x66\x9d\x84\x0f\x9c\xfe\x01\x54\x55\x05\x9a\x51\x5d\x3a\x5d\ +\x2d\xc0\xb4\x54\x80\x6a\x06\x9d\x5b\x11\xe1\xb4\xd3\xe6\x42\x98\ +\x21\xc2\x3f\xf8\xd2\xe2\x2f\xfd\xbc\x9f\x73\x2f\xbf\xfc\xf2\x9f\ +\xb3\xc8\x0f\x20\x82\x53\x4f\x9d\x83\x8a\x2a\x54\x54\x9d\xdb\x2a\ +\xc0\x94\xb2\x00\xf4\xa1\xaa\xaa\x70\xf2\xc9\xb3\xc1\x22\x10\x91\ +\xc7\x8f\xe6\x7c\x61\x7e\x9c\x85\x71\xd2\xec\xd9\x40\x45\x20\xc2\ +\x87\x5a\x10\x38\x95\xb4\xba\x4a\x7a\x2d\xc1\x02\x1c\xe5\xf9\x01\ +\x30\x12\x84\x19\x33\x88\xa6\xeb\x3e\x99\xc6\x16\xa0\xa2\xdf\x52\ +\x45\x38\x74\xe8\xcd\x60\x01\x58\x8e\xca\x87\x8b\xc8\xa5\x22\x8c\ +\x23\x47\x8e\x04\x86\xb0\xa2\xdf\xb6\x0a\x30\x95\x1e\x8a\xaa\xe7\ +\x2a\x22\x1c\x38\x78\x00\xcc\x0c\x16\xb9\xe2\xe1\x87\x1f\x9e\xdf\ +\xcf\xb9\x0f\x3d\xf4\xaf\xf3\x45\xe4\x0a\x11\xc6\xc1\x37\x0e\x82\ +\xaa\x0a\x15\xd1\x73\xad\x02\x4c\x29\x0e\x80\x1e\x27\x9a\x81\x83\ +\xfb\x0f\x62\x74\x74\x14\xcc\x0c\x11\x19\xee\x33\x0a\x18\x66\x66\ +\x8c\x8e\x8e\xe2\xd0\xa1\x43\xa0\xaa\x02\x55\xd5\xe3\xd3\x55\x01\ +\xa6\x2d\x13\x78\xf3\x4d\x37\xbf\x00\xc2\xfc\x53\x4e\x39\x05\x67\ +\x9d\x75\x56\xfa\xf1\x33\x00\x86\x96\x2c\x59\xf2\xac\x3f\x7e\xf7\ +\xee\xdd\x17\x20\x24\x8c\x16\x0a\x80\x97\x5f\x7e\x19\x87\x0f\xbf\ +\x09\x02\xfd\x7c\x64\x64\xe4\x6f\x5b\x10\x38\xf5\x70\xc0\x20\x80\ +\x27\xde\x7c\xf3\x30\x5e\x79\xe5\x15\x9c\x71\xfa\x19\x10\x60\x21\ +\x41\x9e\xd9\xbd\x7b\xf7\xd3\x02\x3c\x06\x60\x0f\x09\x16\x08\xe4\ +\x32\x11\xb9\x30\xc0\x46\xe0\xb5\xd7\x5e\xc3\xe8\x91\xc3\xa8\xa8\ +\x02\x80\x41\x4c\x63\x99\xd6\xc9\xa0\x55\x2b\x57\xde\x86\x40\xe5\ +\x62\xd6\xac\x59\x98\x3b\x77\x2e\x66\xcd\x9a\x85\x92\x12\x90\x84\ +\xfa\x20\x20\x8c\x8e\x1e\xc1\xfe\xfd\xfb\xf1\xc7\xb7\xfe\x98\xd2\ +\x44\x83\x1b\x36\x6c\x98\xd6\xc9\xa0\x19\xd3\xf9\xe1\xf6\xec\xd9\ +\xf3\x1f\xe7\x9f\x7f\xfe\x5b\x54\x55\x9f\x1d\x7b\xf7\x1d\x1c\x3a\ +\x74\x28\x60\x82\xb1\x31\x00\x02\xaa\x08\x6f\xbf\xfd\x36\x0e\x1f\ +\x3e\x8c\x7d\xfb\xf6\xe1\xe0\x81\x03\x18\x7b\xf7\x5d\x10\x11\xa8\ +\xa2\x5b\xee\xbe\xfb\xee\xbb\x31\xcd\xe5\xb8\x59\x80\x25\x4b\x96\ +\xc8\xe4\x3c\x20\x21\xec\xef\xf8\xb4\xb1\xf0\x83\x84\xf2\xd3\xe7\ +\x63\x08\x10\x90\x41\xc6\xa2\x0b\x47\xf2\x29\xf1\x7f\x84\x40\x24\ +\xe5\x6b\x4c\xc7\x8a\x94\xeb\x14\x64\x9a\x00\x6a\xb1\x3e\xf9\x18\ +\xc2\xfd\x3b\xef\xa7\x3f\x09\x05\x98\xc8\x85\xa7\xb8\x28\xb1\xe0\ +\x27\x3f\x9c\xa8\x85\x23\xf3\xe4\x65\x91\x04\x84\x5c\x14\x94\x17\ +\x5d\xcc\x31\xf6\x64\xd2\xeb\x8a\x54\x5d\x50\x2a\x8b\xe2\x2f\x05\ +\x46\x49\x28\x1d\x49\xe5\x7c\x91\x72\xed\x1d\x3b\x76\xd0\xb4\x55\ +\x00\xbf\xf8\x8b\x17\x2f\x9e\xbc\x8b\x8b\x38\x46\x50\xd2\x7f\x71\ +\x43\xd6\xf5\x52\xd2\x01\xee\x18\x7b\x3c\xc5\x23\xe3\x22\xab\xcf\ +\x11\x91\x8e\x9f\x57\x0e\x17\xfc\xe4\x27\xcf\x46\xab\x42\x20\x01\ +\xb6\x6d\xdf\x46\xd3\x4e\x01\xf4\xe2\x4f\xe4\xc2\x8b\x5a\x5c\x08\ +\x20\x24\x20\x41\x74\x02\x52\xcc\x73\x52\x08\x89\x0b\xe3\x94\x05\ +\xd1\x2d\x14\x05\xb0\x80\x11\xea\x1c\x01\x40\x22\x65\xfd\xb3\xb2\ +\x11\x44\x04\xb9\x0e\x11\xcd\xca\x11\xce\x07\x7e\xfa\xd3\xff\xcc\ +\x2e\x67\xeb\xd6\xad\x93\xb2\x36\x93\x4e\x04\x8d\xdb\xe2\x4b\x29\ +\xe7\xf2\x7f\xc0\x02\x11\x8e\x7f\x04\x2c\x02\x4e\xff\x0f\x24\x76\ +\x30\xfc\x0c\x1c\xf6\x2f\xc7\xf3\xe3\xdf\x9c\xce\x47\xf9\x1c\x61\ +\x01\x0b\xca\xbf\x25\xe6\x1a\xd2\xe7\x71\x3c\x26\xdf\x17\x07\xd5\ +\xc9\xf7\x13\x3f\x9b\x39\x28\x49\xfe\x13\xee\xe1\xbc\x05\x0b\x50\ +\x91\x73\x23\xd3\x41\x01\xc6\xc5\xef\x4b\x30\xb3\xf9\x4b\x14\x94\ +\x45\x4b\x0b\x17\x17\x63\x4c\x04\x51\x0f\xf2\x31\x50\x8b\xa5\xcf\ +\x61\xff\x37\x92\x72\x84\x6b\x30\x23\x2b\x0b\x8b\x00\x7a\xf1\x45\ +\x2f\xb6\xa4\xd4\x73\xbe\x46\x3a\xc7\x28\x10\x2b\xa5\x8c\x8a\x81\ +\xf8\x73\x66\x06\x51\x05\xa2\x0a\xcb\x6f\xbc\x71\x52\x40\xf2\xcc\ +\xc9\x72\x34\x04\x60\xd1\xa2\xc5\x7d\x99\x70\x8a\xa6\xbb\x58\x4c\ +\x89\xa6\x55\x19\xe3\xba\x3b\xcd\x66\x56\xd2\xf1\xc6\xdd\x17\xc3\ +\x9d\xcc\x2f\x45\x13\x1d\x7d\x05\xb8\x83\xcf\x2f\xc6\x9b\xf3\x8f\ +\x6a\x26\xdd\x59\xa6\x62\xe6\xc5\x52\x0e\xfa\x79\x28\x28\xa8\x76\ +\x23\x9f\xfe\xf4\xb9\x78\xfe\xbf\x7f\x06\x99\x24\xe3\x3c\x29\x0a\ +\x10\x18\x35\xe9\x0b\xa0\xa5\xff\x13\x6e\x02\x4e\xda\x5b\x93\xfe\ +\x3a\x6d\x95\xaf\x3f\x56\x83\x37\xc5\x01\x05\xf3\x9f\x7e\xc8\x76\ +\x31\xa5\xac\x58\x50\x46\x32\x5a\x67\x7e\xd6\xa0\x38\x92\xe3\x08\ +\xc9\xa1\xa1\x51\x04\x12\x80\x8b\xfa\x4a\xbe\x5f\x89\x56\x60\x9a\ +\xb8\x80\xa5\x4b\x97\x0a\x11\x81\xa8\x42\xb0\xc4\xc1\xec\x25\x13\ +\x98\xfc\xb1\x36\xcd\xcc\xc5\xa4\x82\x95\x89\x35\x3e\x9f\xf3\xf9\ +\xc9\xfc\x87\x7f\x17\x93\x0b\xe5\xd3\xd3\xe7\x71\x32\xd3\x32\x66\ +\xcc\x75\xfe\xbd\xb0\xc2\x01\xc5\x35\x48\xfc\xb9\xfe\x59\x32\xf1\ +\x2c\x41\x95\x38\xbb\x05\xc9\xd7\x80\xfa\xac\xf0\x0c\xe9\x79\x91\ +\x5d\x19\x1b\xb7\xc2\x81\x88\x22\xc2\xca\x15\x2b\x65\xca\x5b\x80\ +\xaa\xaa\x00\x01\x2e\xbe\xf4\xe2\x62\x6e\x11\x80\x14\xd4\x06\x0a\ +\xba\xcf\xce\xec\x53\x30\xbb\xc9\x7c\x8b\x07\xea\x16\x99\x93\xdb\ +\x65\xd6\x0a\x84\xe3\x05\x14\xc0\x41\xda\x9d\x49\x29\xa1\xef\x85\ +\xb3\x49\xd6\x46\x3e\x02\x7d\x6b\xcb\x1a\xae\x91\x83\x10\x01\x40\ +\x51\x89\xb3\x6b\x2b\xd6\x26\x85\x8e\xd9\xdb\xc5\x9f\xcf\x9f\x3f\ +\x1f\x2f\xfe\xcf\x8b\x93\x02\x06\x27\xd4\x02\x5c\x75\xd5\xd7\x24\ +\xd2\xaa\x51\xbb\xc7\xf2\x2e\xca\xbb\x33\xed\x24\xb0\xda\x69\x6c\ +\xd1\x36\x07\x30\x56\xac\x07\xe7\x1d\x99\x41\x1e\xdb\xdd\x9a\x2d\ +\x8b\x46\xda\x6c\x51\xbb\x28\x80\x87\x1c\x35\xb0\xfd\x3c\x28\x90\ +\x28\x3a\x0a\xd0\xd7\x50\xd6\x2b\x47\x03\x6c\x2c\x50\xfe\x3c\x75\ +\x0d\x6d\x75\x42\x44\x82\x68\x49\x38\xa4\xa1\x89\xb0\x7a\xf5\x6a\ +\x99\xb2\x16\x80\x42\x36\x0d\x9f\xbf\xe8\x22\x05\x76\x38\x6d\x0a\ +\x07\x98\x5c\x7c\x2c\xcd\x71\xb7\xe8\x9d\xc6\x3a\xce\x57\x5b\x9f\ +\xa5\x06\xcc\xc4\xfb\x77\x87\x12\x45\xec\x67\x67\x9c\x20\x81\x11\ +\x00\x13\x84\xc2\xa2\x51\xba\x4f\x1d\xdf\xa7\xbf\x59\xf3\x0a\xe2\ +\x70\xa1\xb2\x22\xc2\x0a\x94\x86\x6b\xb0\x3a\xeb\xaf\xcf\x9e\x87\ +\x5f\xfe\x72\xef\x84\x33\x35\x13\xac\x00\x14\xd7\x23\x7e\x71\x91\ +\x11\x61\x0d\x8f\x44\x9c\x39\x94\x82\xb7\x32\xbc\x67\x83\x94\x0d\ +\x98\xe2\x74\x7c\x41\xf3\x92\x6d\x39\xd5\x18\x3c\xd2\x0a\xa5\xd8\ +\x38\xad\x28\x64\xc8\x1f\x0a\x16\x2b\x86\xa0\x99\xf9\x13\x45\x22\ +\x45\x57\xa5\x63\x0d\x52\xf7\x6f\x49\x9f\x02\x58\x35\xf0\xf5\x91\ +\x82\xc4\x0d\x44\x53\xd5\x05\x5c\x73\xcd\x35\x52\x19\xf3\x8f\x54\ +\x9f\x1f\xe3\x61\x18\x00\x16\xec\x9f\x8b\x97\xc1\xf9\x67\x1c\x82\ +\xfa\x62\xd6\x99\x6b\xe4\x8d\x70\x0a\x01\xad\x3b\x29\x04\x51\x71\ +\x2d\xd9\xbc\x67\x73\xcc\x06\xc4\x65\x70\x67\xee\x31\xdd\x5b\x31\ +\xf7\x61\xb5\x38\x3f\xa3\x26\x9f\x02\xe0\x63\xe7\x86\x60\xaf\xc9\ +\xd6\x95\x15\xb7\xc7\xa0\x0a\x40\x45\x18\xb8\x75\x40\xa6\x9c\x05\ +\x20\x0a\xdc\xf6\x67\xff\xf1\xc2\xd4\x96\x65\xe2\xe3\x44\x8f\x26\ +\x20\x96\xa9\x57\x4d\xc5\x8a\xda\xcb\x8a\xdc\x21\x2a\xc4\x90\x01\ +\x84\xe2\xc2\x37\x1f\x42\x92\x05\x76\xdc\x89\xb7\xcf\x8c\xb1\x34\ +\xc4\xfd\xd6\x9a\x70\x27\x1e\xc0\xb9\xa5\x4c\x2e\x77\xc8\x0f\x98\ +\xd0\x33\x3e\xcb\x47\xfe\xe2\x23\xf8\xcd\xff\xbe\x3c\xa1\x21\xe1\ +\x84\x58\x80\x6f\x7c\xe3\x5a\x21\x0a\x69\x55\x61\x18\x06\x2f\xec\ +\x48\x14\x16\x2c\x2e\x2a\x6b\xb6\x0c\xe5\xdf\x9c\x81\x92\x14\x53\ +\xcc\xd6\x12\x00\x6c\x28\xdc\x0c\xaa\x58\x4c\xe8\x66\x80\x98\x0b\ +\xff\x72\x88\xa9\xc2\xc8\x0c\x3c\xd9\x52\xcd\xec\x2c\x46\xb2\x2e\ +\xa2\x2c\x58\x23\xd8\x63\x07\x48\x55\xc8\x09\x2e\x4c\x67\x02\x91\ +\x2c\x8c\x2a\x86\x84\x83\x83\x6b\x64\xca\x58\x80\x8a\x82\x6e\x5d\ +\x70\xc1\x3f\x64\xc4\x0f\x43\xd6\xb8\x30\x4c\x79\xc3\x2f\x7f\xf9\ +\x9f\x1a\x3f\xf3\xe1\x47\x1e\x89\x84\x8a\x4d\xde\x88\x08\x48\xc8\ +\x7a\x54\xf1\xf9\x82\xe2\x73\x8b\xb1\x28\x67\x50\x34\xdd\x96\x75\ +\xd4\xd6\xc5\xb0\x47\x8a\xff\x91\x9c\xda\x15\xb1\xad\xe6\xd4\x01\ +\x84\x96\xdb\x62\x13\x4f\x86\xe7\x08\x51\x00\x65\xdc\x01\x9c\x79\ +\xe6\x99\x78\xe5\xf7\xaf\x80\x26\x08\x0d\x4c\x88\x02\x50\x55\xe5\ +\x90\x46\xc3\x6b\x4d\xef\xa6\xa4\x1c\x67\xca\x4f\xfa\x4a\xe7\x8a\ +\x32\xb1\x09\x60\x71\x66\xdb\xd0\xb8\xd0\x7a\x0e\x00\x15\x1a\xa0\ +\x7c\x26\x59\xf6\x2e\xa3\x75\x71\x0a\x95\x14\x40\xa1\xd4\x0c\x40\ +\x45\xdd\x93\x3a\xa7\x28\x79\x83\x02\xe5\xe7\xa1\x0c\x32\xc3\x3d\ +\xb0\x3a\x9e\x50\x51\x05\x99\x2a\x2e\xe0\x86\x1b\x6e\x88\xcc\x9f\ +\x4a\xd6\x40\xc5\xd3\xc6\xc4\xea\xc4\x8b\x18\x9f\xec\x85\x33\x8b\ +\xa7\xd8\x36\x56\x8c\x9f\x66\xee\x32\x97\x60\xc1\x16\x0c\xcb\x98\ +\x62\x7a\x0b\x4a\xa1\xc1\xa5\x33\xf3\x52\x8b\xe5\xe3\xf9\x63\x3a\ +\x91\xa4\xdc\x11\x7b\xf7\x01\xc5\x55\x48\x0c\x8d\x35\x10\x45\x66\ +\x0a\x0b\x20\x0d\xcc\x60\x05\xc2\xd0\xd0\x90\x9c\xf0\x16\x80\x62\ +\xe9\xcc\x79\x7f\x77\x5e\x5e\x7c\xaf\xbe\x01\x13\xb2\x0e\xd4\xfa\ +\x30\x00\xe2\xb3\x3e\xe0\x9a\x59\x15\x05\xb6\x2c\x39\x07\x15\x67\ +\x67\x37\x42\xcd\x49\x1a\xf1\xc0\xd0\x85\x73\xa5\xa4\x80\xeb\x00\ +\xce\xe2\xd8\x92\xc5\xcc\x8c\x9f\x35\x81\xc2\x1e\x7c\x96\xcf\xe1\ +\xc8\x71\x9c\x7a\xea\xa9\x38\x70\xe0\x00\x26\x02\x0d\xce\x9c\x00\ +\xfb\x1f\xc1\x9f\x38\x92\xc6\x66\xd0\x32\x97\xa3\x90\xb9\x74\x31\ +\x74\x39\xb3\x26\x96\x8b\x6d\xca\xc2\x15\x4b\x52\x0a\x3b\xa4\xe6\ +\xc3\xa9\x60\x93\x5a\xb6\xce\xfa\x6d\xcd\x3d\x34\x65\x03\x0b\x39\ +\xa4\x5d\x06\xb9\x84\x12\xa7\x88\x31\x2a\x8f\x18\x02\xc9\x73\x22\ +\x04\x8a\x61\x6d\x49\x10\x65\x82\xe2\x44\x75\x01\xcb\x97\x2f\x97\ +\x2a\x86\x7f\x81\xda\x85\x4b\xf4\x14\xb3\x59\xa8\xdb\x62\x66\xbb\ +\x39\xba\x9c\xe8\xe1\x3a\xe5\x2a\x2a\x96\x66\x6f\x72\x53\x92\x48\ +\xf4\xfd\xa0\x44\x02\xac\xeb\x01\xea\xf5\x02\x16\xd9\xa7\xfb\xb4\ +\x45\x22\xc9\xb4\x27\xf3\x0e\xf1\xc9\xa3\x42\x43\x43\x94\x6b\x32\ +\x91\x43\xf9\x8e\x02\xfd\xc1\xc6\x3d\x55\x04\x10\x2a\x0c\x0f\x0f\ +\xcb\x09\x6b\x01\x12\xf3\xf7\xc9\x4f\x7e\x2a\x82\x5c\xce\xe6\xb1\ +\x30\x70\x63\x51\xf1\x49\x47\xfe\x2a\x4a\xe8\x64\x02\xb8\xec\xc2\ +\x54\x94\xdb\x58\xa3\x57\x4f\xe9\x26\x3b\x50\x2c\x03\xd7\x5c\x8e\ +\x28\x7a\x17\x63\x92\x4d\x3e\x29\x57\x23\x1e\x64\x9a\x88\x23\x7e\ +\x06\x19\x4e\x19\xc2\x8a\xc8\xf6\x2c\xa6\x66\x0c\x15\xe8\x53\xce\ +\x2a\xdf\xd3\xac\x93\x4e\xc2\x5b\xa3\xa3\xe3\xee\x06\xc6\x5f\x01\ +\xa2\x6f\x34\xa6\x59\x91\x3e\x52\x5b\x50\x81\x10\x59\xfb\xda\x64\ +\x01\xdc\x37\xcd\xca\x67\x06\x8b\x1e\xeb\xfc\x52\x15\xae\x06\xe6\ +\xca\x9f\x8a\xcb\x29\xe4\x7a\x3e\x45\x1b\x17\xe4\x4e\xd9\x32\x09\ +\x54\x3c\x18\xef\x59\x94\x5f\x90\xc2\x6c\x29\x93\xce\xb6\x0e\x41\ +\xbc\xef\x2a\xb4\x78\x58\x7b\x02\x29\x45\x0f\x91\x53\xd8\x33\xa0\ +\x10\x5d\x9d\xb0\x18\x60\xc5\x8a\x15\x92\x40\xa0\x78\x86\x2d\x73\ +\xe5\x54\x16\x4c\xb1\x73\x69\x35\xa5\x17\x08\x84\xe6\xde\xcb\x42\ +\x5e\x7d\xf5\xd5\x8d\xe7\xec\xdc\xb9\xb3\x00\xbb\xac\x10\xa2\x2a\ +\x81\x80\x6b\xaf\xbd\xb6\xf1\xdc\x6d\xdb\xb6\xe5\x6b\x5c\x7f\xfd\ +\xf5\x8d\xc7\x6c\xd9\xb2\x25\x2a\x0b\xb9\x54\x36\x5c\xea\x1b\x3e\ +\x89\x6c\x43\x52\x29\x9b\x82\x4d\xda\x58\x4c\xb8\x98\x36\xd8\xfa\ +\xf5\xeb\xe5\xd6\x5b\x6f\xa5\x13\x4a\x01\x02\x48\x01\xfe\xe6\x9c\ +\x73\xc0\xec\xf3\x77\x8c\x9c\xef\x92\x3a\xd0\x0a\x24\x4c\xf7\xe7\ +\x11\xd6\x49\xa3\xa2\x2c\x5f\xbf\xe6\x9a\xc6\xe3\xef\xbf\x7f\x47\ +\xf4\xd3\x9a\x7c\xa2\x7c\xbd\xeb\xae\xbb\xae\xeb\xf5\xae\xbf\xfe\ +\x7a\x6c\xdd\xb2\x05\x5d\xbd\x52\x0a\x41\xe1\x29\x63\x74\x59\x7c\ +\x45\x73\xab\x84\x12\x29\xcc\x98\x33\xa5\xea\xbb\x22\x11\xcc\x98\ +\x31\x23\xa4\x8a\xc7\xd1\x0d\x8c\x8b\x4d\x59\xb5\x7a\xb5\x50\xac\ +\x66\x4d\x9a\xcf\x0e\x08\xa5\xe2\x47\x0d\xe0\x38\xc6\xd0\x50\x54\ +\x6a\xc7\x2f\xdb\x25\x6e\x10\x2b\x7b\x9a\x64\xc7\x8e\x1d\xaa\x86\ +\xc0\x27\x63\x7a\x2f\x7e\xe6\x34\x96\x2d\xab\x71\xf7\xde\x2d\x09\ +\x2c\xff\x50\x03\x88\xb0\xb5\x02\xba\x30\x34\xd5\x42\x88\x2a\x10\ +\x65\x0d\x6a\x55\x31\x6b\x02\xca\x15\x85\x3a\x81\x91\x8d\x1b\xe5\ +\x84\xb1\x00\xa9\x84\x69\xde\xbc\x8f\x65\xa4\xaf\xc2\x67\xe5\x47\ +\xeb\x09\x90\x92\x6b\xef\x4e\x06\x98\x84\x52\xac\xd3\xbb\xf6\xeb\ +\x75\xf3\xbd\x7d\xfb\x76\x15\x51\x88\x4d\xdf\xbc\x87\xaf\xec\xc6\ +\x65\x37\x76\x0b\x4d\x14\x40\xf4\x69\x66\x1f\xb2\xea\xd4\x32\x6c\ +\x6d\x43\x2e\x12\x75\x61\xb3\xeb\x4b\x20\x21\x30\x31\x66\xce\x9c\ +\x39\x6e\x11\xe1\xf8\x28\x40\x2c\xfb\x65\x31\x4f\x85\xe4\xfe\x49\ +\x24\xd3\x3e\x30\x40\x4c\x54\x81\x46\x1f\x44\x90\xfa\xfb\xba\x6b\ +\xaf\xeb\xae\x28\x04\xd7\x01\x1c\x62\x8e\x65\xcb\x96\x75\xbc\xc6\ +\xb7\xbf\xfd\x6d\x73\x1f\xcb\x6f\x5a\xde\xf5\x9e\x58\x34\x0f\x40\ +\x30\x95\x0e\xb6\xba\x2d\x12\x4f\x16\x99\xd6\x80\xa8\xae\x13\x85\ +\x52\x22\x94\x84\x5a\xe0\xaf\x68\xdc\x0a\x45\x8e\xd9\x05\xdc\x7a\ +\xeb\x37\xa5\x22\x42\x45\x94\xcd\xb2\x31\xb9\x99\x4e\x45\xa6\x4b\ +\x0d\xf5\xc9\x36\xcb\xd6\x59\x01\xb8\x2c\x7e\x07\x13\xbe\x75\xeb\ +\x96\x02\xfa\x52\xa9\x19\x4b\xe1\x01\xba\x7c\xfe\xe6\xcd\x9b\xe3\ +\xfd\x15\x4a\xf7\xde\x7b\xee\xed\xa1\x94\x9c\x15\x4e\xd3\xce\x22\ +\xd6\x05\xa6\xc6\x8f\x6c\xf2\xe1\x68\x62\x2e\xae\xc4\x64\x35\x59\ +\x1a\x6b\x1e\xa8\xaa\x50\x55\x15\xee\xdd\x7c\xaf\x1c\x77\x0b\x40\ +\xa8\x80\x0a\xf8\xc8\x87\x3f\x5c\xcf\xdf\x67\xd4\x1f\x63\xfc\x54\ +\xc6\x95\xeb\x01\xc4\x24\x6d\xba\x65\xbc\x12\x81\x74\xc3\x0d\x9d\ +\x11\x39\x9b\xba\x2e\x57\xac\x09\xc1\xf2\xe5\x37\xf5\xdc\xcd\xa4\ +\xc0\x59\xaf\x5d\x96\x2c\x5e\x2d\x93\x98\xe0\xbd\x67\xfc\xa4\x64\ +\x0e\x33\x98\x75\x49\xa1\xa6\xfe\x41\xb0\x8d\x90\x46\x47\x8f\x60\ +\xf6\x49\xb3\xc7\xc5\x0a\x1c\xb3\x05\xa0\x8a\x40\x55\x95\xab\x67\ +\x52\x85\x8b\x01\x81\x99\x79\x93\x4c\x6f\xea\xc4\x4e\xda\x21\x2c\ +\xdc\xe5\xcb\xe6\x8e\x8b\x7f\xdf\x7d\xf7\xd5\x76\x4b\xfe\x37\xf7\ +\x4e\x34\xdd\xb3\x69\x53\xad\xda\x27\x01\xc6\x91\x4d\x23\x3d\xac\ +\x12\xab\x32\xf7\x68\xaa\xb9\x3c\x8f\xae\xf0\xc9\xcc\x64\x4a\x56\ +\xb1\x06\xcc\xb6\x3e\x40\x54\x45\x12\xab\x96\x32\x0e\xc5\x13\xa0\ +\x8a\xd2\x04\x93\xe3\xa7\x00\x83\x83\x83\xa5\xf0\x43\xdc\x83\xf8\ +\x12\x2d\x51\x99\x41\x9d\x0d\xcb\x15\xba\xd2\x35\x0a\x58\x76\xc3\ +\xb2\x8e\x7e\xdb\x7f\x69\xd9\xe4\xea\x7b\xe2\xee\x79\x06\x93\xfd\ +\x53\x59\x4a\x19\xe3\xae\xa1\x29\x67\x8b\xc1\xb9\x57\xc1\x57\x2c\ +\x73\x72\x2d\x4a\x19\x58\xf5\x40\xa0\xa1\xd5\x2d\x28\x07\x9b\x22\ +\x91\x44\x31\x8f\x09\xe7\x68\xe0\xbe\xfb\xb6\xc8\x71\x53\x80\xa0\ +\x85\x84\x33\xce\x3c\x53\x71\xe0\x62\x43\x9c\x46\x6e\x5d\xf5\xc7\ +\xc1\x35\x76\x1e\x7d\xfe\x41\x5d\x47\xed\xa0\x31\xd7\xd4\xd1\x2d\ +\xc2\x00\x54\x83\x8a\x6f\x36\xed\xcd\x03\xe8\x86\x14\xe4\x9c\x83\ +\x0a\x59\xc5\xe5\x30\x04\x0d\xfd\x89\x6c\x2a\x8d\xa0\x1b\x5f\x0c\ +\x96\x0a\xe7\xec\xdb\xbf\x0f\x44\x84\x19\x15\x1d\x1f\x0b\xb0\x76\ +\xed\xed\xb9\xe3\x07\xb9\x0c\x4b\xe5\xe2\xe1\x9a\x28\xe3\xcf\x4a\ +\x7d\xbd\x5d\xb0\xc4\x0b\xbc\x17\x29\xbb\xa9\x14\x7c\x32\x24\x11\ +\x01\xa5\x17\xa1\xe3\x4e\xd6\x8d\x9f\xec\x2c\x19\x77\x07\x81\x62\ +\xf3\xf9\x2c\x70\xa5\x5d\x50\x4a\x9e\x3e\xcf\x73\x03\xba\xfc\x0d\ +\x99\x2f\x31\x1b\x47\x5f\x27\x6a\x6d\xaa\xbb\xdc\xbe\x7d\xbb\x4c\ +\xba\x02\xa4\xd8\x7f\xee\xdc\xd3\x9c\x46\xc3\xd5\xdf\xa5\x0a\x59\ +\xe4\x5d\x59\xdf\x69\x9c\x09\x93\xf7\x22\x2b\x57\xac\x30\xbb\xc6\ +\xb4\x6c\x2b\xb3\xdb\xcd\x94\x27\x1f\x5d\x23\x6d\x7a\x11\x41\xda\ +\xa2\xa5\xeb\x72\x71\x05\x6c\xba\x85\xeb\x38\x43\x2b\x03\xa4\x44\ +\x20\x63\x62\x31\x8c\xb7\xa2\xcc\x63\x78\xf5\xd5\x57\x91\x8a\x6f\ +\x26\x5d\x01\xaa\xca\xf7\xfb\xe9\x9e\x7a\xd5\xfd\xa3\xd3\x9e\x70\ +\xa9\x54\x6d\x3e\x93\x09\xed\x21\x23\x23\x9b\x3a\x66\x0b\xc3\x62\ +\xb1\xdb\x3d\xa5\x6a\xa8\xdb\x4e\x86\x2a\x01\x67\x97\x22\xee\xaa\ +\x38\xba\x5b\x48\x57\x3d\xc1\xb6\xb3\x1b\x6b\x97\x19\x52\x58\xb0\ +\x6a\x80\xac\x9f\x4b\xa0\xe7\x1c\x70\x2e\x9c\xad\xaa\x2a\x37\xe0\ +\x4c\x9a\x02\xdc\xb1\xee\x0e\x01\x08\x15\xd9\xbc\x7a\xaa\x6c\x35\ +\xbb\x90\xad\xa9\x0b\x29\x71\xb1\x80\x09\xbd\xfd\xf4\xc8\xc8\x08\ +\x46\x46\x36\x76\x3c\x66\xd5\xea\xd5\xe5\x4b\x75\xfd\xfb\xc9\xbf\ +\x77\xc5\x00\x9a\xce\x05\x2b\x1a\xbb\x37\x0f\x20\x3a\x66\xcf\x03\ +\x27\x34\xa5\xcb\xb6\x4e\x81\x11\xeb\x25\x58\xd1\xc9\xec\xf8\x10\ +\x8f\x15\xd8\x0d\x9a\xe0\x9c\x20\x22\x22\xec\xfc\xce\x4e\x99\x34\ +\x05\x20\x0a\x16\xe0\x94\xf7\xbf\xdf\x68\xa5\x6e\xe0\x10\x95\x0f\ +\x30\x3b\xca\x34\x51\x48\x0d\x20\x75\x0d\xb9\xe2\x17\xb0\x61\xc3\ +\x86\xc6\x63\x6e\xf9\xe6\x2d\xe6\x3a\x1e\x84\x76\xc3\x00\x09\xc0\ +\xb1\x0f\x05\xc1\x5d\xb9\x09\xc0\xee\xda\xf0\xf8\x6a\xf7\x1a\xdc\ +\xa3\xfa\x10\x1d\xe2\xd7\xdd\xcb\x50\x9b\x43\x93\x58\xb5\x5a\x43\ +\x16\xbc\xf4\x9b\xdf\xc4\xd2\xf1\x6a\x72\x2c\xc0\xf0\xf0\x9d\x82\ +\xd8\xb8\x68\xe2\x6e\x68\x34\x0b\x83\x58\x6d\x7d\xbc\xee\xb8\xb1\ +\xc8\xb7\xbf\x50\xad\xd7\x71\xd1\x9c\xfb\x88\xa4\xcb\x39\x83\x83\ +\x83\x2e\x8c\x4d\x9d\x49\x82\xb5\x6b\xd6\x76\xcd\x4f\x64\x0b\x57\ +\xab\xec\x89\xd3\x45\xb8\xb0\x92\xe1\x87\x30\x1c\x89\x61\x4f\x21\ +\xaa\x67\x42\x81\x46\x37\xc5\x44\x5b\x54\x08\x07\x2e\x86\x80\x5d\ +\xbb\x1e\x38\x6a\x2b\x30\xf3\xe8\x77\x7f\xe8\x57\x7b\xdf\xfb\xde\ +\x17\x47\x9a\xf8\x5a\x0e\x5b\xde\x55\x2a\x73\x54\x7d\x9c\x61\xeb\ +\xc8\x72\xf6\x1d\xbf\x6c\x9d\x0e\x06\xee\xba\xeb\x2e\x0c\x0c\x0c\ +\xd4\x8e\x1b\x18\x18\xc0\xf0\xb7\x86\x6b\xc5\x9e\x10\xe0\xce\x3b\ +\xef\xc4\x9a\x35\x6b\x3a\x41\x88\x92\x3c\x8a\xa6\x95\x7b\x41\x12\ +\x35\xd4\x21\xf3\xf8\x68\xa8\x16\x02\x30\x3c\xdc\x3c\xab\x3a\x3f\ +\x83\x61\x02\x53\x17\x13\xa9\x22\x9a\xc0\xa6\x0a\x6c\xd1\x28\x18\ +\xd8\xbb\xf7\x57\x98\x37\x6f\xde\xe4\x58\x80\xe4\x73\x58\x01\x20\ +\x56\xa5\xd7\xbe\x14\x1a\xba\x1e\x90\x1d\x3b\xa6\x06\x46\x14\x54\ +\xdc\x19\x71\x73\x4a\x29\x73\x2f\x93\xae\x07\x4c\x70\x5f\x2e\x66\ +\xed\xed\x6b\xd5\x0e\x0b\xbb\x7b\x68\xe8\xf6\xbe\xc3\xcf\xe4\xaf\ +\x93\x09\xb7\xe6\xba\x37\x90\x14\x6d\x35\x81\x9a\xbf\xd7\x6c\x6a\ +\xa9\x33\x2c\x04\x5c\x6a\xc3\x9f\x50\x05\x58\xbf\x7e\x7d\x60\xfe\ +\x72\xf9\x95\x22\x30\x6a\xed\x53\x9c\x63\x7b\x33\x88\xc9\xa0\x7f\ +\x36\xc5\x90\xdd\x76\x5c\x4a\x33\x6b\xe2\xe8\xce\x0e\xbb\x6a\xcd\ +\x9a\x35\x39\xf4\xb4\xbc\x83\x60\xdd\xd0\x50\xc7\x6b\x0c\x0d\x0d\ +\x61\x68\xdd\x10\xd6\xad\x1b\xc2\xba\x75\xeb\x7a\xf3\x0f\x86\xa8\ +\x19\x2b\xd9\x41\x76\x80\xb2\x87\x12\x71\x4e\x5c\xa9\x69\x63\x22\ +\x18\x33\xc4\x11\xe7\xe8\x02\xaa\xb1\x35\x85\xbf\x81\x91\xad\xf0\ +\xe0\xee\xdd\x32\x61\x0a\x90\x76\xff\x8c\x19\x33\x8d\x5f\x87\x62\ +\xf4\x58\x21\x5d\x4f\x01\x43\xb8\x16\x3b\xeb\xc5\xe9\x1a\x06\xd6\ +\x3a\x82\x83\xf2\xdc\x71\xc7\x1d\x8d\x87\xdf\xbe\x76\xad\xcb\x37\ +\x14\x65\x3d\x4a\xba\xbb\xdb\xf2\x19\x64\x0f\x37\x34\x42\x8f\xc1\ +\xe9\xa7\xd0\x45\xf7\x38\x96\x71\x77\x3a\x94\x65\x95\x73\x11\x13\ +\x81\xbd\xf8\xe2\x8b\x11\x0b\x10\x26\x50\x01\xaa\x92\xf8\xc9\x89\ +\x1e\x31\xdd\x30\xbe\xe2\x25\x55\xef\xe8\x78\x9f\xa5\x81\xe9\xea\ +\x61\xd6\x99\x2d\xdf\xd0\x2f\xc7\x6f\xc8\xa0\xf8\x67\xed\xda\x35\ +\x7d\x3d\xef\x6d\xb7\xdd\xd6\xfd\xf3\xd9\x35\x8b\xba\xb1\x75\x9a\ +\xd1\xeb\x15\xdd\xb0\x29\x9d\xe7\x3a\x78\xce\x0d\xae\x9a\x43\x81\ +\xe9\x88\x22\x44\xeb\x3c\x11\x0a\x30\xb2\x71\x63\xcc\xfb\x17\x73\ +\x9c\x89\x1d\xd3\x0d\xcb\x96\xdd\xf3\x0b\x0e\x76\x83\x9e\x58\xf9\ +\xbf\xde\xb4\x2b\xfb\x88\x02\x8c\xdb\x6f\x6f\x36\xeb\xeb\xd6\xad\ +\x2b\x98\xc1\xc5\xe1\x83\x83\x83\x1d\x77\xf7\xc0\x6d\x03\x18\x18\ +\x18\xc8\xf7\xdb\x0f\x2e\xd1\x74\xaf\x61\x40\x7b\x29\xc0\x98\x43\ +\xff\x6c\xe7\x15\x9a\x5c\x0a\x90\x19\x42\xb8\xa4\x5b\x8a\x06\xaa\ +\x8a\xf0\xd0\xf7\x1f\xea\xdb\xcc\xf5\xad\x2e\x9b\x46\x36\x09\x08\ +\x78\xe7\x9d\x77\x6c\xa9\x57\x02\xc1\xae\xa4\x4b\x61\xda\xc6\xaa\ +\x5f\xdb\xbc\x09\x1b\x25\xa0\x53\x19\x97\xea\xf0\x51\xe5\x57\x76\ +\xfe\x06\x6a\x65\x58\x76\x5e\x5f\x7d\x9c\x1c\x52\x43\xa6\xd4\x47\ +\xc0\x02\xc0\xdd\xeb\xd7\x37\xf3\x0e\xb7\xac\xd6\xe5\x06\xf5\xea\ +\xa5\x54\x5f\x40\xca\x8d\x99\x6e\x63\xb8\x6e\xe7\x52\x1e\x6e\x5b\ +\xcd\x7c\x6d\x03\x4c\x34\xa0\xff\x7d\xee\x67\x3e\x03\x12\xe0\x2b\ +\xff\xfc\x15\x1a\x37\x0b\xb0\xe9\x9e\x7b\x24\xf9\xff\xec\x8b\xb8\ +\xbe\xd3\xfd\x84\x0b\x61\x65\x26\xfd\x8c\x80\x5a\xf5\x10\x5c\x2f\ +\x3f\x1b\xf7\x60\x62\xee\x48\xb6\xb0\xc9\x37\x70\xad\xf1\x32\xf3\ +\x0d\xdc\xcc\x49\x40\x5b\xab\xd4\xc8\xe2\xa6\x78\x76\x73\x01\x99\ +\xd5\x64\x3f\x86\x4e\x72\xde\x3e\xdf\xd3\x98\x94\x44\x91\xce\x0c\ +\xc2\x31\x84\x7e\x52\x4a\x43\x92\xcd\xa7\x95\x75\xf2\xaa\xa2\x90\ +\xa5\x7d\xe4\x91\x47\xfa\xb2\x02\x33\xfb\xd3\x12\x02\x2a\x60\xf4\ +\xad\xb7\xf4\x76\x77\x8d\x9f\x62\x9b\x26\x93\x56\x8a\x6d\xfe\xd4\ +\xe6\x90\x5d\xc5\x8e\xd6\x68\x26\xc9\x0d\x11\xfa\xb3\x52\xf3\x0e\ +\xa3\x69\x97\xab\x6b\xa8\x83\xf4\x94\xd1\xf5\x1d\x77\xf3\x2d\x48\ +\x1d\x2c\x65\x34\x91\x60\xe3\xc6\x66\xd6\x71\xd5\xaa\x95\x86\xbc\ +\x21\xb2\xa3\xe6\x84\x4a\xad\x60\xac\xf6\x87\xe6\x95\xeb\xdd\x4c\ +\xa5\xa7\x30\xe5\x10\x08\x7e\x96\x10\xca\x67\xe4\xa2\x5a\x1b\x65\ +\xec\xd9\xf3\x5f\xf8\xfb\xf3\x17\x8c\x2f\x06\xc8\xbb\x5f\x73\xdb\ +\x91\xd5\x82\x06\x3d\x35\x1f\xcd\x36\xbe\x6d\xa8\x19\xa8\x0d\x52\ +\x56\x20\x88\xc1\xaa\x82\x26\xf1\xf2\x2e\xcb\x68\xc6\xc9\xa9\xfc\ +\xbb\x9f\xdf\x8b\xee\xa9\xdd\x0d\x1b\x36\xa8\x90\x2e\xdc\xc7\xc6\ +\x8d\x1b\x7b\x00\xc0\x82\xde\xd9\xcd\xf9\x81\x4a\xfc\x40\x2c\x20\ +\x6c\x04\x78\xb9\x78\x66\x2c\x9e\x03\x03\x76\x73\x15\x91\x1b\x95\ +\xe7\x93\x44\x61\xfa\x58\xff\xd1\x40\xcf\xa3\x36\x6f\xde\x2c\xa9\ +\x23\xe5\xd0\x1b\x87\xac\xdf\xa2\x66\x7f\x9b\x5f\x88\x01\xdb\x49\ +\xa7\xdb\xba\xa9\xc1\xb7\x85\x0d\x20\x6e\x78\x64\xa1\x0f\xc5\xf7\ +\x73\x53\x53\xcf\x9d\xa4\x32\x3a\x3f\x5c\x2e\x9f\xd3\x29\x97\xd0\ +\xaf\xac\xb8\xf9\xe6\xe6\xfe\x40\xd8\xd2\xf0\xf2\x3d\xb8\x11\xb6\ +\x6a\x5c\x3d\xe9\x12\x72\xf5\x99\x50\xac\x9f\x9f\x75\x64\x3e\xd1\ +\xbf\x07\x41\x04\x0b\x17\x2e\xcc\x6f\x34\xb9\xfc\x8a\xcb\xe9\x98\ +\x2c\x40\x15\x79\xff\x37\x0e\xbe\xd1\x38\x9a\x5d\x1a\x06\x3e\x88\ +\x1f\x88\xc8\x25\x23\x37\x26\xc5\x52\xb0\xcf\xbf\x8b\x1f\xce\xe0\ +\x79\x72\x36\xbf\xd3\xc9\x1e\xa4\xd1\xec\x79\x7a\x57\xc3\x40\x49\ +\x84\x7b\x5c\xb5\x6a\xd5\x31\x29\x80\xe6\x32\x74\x78\xda\x3c\xb5\ +\xcc\x0d\xc1\x80\x64\x76\xb2\x94\x91\x41\xdd\xb7\xad\x62\x66\x57\ +\x10\x52\xe6\x27\x79\x36\xb5\x64\x3f\x7f\xfc\xe3\x1f\xc7\x90\x9d\ +\x8e\x1d\x03\x54\x15\x95\xce\x59\x3f\xc5\x5b\x37\x35\x34\x4c\xe7\ +\x36\x6f\xe3\x50\x73\x75\x04\xa4\xaa\x62\x6d\x5b\x54\xe3\xf0\x64\ +\x6d\x21\xd4\x1c\xc1\x72\xfd\xd8\x69\x9c\xb6\x3e\x4a\xc3\x69\x19\ +\xcc\x88\xd2\xf8\x09\xc2\x8a\x95\x2b\x70\xcf\xa6\x7b\x8e\xae\xfc\ +\xec\xa6\x9b\x72\xa2\x09\x00\x88\xc5\xa0\x71\x51\x3b\x92\xd0\xd0\ +\x18\x62\xb8\x7d\xa8\x81\x10\xc5\x42\xe4\xa6\x19\xd1\x65\xc9\x25\ +\x8a\x21\xd5\xeb\xe8\x7b\x1f\xf2\x80\x19\xa1\xdc\x47\x78\x4c\x2e\ +\x60\xeb\xd6\x6d\xa1\x47\x96\x80\x3f\xfc\xe1\xf5\x86\x11\xea\x02\ +\xef\x09\xa4\x61\xfa\xa7\x09\xf1\xf2\x40\x88\x62\xca\xf2\x80\x88\ +\x3c\x02\x4e\xbd\x84\x45\x1a\x42\x1e\x6a\x32\x89\xe5\x6d\x20\xa6\ +\xa3\x46\xea\x0d\xab\x56\x91\x05\xf7\xde\xbb\xb9\xfb\xc2\xdf\x78\ +\xa3\x0f\x56\x5d\xf9\x39\xb9\x07\xd6\x60\xb5\x74\x1a\xa7\xd6\x11\ +\x6a\x0a\x9b\xbb\xbc\x51\xa4\x69\x88\x05\xb9\x29\xe6\x09\xf8\xa6\ +\xc7\xfa\xdc\xe7\x3e\x97\x5f\x41\xb3\x68\xf1\x22\x7a\x4f\x0a\xb0\ +\x6d\xdb\x36\x21\x02\x5e\x7d\xf5\xb5\xf2\xa5\x99\xd8\xd9\xf7\xc7\ +\x7b\xe5\x20\xf3\xb5\x89\xf8\x78\xbf\x69\x66\x9e\x9b\x24\x66\x22\ +\x0e\x8b\x8b\xa5\x31\x8b\x58\x1f\x0f\xe3\x5b\xc2\xad\x42\x36\xbc\ +\xc7\x07\x62\xa7\x80\x36\x59\x3d\x95\xa1\x6b\x18\x2f\xd2\xf0\x64\ +\xa5\x7d\xbc\x7c\x8f\xba\x1f\x42\x0a\x6e\xf1\xb3\x0e\x0c\x9e\xf2\ +\xcf\x6d\x3b\x9f\xb4\x02\x5d\x74\xd1\xe7\x41\x10\x7c\x71\x51\x67\ +\x05\xe8\xe8\x02\x76\xec\xd8\x9e\xe1\x8b\x30\x07\x93\xca\xe2\x08\ +\x9a\xfa\x62\xea\x07\x12\xd5\x6b\x5f\xe7\x67\xa4\xb6\xb8\x7e\x10\ +\x23\xf4\x94\x31\x2a\x21\x97\x38\x25\xf4\x26\x47\x5b\xa3\x06\xf5\ +\xd0\x33\x5c\xeb\x24\x8e\x27\xad\x84\xeb\x03\x1d\x9c\x5b\x13\x12\ +\xb3\x98\x62\xd2\xdf\xe5\x19\x73\x80\xe9\xe6\x02\x71\xea\x23\x13\ +\xdd\xcb\xa8\x42\x3d\x4a\x1c\x02\xf2\x5b\xc8\xc4\x60\xeb\xe2\x54\ +\xf5\x03\xa5\x69\x2d\x8f\x3d\xf6\x98\x5c\x76\xd9\x65\x74\x54\x0a\ +\x90\x2a\x4c\xfe\xef\x77\xbf\xcb\x55\x2f\xe5\xb9\x75\x67\x4b\x6d\ +\x80\x7a\x68\x61\x56\xcb\xe9\x07\x45\x89\x9a\xb1\x27\xd1\x46\x53\ +\x9e\xda\xe1\xe2\xfa\x34\x60\x82\xdd\x7e\x8a\x3d\xf9\x86\x6d\x73\ +\xa3\xda\xb4\xef\xb7\x65\x07\x6a\x27\xb2\xb5\x1a\xfa\x10\xe3\x3a\ +\xfc\xa0\xa9\xe4\xd3\xf5\xa0\x28\x9d\xa9\x4b\x13\x50\xdc\x8b\x27\ +\x48\xea\x1d\x4b\xe2\x66\x13\x9b\xf9\x44\xb9\x16\xa2\xf0\x2c\xcc\ +\x1e\x43\xd4\x5f\x92\x21\x10\x3c\xf9\xd4\x93\xb8\xe4\x92\x4b\x73\ +\xcc\x70\x74\x0a\x10\x1b\x10\xf3\x14\x4d\xa8\x76\x2f\x88\xdb\x71\ +\xda\xf7\x91\xca\x72\xa1\x80\x33\x29\x2d\x61\x1e\x1f\x14\x34\x9b\ +\x2e\x2e\x76\x60\x12\x53\xed\xad\x5d\x7a\x48\x2b\x6b\x56\x49\xfc\ +\xeb\xe0\x50\x0f\xa5\x14\xa9\xd4\xed\x2d\x60\xdc\x40\xef\x5a\x57\ +\x23\x7a\x9b\x66\x14\x9e\xe8\x1c\x56\x8b\x42\x90\x3c\x35\x15\x1d\ +\x2c\xa2\x1e\x0f\x63\x5a\xc5\x54\x78\xc8\xe6\x2d\x23\x16\x87\x90\ +\xd4\xe6\x94\x47\x3e\x80\x8e\x4e\x01\xbe\xb3\xf3\x3b\x19\xd7\xb0\ +\x9f\xc9\xab\xfc\x63\xe3\x34\x10\xd4\xcd\xb0\x99\xd7\xeb\xc6\xb0\ +\xf9\xaf\xde\xbf\xd0\xc1\x70\xeb\x19\xe8\x48\x9e\x19\xdc\x0d\xdc\ +\x95\x5d\xe8\x27\x70\x35\x31\x93\xf5\x0a\xa5\x3a\xb0\x55\xb8\x84\ +\xc4\x72\xfb\x6c\x01\xa0\x74\xc0\x24\x4d\x2c\x60\xee\x2e\x16\xae\ +\xb9\x91\xe6\xf7\x0d\xd5\x20\xa9\xea\x37\xb4\x96\xac\x8a\xd1\xc0\ +\x53\x4f\x3d\x25\x5f\xf8\xc2\x17\xa8\x2f\x05\x48\xf1\xe3\xaf\x7f\ +\xfd\x6b\x5b\xfa\x14\x4d\x31\x45\x24\x6e\x36\x80\x7f\xef\x8f\x99\ +\xe9\x67\xdb\xc2\x35\x72\x37\xfa\x2d\x66\x2b\xbb\x2f\x2e\x9a\x7d\ +\x15\x1e\x32\xa3\x3e\xc6\xd5\x58\x6c\x56\x53\x40\xd3\x67\xa0\x61\ +\xc0\x33\x2b\x9f\xcb\x86\xa6\x36\xe1\x1c\x95\xb7\x98\xe8\x90\x16\ +\x1d\x22\x9f\xe2\x2e\x2d\xba\xb1\x93\x43\x29\xb3\x9b\xa5\xb4\xac\ +\x03\xa8\x14\x1b\x30\xf6\x23\x8f\xfe\xe8\xd1\xae\xaf\xea\xab\x29\ +\xc0\xae\x5d\xbb\xa4\x96\xd5\xca\xd3\xb3\x0a\xae\x29\xfd\x70\x64\ +\x98\x2c\x83\x0b\xd4\x5b\xbc\xec\x30\xef\x3a\x71\x20\x1d\x07\x27\ +\x24\x8c\x20\x66\x50\x94\xdd\xb8\xe2\xc6\xf2\x29\x9a\x50\xa4\x36\ +\x9f\xd0\x00\x36\xcd\x32\xaa\xe1\x52\x3e\x7a\x10\x17\xf7\x9b\x99\ +\x00\x79\xa0\x13\xd9\x50\xd0\x2b\x3e\x44\x8d\x18\x2e\x63\x61\x1b\ +\xdd\x8c\x7f\x59\xd5\x38\x48\x93\x15\xa8\x3a\xf1\xfe\x7b\xf7\xee\ +\x55\x25\x4f\x50\xac\x16\x37\x4c\xdb\xb6\xdd\x34\x30\x8c\x1d\x4c\ +\xaf\x1c\xc4\x75\xe0\xb8\xd1\xac\xba\x7f\x50\x0f\x60\x60\xd7\xe9\ +\x2b\x2e\xe7\xee\x67\xf8\x9b\x51\xb1\xbe\x59\x04\xaa\x16\x9f\x8b\ +\x2f\xaf\xf7\x05\xd6\xeb\xf5\xf5\x67\x98\xdf\x01\x66\xa6\x60\x1a\ +\x3d\xcb\x4d\xd9\x51\xf7\xaa\x19\xd6\x6c\x27\xc4\x4d\x58\x3d\xf6\ +\xc5\x7f\xf4\xd1\x47\xfb\xb7\x00\x09\x34\x04\x74\xeb\x18\x3b\xe4\ +\xf7\x23\xe4\xa9\x95\x22\xde\xf7\x39\x7e\x80\x44\x31\x70\xe2\x80\ +\x0b\x0c\x3b\x96\x5e\xa5\x62\xc1\x9e\xd4\x92\x30\xbe\xea\xc7\x7b\ +\x3e\x16\xcf\x48\x9a\xe9\xcc\x86\x43\xca\x38\xc2\x58\x3b\xb2\xef\ +\x1e\xf4\x55\xcd\x0d\xb5\x0f\x66\x44\x9c\x63\xe9\xa4\x84\x47\x0a\ +\xec\x35\x70\x20\xc7\x41\x66\x36\x96\x7d\x91\xab\x64\x11\xe5\xf3\ +\x3b\x52\xbf\x70\x04\x8e\x02\x7e\x1d\xe6\x01\x6b\x9f\x2f\xde\xe7\ +\x8b\x4b\x75\xea\x50\x0f\x50\x33\x75\x34\x60\xa2\x1a\x41\x62\x16\ +\x87\xea\x2f\x94\x64\x6f\x76\xf3\xf1\xe2\xde\x05\x5d\x42\x47\x62\ +\x4f\x12\x35\x24\x6e\xa4\x33\x1b\x8a\xe3\xb4\xd8\xfd\x29\x40\x05\ +\x40\x2a\x7c\xe2\x13\xf3\xf1\xc2\x0b\x2f\x94\x2f\x92\x3d\x33\x25\ +\x79\xf8\x5b\x13\x17\x00\x35\xff\x97\x7c\xbe\xde\xff\xac\x96\x19\ +\x94\xc8\x97\x90\x7d\xf1\xa2\x8f\xd5\x35\x17\xdf\x84\x23\xdc\xb4\ +\x48\x03\x5a\xfd\xb8\x36\xaa\x23\x73\xa8\x3c\x42\xce\x54\xb2\x7e\ +\xdf\x23\xdb\xa1\x3e\x8e\x88\x3a\x51\xa4\x1b\x08\xac\x61\x80\xa5\ +\x57\x2e\xa5\xaa\x2a\xd5\x3f\xa6\x3a\x46\xb7\x2c\xe5\xca\x20\xb8\ +\xcc\x1f\x9b\x31\xf0\xa8\x8d\x6a\x6b\x1a\x8f\xa6\x06\x47\x30\x87\ +\x2e\x23\x95\xdb\x6f\xca\x8b\xa3\xe9\x55\x6d\x06\x57\xb8\xcc\xa2\ +\xaa\x2c\x2a\x45\xaa\x9c\x67\xf6\x88\x9b\x58\x92\x78\x0b\xfd\xc2\ +\x47\x3f\xd3\xc7\xbc\xd4\xd2\xb3\x78\x27\xa0\xf4\x1f\x06\xa6\x99\ +\xbf\x9f\xfa\x24\x9e\xff\xd9\xf3\x26\xcb\x55\xf6\x70\xa4\x78\xf5\ +\x18\x75\xb0\xa3\x86\xc9\xb0\x7e\x86\xf1\xe5\xf8\x7b\x2a\x71\xba\ +\x37\x9f\x8d\x49\x10\x37\xf9\xd3\x8f\x9b\x2f\x11\x00\xd7\x58\x35\ +\x4d\xfa\x88\x2b\x38\xf5\x99\xcc\x1c\x11\x94\x37\x5b\x78\x1e\xe8\ +\x84\x5e\xec\x7e\x76\x7f\xd7\x64\xd0\xc3\xdf\xff\x7e\xb4\xbd\x94\ +\x99\xc1\xe4\xf2\x40\x88\xe8\x09\xd0\x13\xcb\x32\xcb\x97\x98\xc4\ +\xf8\x43\x6a\xba\x60\x3a\x98\xa0\x8f\x2e\xe0\x29\x9e\x97\x22\x2b\ +\x52\xf7\x52\xae\x49\x5a\x6b\x73\x91\x09\x22\x90\x4d\x9e\x39\x57\ +\xc7\xc4\x70\xb2\x5c\xb1\xf8\xf0\x72\xbb\xe5\xb9\xd2\xbd\x98\x6b\ +\x4f\x51\x69\xda\xfd\x3d\x9f\xaa\x14\x16\xba\x21\x04\x7a\xd1\x02\ +\xdd\x94\x77\xa6\x29\x45\x52\x8b\x4f\x7a\xe5\xb4\x12\xc1\x2a\x90\ +\x88\xba\x56\xbe\x8e\x1d\xd9\x45\xf1\x60\xf1\xe7\x3a\x45\xa2\x34\ +\xb1\x2b\xdd\xbf\x3f\x41\xab\x6a\x87\x6b\x4d\x07\xe9\xb4\xf8\xad\ +\xb4\xd2\x4a\x2b\xad\xb4\xd2\x4a\x2b\xad\xb4\xd2\x4a\x2b\xad\xb4\ +\xd2\x4a\x2b\xad\xb4\xd2\x4a\x2b\xad\xb4\xd2\x4a\x2b\xad\xb4\xd2\ +\x4a\x2b\xad\xb4\xd2\x4a\x2b\xad\xb4\xd2\x4a\x2b\xad\xb4\xd2\x4a\ +\x2b\xad\xb4\xd2\x4a\x2b\xad\xb4\xd2\x4a\x2b\xad\xb4\xd2\x4a\x2b\ +\xad\xb4\xd2\x4a\x2b\xad\x4c\x31\xf9\x7f\x7b\x85\x02\x3e\xd1\x57\ +\xa6\x01\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ +\x00\x00\x35\xd9\ +\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\x00\x01\x73\x52\x47\x42\x00\xae\xce\x1c\xe9\x00\x00\x00\ +\x06\x62\x4b\x47\x44\x00\xe5\x00\xbe\x00\x46\x49\x08\xc4\x6f\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\xdc\x01\x1d\ +\x11\x2e\x2d\x65\x07\x4c\x18\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\x20\x00\ +\x49\x44\x41\x54\x78\xda\xed\x9d\x79\x9c\x5d\x55\x95\xef\xbf\xeb\ +\xdc\x7b\x6b\xae\x4a\x65\xaa\xaa\x44\x42\x06\x42\x27\x84\x00\x61\ +\x1e\x92\x30\x28\x84\x49\x6c\x14\xa5\xd1\x7e\xbe\x56\xc4\xc6\x67\ +\xa3\xb6\xb6\xbe\xd7\x83\x36\x6a\xfb\x5a\x5b\xc1\x27\xb6\xaf\x15\ +\xa7\xe7\x80\x43\x1b\xda\xa1\x0d\x0a\x04\x04\x4c\x68\x09\x24\x10\ +\x48\x42\x08\x09\x90\xa9\x48\x2a\x43\xa5\xe6\x5b\x75\xef\x39\x7b\ +\xbd\x3f\xce\xb4\xf7\xb9\xb7\x08\x19\x50\xe8\xae\xfd\xa1\xc8\x1d\ +\xce\x3d\xf7\xdc\xb3\xd7\x5e\xc3\x6f\xfd\xd6\xda\x30\x36\xc6\xc6\ +\xd8\x18\x1b\x63\x63\x6c\x8c\x8d\xb1\x31\x36\xc6\xc6\xd8\x18\x1b\ +\x63\x63\x6c\x8c\x8d\xb1\x31\x36\xc6\xc6\xd8\x18\x1b\x63\x63\x6c\ +\x8c\x8d\xb1\x31\x36\xc6\xc6\xd8\x18\x1b\xaf\xd6\x71\x0c\xb0\x10\ +\xc8\x8d\xdd\x8a\xff\x5a\xe3\x78\xe0\x67\xc0\x7d\x80\x02\x3d\xc0\ +\xbf\x01\x7f\x0e\xcc\x18\xbb\x3d\xff\xb9\xc7\x59\xd1\xa4\x6b\xa1\ +\x50\xd0\x9a\x9a\x1a\x8d\x9f\x5b\x7f\xcf\x00\xff\x0c\x5c\x01\x34\ +\x8d\xdd\xb2\xea\x43\x5e\xa3\xd7\xbd\x10\x58\x09\x70\xdd\x75\xd7\ +\xf1\xe3\x1f\xff\x98\x1b\x6e\xb8\x81\x69\xd3\xa6\xb1\x72\xe5\x4a\ +\x7e\xf7\xbb\xdf\x31\x30\x30\x60\x1f\x5f\x8a\x8e\x5f\x0e\xdc\x03\ +\xac\x8d\x84\xe4\x68\x8c\x56\xe0\x6d\xc0\xa2\x48\x2b\x4d\x01\x9a\ +\x33\xf7\xb6\x14\x69\xa8\x6d\xc0\x7a\x60\x15\x70\x17\x30\xf4\x5f\ +\x42\xca\x76\xdf\xb3\xf8\x68\x0b\xda\x3c\x40\x67\xcd\x9a\xa5\x9f\ +\xf9\xcc\x67\x14\xd0\x37\xbe\xf1\x8d\xba\x6e\xdd\x3a\x7d\xf2\xc9\ +\xb5\xba\xfa\xb1\xc7\xf4\xdb\xdf\xfe\xb6\xbe\xe7\x3d\xef\xd1\xf9\ +\xf3\xe7\xab\xe7\x79\x59\xed\xb0\x1b\xb8\x03\xf8\x6f\x40\xc7\x61\ +\x7c\xff\x71\xc0\x0f\x81\x3d\x55\x34\xcf\xa1\xfc\xf5\x44\x42\xf9\ +\x67\x40\xcd\x1f\x62\x6e\xf2\xbf\xa7\xef\x69\x01\x7a\x8f\xe2\xf9\ +\xfa\x00\x06\x06\x06\x98\x3a\x75\x2a\x00\xeb\xd6\xad\xe3\x85\xad\ +\x5b\x99\x3a\x75\x2a\x46\x95\x79\xf3\x4e\x60\xee\xdc\x39\xbc\xeb\ +\x5d\xef\xa2\xa7\xa7\x87\xd5\x6b\xd6\xf0\xe8\xaa\x55\xac\x5e\xbd\ +\x9a\xbd\x7b\xf7\xb6\x03\x7f\x1a\xfd\x69\xa4\x11\x62\xed\xb0\x32\ +\x5a\xb1\xd5\xc6\x39\xc0\x37\x80\xf9\xf6\x8b\xd3\xa7\x4f\x67\xce\ +\x9c\x39\xcc\x9e\x3d\x9b\xf6\xf6\x76\x3a\xda\x3b\x08\x4c\x40\x3e\ +\x9f\xa7\x5c\x2e\x53\x2a\x95\xd9\xd3\xd5\xc5\x8b\x2f\xbe\xc8\xf6\ +\x1d\xdb\xd9\xb8\x71\x23\xbb\x77\xef\x06\x18\x07\x5c\x1c\xfd\x7d\ +\x1b\xd8\x04\x7c\x05\xf8\x17\xe0\x1f\x80\x9f\x02\x4f\x8c\x99\x80\ +\x97\x10\xa8\xe9\xd3\xa7\xa3\xaa\xf4\xf5\xf5\x31\x30\x30\xc0\xdf\ +\xfc\xf5\x5f\x73\xf9\x15\x57\x10\x04\x06\x63\x0c\xc6\x04\x18\x63\ +\x08\x4c\x80\x89\x5e\xdb\xb6\x6d\x2b\xab\x57\xaf\xe1\x89\x27\x9e\ +\x60\xfd\xfa\xf5\x94\x4a\xce\x7c\x0f\x02\xbf\x05\x7e\x1d\x39\x98\ +\x1b\x81\x86\x48\x38\x16\xc5\x07\x9d\x79\xe6\x99\x5c\x75\xd5\x55\ +\x2c\x5a\xb8\x90\x89\x93\x27\x25\x6b\x5a\x23\xcb\xa2\x0a\x22\x8a\ +\x5a\x86\x46\x35\x3c\x48\x15\x7a\x7b\x7b\x59\xb3\x66\x0d\x8f\x3c\ +\xf2\x08\x0f\x3f\xfc\x70\x2c\x10\xf1\x18\x01\x6a\xa3\xc7\xcf\x45\ +\x9a\xea\x91\x57\x5c\x00\xba\xee\x59\xdc\xd2\x7e\xe9\x8a\xbe\xd7\ +\x88\x10\x28\x40\x3e\x9f\xe7\xae\xbb\xee\xe2\x43\x1f\xfa\x10\xcf\ +\x3c\xf3\x0c\x00\x37\xdf\x7c\x33\x17\x5d\x74\x21\x26\x30\x04\xc6\ +\x44\xff\x06\x91\x40\x18\x82\x20\x7d\x5c\x2c\x16\xd9\xb4\x69\x13\ +\x6b\xd7\xae\xe5\xa9\xa7\x9e\x62\xc7\x8e\x1d\xd9\xef\xd9\x1b\x09\ +\x40\x23\xc0\xc5\x17\x5f\xcc\xfb\xdf\xff\x7e\x66\xcd\x9c\x15\x4f\ +\x75\xf4\x7f\xb5\xae\x4a\xe3\xff\x92\xa7\xd6\x33\xfb\x10\x44\xc3\ +\x4f\x6e\xd9\xbc\x85\xbb\x7e\x75\x17\x3f\xfd\xe9\x4f\x29\x16\x8b\ +\x00\x65\xa0\x60\x5d\xc7\x0f\x22\x41\x38\xaa\xc3\x89\x9d\x3f\xf6\ +\xce\xe9\xa5\x5b\xee\xd8\xfe\x5a\xd1\x02\x27\x02\xf3\x9a\x9b\x9b\ +\xe5\x8d\x6f\x7c\x23\x6f\x7f\xfb\xdb\x29\x16\x8b\xac\x5f\xbf\x9e\ +\xb5\x6b\xd7\x72\xf9\xe5\x97\xe3\xe5\x72\x04\x41\x80\x6f\x02\x82\ +\x20\x60\xd9\xb2\x69\x74\x76\xd6\x51\x57\x57\xa4\xb6\x76\x04\x3f\ +\x08\x00\x61\xe2\xc4\xf1\x9c\x30\x6f\x1e\x17\x5c\x70\x01\xe7\x9f\ +\x7f\x3e\x53\xa7\x4e\xa5\x50\x28\xd0\xdd\xdd\x8d\xef\xfb\x8d\x40\ +\x4d\x47\x47\x07\xb7\xdc\x7a\x2b\xef\x7a\xd7\xbb\x68\x6d\x6d\xc5\ +\xa8\xa2\x6a\x50\x63\x30\x80\x1a\x0d\xff\x54\xd3\xf7\x94\xe8\x5f\ +\xc5\xa8\x81\xe8\xfd\xf0\x38\x83\x12\x3d\x57\x43\xeb\xf8\xf1\x9c\ +\x75\xd6\x59\xec\xdc\xb9\x93\x67\x9f\x7d\x96\x8f\x7c\xe4\x23\xb9\ +\x8f\x7e\xf4\xa3\xec\xdc\xd9\x19\x0b\xe5\xc9\xc0\x9b\x80\x6f\x1e\ +\x45\x07\xd6\x15\x80\x8f\xbe\x73\xba\x77\xcb\x1d\xdb\xf5\x55\x3e\ +\xf1\xb3\x80\x5b\x80\xeb\x80\xd2\xc8\xc8\x48\xa1\xbf\xbf\x9f\x73\ +\xcf\x39\x97\x53\x4f\x3b\x95\x55\xab\x56\xd1\xd9\xd9\x89\x20\xcc\ +\x3f\x69\x3e\x41\xe0\x63\x82\x80\x72\x39\xe0\xd3\x9f\x3e\x8f\xdf\ +\xfe\xf6\x58\x96\x2d\xfb\x23\x1e\x78\x60\x06\x5b\x36\x4f\x60\xff\ +\xfe\x1a\x44\x02\x1a\x1a\x06\x50\x63\xc8\x17\xf2\x4c\x99\x3a\x95\ +\x93\x4f\x3a\x89\xf5\xeb\xd7\xd3\xd3\xd3\x43\x47\x47\x07\x77\xdc\ +\xf1\x03\x66\xcd\x9a\x89\x51\x85\x68\x52\x93\x3f\x34\x9d\xe8\x48\ +\xd5\xab\x12\x0a\x42\x3c\xe9\x1a\xda\x85\xc0\x28\x60\x30\x1a\x1e\ +\x67\x8c\x49\x84\x06\x55\x96\x2e\x5d\xca\xae\x5d\xbb\xf8\xe3\x37\ +\xbd\x89\x13\x4e\x38\x81\x4b\x2e\xb9\x98\x8e\x8e\x0e\x56\xae\x5c\ +\x49\x14\x61\xbc\x01\xf8\x7f\xaf\x88\x00\xbc\xca\x27\xbf\x25\x72\ +\x8e\xbe\x09\x9c\x0e\x18\xe0\x21\xe0\xb8\xc1\xc1\x41\xae\xbe\xfa\ +\x6a\x82\x20\xa0\xa3\xa3\x83\xfb\xee\xbb\x8f\xae\xae\x2e\xae\xbc\ +\xf2\x4a\x4c\x10\xe0\x07\x01\xc3\xc3\xe1\x44\x14\x0a\x3e\x7d\x7d\ +\x75\xf4\xf5\xd5\xb3\x73\x67\x2b\xeb\xd6\x1d\xc3\x43\x0f\xcd\x61\ +\xf9\xf2\xf9\x6c\xdc\x38\x95\xdd\xbb\x9b\x18\x19\x81\x09\x13\xba\ +\x79\xf0\xc1\x07\x19\x1c\x1c\xe4\x73\x9f\xfb\x1c\xb3\x66\xcd\x8a\ +\x56\x7c\x34\xc1\xc6\x60\x50\x47\x10\x92\x09\xc7\x60\x8c\xf5\x7a\ +\x34\xc9\x6a\x0c\x10\x6b\x88\x48\x2b\x44\x8f\xd1\x50\x28\xbe\x7e\ +\xfb\xed\x0c\x0d\x0d\xf1\xee\xf7\x5c\x4f\x73\x73\x33\xaa\xca\xec\ +\xd9\xb3\x99\x31\x63\x26\x0f\x3e\xf8\x20\xc0\xb1\x91\x7f\x70\xff\ +\x6b\x29\x0a\xa8\x18\x5d\xf7\x2c\x6a\x6e\xbf\x74\x65\xff\x21\xc6\ +\xfe\xd7\x03\xbc\xfe\x8f\xfe\x88\x6b\x4e\x3e\x39\xff\xc0\xb3\xcf\ +\x2e\xb9\xf3\xa9\xa7\x98\x38\x71\x22\x65\x3f\x5c\xe9\xf3\xe6\xcd\ +\xa3\xb5\xb5\x95\xbd\x7b\xf7\xb2\x71\xe3\x46\x66\xcf\x9e\x4d\x10\ +\x04\x88\x67\x78\xd3\x55\xeb\x08\x4c\x40\x10\x18\x76\xec\x68\x61\ +\xf3\xe6\xc9\x6c\xd9\xd2\xc6\xf3\xcf\xb7\xb3\x67\x4f\x2b\x9b\x36\ +\x1d\xc3\xa6\x4d\xc7\xd0\xd2\xd2\xcf\x47\x3e\x7c\x2b\x5d\x5d\x5d\ +\xd4\xd6\xd6\x72\xca\x29\xa7\x60\x4c\x80\x22\xa0\xc6\x72\xe8\x12\ +\xef\x2e\xd1\xc9\x8a\x86\xa2\x69\xf9\x04\xb1\xf5\x97\xd8\x54\x44\ +\xcf\x24\xd2\x18\xf1\xe7\x0e\x74\x1f\x60\xdf\xbe\x7d\xd4\xd7\xd5\ +\xd1\xd1\xde\x81\x31\x26\x39\xf7\xf9\xe7\x2f\xe2\x86\xf7\xbe\x97\ +\x6f\x7e\xe3\x1b\x00\xff\x0b\xb8\x3d\xc2\x15\x5e\x9b\x02\x70\x88\ +\x93\x0f\x30\x15\x60\xc1\xd4\xa9\xbc\xef\xcc\x33\x29\x95\x4a\xdc\ +\xb3\x69\x13\x00\x97\x5f\x7e\x19\x41\xb9\x4c\x60\x42\xa7\xef\xf4\ +\xd3\x4f\xe7\xfe\xfb\xef\xe7\xa9\xa7\x9e\x64\xfa\x8c\x19\x98\x20\ +\xc0\x98\x80\xc0\x28\x1a\x04\x04\xc6\xd0\xde\xb1\x97\xc9\x93\xbb\ +\x38\xe7\x9c\xd0\x49\xec\xe9\xad\xe5\xf9\xe7\x3b\x78\xfe\xf9\x29\ +\xe4\xf2\x65\x9e\xdd\xbc\x19\x80\xf9\xf3\xe7\x93\xcb\xe5\x08\x02\ +\x6b\xaa\xd4\xf5\x44\x63\x47\xce\x89\x02\xe2\x50\x20\x8e\x08\xb0\ +\x26\x5b\x53\xc7\x51\x54\x92\xcf\x3c\xb5\x6e\x1d\x00\x73\xe6\xce\ +\x45\x01\x13\x04\x8e\xd3\x78\xed\xdb\xde\xc6\xc3\x2b\x57\xb2\x71\ +\xe3\x46\x0f\xf8\x05\xb0\xe0\x48\xe7\xc1\x8b\xbc\xff\xc6\xd7\x80\ +\xd3\x77\x2c\xc0\xac\xd6\x56\xfc\x62\x91\xc7\xb7\x6f\xa7\x7f\x64\ +\x84\x89\x13\x27\xb2\x68\xf1\x62\xca\xbe\x8f\x1f\xfd\xcd\x9d\x7b\ +\x02\x00\x9b\xb7\x3c\x87\x5f\x2e\x47\xaf\x07\xf8\xe5\xb2\x75\x5c\ +\x10\xbd\xe6\x53\xf6\xcb\xd4\xd7\xf7\x71\xc2\x09\xcf\x70\xd9\xe5\ +\xf7\x73\xf1\x1b\x1e\xe0\xf9\xe7\x9f\x07\xe0\xe4\x93\x4f\x71\x22\ +\x08\x63\x22\xc7\x2f\x8a\x2e\x4c\x10\xe0\xc7\x61\x66\x7c\x5c\x10\ +\x44\x42\x17\x0a\xa4\x6a\x10\x45\x23\x69\x28\x6a\x8c\x41\x03\x4d\ +\x3e\x17\x18\xc3\xe3\x6b\xd6\x00\x70\xd2\x49\xf3\xd1\x28\x82\x09\ +\xe2\xc8\xc5\x18\x54\x0d\x1f\xf8\xe0\x07\xe3\xfb\x71\x4a\xe4\x0f\ +\x1c\xb9\x06\xd0\xd7\x06\x24\x79\x2c\xc0\xf8\x42\x01\x7f\xb8\xc8\ +\xc6\xae\x2e\x00\xce\x3f\xff\x7c\xfc\xb2\x9f\x4e\x50\x60\x38\xe6\ +\x75\x21\x38\xb4\x63\xfb\x76\x7c\xdf\x4f\xf0\x80\x18\x1b\xb0\x31\ +\x81\x64\x62\x9c\x10\x51\xd9\xba\x75\x2b\x00\x0b\x4e\x39\x39\x5c\ +\x89\x2a\xa8\x68\x45\xbc\x1f\xa9\x80\x54\x03\x64\x4d\x83\x48\xa8\ +\x02\x22\x1b\xa0\x98\x64\x49\x2b\xa1\x27\x13\x7e\xc2\xf0\xf8\xe3\ +\x8f\x3b\x42\x17\x6b\x11\xb1\x34\xca\x8c\x19\xd3\x39\xfb\xec\xb3\ +\x59\xb5\x6a\x15\xc0\xe7\x80\x33\x8f\xdc\x04\x08\x39\xc0\x7f\x95\ +\x0b\xc0\x34\x80\x56\xcf\xa3\x5c\x1c\x66\x47\x6f\x08\x2c\xce\x9a\ +\x35\x33\x9c\x64\x8d\xe2\xfd\x20\x60\xd2\xe4\xc9\x00\xec\xdb\xb7\ +\x8f\x72\xb9\x1c\x39\x62\x91\x00\x04\x86\x40\x83\xe8\xd8\x4a\xb0\ +\x08\x85\x62\xb1\x48\x57\x57\x17\xf9\x7c\x9e\x39\x73\xe7\x86\xab\ +\x15\x09\xc3\x38\x42\x75\x5e\x31\xe1\xaa\xa8\x40\xf4\x3f\x67\x82\ +\x63\x41\x10\xa3\x0e\x2e\x60\xac\xc7\x7b\xf6\xec\x61\xc7\x8e\x1d\ +\x34\x34\x34\x30\x67\xce\x1c\x4c\x74\x2d\x6a\x19\x1b\x25\x74\x41\ +\xae\xbd\xf6\x4f\x62\x01\x38\x2d\x4a\x74\x0d\x1c\x91\x09\xe8\x58\ +\xb2\xc2\x7f\xad\x68\x80\x16\x84\x72\x71\x98\xee\xe1\x61\x00\x26\ +\x4d\x9a\x1c\xc6\xfa\xe5\x54\xb5\x7b\x9e\x47\x63\x63\x23\x41\x10\ +\x84\xb1\x7c\x39\x56\xf9\x3e\x7e\x50\x0e\x9f\x07\x3e\x81\xef\x13\ +\xf8\xe5\xf0\x71\x10\xde\x70\xdf\xf7\xd9\xb6\x6d\x1b\xaa\xca\xdc\ +\xb9\x73\xc9\x17\xf2\x98\x40\x2d\x2d\x61\x09\x92\xfd\x9a\x2a\x1a\ +\x98\x44\x9d\x87\x9f\xb1\xd5\x7d\x68\x2a\xc2\x63\x43\x6c\x42\x83\ +\x00\x8d\x84\x6f\xd5\x23\xab\x00\x38\xed\xb4\xd3\xf0\x3c\x49\x54\ +\x7f\x22\xa8\xf1\x9f\x09\x98\x3d\xfb\x38\x66\xcc\x98\x11\xcf\xdf\ +\xdf\xbf\x26\x9d\xc0\xc3\xd5\x00\xe3\x50\xfc\xe1\x21\xfa\x22\xf8\ +\x76\xdc\xb8\x16\xca\xe5\xb2\xa5\xd2\xc3\x1b\xda\xd8\xd8\xc8\xe0\ +\xe0\x20\x7d\xbd\x7d\xd4\xd7\xd5\x61\x4c\x6a\x6f\x43\x64\x50\x93\ +\x95\x0f\xd0\xd3\xd3\xc3\x9a\x35\x21\x3c\xdc\xd6\xd6\x96\x38\x80\ +\x26\x08\xe3\x76\x17\xd1\x0b\x57\xbe\x44\x0b\x3c\x71\x02\x63\x04\ +\x30\x52\xfb\x9e\x16\x09\xa4\x2e\x5d\xc9\xc9\x72\x36\x91\x63\x98\ +\xea\x8a\x95\x0f\xaf\x04\xe0\xf4\xd3\x4f\x27\x08\xe2\x57\x5d\x27\ +\xd1\x36\x1d\x17\x5c\x78\x01\x5b\xbf\xb3\x95\x28\x9f\xf1\x3f\xff\ +\xb3\x0b\x40\x1b\x50\xd7\x90\xcb\x21\x23\x25\xca\xc6\x67\x28\xf2\ +\x90\x6b\x6a\xea\xf0\x7d\x3f\x74\x92\x4c\xac\xd6\x7d\xea\xeb\xea\ +\x01\x18\x18\x1c\x60\x82\x3f\x21\xb5\xf1\x89\xa3\x16\x3e\xdf\xb2\ +\x65\x0b\xab\x57\xaf\x66\xf3\xe6\xcd\x89\x3a\x3f\xee\xb8\xe3\xb8\ +\xfa\xea\xab\x39\xfb\xac\xb3\xa3\xf0\x2f\x52\xfb\x0e\x7c\x9b\x4e\ +\x9f\x49\x63\x40\x27\x17\x10\x50\x9b\x1a\xf9\x24\x2f\x10\x7d\x36\ +\x12\x1a\x51\xe8\xed\xeb\x65\xc3\x86\x0d\xe4\x72\x39\x4e\x3f\xfd\ +\xf4\x50\xfd\xc7\x53\x1d\x9f\x53\x25\x3c\x38\xc4\x8b\x58\x78\xde\ +\x42\xbe\xf7\xdd\xef\xa1\xaa\x53\x81\xd7\x01\x9d\x47\x24\x00\x5d\ +\xf7\x2e\xae\x6d\x5f\xb2\x62\xe4\x55\x6d\xff\x73\x39\xfc\xe2\x10\ +\x25\xdf\xc7\x00\xb9\x5c\x0e\x41\xf1\xfd\xa0\x02\xe3\xaf\xa9\x0d\ +\xb3\xab\xc3\xc3\xc3\xd1\xfb\xa9\x57\xde\xdf\xd7\xc7\x13\x4f\x3c\ +\xc1\x9a\x35\x6b\xe8\x8d\x7c\x89\x7c\x3e\xcf\xa2\x45\x8b\xb8\xf2\ +\xca\x2b\x99\x7f\xe2\x89\xc4\xe6\xdb\x04\x26\x71\xfe\xe2\x58\xde\ +\x68\x1a\xcb\x27\xa1\x5e\x26\xec\x73\xad\x37\xae\xff\x90\xf8\x09\ +\xa1\x6e\x59\xb1\x62\x05\x41\x10\x70\xda\x69\xa7\x85\xa6\xcb\x18\ +\x2b\xb4\x74\xcf\x13\xbf\xd6\xda\xda\x4a\x5b\x5b\x1b\x5d\xa1\x33\ +\x7c\x0d\xf0\xe5\x23\x12\x00\x0d\x93\x0f\xaf\x6a\xfb\x3f\xce\xf3\ +\x28\x0f\x17\x29\x96\xfd\x68\xf5\xd7\x84\x00\x50\x1c\x26\x99\x10\ +\xf5\x33\xc6\x90\xcb\x85\x20\xe7\xf0\xc8\x30\x7e\x50\x26\xf0\x03\ +\x5e\x78\xe1\x05\x56\xaf\x5e\xcd\xc6\x8d\x1b\x13\xd5\xdf\xd1\xd1\ +\xc1\x15\x97\x5f\xc1\x25\x97\x5c\x4c\xcb\xb8\x71\xe1\xca\x8d\xde\ +\x4b\x54\xaf\x49\x91\x1c\xa3\xb1\x9a\x0f\x3d\xb2\x58\x28\xe2\x15\ +\xed\x44\x01\xd6\x6a\x77\xc0\xa3\xe4\xf3\xe1\xf3\x08\xe1\x63\xf1\ +\xe2\xc5\xa1\xc0\x59\x8e\xa6\x66\x40\x87\x48\xe7\xb0\xf6\x89\xb5\ +\xf1\xe4\x2b\x21\x37\xe1\xc8\x4c\x40\xc7\x92\x15\xa6\xeb\x9e\xc5\ +\x75\xed\x97\xae\x18\x7e\x15\x0a\xc0\xeb\x00\x9a\x15\x82\x52\x99\ +\x11\x63\xa8\x17\xa1\x5c\x2e\x73\xe0\xc0\x01\x1a\x1a\x1b\x51\x13\ +\x10\x04\x91\x5d\x0f\x02\xea\xea\xea\x00\x5e\x08\xfc\x60\xe6\xca\ +\x15\x2b\x59\xbd\x7a\x35\xfb\xf7\xef\x0f\x3d\x5f\xcf\xe3\xdc\x73\ +\xcf\xe5\xf2\xcb\x2f\x67\xc1\x82\x05\x78\x22\x21\xf0\x92\x84\x5e\ +\x38\x2a\xd8\x56\xef\xce\xaa\xb4\xbd\xf4\x44\x2b\x54\xf9\xec\x28\ +\x13\x09\xca\xce\x9d\x3b\xd9\xbc\x79\x33\xf5\xf5\xf5\x9c\x71\xfa\ +\x19\x98\x28\xa7\x10\x7e\x87\xa4\x62\xa8\x29\x08\x55\x1c\x19\xe6\ +\x5b\xdf\xfa\x56\x7c\xb6\x7b\x81\x7d\x47\xc5\x07\x78\x95\x4e\xbe\ +\xa5\x01\x84\x7d\x41\xc0\xd2\x81\x01\x8a\xaa\xe0\xfb\x7c\xff\xfb\ +\xdf\xe7\x3d\xef\x79\x8f\x03\xd4\x04\x81\xe1\xcc\xb3\xce\xe4\xc9\ +\xb5\x6b\xf5\x87\x3f\x4c\x17\xc7\xc4\x89\x13\x59\xb2\x64\x09\x4b\ +\x96\x2c\x61\xe2\x84\x09\x20\x82\xaa\x86\x1e\xbc\x0d\xdd\x3a\xb1\ +\x37\xae\x36\xc0\xcd\xeb\xdb\x33\xaa\x8e\xce\x57\x27\x65\xa7\xaa\ +\x2e\x7e\x10\x09\xcd\x43\x0f\x3d\x04\xc0\xb9\xe7\x9e\x4b\x2e\x9f\ +\x23\x08\xfc\x70\xfd\x27\x31\xa4\x0b\x35\x03\xdc\xf1\xfd\xef\xb3\ +\x6f\xdf\x3e\x80\x61\xe0\x2d\xff\x15\xa2\x80\x63\x00\x96\x17\x8b\ +\x3f\x5c\x5e\x2c\xbe\x1d\x90\x86\x86\x06\x00\x9e\x7e\xfa\x69\x1e\ +\xfa\xed\x43\x9c\x7b\xce\x79\x14\x8b\x43\x3c\xfe\xc4\x13\xac\x7e\ +\xec\xb1\x98\x60\x31\x4b\x44\x58\xb0\x60\x01\x97\x5d\x7a\x19\x67\ +\x9c\x79\x26\xb9\x9c\x07\x0a\x81\x1a\x0b\x84\x09\x75\x72\xe8\x75\ +\xa7\x2b\x5d\x6c\x8c\x5f\x15\x11\x6b\xf1\x67\x54\x7d\x3a\xb9\x92\ +\x6a\x83\xe8\x9c\x39\x4a\x18\x0a\x15\x1a\xc3\x0f\x02\x1e\x78\xe0\ +\x81\x30\xd1\xb1\x70\x61\x92\x34\x72\x86\x03\x3a\x29\xab\x57\xaf\ +\x4e\x3e\x03\xfc\x77\x8e\x10\xc4\xab\x2a\x00\xfb\xee\x5b\xbc\x20\ +\x30\xfa\x33\x90\x19\xa1\x26\x12\x2b\x9d\x41\xe6\xb1\x23\xf6\x88\ +\x0a\x22\xfa\xf9\xfa\xda\xdc\x27\x9b\x2f\x78\xb0\x78\x94\x04\xe0\ +\x51\x60\x0e\xf0\x8e\x38\x56\xfe\xd8\xc7\x3e\xc6\x93\x4f\x3e\xc9\ +\xe7\x3e\xf7\x39\xee\x5a\x76\x17\xcf\x3f\xf7\x3c\x9b\x37\x6f\x66\ +\x64\x64\x24\x0a\x0f\xc7\x71\xd1\x45\x17\x71\xe9\xa5\x97\xd2\xd1\ +\xde\x9e\x78\xed\x89\x9a\x37\x19\xef\xda\xc4\xa8\x5d\xfa\x5b\x8c\ +\x56\x86\x7c\x6a\xa3\x7f\x9a\x46\x07\xd8\x4e\x60\x46\x2b\x18\x72\ +\xa8\x1a\x7b\xe1\x03\xca\xea\xc7\x56\xd3\xd7\xd7\xc7\xd4\xa9\x53\ +\x39\xfe\xf8\xe3\x09\x4c\x10\x3b\xfa\x29\x72\x68\x09\x44\x57\x57\ +\x17\x5f\x0f\x93\x41\x00\x77\x02\x4b\x8f\x7a\x32\xe8\xc0\x6f\x16\ +\xb5\x97\x7d\xfd\x1b\x54\xa6\x29\xf1\xe4\x93\x4e\xb8\x48\xf4\xc3\ +\x05\x57\x4f\x86\x76\x14\x41\x11\xf9\x9f\x43\xa5\x60\x56\xef\x43\ +\x17\xfc\xe5\xb8\x0b\x1e\xea\x3c\x0a\x02\xf0\x02\x70\x2a\xc0\xeb\ +\x5f\xff\x7a\x6e\xba\xe9\x26\xc4\xf3\x38\xfb\xec\xb3\xb9\xf8\x92\ +\x4b\xb8\x6f\xf9\x72\xd6\xaf\x5f\x0f\xc0\xbc\x79\xf3\x58\x72\xc9\ +\x12\xce\x39\xf7\x1c\x0a\x85\x02\xa0\xe1\x6a\x57\x12\xbb\xaa\x29\ +\x1d\x27\x0d\xcd\x52\x93\x6b\xd9\xf9\xc4\x5b\x4b\x50\xbb\xcc\x14\ +\x57\x3a\x78\xd5\xa2\x80\xaa\xef\x29\x77\xdf\x73\x37\x00\x17\x5e\ +\x78\x61\xe2\x94\x6a\xe5\x9a\x02\x42\x74\xf2\xcb\x5f\xfe\x32\xc3\ +\x21\x00\xd6\x09\xfc\xc9\x2b\x92\x0e\x1e\x29\x51\x9b\xcb\x49\xb7\ +\xc2\xb0\x27\xd2\x68\xd4\x5a\xe9\xf1\x02\x11\x89\xbc\xdb\xf8\xa6\ +\x45\x77\x2e\xb4\xa9\x12\x3e\x94\x37\x8c\x94\xf4\xd3\x7b\x96\x9f\ +\xff\xf5\xa6\x86\xdc\xe3\x0d\x0b\x1f\x38\xdc\x28\xa3\x05\xf8\x31\ +\x20\x67\x9f\x7d\x36\x7f\xf1\x17\xef\x0f\xaf\x21\x08\x19\x35\xd7\ +\xbf\xeb\xdd\x0c\x0d\x0e\xd2\xda\xda\xca\xc5\x17\x5f\xcc\xb4\x69\ +\xc7\xa6\x2b\x38\x08\x1c\x15\x5e\xe9\xa0\x09\xaa\x06\x41\x2a\x6d\ +\xbc\x0d\xda\x58\x19\x3d\xad\x92\x02\xce\xda\x68\xec\xec\xa0\x68\ +\x55\xfe\xce\xb6\x6d\xdb\x78\xf6\xd9\x67\xa9\xad\xad\x65\xe1\xc2\ +\x85\x2f\x79\x03\x54\x95\xdb\x6f\xbf\x9d\xce\xce\xce\xd8\xee\x9f\ +\x99\x3a\x08\x47\x51\x00\x7a\x7f\x7b\x7e\x5d\xb9\xc4\xdb\x02\xa3\ +\xd7\x29\xd2\x98\xdc\x07\x11\x5b\x06\x52\xe1\x94\x74\xe2\xe3\xe5\ +\x13\xcb\x83\xc2\x78\x51\xae\x17\x41\x54\xe4\xc3\x1c\x3e\x2b\xf8\ +\x27\x40\xdd\xa4\x49\x93\xf8\xc0\x07\x3e\xe0\x10\x2b\x00\x0a\x35\ +\x79\xfe\xf2\x2f\xff\x32\xb1\xd9\x31\x86\x8e\xe3\xb1\x8b\x05\xd0\ +\x68\xc5\x12\x33\x55\xbc\x75\xb5\x55\x42\x45\x0a\x58\xc9\x52\x00\ +\x47\x65\x69\x8d\xf2\xf2\x7d\xf7\xdd\x97\x84\x7e\x8d\x8d\x2f\x9d\ +\x8c\xbd\xf3\xce\x3b\x59\xbb\x76\x6d\x7c\xb6\x37\x02\xbb\x8e\x96\ +\x73\xe5\x08\x40\xcb\xf1\xcd\xa5\xee\xa7\xfb\xd7\x81\x0c\x4b\x14\ +\x1a\x91\x99\xfa\xc4\xd1\x49\x56\x7e\x8c\x50\xa9\x75\x9c\xf3\xc9\ +\x77\x0f\x0c\x94\xff\x78\xcf\xf2\xc5\x8b\xda\x2e\x59\xb1\xf1\x10\ +\xaf\xaf\x15\x58\x02\x70\xc3\x0d\x37\x50\xa8\x29\x10\x04\x9a\x64\ +\xd6\x6d\x08\x36\x4d\xce\x64\x54\xb4\xad\xce\x47\xd5\x04\x5a\x05\ +\xea\xc5\x9d\x64\xeb\x37\x0d\x0d\x0d\xb1\x77\xef\x5e\xf6\xef\xdf\ +\x4f\x77\x77\x37\x43\x43\x43\x0c\x0d\x0d\xc5\xea\x99\x5c\x2e\x47\ +\x6d\x6d\x2d\xe3\xc6\x8d\x63\xe2\xc4\x89\xb4\xb7\xb7\x33\x75\xea\ +\xd4\x04\x9b\xe8\xeb\xeb\xe3\x91\x47\x1e\x41\x44\xb8\xe4\x92\x4b\ +\x5e\xf2\x06\xdc\x7f\xff\xfd\xdc\x75\xd7\x5d\xf1\xd3\x8f\x71\x94\ +\x98\x40\x95\x40\x50\xef\x5b\x64\xdf\x63\xfb\xcf\x55\xf8\x81\x08\ +\x93\x42\x07\xc8\x73\x7d\x3d\x89\xd7\xb8\x6d\x16\x34\xf4\x07\xe2\ +\x98\xd5\x0b\xe5\xc1\xc6\xbf\x05\x26\x18\xe5\x1d\x7b\xee\x3b\xff\ +\x2b\x6d\x17\xff\xb6\xeb\x10\xae\xef\xa6\xd8\xe3\x5f\xb0\xe0\x94\ +\x88\x21\x63\xa7\x52\xa3\xd5\x3d\x6a\x9a\xd6\x56\xe7\x99\x28\x3d\ +\x63\x6c\x6d\x74\x2e\x51\xfe\xc6\xb0\x73\xe7\x4e\xb6\x6d\xdb\xc6\ +\x8e\x1d\x3b\xd8\xb9\x73\x27\x9d\x9d\x9d\x0c\x0f\x0f\xd3\xd6\xd6\ +\xc6\xcc\xd6\x56\xda\x5a\x5b\x19\x5f\x5f\xcf\xb4\xda\x5a\xad\x6b\ +\x68\x00\x13\x50\x2e\xfb\x0c\x8d\x0c\xb3\x6f\xcb\x16\x59\xbb\x7a\ +\x35\x5b\xfa\xfb\x39\x70\xe0\x00\xa7\xcc\x9f\xc3\x89\x27\x9f\x4e\ +\x57\x57\x17\xe5\x72\x99\x53\x4f\x3d\x95\xf6\xf6\xf6\xd1\x3d\xdf\ +\x47\x1f\xe5\x8e\x3b\xee\x88\x9f\x7e\x15\xb8\xf5\x68\x87\x57\xa9\ +\x06\x78\xbe\x3f\xa7\xaa\xe7\xa9\x22\x2a\x62\xfb\xf5\xb1\xb9\x24\ +\x74\xfd\xac\xf7\x84\xd4\x7e\x26\xef\xab\xf5\x9e\x13\x21\x7d\x3c\ +\x24\xc1\x71\xf3\xcb\xbd\x38\x11\xce\x55\x85\xb3\xce\x3a\x2b\x41\ +\xc8\x1c\x47\x4a\x49\x79\x36\xb1\xbd\x8d\x52\xa6\x22\x29\xfc\x9a\ +\x0d\xe9\x46\xd3\xd5\xc6\x18\xb6\x6f\xdf\xce\x86\x0d\x1b\x78\xe6\ +\x99\x67\xd8\xbc\x79\x33\xe3\xc7\x8f\xe7\xb4\x99\x33\x99\x7f\xcc\ +\x34\xbd\xe6\xa4\x93\x38\xae\xbd\x4d\x26\x37\xb7\x60\x7c\x3f\xf9\ +\xd3\x20\xc0\x94\xcb\x62\x82\x00\x8d\x5f\xf3\x7d\x82\xc0\x47\xfd\ +\x00\xe3\xfb\xf4\x0c\x0c\xf0\xe8\xb6\x6d\xfa\xc0\xbd\xf7\xca\x63\ +\xa1\x2d\xe7\xf2\xcb\x2f\x1f\xf5\x6a\x9e\x7e\xfa\x69\x6e\xbf\xfd\ +\xf6\x58\x63\xdd\x03\xbc\xff\x95\x88\xaf\x13\x01\x18\x18\x28\x1f\ +\xab\xca\x59\x2a\x32\x4e\x92\x95\x6e\x4f\x7c\xf8\x9a\xe3\x13\xc4\ +\x2b\x4e\x24\x5c\xf5\x49\x58\x65\x59\x05\x89\x24\x4a\x14\xa3\x7c\ +\x7c\xcf\xf2\xc5\x8b\xc4\xe3\x63\x93\xdf\xb0\xe2\xf1\x97\x76\x7c\ +\xf0\x6a\x0a\xd2\x50\xf6\x95\x62\xb1\x88\x1f\xd9\x7d\x51\xc1\xc4\ +\xbe\xc6\x28\xd8\x7b\x06\x42\x7f\x29\x53\x4c\x6f\x6f\x2f\x4f\x3e\ +\xf9\x24\xeb\xd6\xad\xe3\xe9\xa7\x9f\xa6\xa5\xa5\x85\xd7\x9f\x7c\ +\x32\xef\xbd\xf8\x62\x3d\xf5\xc6\x1b\x65\x7c\x63\x43\x38\xa1\x65\ +\x5f\x82\x20\x00\xbf\x4c\x79\x60\x20\x9a\xfc\x00\x13\xf8\x68\xd9\ +\x0f\xff\xcd\x08\x45\x10\x09\x82\x09\x7c\x1a\x02\x9f\xc5\xed\x1d\ +\xb2\x7b\xdf\x7e\x1e\xeb\xec\xa4\xa1\xa1\x81\xe9\xd3\xa7\x57\xbd\ +\xa6\xe7\x9e\x7b\x8e\xdb\x6e\xbb\x2d\x4c\x51\xc3\x93\xc0\x65\xaf\ +\x14\xc0\x92\xe8\xf2\xbd\xcb\x17\xff\x77\xa3\x7c\xd1\x20\x13\x89\ +\x55\xba\x00\xe2\x45\x37\xd0\x0a\x07\xc5\xb6\xf5\x92\x18\xcc\x70\ +\x52\x0c\x15\xfa\x23\x9a\x20\x89\xaa\x65\x40\x7b\x05\xfe\x71\xd2\ +\x25\x6d\xb7\x8a\xfc\x34\xa8\x32\xf9\xb2\x61\xe9\x31\xad\x7f\xf2\ +\xbf\xf6\x7f\x76\xc3\x0b\xc5\x1b\x01\xfe\xea\xaf\x3e\xca\x49\x27\ +\xcd\x3f\x2a\x3f\x7a\xef\xde\xbd\xac\x59\xb3\x86\xd5\xab\x57\xf3\ +\xe2\x8b\x2f\x72\xc1\x82\x05\x2c\x3e\xe5\x64\x16\xce\x9f\xcf\xe4\ +\xe6\x66\x4c\x39\x9a\xd8\xc0\x0f\x1f\xfb\x99\x09\x4e\x56\x76\x39\ +\x14\x82\x64\xa2\xc3\xd7\xd4\x12\x0e\xe3\x47\x5a\xa1\x5c\x66\x68\ +\x64\x84\x1b\x1f\x78\x80\xfe\x72\x99\x13\x4e\x38\x81\xc9\x93\x27\ +\x73\xfd\xf5\xd7\x3b\xd7\xb6\x75\xeb\x56\x3e\xfb\xd9\xcf\xc6\x78\ +\xc6\xd6\x9b\xdf\xca\x9c\x0b\x4f\x3c\xb8\xc7\x7f\xe1\x89\xe8\xd2\ +\xa5\xf0\xb6\xa5\x18\x39\x84\xba\x01\x2b\x19\x24\x13\x44\x28\x84\ +\xf9\xe7\x54\x34\x12\x06\xab\xa5\xf6\x13\x87\x50\x3c\x92\xc4\xb6\ +\x25\x10\x71\x9a\x33\x4e\x86\x88\x58\x09\x94\xf0\x83\xe3\x44\xf4\ +\x0d\xe0\xdf\x52\xf5\xaa\x96\xce\x2b\xec\xdc\x63\x8e\xf9\xcc\xfb\ +\x9b\x3b\xff\xe4\x6f\x9e\x31\x25\x5f\xbd\x5b\x6f\xbd\x85\x25\x4b\ +\x96\x70\xcd\x35\xd7\x50\x5b\x5b\x7b\xc8\x93\xde\xdd\xdd\xcd\xaa\ +\x55\xab\x78\xf4\xd1\x47\xd9\xb3\x67\x0f\x57\x9e\x7b\x2e\x7f\x7d\ +\xed\xb5\x9c\x35\x67\x0e\x39\x11\xd4\x2f\x63\xca\x01\xe5\x81\xc1\ +\x68\x92\xd3\x09\x4e\x27\xb4\x9c\x4c\xbc\xfa\xd6\x0a\x4f\xfe\x0d\ +\x2c\x41\x89\x3e\x1f\x09\x91\x06\x3e\xbf\x7c\xfe\x79\xfa\xcb\x65\ +\xe6\xb6\xb6\xf2\xb7\x1d\x1d\xdc\xf4\xf8\xe3\x6c\xdb\xb6\x2d\xd1\ +\x04\x5b\xb7\x6e\xe5\xf3\x9f\xff\x3c\x23\x23\x23\xe4\x3c\xf6\xde\ +\xf1\x91\x71\x6f\x6d\x6f\xf5\xe6\xba\xb3\x99\x89\xa6\x23\x2a\xcf\ +\x6f\xd6\xf9\xda\x76\x82\x3f\xbc\xe3\x1b\xfe\x3e\xdd\x49\xaf\x7c\ +\xea\xe5\x85\x89\x89\x06\xd8\x7d\xef\xf9\x3f\xf0\x84\x77\xc4\x71\ +\xbf\x4a\xaa\x05\x62\xc7\x2f\x04\x05\x25\x01\x83\x52\x6c\x54\x53\ +\x13\x10\xeb\x0a\xdb\x8d\xc6\x44\x8e\x61\x08\xa7\x86\x7e\x82\x0e\ +\x8a\xca\x73\x60\x7c\x55\xf5\xec\xcf\xab\xd1\xbc\x31\xda\xe4\x07\ +\x66\xbc\xef\xd3\xb8\x6b\xdf\x48\x7e\xa4\x14\x2a\x8a\x9c\xe7\x31\ +\xbe\xb5\x95\xc6\xc6\x86\x0a\x0d\x63\xd5\x5b\x21\x06\x0c\x86\xa1\ +\xc1\x41\x86\x06\x07\x28\x95\xca\xb4\x34\xd4\xd3\xd2\xd8\x48\x63\ +\x6d\x4d\xe8\x9c\xc6\xd5\x39\x46\x11\x35\x91\x33\x18\x42\xc4\x82\ +\x41\x4d\x74\xce\x88\x9e\x9d\x84\x19\x6a\x00\x43\x79\xb8\xc0\xc6\ +\xc7\xe7\x31\x32\x94\x4b\x54\xbd\x29\xc7\x02\x11\x6b\x80\x50\x20\ +\x06\x46\x46\xf8\xe0\xda\xb5\x0c\x05\x01\x7f\x77\xe2\x89\xcc\x6f\ +\x1d\xc7\xb2\x9d\x9d\x3c\x37\x65\x0a\xef\x7b\xdf\xfb\x78\xe1\x85\ +\x17\xf8\xc2\x17\xbe\xc0\xd0\xd0\x10\x4d\xf5\x52\xfc\xf6\x87\x27\ +\xdd\xd3\x5c\x2f\xbe\x67\x93\x0d\x2c\x83\x26\x09\x2c\xa3\x88\x1a\ +\x35\x4a\xb9\x20\x66\x3b\x12\x3c\x74\xdc\xd4\xc1\x47\xa7\xbd\x97\ +\x9e\x97\xa3\x09\x12\x0d\x50\xc8\xb1\xac\x1c\x70\x1e\xe8\x8c\x34\ +\xee\x57\x50\x8f\x38\x24\x94\x14\x05\x4d\x6e\x7e\x8c\xa4\xa6\x2a\ +\x3f\x49\x82\x5a\x76\xda\xc6\x0b\x12\x62\x45\xa3\xa0\x27\xab\x86\ +\x8e\x23\x16\x60\xe2\x09\x78\x39\xa1\xe0\xe5\xa0\xa0\x34\x4d\xab\ +\x0f\x01\xc6\x68\xb2\x90\x21\x44\x87\x2c\x81\xd3\x28\xda\x48\xe1\ +\x59\xbc\xf0\x64\x13\xc6\x29\x8c\xf3\x80\x02\x68\x19\xb4\x27\xd1\ +\x48\x82\x49\xfc\x05\x41\x11\xb5\xae\x43\xdd\x73\xbb\xc2\x1d\x9a\ +\x32\xbf\xd6\x63\x5c\x4b\x27\x9d\x7b\x27\x84\x13\x6f\x39\x7d\xc6\ +\xb7\x7d\x82\x80\x7f\x7f\xb1\x93\xa1\x20\x60\x4e\x53\x23\xf3\xea\ +\x0b\x94\x07\x86\x58\xd8\xd8\xc4\x4f\xd6\xac\x61\xe3\xc6\x8d\xdc\ +\x76\xdb\x6d\x0c\x0f\x0f\x33\xbe\xc9\x33\x5f\xff\xe0\xa4\x52\x43\ +\xad\x77\xa1\x06\x86\x20\xb9\xdf\xe2\x4c\x7e\x26\x44\x57\x51\x1d\ +\x0a\xc4\x7b\xd2\x33\x3c\xfd\xc2\xf3\x0d\xf9\x69\x2f\x33\x45\x90\ +\x08\x40\x2e\x27\x0f\x05\x46\x1f\xd2\x30\xf5\x5a\xc8\x92\x11\xe3\ +\x29\x17\x4b\x02\x12\xed\x9f\xcc\xbc\x26\x91\x40\xd5\x8c\x81\x45\ +\xaa\x90\xec\x9b\xea\xba\xff\x49\x42\x45\x42\x0f\xde\x81\x6b\x5d\ +\x7a\x84\x73\x1d\x12\x53\xa9\xc4\xf6\x04\xd5\x42\x2b\x9d\x2f\x4a\ +\x84\x35\x5a\x4b\xd1\x21\xb1\x63\xab\x16\xce\xe1\xa6\x7f\x45\x95\ +\x5c\x3e\x60\xf2\xd4\xbd\xec\xdb\x0a\x7d\x3d\x1e\x5a\xb6\x57\x7d\ +\xfa\x78\xff\xf0\x30\xcb\xc2\xec\x1d\x6f\x9d\x30\x89\x91\xbe\x21\ +\x44\x95\x3a\x55\x26\x00\xff\xf4\x4f\xff\x14\x66\x2b\x5b\x3c\xbe\ +\x76\x53\x9b\xd4\xd5\xd0\x12\xa2\xd7\x5e\xf2\x7b\xdc\xdf\xe1\xfc\ +\x02\x15\xc5\x88\x60\x30\x9a\xf7\x3c\x93\x0b\x30\xde\x21\xfb\x00\ +\xe3\x4e\x19\xb7\x7b\xff\x9a\xde\x5f\x04\xca\x65\x0a\xed\xe9\x4c\ +\xc5\x6a\x56\x52\xfa\xb3\x25\x95\x56\x16\x20\xba\x91\xc6\x91\x07\ +\x67\xce\xa2\xd0\x20\x36\x25\x21\x10\x63\x32\xf6\x48\x92\xe4\x8b\ +\x9d\x7d\xc3\xc2\xf3\xd2\x98\x44\x2a\xd2\xae\x38\x81\x6a\x84\x11\ +\x18\x41\x30\x19\xd1\x54\x07\xde\x72\x08\xbd\x62\x91\x39\x12\xf3\ +\x46\x2a\x14\x02\x1a\x26\xbd\x18\x37\x71\x90\x96\x89\x79\xf6\x6f\ +\xab\x73\xcd\x40\x10\x60\xca\xa1\x23\xf9\xaf\xfb\xf7\x63\x80\xd3\ +\x1b\x1a\x98\x61\x0c\xfe\xe0\x20\xaa\xca\xc3\x83\x83\xec\x2d\x87\ +\x36\x7d\xca\x84\x1c\x5f\xfd\x8b\xc9\x14\xf2\x49\x46\xaa\xb2\x76\ +\xdf\xba\x99\x09\x09\x25\xf5\xb5\x05\x4f\x4b\xaa\x3a\x34\x75\xc2\ +\x70\xf9\xe5\xd6\xfd\x27\x92\x22\xe3\xff\xdd\xe0\xb1\x02\x74\xaf\ +\xab\x92\xdd\x5c\xb7\x38\x88\x99\xc1\x8b\xd4\x64\xc2\x60\x49\xec\ +\xb2\xed\x03\x68\x22\x0d\x22\xe9\x4d\x8f\x24\x21\x89\x30\x34\xb9\ +\xed\xee\xca\x4e\xd3\xb4\x92\x98\x15\xad\x98\x72\xad\x98\xdc\x30\ +\x04\x8d\xae\x47\xc4\x51\xe1\x99\x23\xa3\x85\xa5\x51\x94\x42\x62\ +\x52\x24\x33\x03\x9a\xc9\xfa\xd5\x36\x18\x26\x4d\x19\xa0\x3c\x30\ +\x40\x69\x60\x80\xf2\xc0\x20\xe5\xc1\x41\xca\x03\x03\x94\x07\x07\ +\x79\xba\xa7\x87\xc7\x86\x87\x29\x00\x6f\xa9\xa9\xa1\x34\x34\x48\ +\x79\x68\x88\x5f\xec\xef\xe6\x7b\xbd\xbd\x18\x60\xee\xb4\x02\x5f\ +\xff\x40\x1b\x85\xbc\xe0\x42\x6d\x5a\x45\x45\x6a\x95\xf7\x50\x55\ +\x86\x05\x39\xa0\x1e\xbd\xe3\xeb\x29\xf1\x32\x23\x01\x07\x0a\xae\ +\xf5\xa4\x34\x1c\xe8\x3a\x83\x9c\x18\xaf\xf7\x38\x2a\x90\x0c\x20\ +\x2a\x36\x76\x2e\xea\xac\xbc\xd8\x3f\x4c\xcc\x85\x46\xce\x63\xc2\ +\x86\x55\x47\x4b\x48\x34\x51\xa9\x86\x93\xc4\x3e\x63\x4f\x90\x66\ +\x93\xd2\xea\xac\x76\x30\x91\xa2\x12\x87\x51\x63\x27\x2e\xe3\x15\ +\x2c\x9a\xe6\xf8\xdd\x7b\x6c\xf9\x2b\xaa\x2e\xba\x1d\x87\xb1\x19\ +\xbf\xac\xa6\xde\x27\x27\xfd\x8c\x0c\x1a\xc7\xf6\x97\xcb\x3e\xff\ +\x5a\x0a\xd3\xd3\xaf\xcf\xe7\x69\x1a\x1e\xa6\x68\x0c\x3f\xf4\x7d\ +\x1e\x37\x06\x2f\xe7\x71\xd3\x57\xbe\xcc\x55\xef\xbb\xf1\x65\x47\ +\x33\xe5\x4f\x4e\x71\x4c\x5b\x24\xb7\x46\x3c\x06\x41\x77\x7b\xc6\ +\xef\xda\xf1\x14\x23\x87\x6c\x02\x00\x9a\xa6\x35\x14\x87\x9f\x1b\ +\xf8\x35\xe8\x39\x22\x32\x53\x24\x46\x5b\x2d\x2f\x20\x49\xae\x48\ +\x1a\x1b\x68\x05\xff\xc5\xd6\xa4\x09\x0a\x27\xb1\x12\xb6\x58\x36\ +\xb1\xad\x8e\xc5\x4b\xd4\xa2\x56\x3b\xa6\xc5\xc1\xa5\x92\x4b\x4a\ +\xcc\x45\x6c\x14\x62\xcd\x13\xf9\x0e\x2a\x20\x76\xb6\x47\xc4\x11\ +\xd2\x8a\xa0\x48\x5c\xe8\x38\x56\xb5\xf1\xf7\x26\x4e\x6b\x72\x6d\ +\x42\xcb\xf8\x80\xb6\xe9\x65\x36\xef\x1c\xb1\xc2\xbe\x80\xfb\x50\ +\x76\x01\x13\x81\xd7\xfb\x3e\xbb\x7d\x9f\xef\x44\x99\x9c\xfa\xe6\ +\x26\xde\xfb\x4f\xbf\x60\xcb\xe3\x17\xf2\x0f\xd7\xa6\x57\x50\xdf\ +\x04\xf5\xcd\xd0\x3c\x41\x19\xdf\x0e\x13\xa7\xc2\xe4\x63\x94\x8e\ +\x99\xd0\x3c\x1e\x0a\x9f\xdc\x55\x2d\x92\xab\x91\x4f\x4e\xee\xf3\ +\xa0\x17\x3f\x28\x9d\x3e\xe5\xe5\xe3\x00\x15\xb7\xa0\xef\xa1\x0b\ +\xa6\x0f\x97\xcc\x3f\xa8\x72\x1d\x78\x05\x5b\xd8\xc5\xba\x63\x9a\ +\x51\xbd\x62\xb1\x66\xb0\xa2\x84\x4a\x52\xbc\x05\x0c\x25\x8f\x4d\ +\xc6\xb4\xe0\x80\x4b\x64\xce\xe3\xb9\x99\x1f\xeb\x7d\x75\xec\x63\ +\xfc\x1d\x12\x41\xc6\xb6\xe9\x49\x9c\x2b\x55\x37\xaa\x49\xae\xdb\ +\xa4\x0e\x61\x06\xd4\x8a\x4d\x52\x98\x07\x51\xb4\x6c\xd8\xba\xa6\ +\xc4\x23\x3f\xee\xa3\x77\x77\x18\x4e\xbe\xa8\xf0\xc5\x28\x67\xfb\ +\x3e\xa0\x3f\x62\x70\x8c\x00\x39\x0f\xbe\xfa\xe4\x13\x68\xe9\x78\ +\x6e\x3c\xfd\xe5\x97\x65\x36\x4f\x50\x5e\x77\x3c\xcc\x98\xaf\x1c\ +\x77\x8a\x32\xfb\x54\xe5\xb8\x53\xa1\x3e\x73\x8a\x03\xd7\x16\xf2\ +\xd7\x2e\x25\x38\x2c\x01\xd0\xcd\x97\xe6\xf7\x6d\x1d\xba\xd6\x28\ +\xff\xac\x30\x21\x71\x13\x12\x2f\x29\x16\x06\xcd\x70\xe0\xdc\x9c\ +\xa1\xed\x79\x8b\x45\xb1\x4a\x55\x97\xad\x55\x6c\x04\xd1\x24\x1a\ +\x5d\x22\x27\x47\xac\xec\x52\x6a\x3e\x0c\x0e\x21\xdf\xb1\xef\xea\ +\x78\x8f\xa2\xc6\xf1\x45\x92\x73\x64\x8f\x71\xd4\x7b\x84\x0d\x38\ +\xa4\x17\x4d\xb4\x41\xca\x04\x56\x3c\x94\x62\x6f\xc0\x8a\xef\xf4\ +\xf3\xdc\x23\x23\x94\x55\xb9\x0d\x78\x11\x68\x6b\xcd\xe1\x07\xd0\ +\xdd\x1f\xce\xc7\x05\xd7\xbe\x95\x0f\x7f\xe3\x76\x1a\x5b\x5a\x28\ +\x8d\xc0\xb2\xaf\x09\xad\x93\xd3\xfb\x37\x3c\x04\xc5\x7e\x18\xe8\ +\x11\xba\x77\xc1\xbe\x4e\xe8\xda\x26\x74\x6d\x83\xe1\x81\x4a\xd7\ +\x2e\x57\x50\xfe\xe8\x0c\x38\xf5\xf5\xca\x79\x57\x1b\xe6\x9c\x71\ +\xf0\x49\xbf\x44\x0a\x32\xaa\x00\x00\xec\xbd\x6f\xd1\xc9\xc6\x70\ +\x27\x78\xc7\xab\xe3\x83\x5b\xf6\x57\x32\x11\x95\x83\x14\xa4\xd0\ +\xaf\xe2\xae\x4a\xb1\x1d\x3d\xc5\xb9\xa9\x8e\x77\x6e\x4f\xa4\x90\ +\x4e\x9c\xb5\x7a\x45\xdd\xa4\x7c\xcc\xdd\x71\x57\xb4\xe2\x8d\xa2\ +\x29\x6c\x61\xc0\x3e\x9f\x05\x6c\xa5\xdf\x13\x1a\x3d\x07\xea\xb6\ +\xae\x5b\x80\xd5\x77\x0e\xf0\xd8\xbf\x0d\xf2\x43\x55\x56\x03\x2d\ +\x93\xda\x29\x0e\x34\x52\x1e\x9e\x4c\x4d\xfd\x0c\x2e\xba\xee\x46\ +\x4e\x38\xe7\x7c\xe7\x5e\x37\x8d\x87\xd6\x36\xa5\xb5\x0d\xda\xa6\ +\x85\x26\x60\x54\x34\x73\x37\x6c\x7b\x5a\xd8\xf6\x34\x6c\x79\x42\ +\xd8\xf4\xa8\xb0\x7d\x23\x98\x20\x9d\xc6\x8e\x59\xca\x65\xd7\x1b\ +\x4e\x38\xdb\x15\x92\x71\x93\xa0\x7d\x7a\xe5\xf9\xab\x0a\x40\xf7\ +\xfd\x8b\xa7\x05\x86\x5b\x15\xde\x6c\x94\x7c\x9c\xec\x53\x2b\x09\ +\xe4\x30\xc2\x70\x29\xcf\x92\xf5\x5c\xad\x58\x45\x1d\x71\x72\x27\ +\x16\xaa\x4f\x4c\x1a\x41\xd8\x00\x4e\xda\x64\x41\x1d\xed\x60\x9f\ +\x23\x16\x36\x63\x41\x00\x96\x36\x11\x75\x91\x4c\xc1\x45\xfc\x2c\ +\x41\x48\x8c\x9d\x33\xe9\x96\xd9\x51\x78\xa1\xe9\x4a\xfe\xc7\x3f\ +\x9f\xc1\x43\xf7\x36\x10\x36\x31\x39\x9e\x43\x6d\xff\xd7\xda\xa6\ +\x1c\x3b\x4f\x99\xbd\x00\x66\x9f\xa6\xcc\x5f\xa4\x4c\x99\x59\xfd\ +\xd8\x17\x9f\x83\xff\xf8\x85\xf0\xc8\x32\x61\xcb\xe3\xc2\x60\xef\ +\xc1\x83\xbf\xe6\x89\xca\xcc\xf9\x30\x7f\x91\x72\xca\x85\x5a\x5d\ +\x00\x0e\xdc\xbf\xb8\xde\x0f\xcc\x3b\x8c\xca\xc7\x89\xfa\xee\x26\ +\x31\x71\x9c\x2a\x56\x07\xb3\x71\x84\xc1\x4d\x06\xa5\xf9\x77\xb1\ +\x08\x02\xc9\x84\xa5\x25\xb4\x8e\x8a\xb7\x63\xb5\xac\x30\x24\x2b\ +\x55\x32\xda\x23\xa3\x51\xd2\x90\x52\x13\x28\x3a\x11\x44\x0b\x09\ +\x74\x35\x80\xa6\x97\xa8\x6a\xf9\x31\x59\xb3\xa5\x15\x02\xbb\x75\ +\xcf\x34\xfe\xfe\xc7\x7f\xc7\x2f\x1e\xbb\x82\x92\x5f\x13\xad\xf0\ +\x61\x3a\x66\xd6\xd2\x32\x51\x99\x30\x25\xfc\x48\x4d\x58\xb5\x46\ +\xe0\x43\xef\xde\x50\xdd\xf7\xec\x81\xce\xcd\xa0\xa6\x72\x4a\xa6\ +\xce\x56\xce\xbc\x4c\x39\xef\x8f\x95\x13\xce\x55\x1e\xf8\x91\x70\ +\xf7\xb7\x3d\x36\xfe\x4e\xaa\xfa\x09\x6d\xc7\x86\x2b\xbd\x50\x17\ +\x5e\xdf\x60\x8f\xd0\xd7\x0d\xdd\xbb\xa0\x54\x94\x83\x6b\x00\x80\ +\xfd\xf7\x2d\x3a\x3e\x08\xf4\x33\xc0\x9b\x15\x29\x24\x71\xb9\xb8\ +\x64\xd0\x6a\x68\x5f\x16\xc8\x50\xdb\xe6\x4a\x66\x75\x56\xa8\xfa\ +\x8c\xf3\x28\xe9\xe4\x25\xf1\x87\x02\x62\xdc\x09\xb7\x91\x27\xc7\ +\xc4\x58\xb9\x08\xa9\xf6\xbe\x56\x6a\x1c\x67\x82\xed\x6c\xa6\xab\ +\x5d\x6c\xe7\x50\x44\x31\x06\xee\xde\x74\x31\x9f\xfd\xd5\x1c\x16\ +\xff\xf9\x55\x5c\xf4\xf6\xf9\xd4\x35\x1c\x5a\xd2\xaa\x6b\x1b\x6c\ +\x5d\x2f\x6c\x59\x0b\x1b\x1e\x16\xd6\xfd\x56\x18\x1e\x14\x47\x9d\ +\x07\x11\xcc\xe3\xe5\x95\xb3\xaf\x0c\x85\x63\xee\x59\xca\x8c\xf9\ +\x50\x38\x88\xc2\xd9\xf7\x22\x6c\x5e\x23\xac\x5b\x21\xac\xba\x4b\ +\x5e\xba\x51\xe4\xfe\xe5\x0b\xff\xdc\x28\x5f\x50\xa5\x45\xd5\x75\ +\x04\x5d\x86\xb8\x5a\x70\xac\xa4\x93\xe6\x40\x2d\xb8\x37\xdf\xca\ +\xe3\x4b\xd6\x54\xc4\xb1\x3a\xd6\x79\x13\x84\x31\x83\xcd\x6b\x16\ +\x0f\x50\x57\xbb\x88\x26\x66\xc2\x09\xe9\x2c\x81\xaa\xf4\x4d\xb2\ +\x02\x6a\x32\x9a\x28\xe3\x58\x46\xb2\x25\x18\xfc\x42\x33\x4f\xbc\ +\x50\x64\xf8\xa3\x69\xfb\x9e\x91\x7f\x98\x9e\x71\x3a\xd5\x89\x94\ +\x62\xd3\x58\xb8\xb9\x92\x40\x1d\x04\xb0\xe9\x51\x78\xf8\xe7\x1e\ +\x0f\xff\x4c\xe8\xdc\x2c\x89\xf6\x5b\xf4\x16\xe5\x5d\x9f\x36\x4c\ +\x9f\x37\xba\x93\x67\x8f\xe5\x5a\xd6\x83\x46\x01\x8e\x34\xde\x7d\ +\xee\x15\x9e\xc8\xd7\x50\x99\x66\xec\x40\x3c\x8a\x85\xd5\xc2\xcb\ +\x35\xc3\x1a\xa8\x24\x4a\x66\xf9\x01\x96\x61\x51\x75\x43\x30\xfb\ +\xab\x1c\x35\x9c\x4e\x68\x62\x01\x44\xad\xc9\xb0\x31\x07\x75\x54\ +\x3e\x99\x08\x44\xd5\xce\x5a\xda\xd1\x85\x7d\xac\xb1\xc2\xc4\x4c\ +\xc4\x91\xa9\x0a\x0a\xaf\xdf\xe0\x01\x1b\xba\xf2\xec\xea\xf3\x32\ +\xe6\x25\xb3\x20\x94\x0a\xc7\xd7\x0d\x6b\xab\xc6\xfc\xac\x7f\x18\ +\x96\x7d\xcd\xe3\xfe\x1f\x08\xa8\xe0\xe5\x95\x37\xde\xa8\x5c\xff\ +\xbf\x0d\x8d\xe3\x5e\x5a\x00\xaa\x09\xc4\x4b\x1e\xd8\x7b\xff\x79\ +\x73\xcb\xbe\x7e\x56\x95\x2b\x55\x28\x58\x09\xfd\x8a\xa8\x80\x04\ +\x23\xa7\xc2\x07\x50\xad\x22\x04\x59\x78\xd3\x11\x8a\xd8\x67\x18\ +\x05\x0a\xd5\x6c\xea\xd7\x35\x2d\x59\x4d\xa0\x19\x95\x2e\x19\x6d\ +\x63\x6b\x07\x1c\xe0\xa8\x52\xeb\x48\x06\xa7\xc0\x02\xbb\x90\xf0\ +\xf8\x5d\xbd\x1e\x9b\xf7\xe7\x28\x07\x19\x4c\x44\x2b\x53\xba\x15\ +\x59\xa6\x6a\x82\x18\xfd\xbc\xdc\xa7\x53\x3a\xe5\x9e\x1d\xf0\xa3\ +\x7f\xf4\x58\x76\x7b\x28\x08\x6d\xc7\x2a\xb7\x3c\x10\x30\x65\xd6\ +\xcb\x17\x00\x27\x17\x50\x75\x18\xdd\x26\xe8\x72\xe0\xc5\xa4\x92\ +\x86\x6a\x21\x95\x26\xd5\xae\x52\x95\x80\x15\x61\xec\x42\x85\xba\ +\x8f\x92\x99\x91\xfd\xce\xf4\x57\xcd\x64\xfe\xc4\xf6\xc0\x33\xde\ +\xbb\xa0\x55\x90\x3d\xd7\x11\xad\x22\x77\x96\x10\x3b\x29\xc5\x24\ +\xc6\x15\x75\x23\x14\xb7\x38\xd4\xaa\x24\x92\x34\x13\x3a\xa1\x21\ +\x60\x7c\xbd\x89\xae\xd7\x75\x1e\x53\xb5\x4f\x96\x76\x9c\x1c\xeb\ +\x98\x1a\x6b\x91\x05\x9f\x68\xc3\x7c\x22\x04\x0d\xda\xa6\xc1\x87\ +\xbe\x6a\xf8\xea\x9a\x80\x19\xf3\x95\xd7\x1d\xaf\xb4\x4d\x3f\x02\ +\x4a\xd8\xa8\x4e\xc3\x3d\xe7\xcc\x51\xb8\x45\x94\xcb\x54\x9d\x72\ +\xf2\x51\x4e\xa3\x55\xec\xbd\x64\xf2\xd8\x5a\x89\x16\x3a\xce\x95\ +\x0d\xf1\xaa\x6b\x5e\x54\x2b\x54\x7a\x36\xd4\x4c\xbe\x5b\xd2\x42\ +\x4e\xd1\x4c\xe8\x97\x36\xee\x0b\x05\x90\xac\x86\xc8\x82\x47\x8c\ +\xf2\xdc\x38\x8e\x6c\x4c\x46\xdd\x3d\xe0\xb1\x69\x8f\x87\x6f\xc4\ +\x89\x2c\x2a\x17\x10\x55\x70\x08\xaa\xe0\x21\x59\xff\x49\x35\xf7\ +\x99\xfd\x02\xe0\x97\xa1\x38\x10\x42\xc5\x87\x62\x02\x0e\xae\x01\ +\x80\x49\x97\x3e\xb2\x49\x8c\x3e\xa6\x46\xcb\x21\xfa\xa7\xc9\x4d\ +\x4d\x12\x24\x6a\x42\x3b\xac\x26\xba\xd1\x1a\xa5\x5f\xdd\x1f\xab\ +\xd9\x18\xdb\x56\xd5\xb6\x4d\x76\x56\x4e\x7c\x2e\x3b\x5c\xcc\xe0\ +\x0e\x8a\xc5\x59\x22\xe5\xa5\x1b\x77\xb2\xc4\xc2\x14\x9c\x1b\x2e\ +\xa1\x86\x12\xc7\x14\x48\x32\x69\x22\x2e\xda\x28\x19\x7c\x22\x9d\ +\x44\x89\x08\x2b\x4a\x5b\x63\x40\xce\xe3\x25\x26\x3f\xb3\x12\x35\ +\xc3\x68\x55\x2a\x7c\x0f\x47\x33\x08\x12\x7c\x7c\x42\xd8\x30\xbb\ +\x70\x78\x93\x5f\x91\x0c\x1a\x55\x4a\x44\x77\x1a\x64\x40\x55\xeb\ +\x45\xa5\x02\xdf\x4f\x13\x3d\x19\x47\x10\x8b\x20\xa2\x95\xb6\x3c\ +\x71\xe4\x46\xb9\x31\x89\xa3\x16\xe9\x8e\xc0\x87\xe7\x77\x8f\xb0\ +\xfc\xb1\x3e\x7e\xf4\x9b\x03\x1c\x7f\x4c\x2d\x5f\x7a\xff\x14\x5a\ +\x1b\x73\xd5\x1d\xcf\x38\x1d\x1c\xb7\x73\x8d\xd0\x4b\x9b\xf0\x24\ +\x54\x09\x67\x25\x75\x30\xd3\x28\x44\xa8\x56\x2a\xa3\xb6\xc0\x59\ +\xef\xe7\x3c\xa5\xb1\x60\x18\x29\x8b\xc5\xa8\xac\x8c\x02\x5c\xb6\ +\x91\x89\xea\x13\xa8\xf4\x33\xb2\xc9\xb6\xb0\x06\xcf\x97\x4f\xb4\ +\x3e\x9b\x17\xff\xbb\xf9\x81\x91\xa5\x0b\xff\x0f\x87\xdc\xe9\xfb\ +\xe5\x95\x87\x2b\x6b\x44\x74\x35\xca\xc5\x8a\x16\xaa\xdb\x11\x0b\ +\xff\x17\xdb\xf9\x33\x29\x09\x40\xd5\x49\x07\xa7\xb7\x3e\x2b\x20\ +\xea\xb0\x33\x8a\xa5\x80\x2f\xfe\x64\x0f\xdf\xbd\x67\x3f\xfb\x7a\ +\xd3\x1c\xc7\x86\x6d\x23\xfc\xfa\xd1\x7e\xae\xbb\x70\x1c\xef\xbc\ +\xa4\x95\x33\x8e\xaf\xcf\xa4\x49\xc5\x61\x12\x89\x43\x23\xb7\xfd\ +\x91\x8c\x6b\x9b\x64\x11\xdd\x34\x64\x1a\x39\x90\x61\x30\x44\x0b\ +\xc0\xe9\x18\x0a\xed\xcd\x86\xfe\xe1\x1c\xbe\x19\x65\xf2\x33\xbe\ +\x80\x2d\xee\x8e\x39\xaa\x88\xa6\x12\xb3\x57\x16\xd1\x1e\x51\x7a\ +\x06\x0d\x65\x6e\x06\x3e\x75\x68\x02\xf0\xb2\xa8\x43\xe3\x27\xe6\ +\x36\x7a\xa2\xf7\x80\xee\x11\x8c\x46\x1d\x93\x5d\x47\x50\x63\xda\ +\xb7\x65\x0e\x12\x04\xce\x44\x36\xd5\xf6\xe0\x23\xa7\xce\x81\x8e\ +\xd3\xcf\x88\xc5\xf8\xa9\xc9\xc1\xa3\x1b\x07\x93\x84\xca\x29\xc7\ +\xd5\xf1\xa9\x3f\xe8\x22\xc5\x3f\x00\x00\x15\x28\x49\x44\x41\x54\ +\x6b\xe7\x0b\x37\x76\x50\x5b\x23\x7c\x77\x79\x0f\xef\xfc\xdc\x4e\ +\xf6\xf4\x96\xd3\xb8\x5a\xad\x95\x29\x99\x02\x27\xc9\xf8\x23\x68\ +\x05\x78\x14\xa7\x92\xd3\x8a\x58\x75\x34\x84\x4a\x26\x9c\x8b\x12\ +\x47\x62\x91\x54\x26\xd4\x85\xce\xe0\x68\x93\xef\x12\x4d\xb5\x22\ +\xe9\x44\x35\xa7\x3b\x5a\xfd\x61\x62\x5a\x8d\x80\x0f\xa6\x5c\x68\ +\xc0\xe7\x93\x87\xde\x46\xfe\x65\x09\x80\x9c\xf5\xbb\x92\x60\x7e\ +\xe5\xa1\x9b\x01\x23\xe0\x70\x01\x24\x63\xcf\x53\xed\xa5\x76\xe2\ +\xde\xf5\xdc\x13\xf4\xcf\x58\x3e\x81\xcd\xdb\xd3\xc4\xe6\xaf\x7b\ +\xae\xc8\x70\xc9\x60\x0c\x7c\xe9\xfd\x53\x78\xf0\x8b\xc7\xf1\xc1\ +\x37\x4f\xe4\x86\xcb\xc7\xb3\xfd\x8e\x39\xbc\xf7\x8a\x56\x76\x75\ +\xfb\x2c\x7d\xb0\x97\x94\x0e\x60\x52\x5b\x8a\x49\x4a\xc4\x24\xeb\ +\x83\x68\x86\x73\x90\xf0\x1d\x53\x6e\x81\x88\x66\x4a\xc3\x2d\xa0\ +\x48\x1c\x74\xdb\xd2\x0a\x4a\x7d\x0d\xb4\x37\x07\x2e\xa1\xa1\x6a\ +\xce\x24\xeb\xf1\x8f\x42\x09\x8b\x5f\x17\x92\xf2\x6c\x41\x47\x72\ +\x39\x6f\xf0\xd8\x02\xfe\xe1\xec\xff\xf2\xb2\xc9\x83\xad\x97\xae\ +\xd9\xac\xaa\xcf\x09\xd1\x4e\x08\x31\x48\x42\x46\x1b\x44\x7f\x9e\ +\x98\x04\x9e\xad\xf4\x6e\xb5\x22\x37\x2f\x49\xcf\x7d\x71\xb7\xd4\ +\x00\x86\x4a\x86\xc7\x36\x15\x99\xfd\xba\x1a\x16\x9f\xdc\x98\x38\ +\x8c\xb1\x20\xbd\xe7\xb2\xf1\xb4\x34\x78\x7c\xf3\xee\x1e\xb6\x75\ +\x95\x1c\x9a\x98\xdd\xc0\xc1\x9d\xc8\x38\x72\x93\x6a\x18\x4c\x4a\ +\x0d\x23\xeb\xbe\x48\xc6\x86\xa7\x44\xb6\x04\xa0\xb2\x66\xa2\xbd\ +\x49\xf1\xac\xf2\x35\x07\x7a\xd6\x4a\x6c\x20\x7d\x4d\x33\x4e\xa1\ +\xc5\x56\x56\x54\xc2\x3b\xe5\x0b\xda\x2f\xc6\x74\x1f\x37\x8e\xa1\ +\x43\x29\x08\x39\x64\x01\x88\x6e\xd8\xd3\x28\xfd\x9e\x67\x43\x02\ +\x2e\x7f\x50\xd4\x4e\xaa\xd9\x90\x6a\x06\x84\xc9\xb6\xdc\x4e\xf8\ +\x82\x06\xb7\x12\x41\x39\xef\xc4\x46\xe6\xcf\xac\x63\x4b\x67\x89\ +\xfd\x7d\x3e\x26\x16\xba\x28\xf6\x9e\x3b\xad\x86\xb7\x2e\x6e\xe6\ +\x85\xdd\x65\xbe\xf4\xb3\xee\xa8\x82\x38\x65\xd0\x8a\x83\x55\xaa\ +\xe3\xf8\x25\x02\x28\x36\x63\x38\x3b\xc1\x69\x58\xe9\x84\xb0\xea\ +\xc2\x06\x9a\xc9\x7d\xc4\x7e\x46\x4b\xad\x66\x38\x13\xee\x04\x8b\ +\x03\x49\xeb\x4b\xc4\xe7\x9a\x5e\x8a\xa0\x02\x03\x8a\x76\x8a\x9a\ +\xee\xcd\x5b\x0f\xaf\x5f\xc0\x21\x09\x40\xde\xd3\xdf\x08\xe6\x71\ +\x55\x13\x24\xa0\x85\x6d\xbb\xa2\xdd\x30\x30\xc6\xcd\xa2\x69\x95\ +\x5c\x7c\x02\x7c\x98\x8c\x2f\x41\x02\xd5\xc6\xb6\x58\x50\x3e\xf4\ +\x96\x89\x4c\x68\xce\xf1\x7f\x96\xee\x63\x47\x57\xd9\x12\x36\xc3\ +\xee\x6e\x9f\xa7\x5e\x08\x69\x70\xe7\xcc\xad\x23\xe7\xc5\xac\xe2\ +\x51\xb2\x7b\x9a\xb1\xb1\xd6\xc3\x54\x0d\x1b\x87\x38\x92\x64\x13\ +\x2d\xa1\x76\xc0\x21\xb1\xd8\x50\x9a\x02\x48\xaa\xd0\xd1\x6c\xc8\ +\x7b\xc6\xfd\xde\x0a\xd6\x94\x66\x30\x56\xaa\xfb\x02\x51\xef\x38\ +\x35\x1a\xa8\x30\x24\xc2\x00\xbe\x8c\x1c\x3f\x72\x78\x02\x70\x48\ +\xfb\xed\xfe\xe3\x87\xa7\xed\x1b\x19\x34\x13\x81\x33\x04\x1a\x6d\ +\xcc\x3e\x2a\x18\xb2\xf8\x78\x95\x61\x13\x16\xb8\x13\x86\xd9\x16\ +\x6b\x17\x97\xa2\x2d\x19\x15\x38\xbd\xad\x86\x91\xb2\xe1\x7b\xcb\ +\x7b\xf9\xb7\x15\x7d\x14\x47\x94\x13\x67\xd4\x72\xfb\xb2\x6e\x6e\ +\xbd\xb3\x9b\xa7\x5e\x18\xc1\x0f\x60\xc3\xd6\x12\xcb\x1e\x1d\xe4\ +\xae\x55\x03\x5c\xb3\xb0\x29\x51\xe7\x69\x38\x97\xc9\xe2\xd9\x0e\ +\x80\xda\x85\xae\x99\x48\x41\xdc\x95\x29\x99\x1a\x85\x94\x22\x66\ +\x9b\x0f\xc5\xcb\x29\x35\xa2\x0c\x95\x61\xa8\x24\x2e\x0b\xa9\x4a\ +\x0e\xc0\x0e\x7b\x2b\x2a\x9e\x62\xef\x44\x54\x3d\xd1\x40\xd0\xfd\ +\x39\x4f\xd7\xfa\x5a\xde\x30\xa3\xc8\x81\x4f\xad\x39\x74\x21\x38\ +\x64\xb7\x61\xf0\xde\xd3\x66\x94\x4a\xe6\x67\x28\x0b\x4c\x65\x89\ +\x4a\x95\x36\x52\xd9\x10\x4f\x1c\x7d\x29\x99\x46\x02\xa8\x56\x1a\ +\xde\x08\x9f\x1f\x2c\x19\x6e\xb8\xa5\x93\x5f\x3f\x76\xf0\xe6\xd8\ +\xb5\x05\xe1\xce\xbf\x9b\xc2\x05\x27\xd5\xb9\x6c\x5e\x67\x05\x57\ +\xcb\xeb\x57\xe1\x25\x66\x26\x48\x47\x2b\x85\xd3\x2a\xb9\x8e\x48\ +\x7b\x74\x0d\xc2\xfa\x5d\x39\x37\x84\xd4\x0c\x54\x9d\xf5\x05\xaa\ +\x20\x82\x61\xa4\x69\xd4\x43\x47\xf2\x9e\xd9\xe4\x09\x3f\xa8\xd3\ +\xd2\xd2\xb3\xf2\xec\x78\xb9\xf5\x80\x87\x6d\x02\x00\x1a\x97\x3c\ +\xbe\x15\xd8\xa1\x09\x36\x6f\xa1\x76\x8a\xa3\xe6\x34\x1b\xda\x54\ +\x81\x81\x55\xa9\x92\x0d\x8b\x42\x35\x49\x72\x12\x20\x50\x97\x17\ +\xbe\x72\x53\x07\x8b\xe7\xd7\x3b\xb8\x7f\xfc\x38\x9f\x83\x33\x8e\ +\xaf\xe5\xef\xdf\x31\x81\xfb\x3f\xfb\x3a\x16\x9e\x50\x97\x56\xa4\ +\x19\x32\xd8\x03\x95\xc0\x8e\xb8\xa0\x94\x58\x49\x2a\x91\x8c\x90\ +\x4b\x25\x1b\x4e\xe2\x42\x58\x3b\x42\x8a\x6c\xca\xc4\xfa\x51\x57\ +\x74\x95\xc9\xcf\x3c\xd6\x8c\xc3\xac\x51\xd3\x52\x23\x7d\x39\x09\ +\x76\xd5\x0e\x33\xc0\xa7\x0e\x6f\x27\xb1\xc3\xea\x13\xa8\xaa\x2b\ +\x05\x5d\x8c\xd0\x6a\x54\xdc\x14\x6c\xb5\x0a\x2c\x47\x8a\xd3\xf0\ +\x49\x93\x7a\x0d\x5b\x00\x6c\xa6\xb1\x49\x49\x24\xc0\xea\x67\x87\ +\xf8\xeb\x6f\xed\xe1\x89\x2d\x69\x3f\xcb\x90\x74\xa9\x94\xca\xca\ +\x67\xdf\x3d\x89\x3f\xbb\xb8\x25\x13\xb7\x6b\xda\x30\x42\x4d\x25\ +\x7b\xc8\xe6\x2f\x4a\x96\x9b\x98\xa9\x21\xc8\x92\x4c\x92\x53\xa9\ +\x55\x31\x94\x41\x08\xa3\x45\xe1\x01\xe3\xeb\x03\x7a\x8a\x1e\x95\ +\x45\x1e\xd5\x60\xe2\x51\xf2\x25\xe1\xbd\x33\xa0\x45\xf1\x74\x1f\ +\x81\x1e\x98\xd2\xc4\xc8\xe1\x44\x00\x87\xa5\x01\x00\x1a\x6b\xe4\ +\x6e\x94\xc7\xd5\xa0\x9e\x13\xd6\xe1\x38\x2d\x36\xb9\x42\xac\x88\ +\xa1\x32\xa9\x63\x63\xf6\x26\x93\xec\x49\xc3\xc2\xd3\x66\xd7\xf3\ +\xc1\x3f\x1e\xcf\xac\x29\x05\x3e\xf3\x67\x93\x58\x75\xdb\xb1\x6c\ +\xf9\xf6\x2c\x96\xff\xe3\x31\x0c\x0c\x2b\xff\x77\x59\x4f\x1a\xc2\ +\x89\x4b\x48\x4d\xf2\x09\xaa\x4e\xbd\x87\x58\x4e\xaa\x53\xe4\xaa\ +\x6e\x09\x8a\x54\x0d\x63\x33\x66\xcf\x52\xef\xd9\x2c\xa2\xe4\x94\ +\x8e\x26\xa5\xe0\x99\x2a\x55\x47\xea\xe4\x00\x88\x98\xc6\x55\x20\ +\x60\x8d\x21\x72\xa0\x24\x62\xfa\x14\x33\xd4\xd6\x74\xf0\xc9\xd7\ +\x51\xcc\xfd\x61\x69\x80\x9a\x25\xd3\xd6\x17\x97\x6d\xfd\x25\xca\ +\x69\xaa\xb4\x52\x2d\xb5\x29\xea\x84\xcd\x6e\xac\x2c\x64\xde\xb2\ +\x6c\x6b\x58\xcf\x97\xd6\x17\x44\x39\x79\x03\x35\x79\xe5\x2d\x0b\ +\x9b\x79\xcb\xc2\x26\xe7\x96\xcc\x9e\x5a\xc3\xc9\x33\x6b\x78\xea\ +\x85\x12\x0f\x6f\x18\xe2\xbc\x13\xea\x92\xfe\xbf\xc9\x87\xd5\xc6\ +\xf9\xd5\xb9\x2d\x9a\x61\xf7\xaa\xe2\xc4\xf5\x15\x64\x17\xa8\x42\ +\xe0\xd0\x2c\xa6\x6c\x55\xbf\x85\xe5\xea\xe3\x1b\x0d\xad\x43\x1e\ +\xfb\x06\xa8\x8a\xef\xdb\x9f\x37\x4e\xa6\xd1\x11\x12\x0d\x99\x83\ +\x5a\x56\x43\x49\x95\xe0\xc5\x81\x83\x0b\xc0\x68\x1a\xe2\xb0\x34\ +\x80\xc8\x2f\x4d\x53\xbd\xb7\x54\x24\xac\x23\x94\x04\xd6\x35\x91\ +\x0d\x4c\x59\xb8\x62\x6c\x67\x27\x86\x7a\xad\xac\x61\x12\xfb\x9a\ +\x14\x4a\x8e\x6b\xf2\xe3\x1a\x01\xcd\x86\x44\x24\xdf\x19\x6a\x0c\ +\xc3\x47\xae\x1e\xcf\xa4\x16\x8f\xcf\xdf\xd9\xc3\xe6\x17\x4b\x29\ +\x7f\x40\x4d\xa6\xf9\xb3\xba\x90\xb4\xdd\xfb\x44\xb3\x34\x35\x4d\ +\x21\x6d\x32\x59\x4a\xa5\x0a\x25\x4c\x12\xe4\xb0\x82\xee\x26\x50\ +\x9f\x87\xc9\x4d\x26\x63\xdf\x6d\x18\x18\x0b\x06\x27\x43\x92\x49\ +\x7b\xb6\x44\xf5\x12\x81\xa7\xda\xef\x79\xf4\x1d\x38\x82\xed\x7e\ +\xbc\xc3\xfd\x60\xae\x51\x76\x63\xb4\x53\xb2\x71\xaa\xb1\xf2\xe9\ +\x6a\xe5\x6a\xad\xb8\x58\x47\x59\x35\x0e\x13\x48\xb2\x04\x89\x0c\ +\xfb\xc6\x0e\xbf\x14\x2e\x39\xad\x9e\xf7\x5e\x36\x8e\x07\x9e\x2a\ +\xf2\xed\x7b\xfb\x53\x9b\x9c\x90\x3a\x32\xc4\x0c\xc9\x10\x3a\x9c\ +\xef\xb4\x42\x56\xa9\x04\xe5\xb2\x66\xc1\x4d\x0f\x4b\x62\x0a\xc4\ +\xc9\x4e\x2b\x9e\x40\x73\x8d\x8e\x62\xef\x33\xd4\xb3\x2a\x02\x6a\ +\x35\x2e\xf0\x3d\xd1\x1e\x0f\xba\x08\xe8\x3d\xf1\x53\x87\xdf\xea\ +\xff\xb0\x05\x80\x73\x8e\x33\xe2\xe9\x3d\xa8\xf6\xc8\x28\x54\x26\ +\x27\x19\x44\x86\x4f\xef\xc8\x80\xad\x9d\x4c\x0a\x1f\x2b\x55\x70\ +\x04\x3b\x57\x90\x2e\xdd\x96\x06\x8f\x0f\x5e\xd5\x02\xc0\xd7\x7e\ +\xdd\x97\x6c\xba\x20\x99\xd8\x54\x9c\x0d\x1d\x33\x31\x79\x45\xb8\ +\x97\x31\xa2\xea\x46\x2b\x4e\x07\xf0\x04\x75\xb4\x1c\xc9\x0a\x16\ +\xb2\x52\xc8\x29\x13\xea\x8d\xeb\xf8\xaa\x55\xce\xe6\xd0\xd7\x33\ +\x35\x16\x1a\x77\x31\x50\x5f\xd0\x3e\xd4\xec\xf5\x46\x8e\xac\x59\ +\xf4\x61\x0b\x80\xc8\xbf\x69\xce\x93\x7b\x44\x58\x13\xe1\xd2\x16\ +\x16\x5e\x59\x7b\x27\x55\xb8\x7f\x88\xb1\xa0\xdf\x30\x17\x60\x03\ +\x2c\x0e\xd3\x26\xc3\x16\x4a\xa5\xc7\x24\x94\xb2\xa6\x3a\x8f\x77\ +\x5e\xd4\x84\x31\xf0\xb5\x5f\x0f\x30\x5c\xca\x76\xfb\x70\x27\x32\ +\x09\xa9\x6c\x94\x48\xb3\xdc\x7f\x17\x30\xca\x90\x32\xac\xf4\xb1\ +\xb5\x53\x58\x86\x78\x92\xf6\xcd\x53\x6a\xf2\xc2\xe4\x26\xa5\x90\ +\x33\xee\xa2\xc1\x4d\x80\x55\xb6\x84\x89\x72\x2c\x60\x44\xb4\xe4\ +\xa1\x83\x88\x8e\xb4\xd6\x1d\xd9\x46\xd2\xde\x91\x7c\xb8\xb1\xbd\ +\x66\xbd\xc0\x32\x54\x07\xe2\x55\x1e\xdb\x4d\x9b\xdf\xef\xc2\xaf\ +\x26\x31\x0f\x62\x43\xfa\xd9\x22\x0c\x2b\x53\xe8\x20\x66\x51\x48\ +\x15\x4f\x9c\xad\x61\x40\xf9\x1f\x97\x37\x73\xfa\xec\x1a\xfe\xe5\ +\x57\xbd\xac\xd8\x50\xc4\x2d\x3c\xb5\x6e\x7a\x42\xf9\x32\xa9\xd7\ +\xa5\x54\xf4\x37\x8a\xc9\x24\x95\x4c\x24\xb5\xe8\x66\x89\x71\xce\ +\x24\xbe\x70\x34\x5b\x5c\x8c\x32\xa1\xde\x30\xae\x4e\x47\xef\x0c\ +\x6d\x9b\x5a\x31\x96\xc2\x53\x5b\x6e\xcb\x28\xc5\xa6\x9a\x83\xda\ +\x7f\xb9\xf9\x25\xe6\xf9\x88\x04\x40\xce\x78\xa2\xec\xe5\x75\x99\ +\xaa\xf6\x25\x76\x33\x2e\xa8\x8c\x9d\xba\x6c\xde\xdd\xc6\xdb\x93\ +\xe4\x4f\xaa\x05\xec\x24\x90\xc3\xf7\x57\x4b\xf5\xdb\x1a\x40\xdc\ +\x82\x92\x79\xc7\x16\xf8\xe8\x9b\x5b\xd8\xb6\x27\xe0\x8b\x3f\xef\ +\xcb\x10\x3d\xac\xc9\xb3\xf0\x87\xa8\xea\x8f\xe1\xb2\x61\xa8\x64\ +\x32\x95\x47\x16\x40\x24\x54\x9a\x31\x2b\xb2\xd0\x4c\xdb\xdc\x6c\ +\x28\x18\xdf\xf0\xc6\x1a\x65\x7c\x9d\x3a\xce\x65\xb6\xa0\x26\xbe\ +\x07\x61\x13\xf1\xc0\x76\x1a\x55\x44\x87\x3d\xd1\x9e\x5a\x8f\xbe\ +\x69\x4d\x94\x0e\x82\x01\xe8\xa7\x5e\xa2\xb1\xf4\x11\x09\x00\x40\ +\x8d\x68\x9f\x27\xba\xb5\x92\x82\x1d\x2b\x44\x63\x91\x3f\x52\x4e\ +\x7e\xa2\x0d\x2a\x30\x69\x37\xb3\x58\xa1\x26\x45\x33\xc4\x52\x4d\ +\x9c\x3c\x05\xf2\x1e\x5c\x75\x56\x3d\x33\xda\xf2\xac\x78\x7a\x84\ +\x4d\x3b\x4a\x19\xc4\xcf\x4e\x32\xa5\xc5\x20\xdf\xb8\x7f\x90\x8e\ +\xeb\xf7\xf0\xf7\x3f\xea\xa7\x6f\x38\xe5\x12\xa8\x58\x0e\x9a\xda\ +\xd7\xee\x62\xf9\x2a\x36\x90\x65\x09\x86\xb8\xbc\x40\x13\x5d\x76\ +\x5d\x81\xaa\x79\x00\x27\x4d\x5e\xc1\x3e\x8e\x55\x09\x43\x18\xb3\ +\xbb\xec\xb3\x8b\x47\x19\xfe\x83\x99\x00\x80\x42\x43\x6e\x40\x94\ +\x5f\x79\x68\x77\x5a\x9e\x95\x4e\x38\x4e\x43\x85\xc4\x8e\x39\x37\ +\x25\xd9\x12\x53\x2b\x8b\x44\x63\xad\x92\x24\x8e\x34\x55\xff\xa1\ +\x7c\x89\xd5\x9a\x36\xd5\x06\x1f\x7e\x53\x88\x15\x7c\xe1\x67\xfd\ +\x11\x8d\xac\xb2\x56\x20\x71\xf6\x02\xc3\x73\xbb\x02\x4a\x3e\xfc\ +\xeb\xc3\xc3\xdc\xbb\x76\x24\x09\xe4\xb3\x05\x20\x49\xd6\x2f\x93\ +\x3f\x10\xeb\x5a\xc5\x12\x4a\x89\xd1\xc7\x4c\x1d\x63\x63\x8d\x61\ +\x7c\x43\xe0\x82\x66\x96\x0f\x20\x15\xbe\x80\x02\x46\x05\x53\xf6\ +\xc4\xf4\x01\xbd\x05\x3d\xf2\x8d\xbe\x8e\x58\x00\xb8\x60\x5a\xd1\ +\xf3\x74\xb9\x51\xf3\x24\xaa\xea\x55\x71\x6a\x04\xe3\xb2\x6e\x22\ +\x88\x57\x34\x8d\xb3\x53\x87\xc9\x38\x4e\x9f\x64\x35\x84\x55\x80\ +\x81\xd8\x1a\xc6\x38\x29\xdb\xab\xcf\xa9\xe7\x1d\xe7\xd7\xf3\xf3\ +\x55\x43\xfc\x78\xc5\x60\xf2\xbe\xed\x97\x88\x42\xb9\x6c\x78\xec\ +\x39\x9f\x03\x83\xd1\x06\x92\x43\xca\x2f\x1f\x1b\x49\xaf\x4b\x2c\ +\x36\xb0\xb8\x45\xa6\xd9\xfd\x84\x9c\xc8\x41\xdc\x4d\x22\x12\xf2\ +\xab\x86\x06\xa7\x21\x0f\x93\x1a\x94\x9a\x9c\x56\x68\x3f\xd1\xca\ +\x72\xba\xb0\x7e\x25\xa6\xdd\xe1\x7b\x50\x1c\x56\xca\x2c\xfd\x03\ +\x3a\x81\xa1\x27\x7c\xb7\x36\x8c\xf3\x36\x78\x1e\xf7\x08\x5a\x54\ +\x35\x19\x89\xb6\xe8\x55\xaa\x88\x98\x8a\x1c\xb7\x54\xa3\x5c\x3b\ +\x5c\x39\xd7\xee\x4b\xe2\x12\x64\x53\xc7\x26\xd1\x02\x93\x9a\x73\ +\x7c\xf8\x4d\xcd\x28\xf0\xe5\x65\x03\x0c\x97\xdd\x8d\xa1\xe2\xa8\ +\xaa\x90\x13\xae\xf8\xdf\xdd\x7c\xef\xc1\x50\x93\xfe\xf6\xd3\xad\ +\x7c\xe7\xa6\x16\x2b\xb9\x85\x53\x49\x44\x06\xf2\xae\xa0\x71\xa9\ +\xdb\x86\xbe\x82\x22\x12\x69\x73\xcf\x83\x89\x8d\x4a\x63\x4d\xb5\ +\x7b\xe1\x4e\x7e\x46\x13\xf8\xa8\x0e\x09\x0c\x79\x3e\xe6\xe5\xb7\ +\xde\x7e\xa5\x34\x00\x20\x17\x3e\x33\xa4\x81\xfe\x07\xaa\x43\x59\ +\xe0\x44\xac\xba\x3f\x07\x2a\xce\xa6\x57\xad\x1f\xec\xf2\xf3\xb2\ +\xd5\x40\x90\x76\xf3\xaa\x92\x4e\xb5\xbe\x68\xde\xb4\x02\x6f\x3a\ +\xb3\x9e\xce\x6e\xc3\x27\x7e\xd8\xcf\x4d\x5f\xef\xe1\xde\x27\x86\ +\x01\x65\xcb\xae\x32\x9f\xf8\x61\x3f\xa7\xfc\xd5\x3e\x86\x46\xe0\ +\xd8\x49\x1e\x9f\xbc\xb6\x81\x8e\x56\x89\x6e\x8a\x54\xa6\x66\xb5\ +\x5a\x22\xdd\x0d\x35\xd3\xc2\x58\x37\x3f\x20\x19\x1c\x44\x50\x9a\ +\x6a\xa0\xa1\x60\x67\x1e\xb3\xed\xcb\xd2\xe7\x39\x31\x71\x42\xd2\ +\x08\xf4\xe7\x60\xcf\xc2\x0e\xfa\x0e\x96\x02\xd6\x83\xa4\xfc\x8f\ +\xda\xae\x61\xb9\x9c\x74\xab\xd1\xcd\xa8\x4e\x8a\xaf\xdd\xd3\x4c\ +\xd7\x10\xbb\xb9\x93\x85\x15\x54\x10\x35\x24\x2e\xfa\xcc\xb6\xa7\ +\x0b\xed\x6f\xb8\xf7\x2f\x14\xf2\x76\xd7\x2f\x17\x29\xec\x1f\x32\ +\xdc\xb3\x76\x84\x7d\x7d\x21\x93\xf8\xff\xfe\x7a\x10\x80\xff\xf7\ +\x9b\x22\xa7\xcc\xc8\xf3\x8e\x45\x75\xdc\xbf\xae\xc4\xe6\x5d\xe1\ +\xfb\x2d\xf5\xc2\xe2\xb9\x05\xa6\x8c\xf7\xaa\x10\x34\x6c\x1f\xc0\ +\x6a\x5c\x39\x4a\xb6\x93\x0c\xc0\xe4\x34\xcc\xb2\xb6\x7f\x15\x31\ +\x34\xd6\x86\x5b\xb7\x27\x5b\xf3\x68\xf5\xcc\xa0\x51\x41\x30\x81\ +\x87\xf6\x8a\x61\x97\xe4\xe8\xa6\x78\x70\x1f\xe0\x60\x59\xc2\xa3\ +\x26\x00\x0d\x75\xd2\x39\x30\x18\xdc\x0b\xcc\xf1\xc2\x0d\x22\x9c\ +\xb4\x6f\x76\x65\xb8\x08\x9c\x7b\xe3\x54\x5d\xb6\xbc\x7d\x63\x7c\ +\x1f\xae\xf8\xd4\x1e\x1e\x79\xb6\xc4\xd7\xde\x37\x9e\xb7\x9c\xdb\ +\x40\x7d\x8d\xab\x55\x14\xa5\xbe\x4e\xf8\xee\x03\x83\x3c\xb0\xbe\ +\x54\xf1\x9d\x4f\x6e\xf5\x79\x72\xeb\x00\xf9\x1c\x7c\xf7\xa6\x66\ +\xce\x39\x3e\xcf\xf4\xc9\xb9\xcc\xca\xab\x8c\xe9\x53\x8c\xdf\x66\ +\x05\x69\x95\x6e\xa9\x99\xcc\xa1\x55\xbf\xe8\xe6\xfa\x85\xf1\x75\ +\x86\x96\x3a\x8f\x9e\x62\x15\x1e\x80\xab\xe1\x34\x85\x81\x19\xc8\ +\x09\x83\x1c\x41\x0e\xe0\xa8\x0b\x80\x5c\xf6\x6c\xcf\xe0\xcf\x67\ +\xde\x6b\x02\xb9\x48\xd1\xc5\x9e\x88\x98\x08\xa1\x93\xcc\x8f\xb6\ +\x6f\x9a\xa8\x9d\x6d\x8b\xf7\xee\x33\x51\x03\x49\xad\x60\x54\xe7\ +\x3d\xb8\x64\x41\x1d\x1b\xb6\x97\xf9\xf3\x7f\x39\xc0\x97\x97\xf5\ +\xe3\x07\x30\x6f\x5a\x81\x0f\x5f\xd5\xc8\xca\x8d\x25\xba\x7a\x03\ +\xae\x39\xa7\x8e\xdd\x07\x5e\x9a\x20\x33\x63\x72\x8e\xd3\x66\xe6\ +\x99\x3e\x29\xe7\x66\x04\x35\xdd\x0d\x07\x75\xbc\x38\xa7\x8a\xd8\ +\xe9\x25\x14\xf7\x3b\x4c\x76\x25\xcb\x08\x46\x06\xd7\x88\x23\x83\ +\xc6\x1a\x61\x62\xa3\xd2\x3f\x0c\x81\x4a\xc5\xea\xb7\x9b\x6c\xe4\ +\x14\x93\xf3\x18\x11\x18\x36\x65\x0c\xfd\x87\x43\x04\x7f\x85\x04\ +\x00\xa0\xa1\xde\x7b\x62\x68\xc0\x3c\xac\x70\xb6\x1a\xad\x15\xd1\ +\xcc\xca\xc8\x74\x7b\xd4\x34\x45\xac\x71\x5a\x36\xb1\x11\xa6\x22\ +\x11\x13\x87\x70\x7f\x7a\x7e\x03\x1b\xb6\x97\xf9\xf9\xaa\x22\xbb\ +\x0f\x18\xf6\xf5\x1b\x9e\xe9\xf4\xf9\xe9\x23\xe9\x36\x85\x5f\xfa\ +\xe5\x60\x95\x6a\xe1\x70\x5c\xba\xa0\xc0\x6d\xef\x6e\x62\xc6\xe4\ +\xbc\xd5\x5f\xc8\xcd\x11\x25\x4c\x24\xc8\x34\x9a\x34\x4e\x13\x49\ +\xb5\x19\x4c\x31\x4e\x20\x6e\xa2\xc8\x6e\x68\x65\x95\x1d\x86\xfd\ +\x86\x3d\x98\xdc\xa8\xec\xea\x15\x86\x4a\x64\x68\x62\x69\x0e\x40\ +\xd2\x75\xe2\x8b\x47\x3f\x65\x06\xd8\x7d\xe4\x1a\xc0\x3b\x9a\x02\ +\x20\x97\x3e\x57\x54\xd5\x67\x51\x1d\xc9\x52\xc4\xb2\x0e\x90\x18\ +\x93\x84\x81\x48\x1c\x2f\x9b\x0a\xfa\xb8\x24\xb5\x07\x69\xde\xe0\ +\x98\x89\x1e\xdf\xfc\x8b\x56\xf6\x7c\xa7\x83\xa7\xbe\xd4\xc6\x4d\ +\x97\x37\xf0\xa3\x8f\x84\xb4\x84\xf9\xc7\xe6\xf9\xdb\x6b\x1a\xb9\ +\xeb\x6f\x5b\x99\xd4\x2c\xcc\x3f\x36\xcf\x47\xae\x6a\xa0\xa3\xd5\ +\xc3\x13\x58\x30\x23\xcf\x82\xe9\x79\x26\xb7\x78\x69\x31\xab\xa5\ +\xf2\x13\x3a\xbb\x31\xa9\x13\xaa\x36\x24\x2d\x56\x44\x62\xac\xd4\ +\xb6\x6d\x1a\xc4\x85\x91\x2d\x2d\xe7\x59\xed\x6b\x23\x8a\x3f\x8d\ +\x35\x50\xb0\xca\xeb\xab\xb0\x84\x24\x12\xcb\xb2\x51\xf6\x63\xe8\ +\xf2\x46\x18\x3c\xd2\x10\xd0\x15\xb4\xa3\x34\x86\x7f\x3a\x7d\xa1\ +\x1f\xf0\x45\xc2\xbd\xed\x44\xed\x24\x90\x58\xce\xbd\xdd\x7b\x5e\ +\xdd\x56\xae\xea\x76\x97\xaf\x54\x03\x2a\x19\x60\x25\x7c\xbd\x58\ +\x52\xea\xf3\xa9\xca\x2d\xf9\x50\x9b\x0f\x6f\xec\xae\x1e\x43\x63\ +\x0d\x34\xd7\x4b\xd4\xc6\xb6\xd2\xd1\xd3\x6c\xb7\x10\x9b\xea\xe6\ +\x24\x88\xb4\x22\x1c\x74\xd2\xd3\xd5\x4a\xd6\x71\x77\x39\xcb\x76\ +\x20\x7b\x7e\x1f\x6c\xef\x8e\x9d\xc1\x6a\xed\xea\x30\x1e\x1c\xa8\ +\xf5\x58\x99\x83\x6f\x9d\x35\x95\x87\xe4\x43\xf4\xbd\xaa\x34\x00\ +\x40\xa1\x20\xcf\x78\xc2\x03\x82\x1e\x10\xab\xa9\x83\x3a\x99\x38\ +\xb7\x0d\x9b\xc3\xb9\x93\x34\x74\xa4\xa2\x4b\xa7\xd5\x55\x4c\x5d\ +\x6a\x99\x28\xa1\x33\x68\xb5\x30\x8a\x27\x1f\x81\x29\xad\x1e\xe3\ +\xea\x43\x2d\xe0\xf6\x15\x4a\x9b\x3e\x54\xb2\x98\x2b\x19\xbe\xa9\ +\x52\xab\xbc\x3e\xa9\xe2\xd8\xda\x35\x0e\xae\x30\xb8\x02\x34\xb1\ +\xd1\xd0\x54\x8b\x05\x8f\x67\x29\x6a\x28\xca\x48\xa0\xf4\xa2\x94\ +\x29\x1e\x9d\xc5\x7b\xd4\x05\x20\x77\xd5\xd6\xfd\x9e\x98\x5f\xa2\ +\xba\x59\x88\x77\x68\xd6\x4c\x11\x08\x4e\xad\xa0\xda\xbd\x04\xac\ +\x9c\x41\x9a\xf1\xb3\x4b\xc8\x42\x68\xd5\x4b\x76\xee\x88\x4b\xca\ +\x8c\xc5\x4c\x72\x41\x1c\xb1\x5b\xb8\x44\xa6\xc4\x8b\xfd\x0c\xcd\ +\xf0\x12\xed\x1d\x43\xd5\x2d\xdc\x14\xab\xef\x81\x64\xf2\x0a\x61\ +\x6a\x43\xd3\xcf\x59\xad\xe9\xc4\x31\x1b\x76\xef\x84\x54\x30\x9a\ +\x6a\x60\x52\x93\xc1\x93\x2c\x63\xc9\xcd\x32\x7b\x8a\x9f\xcf\xe1\ +\x33\xfe\xc8\x61\xe0\x57\x44\x00\x00\x6a\x4f\x6b\x78\x44\x3c\xd6\ +\x2b\x1a\x48\x86\xf6\x24\x71\x43\x09\x2b\xff\x9e\x88\xb2\x31\x0e\ +\xe9\x42\x2d\x3c\x5c\x1d\x5e\xb7\xb1\xb7\x33\xb0\x9a\x38\xd8\xe0\ +\x91\xb1\xb6\x81\xd1\x64\x6f\x41\xa9\xe0\x5a\xaa\x93\x6e\x75\xe8\ +\x69\xd5\xda\xb5\x6b\x06\x61\x51\xb7\x55\x1c\x6a\x35\xc5\x16\xe3\ +\x20\x94\x36\x5e\x94\x68\xc4\xc8\xf6\xe7\x3c\x68\x6f\x0a\x77\x4b\ +\xa9\xd6\x87\x40\x14\x3c\x61\x44\x84\x6e\x1d\xa6\x9b\xf5\x2f\xaf\ +\x17\xf0\x1f\x44\x00\x64\xe6\xa6\x40\x8d\x6e\xc7\x50\xb6\xbb\x6b\ +\xb8\x14\x30\x53\x89\xa2\x45\xa1\x92\x5a\x1d\xc3\xdc\xf6\xf4\xc6\ +\x52\xad\xc6\xe2\xf8\x51\xb1\x82\x63\xec\xc1\xe9\x2d\xe8\xf4\xfb\ +\x1f\x85\x90\x59\x25\xff\x60\xf7\x26\x4a\x93\x4e\x26\x01\xad\xec\ +\x3d\x15\x64\xb4\xd4\x77\x7c\x1e\xbb\x6e\x20\x83\x1b\xd4\xd7\x40\ +\x2e\x8b\xa4\xa6\x0f\x03\x81\x7e\xcf\x63\xb7\xf8\xec\xe3\x9f\x29\ +\xbd\x6a\x05\x20\xfa\x81\x8f\x88\xe8\x33\xa8\x1a\x4f\xed\x2f\xb2\ +\x30\xf4\x24\xbb\xa6\x0e\xae\x5f\x61\x4f\x2d\xbe\x9d\x58\xcc\x5d\ +\xa7\xcc\xdc\xee\x00\xee\x1c\x93\xa1\x5e\x49\x95\xbe\x06\xa2\x4e\ +\x81\x26\x49\x63\x4a\xcd\x24\xb6\xa8\xd8\x34\x9a\xec\x75\x64\x9a\ +\x4b\x6a\xb6\x0a\x58\xb3\xfb\xab\xb9\xa3\xa3\x25\xd5\x66\x16\x8e\ +\x20\x22\xf8\x22\xf4\xa0\x74\x07\x75\x47\x67\xf2\x5f\x51\x01\xa8\ +\x2f\xb0\xda\x13\x7d\x50\xd0\x3e\x11\x55\x4d\x32\x80\x69\xea\x34\ +\x21\x90\x64\x1a\x39\xb9\xe9\x61\x75\xfa\x0e\xa5\xac\xa0\xac\x33\ +\x69\xf9\x1a\xea\x92\x2d\xd2\xd0\xd2\x38\x3a\x58\x46\x29\xeb\x12\ +\xaa\x14\x91\x66\xd2\xdc\xf6\x39\xed\xbd\x52\xb2\xcd\xa6\x44\xb5\ +\x6a\xde\x40\xb4\x4a\x82\x09\x98\xdc\x0c\x4d\xb5\x99\xc2\xa3\xf0\ +\x0b\x7c\x11\x4a\x02\xa5\xa6\x3c\x01\x1f\x3f\x3a\x18\xce\x2b\xa7\ +\x01\xde\xdc\xd9\x0d\xfa\x73\x85\xce\x34\x16\x36\x8e\x97\x5b\x91\ +\x38\xc9\x34\x85\x72\xfb\xf3\xb9\xa6\x44\xc9\xd0\xa7\xed\x46\xd6\ +\x19\x22\x89\x8a\x4b\x44\x8d\xfb\x1c\x39\xed\x69\x1c\x86\x50\xb5\ +\x06\x97\x54\x73\x20\x32\x7b\x26\x99\xca\xa4\x91\x9d\x39\x4c\xb6\ +\xaf\x51\xaa\x42\xf4\x12\x3a\x83\x93\x9b\x33\xf6\x3f\x3d\x78\xc4\ +\x18\x86\x6b\x0a\x18\x3e\x83\xaf\xdf\x3c\xf2\x48\xe0\x15\x13\x00\ +\x80\xba\xb7\xed\x5a\x81\xd1\xed\x71\x1b\x41\xb7\xb3\x88\x05\xb9\ +\x56\x74\x06\xb3\x13\x43\x6e\xa9\x94\x58\x88\xa0\xda\x59\x16\xbb\ +\xeb\x87\xa4\xf4\x72\x9b\xa1\x64\xe7\x0a\x9c\xca\x1c\x51\x87\x93\ +\x98\xdd\xfa\xce\x66\x9f\x65\xca\xb4\xad\xae\xa5\xd6\x8a\x77\x4c\ +\x9d\xba\xa4\x00\x74\xf4\xf4\x8c\x86\x69\xe2\xf6\x16\xac\x6d\xf7\ +\x92\xa3\x03\x94\x41\xf1\xe8\x39\xee\x75\x14\x23\xa1\x68\x38\x9c\ +\x0c\xe0\xef\x4d\x00\x00\xc4\xd3\x67\x3d\x31\x65\x4f\x8c\xc6\x94\ +\x2a\xb5\x56\x9a\x38\x6a\x3e\xd3\x21\x2b\x7e\xcf\xd8\x6c\x19\xbb\ +\xb3\xb8\x71\xfa\xf9\xd9\xa4\x8b\x78\xb5\x7a\x55\xd5\x7c\x06\xac\ +\xa9\xd8\x44\x2a\xed\x3d\x60\x6f\x58\xe1\x14\x8e\x56\x21\x80\xaa\ +\xcd\x8a\xce\xf0\x48\xe5\x10\xb0\xb7\xba\x02\xd4\xe4\x63\x88\x39\ +\x09\x72\x8a\x9e\x47\x67\xce\xb0\x87\x35\x61\x08\x28\x37\x30\x78\ +\x38\x19\xc0\xdf\xaf\x00\xa8\xb9\x1b\x78\x36\x44\x7c\xdd\x6a\xe2\ +\x94\x24\x42\x3a\xc1\x6a\xdc\x15\xab\x31\x7d\x5c\x53\x88\x35\x09\ +\xf1\x48\xec\x7f\x36\x7c\x0b\x2b\x92\xd2\x58\x5e\x92\xb8\xdf\xa4\ +\xac\x65\x35\x4e\x2f\x42\x9b\x5f\xe8\x0a\x59\x16\x9e\x26\x69\x3b\ +\x97\x0d\x65\x9d\xea\x23\x8c\xab\xd5\x74\x14\xd5\x5f\x65\x09\xb7\ +\x8f\x4b\xed\x7f\xd8\x08\x8a\x01\x0c\x7d\x0a\x45\x0e\x1c\x5e\x33\ +\x88\x3f\x88\x00\x78\x79\x7e\x27\xe8\x6f\x44\x75\x10\xa1\x92\xe1\ +\x23\x9a\x41\xfe\xdc\xb0\x30\x49\xc1\x3a\x04\x50\x92\xb8\x1e\x27\ +\x8f\x8e\x13\x11\xb8\xc9\x20\x93\xe5\x6b\xba\xe8\x64\xba\xd9\x68\ +\x45\xbd\x7e\x5a\x44\xea\xee\x3f\x20\xd9\x9d\x45\x32\xf0\x2e\xb6\ +\x89\x3b\x14\xd8\x5e\x60\x52\x13\x34\xd5\x26\x4a\xc7\x88\x30\x22\ +\x1e\x45\x0d\x50\xde\x76\x14\xe7\xe7\x95\x16\x80\x9a\xb7\xee\xe9\ +\x15\xf4\x27\xa0\xfb\xbd\x4c\xcb\x36\xc9\x24\x4c\x2a\xb6\x6f\x51\ +\xad\x68\xa8\xa0\x64\x7b\xed\x9a\x0a\x6c\x3d\x49\x9f\xbd\x84\x60\ +\x55\x76\xf0\xce\x38\x85\x6a\x53\xda\xa2\x77\x24\x53\xfc\x49\x35\ +\x3e\x60\x25\x4a\x78\xc8\x43\xa1\xb1\x16\x26\x37\x27\x7b\x5d\x1a\ +\xc2\x5d\xa3\x4b\x94\xf1\xd9\x60\x45\xa2\xdf\x3c\xb2\x39\x7c\xc5\ +\x05\x00\xa0\xe6\xba\xbd\xff\xe1\xa1\xfb\xd5\x2e\xe8\xb4\x6d\xbc\ +\xcd\x89\x33\x2e\xab\xd6\xc9\xb8\x39\x82\x61\x31\x70\xb1\x8e\xb5\ +\x8a\x42\x9d\x7c\x82\x49\x23\x06\xfb\x78\x9b\xd5\xeb\x16\x9c\xc6\ +\xc7\x59\x35\x0b\x0e\x94\x67\x9c\x96\x37\x68\xb4\x37\x91\xa6\xef\ +\x71\x04\xc9\x3a\x4f\x60\x52\x4b\x6a\x57\x04\x06\x04\xf6\x4e\x6a\ +\x62\xd0\x6e\x06\x21\x37\x60\x8e\x24\x1a\xf8\xbd\x08\x40\xe4\xcd\ +\xaf\x02\x2d\xb9\xd4\x6f\x43\x45\x31\xa4\x58\x21\x22\x54\xe9\xd7\ +\x53\xa5\x95\x8c\x4d\xd1\xb2\xc9\x1b\x36\xbb\x47\x2a\x41\x9a\x6a\ +\x9d\xc0\xaa\xed\x6b\xe0\x08\x9d\x58\xd1\x8c\xe2\x26\xa8\x9c\xe6\ +\xd8\x47\x9e\xa6\x2d\x78\x50\x5f\x83\x8a\x30\xe4\x09\x7b\x30\xec\ +\x9d\x35\x21\x89\x00\xec\xd1\x9c\xde\xb5\x43\x9b\xd3\xdf\x9b\x00\ +\xa8\xea\x2f\x45\xf5\x39\x2f\x1b\x82\x59\x6d\xda\x44\xb3\xbb\x89\ +\x64\x3a\x88\x55\x05\x6d\xd2\x49\x94\x2a\xc4\x50\x27\xec\xce\xec\ +\x49\xe0\xc4\x78\x4e\xba\x59\x5d\x3a\x9a\x15\x0f\x86\x51\x8c\x49\ +\xe9\xe9\x62\xed\x9c\xe0\xec\xa7\x70\x14\xec\xb3\x44\x66\x20\xdc\ +\x6e\xb0\xdb\xcb\xd1\xc7\x40\x65\x0e\x40\x6e\x08\xd3\xc2\xd1\x15\ +\x98\x57\xa5\x00\x14\x9a\xbc\x07\x45\xf5\x37\xc6\x68\x39\xf5\xc8\ +\x5d\xf8\x55\x71\x31\x01\x67\x1b\xe0\x8c\xed\x17\x8d\xf7\x30\xb1\ +\x6a\x0e\x8c\x0b\x1d\xab\xd3\xcb\xdf\xf6\xf6\x63\x45\x61\xdc\x7a\ +\x83\x6c\xa5\x2e\x99\x16\x71\x76\x20\x27\x55\xb4\x87\xe8\x51\xbd\ +\x67\x5e\xe4\x0c\x8e\xab\x47\x31\x94\xf1\x81\xbe\xa3\xcb\xe1\xf8\ +\xfd\x99\x80\x37\xed\x2b\xaa\x31\x3f\x01\xa3\x5a\xad\x0f\x6e\x6c\ +\x43\x33\xf6\x3f\xf6\x01\x34\xd9\x28\xd2\x38\x55\xbb\x31\x7b\xc7\ +\x29\xe2\x18\x2d\xdc\x54\xb5\xea\x09\xb2\x1a\xc5\x86\x80\x8d\x03\ +\x29\xab\xe3\x38\x1a\x2a\xab\x7f\xed\xb4\xf2\xd1\x34\x9b\xd0\x54\ +\x0f\x53\x27\x30\xec\xe5\xd8\xee\x29\x83\xf8\x47\x2f\x04\x84\x57\ +\x80\x11\x74\x10\xe7\x56\xf8\x0a\x8d\x2b\xf7\xd0\x6e\x82\xdc\x78\ +\xf2\xf9\x5c\x60\x0e\x76\x0d\x7e\xd5\x87\xd5\x46\x2e\x81\xcc\xc2\ +\xc7\xf9\xe4\xd9\x4b\x8c\xe0\x95\xf9\xad\x47\x03\xa8\x57\x0f\xc5\ +\x87\xbc\x50\x0e\x02\x7a\xcf\xca\xb1\x87\x2f\x30\x20\x47\xcb\xc6\ +\xfc\xbe\x05\x20\xf9\x61\x37\xe3\x01\x1e\x17\xf2\x87\x1f\x0f\xf2\ +\xda\x18\x4f\xa3\x2c\xc5\x1c\xcd\xc9\x1f\x1b\x63\x63\x6c\x8c\x8d\ +\xb1\x31\x36\xc6\xc6\xd8\x18\x1b\x63\x63\x6c\x8c\x8d\xb1\x31\x36\ +\xc6\xc6\xd8\x18\x1b\x63\x63\x6c\x8c\x8d\xb1\x31\x36\xc6\xc6\x7f\ +\xfe\xf1\xff\x01\xbc\x68\xa0\xde\xbe\x88\xf6\x8c\x00\x00\x00\x00\ +\x49\x45\x4e\x44\xae\x42\x60\x82\ +\x00\x00\x27\xb3\ +\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\x00\x01\x73\x52\x47\x42\x00\xae\xce\x1c\xe9\x00\x00\x00\ +\x06\x62\x4b\x47\x44\x00\x47\x00\x9a\x00\xe8\x4d\xc5\x68\x4a\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\xdc\x05\x01\ +\x09\x38\x17\x42\xe9\x9c\x52\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\x20\x00\ +\x49\x44\x41\x54\x78\xda\xed\x7d\x7b\x90\x1d\xe5\x75\xe7\xef\xf4\ +\xbc\x25\xd0\x8c\x66\x34\x77\x44\x0c\x0e\x0b\xc8\x92\x10\x2f\x83\ +\x40\x40\xd8\x38\xb1\xc0\x3c\x84\xab\xe2\xc4\xb6\x04\xe5\x6c\x6d\ +\x52\xc9\x56\x2d\x54\x52\xb5\x15\x87\xda\x5d\x44\x82\x6d\xbc\x89\ +\x1d\xe2\x94\x37\x08\x27\xae\xdd\x38\xb1\x97\x45\xe8\x05\x96\x04\ +\x38\x48\xc2\x2f\x21\x84\x84\xde\x60\x49\x0b\x78\x29\x0c\x48\x58\ +\x36\x8c\x34\x08\xcd\xeb\xf6\xd9\x3f\xfa\x7b\x9c\x73\xbe\xbe\x5a\ +\x21\x8d\x75\x47\xe8\x76\xd5\x48\x33\xf7\xde\xee\xdb\xdd\xdf\x39\ +\xbf\xf3\x3b\xbf\x73\xbe\xaf\x81\xc6\xd6\xd8\x1a\x5b\x63\x6b\x6c\ +\x8d\xad\xb1\x35\xb6\x53\x6b\x23\x00\x73\x1a\xb7\xe1\xf4\xdb\x32\ +\x00\x9f\x04\xc0\xee\xe7\x9e\xc6\x2d\x39\x3d\xb6\x36\x00\x9f\x17\ +\x03\x5f\xf6\xd3\xd8\x8e\x03\x46\xc7\xfb\x76\x26\x80\xbf\x04\xf0\ +\x67\xfe\x85\x1d\x3b\x76\x80\x88\x40\x44\x00\x11\x32\x22\xcc\x9a\ +\x35\xeb\x54\xbc\xb6\x86\x01\x1c\x65\xeb\x05\xf0\x75\x00\xb7\xf9\ +\x17\xb6\x6d\xdf\x06\x02\x85\xc1\x27\x10\x28\x03\x88\x32\x80\x10\ +\xde\x9b\x39\x73\x66\xc3\x18\x4e\x61\x03\x38\x17\xc0\x3f\x03\xf8\ +\x98\x7f\x61\xcb\xd6\xad\xc8\x80\xe0\xf1\xc1\x00\xa8\xa0\x04\x19\ +\x51\x61\x00\x19\x05\x23\x80\xfb\x7f\xfa\xf4\x8f\x34\x0c\xe1\x14\ +\x31\x80\x73\x01\x2c\x01\x70\xa5\x7f\xe1\xf9\xe7\x37\x03\x20\x64\ +\x59\x1c\x50\x05\xfd\x20\x20\x23\x64\x00\x20\x06\xdf\xbe\x4f\x04\ +\x4c\xbb\x60\x5a\x03\x15\xc6\xa9\x01\x5c\x0a\x60\x05\x80\xf3\xfc\ +\x0b\x9b\x36\x6d\x2a\x3c\x1d\x00\x65\x59\x31\xc0\xa4\x0d\xa0\x70\ +\xf2\xac\x06\x32\x78\x74\xa0\x02\x15\x28\x2b\x8e\xe5\xde\x3b\xef\ +\xbc\xf3\x1a\xc6\x50\xe7\x0b\x27\x00\xbf\x05\x60\x19\x80\x6e\xff\ +\xe2\xb3\x1b\x37\x22\x0b\xb1\xdd\x79\x7d\x06\x1d\xf7\xc3\x60\xa3\ +\xf0\x70\x72\x03\x2c\x06\x3c\xf3\x9f\x77\xfb\xc2\xbd\x4f\x02\x11\ +\x0a\xa3\x20\x9c\x7b\xee\xaf\x9f\xd6\x86\x70\xb2\x2f\x38\x03\xf0\ +\x59\x00\xff\x02\xa0\xd5\xbf\xb8\x61\xc3\x86\xe0\xb5\x91\xe0\x39\ +\x62\x67\xd8\x7e\x88\xf1\x44\x28\x6c\xc4\x90\x42\x72\x83\x0c\x38\ +\x6e\xa0\x09\x63\x81\x1a\x1e\x41\xe2\xbe\x1f\xfe\xf0\x87\x4f\x4b\ +\x54\xa0\x93\x38\xf0\xf3\x9c\xc7\x87\x81\x7f\x66\xfd\xfa\x14\xba\ +\xe1\xc9\x9c\x36\x80\x82\xd8\x01\x19\x65\x61\x80\x2d\xe4\x13\x32\ +\x65\x48\xd6\x38\x02\x5f\x70\xc6\x04\x73\x6c\x8f\x1e\x1f\x3a\xfb\ +\xec\xd3\xc6\x18\x7e\xd5\x17\xd6\x0c\xe0\x73\x00\xbe\x25\x5f\x5c\ +\xbf\x7e\x7d\x3c\x81\xe0\xe1\x08\x9e\x9f\x19\x0f\x87\x34\x0e\x07\ +\xf9\x59\x06\x4d\x0c\xfd\x00\x53\xf9\xeb\xe4\xbc\x9e\xb2\x2c\x31\ +\x1e\x8d\x2e\xd1\x78\x40\x84\x5f\x3b\xeb\xac\x0f\xb4\x31\xfc\xaa\ +\x2e\xa6\x0d\xc0\x9f\x02\xf8\x6a\xad\x81\x17\x16\x50\x0c\x38\x08\ +\x59\x88\xd9\x36\xe6\x17\x9e\x5f\x64\x7d\x96\x14\x3a\x1d\xc0\x42\ +\xbe\xcc\x04\xfc\x77\x64\x1e\x25\xe2\xf7\xfa\x94\x31\x09\x27\xc2\ +\x08\x3d\xb2\x54\xfa\x2a\x1f\x38\x43\x18\xeb\x8b\x98\x08\xe0\x5e\ +\x14\x92\xed\xd1\x07\x3e\x8e\xbf\xb8\xe9\x99\x42\x05\x9f\x05\x44\ +\x02\x57\xdb\x7b\x91\x84\x04\x13\x36\x2c\xc7\xb0\xa1\x02\x82\x4c\ +\x0a\x44\x00\x15\x86\x09\x81\x10\xbd\xbd\x95\x0f\x0c\x2a\x8c\xe5\ +\x89\x9f\x03\xe0\x35\xfb\xe2\xd1\x06\xdf\x9f\x41\x56\x63\x70\xbd\ +\x11\x04\x16\x1f\xfe\x2f\xf7\xdc\x4c\x64\x08\xa0\x28\x10\x65\x6a\ +\x90\x65\x0a\xe9\x51\x81\x4a\xbe\xd7\x93\x46\x0a\xa8\xa1\x10\xc7\ +\x7d\xa6\xa7\xa7\xfb\x94\x36\x86\xe6\x31\xb3\x24\xa2\xe5\xcc\x7c\ +\x6c\x83\x2e\xf7\xe3\x62\x90\xc0\xe6\xd6\x71\xf1\x0f\x67\x84\xcc\ +\xbf\x49\xc5\xf1\x99\x7d\x9e\xaf\x77\x62\x75\x4c\x06\x33\x02\x3a\ +\xf8\x8f\xb2\x7f\x1f\x0c\x26\x20\x63\x17\xef\xfd\x31\xfc\x21\xdd\ +\x39\x91\x3d\x27\xa2\x70\x6e\x20\xe0\xed\xb7\xdf\x0e\x46\xd3\xd5\ +\xd5\xa5\x4e\xe3\x74\x42\x80\x0f\x01\x78\xfd\x7d\x7b\xbf\x3b\x85\ +\x84\xd0\xb9\xb8\x5b\x90\x3a\x03\xef\x42\x23\x88\xde\x1f\xc3\x44\ +\xa8\x0d\x88\x6c\x22\x40\x7d\x78\x9f\x12\x0d\x41\x91\x41\x15\x3a\ +\xe2\xbe\x85\x22\x29\xc3\x92\x3e\xb6\x47\x9c\xce\xce\xce\x53\x06\ +\x15\xc6\xea\xc4\x76\x02\xb8\x78\xef\x9e\x3d\x00\x11\xa6\x4f\x9f\ +\x8e\x63\x36\x06\x8a\xa9\x59\x88\xf9\x1e\x9a\xd5\x40\x19\x66\x1f\ +\x84\x1e\x33\x80\xb5\xd2\x3c\x41\xe8\x0a\x31\x48\xa7\x92\x3e\x54\ +\x44\xe1\x88\x12\xb2\x18\xc2\x40\x89\xf1\xf8\xba\x04\x99\x3b\x3a\ +\xde\x8d\x81\xc6\xd2\xfb\xf7\xec\xd9\xe3\x0e\x5a\x40\xf0\xf4\xe9\ +\x33\x8e\xc1\x10\xac\x00\x24\x84\x1c\xaf\x06\xaa\xaa\x5f\xf1\xb7\ +\x62\xed\x21\x05\x14\xbc\x41\xd6\x06\x84\x61\xf9\x54\x10\x25\x3a\ +\x42\x18\x54\x40\xa1\x8d\x4d\x0f\x33\xa3\x48\x06\xb4\xf2\xac\xb6\ +\xc6\x36\x1e\x8d\x61\x2c\x4e\x60\x13\x80\x2b\x77\xff\x64\xb7\x2b\ +\xc9\x16\x87\x65\x12\x07\x27\xc2\x8c\xa3\xa0\x82\x2e\xde\xc0\x90\ +\x2e\xd2\xa2\x8e\x34\x0c\x2a\x81\x77\x90\xc9\xf5\xb5\xe1\x50\x99\ +\x88\x24\x42\x83\x92\x8e\xa5\x67\xd7\xda\x8f\x7c\x6a\x1a\x09\xe5\ +\xb1\x6c\xc6\x18\xe8\x54\x35\x80\xb3\x00\xbc\x09\x00\x2f\xfe\xe4\ +\xc5\x78\xf1\x3e\x6d\xf3\x37\xc8\x3b\x06\x13\x18\xc0\x8c\x19\xa9\ +\x31\x6c\xd8\xf0\x8c\xca\xdb\x2d\xbc\x6a\xe8\x4d\x07\xa1\xbc\x20\ +\x64\x8c\x47\xd5\x0f\x52\x58\x2f\x90\xc1\xbe\xe6\xbf\x17\x69\x9a\ +\xe8\xb9\x82\x0f\x5b\xc1\x18\x8f\x7d\xab\x37\x2a\x9c\xe8\x97\xad\ +\x01\x70\xfd\x8b\x2f\xbc\x00\x39\xd2\x14\x58\xbb\x60\xf9\x02\x1d\ +\x9c\x58\x57\x1a\x22\x9e\x7d\xf6\xd9\xa0\x09\x10\x71\xf0\x5e\xa5\ +\xdf\x67\x82\x74\x85\x02\x90\x24\x84\x42\x52\x96\x32\x2f\x99\xb2\ +\x32\x10\x3e\x6f\xe5\xe5\xc8\x19\xca\x0c\x49\x87\x02\x9d\xaa\x1e\ +\xff\x2d\x2d\x31\x86\xab\x01\x3c\x37\x5e\x0d\xa0\x02\xe0\x2d\x00\ +\xd8\xb5\x6b\x57\x24\x71\x85\xa3\x23\x03\x81\x29\x02\xa2\xbd\x31\ +\xe1\x6f\x67\x24\xd3\x4b\x50\x61\xd3\xa6\x4d\xa2\x72\x67\xe3\xba\ +\xcb\xd3\x91\x89\x8a\x61\x49\xe8\x00\x95\x86\x93\xcc\x67\x13\xd2\ +\xdb\x65\x96\x41\x9e\x84\x66\x49\xe1\x28\xc4\xfd\x52\x71\xe9\xc4\ +\x7c\xaa\xc4\x08\xfe\x02\xc0\x97\xc6\xa3\x01\xac\x03\xf0\xf1\x9d\ +\x3b\x77\x3a\x0f\x20\x15\x02\x22\x1f\xa2\xf0\x02\x49\x5e\x10\x21\ +\x21\x78\x11\xbb\xc1\x2a\xcb\x22\x9e\x7f\xfe\x79\x1d\x77\x9d\xe7\ +\x66\x44\x49\xba\x18\xb3\x00\x38\xc2\x68\x0a\x4b\x26\xdb\xc8\x54\ +\xbd\x20\xa6\x7c\xd6\xb3\x75\x16\xa2\xa5\x67\xfb\x9d\x27\x3a\xf0\ +\x7b\xf7\xee\x05\x10\xee\xc5\xe7\x00\x3c\x34\x9e\x0c\xa0\x07\xc0\ +\x2f\x00\xd7\xa0\xe9\x07\x53\x78\xbc\xfa\x1d\xe9\x7b\xce\x77\x95\ +\x2d\x04\xc4\x08\x2f\x97\xa7\x94\x5b\xb7\x6d\x73\xde\x89\xd8\x37\ +\x50\x32\x40\x44\xb5\xba\x89\xac\xfa\x97\x19\x59\x18\xe2\x75\x52\ +\x1a\x83\xad\x21\x94\x85\x07\x1a\x83\x81\x97\x9b\xbb\x07\x17\x01\ +\x78\x71\xbc\x18\xc0\x52\x00\x9f\x06\x80\xed\xdb\x77\x88\xcc\x87\ +\x40\xe4\xe3\x3f\x81\x98\xa3\x34\xeb\x86\xbc\x18\x7f\xf9\x19\xa8\ +\xfd\x41\xd0\xe4\xd1\xbd\x56\x66\x08\x3b\xb6\x6f\x2f\xd7\x08\x84\ +\x37\x67\x25\xf0\x0d\x53\x36\x26\x93\x21\x04\x59\x3a\x13\xf5\x00\ +\xa1\x33\x14\x9c\x41\x67\x1a\x51\x08\xca\x70\x2c\x51\xe0\x58\x06\ +\xbe\xc4\x08\x7a\x00\xbc\x5d\x6f\x03\xe8\x04\xd0\x0f\x00\xdb\xb6\ +\x6d\x8b\xde\x2f\xe2\x7a\x02\xf3\x04\xfd\x39\x45\x06\x23\xfc\x47\ +\x20\x21\xc5\x15\xd8\xa3\x05\xa9\x9b\xa1\xb6\x5d\xbb\x76\xe9\xda\ +\x7e\x59\x26\xe0\x49\x9f\xc9\xed\x55\x96\x91\x51\x92\x86\xd6\xac\ +\x57\xd4\xc8\x12\xe8\x18\xb5\x80\xe5\xcb\x97\xe3\xa2\x8b\x2e\x3a\ +\xa6\x9b\x7e\xcf\x3d\xf7\x60\xc9\x92\x25\xef\xa2\xe8\xa0\x1a\xa9\ +\xa7\x01\x2c\x06\x30\xbf\x30\x80\xad\x42\x97\x87\x21\x82\x14\x07\ +\x9a\x44\x56\x20\x87\x9f\x58\x11\x06\x82\xce\x16\xfc\x81\x05\x60\ +\x24\x9f\x2f\x33\x06\x9f\x92\xaa\x78\x2e\x07\x32\x21\x6d\x16\x29\ +\x52\x03\x88\x72\xb3\xe5\x04\xee\x6a\x2c\x6a\x1c\x65\xe0\x77\xef\ +\xd9\x93\x64\x44\xc7\xb2\xb9\x6b\xdd\x03\xe0\x42\x8c\xd1\x44\x98\ +\xf7\x6b\x00\x4d\x00\x46\x43\x2c\xde\xb2\x25\x32\x3b\x8e\x03\x54\ +\xd4\x4b\xe2\x50\x03\xac\x62\xb3\xcd\x04\xe4\xc0\x7a\x3c\x40\x50\ +\x01\x45\xb8\x80\xa8\xd4\x10\x8b\x41\x2e\x37\x84\xdd\xbb\x77\x0b\ +\x5d\xdf\x43\xb9\x61\xef\xca\x8b\xcb\x59\x7d\x28\x47\x2b\xe3\x90\ +\x02\x11\x25\x99\x48\xd9\xc0\x07\xad\x84\x02\xe5\x15\x86\x7f\x6c\ +\xdc\xc1\x5d\xe7\x32\x00\x9f\xa9\x87\x01\x34\x03\x18\x79\xf2\x89\ +\x27\x71\xf3\x2d\x37\x6b\x62\xb6\x65\x6b\x24\x73\x0a\xce\xe5\xe0\ +\x46\x64\x20\x11\x1e\x24\x6f\xd6\x5e\x2e\x10\x83\xac\xc7\x50\xcd\ +\xf4\xb2\xcc\x18\xf6\xee\xdd\x9b\x14\x87\x74\xcf\x00\x25\xad\xe5\ +\xb1\x89\x94\x4a\x3b\x93\x43\x21\x8b\x4c\x4b\x3a\xe0\x2b\x83\x22\ +\x3c\xc5\x82\x97\x76\x00\x0a\xe8\x26\x4d\xe0\x68\x61\xc4\x5d\xdf\ +\xbd\x00\xbe\x50\x17\x03\x78\xe2\x89\x27\xa2\x47\x32\x70\xf3\x2d\ +\xb7\x68\x63\xd8\xba\x45\xa5\x7e\x5e\xcf\x97\xf5\x55\x2a\x1b\xc4\ +\x84\x43\x08\x99\x57\xd6\x66\xcb\x94\x46\xb3\x3f\x53\xed\x2c\xe2\ +\xe5\x97\x5f\x36\xf2\x71\xda\x4b\x98\x29\x19\xd8\x08\x42\x32\xac\ +\x08\x69\x9a\x99\xd1\xd3\xd3\x23\x48\xea\x8e\x28\x0f\x4b\x6e\x82\ +\x92\x73\x96\x48\x10\xc5\x94\x9a\x29\xa5\xbb\xae\x5b\x01\x3c\x7e\ +\xd2\x0d\xe0\xf1\x27\x1e\x97\xe0\x1c\xb6\x5b\x8c\x21\x6c\xd9\xb2\ +\x45\xc1\x3c\xcb\xd4\x4f\x4a\xa7\x2a\xc6\xfb\x04\x91\x45\x5a\x28\ +\x99\x03\xeb\x6c\x41\x5e\x85\x17\xa0\x04\xef\x90\x86\x66\x8d\xe1\ +\x95\x57\x7e\x5a\xb3\xed\x3c\x93\x1a\x41\x22\x1d\x67\xaa\xe8\xc4\ +\x39\xa3\xb7\xb7\x37\x1c\x77\xdb\xd6\x6d\x6e\x1f\x19\xbe\x2c\x19\ +\xf6\xa8\xa1\xf9\x91\x0d\x8b\x24\x90\xa7\x86\x11\x34\x03\xa8\x9e\ +\x5c\x03\x78\xfc\x71\x75\x00\x76\xe9\x1c\xe2\x58\xa6\xc6\xb0\x75\ +\x8b\x20\x85\xf1\x06\x30\x71\x09\xcc\x0b\xb4\x90\xa4\xd0\x86\x05\ +\x49\x2c\xcd\x8d\x94\xc6\x19\x84\xa6\xa3\xa0\xc2\xab\xaf\xbe\xaa\ +\x39\x41\x98\x76\x86\x44\x02\xf6\x70\x5d\xad\x56\x71\x96\x68\x1a\ +\x7d\x7e\xcb\x16\x91\xc5\x70\x14\xc7\x64\x9a\x08\x6d\x98\x32\x6b\ +\x29\x1b\x78\x8d\x82\x50\x69\xb5\xbb\x8e\x16\xc9\xcb\x4e\x8a\x01\ +\xac\x5e\xbd\xda\x88\x3b\xac\x20\x9f\xa1\xd9\x7b\x6a\x0c\x5b\x45\ +\xf8\x97\x80\xc8\xc2\xd2\x85\xf7\x12\x12\x8e\x40\x25\x6a\xa2\xdc\ +\x8f\x19\x31\xaf\x4f\xf8\x47\xfc\xde\x32\x63\x78\xed\xb5\x9f\x15\ +\x75\x80\x64\x5e\x41\xb1\xcf\xc8\xf0\x30\xce\x11\xf3\x08\x36\x6d\ +\xde\x04\xc1\x6c\x9c\xdc\xa1\xb9\x8e\x52\x4b\x49\x73\x20\x92\x26\ +\x2d\x79\x91\x0d\x97\xf2\xb3\x44\x98\x31\x63\x46\x7d\x10\x60\xd5\ +\xea\xd5\xc6\x2b\x19\xc4\xfe\x06\xb3\xf1\x56\x37\x18\x04\xdc\x72\ +\xcb\xbc\x54\xd5\x73\xc6\x10\x77\xc9\x1c\x2a\xa0\x34\x45\x0c\x37\ +\x56\x41\xa2\x80\x52\x90\xb6\x29\xe8\x9b\x06\xa4\x32\x35\x1d\x45\ +\x5f\x78\xe3\x8d\x37\x42\xfa\xf7\xde\x91\xf7\x70\xfe\xf9\xe7\x87\ +\xf7\x36\x6e\xdc\x98\xc0\x3b\x95\x48\xdc\x7a\xe0\x43\xac\x4a\x8d\ +\x84\xcc\xf5\xfa\xeb\x22\x19\x38\x23\x37\x70\xb3\xa0\xeb\x60\x00\ +\xab\x56\x89\x78\x6c\x58\xb9\x83\xf5\xa2\x65\x8e\x5c\x58\xe0\x84\ +\xcc\xcc\x9b\x37\xaf\x34\x8b\xb0\x85\x22\x70\x71\x13\x28\xf4\x18\ +\x98\x2a\xa3\x21\x88\x4a\x8c\xb2\xba\x81\xa2\x0f\x29\xf1\x3c\x9a\ +\xea\xa8\x4b\xd7\x1b\x94\xb7\xc6\xa0\x65\xb4\x01\x62\x31\x98\x99\ +\x42\x38\x5d\xa8\xd2\xc6\xa8\x65\x71\xd2\xd9\x94\x20\xc0\xb3\x66\ +\x5d\x58\x2f\x03\x58\x09\xdd\xf1\x21\x6b\xfe\x3e\x04\xb0\xc9\xfb\ +\x63\x9c\x26\x66\x55\x29\x4c\x8c\x41\x64\x11\xa0\xf2\x14\x51\xab\ +\x8e\x64\x48\x24\x61\xdd\x9b\xad\xe1\xef\xb9\xbf\x36\xa2\xd3\x4b\ +\x71\xa3\x51\x2b\xed\x74\x5f\x28\x8c\x61\xfb\xfa\xf5\xeb\x2f\x4b\ +\x34\x0b\x2a\x89\xdf\xc9\x80\x8a\xf7\x0d\x1f\xb1\xe8\x90\x20\x86\ +\x34\x54\x66\x55\xf4\x9a\x55\xa8\x88\x27\xdf\x00\xbe\xbb\x72\xa5\ +\x1a\x57\xe8\x28\x0e\xb2\x7f\x7b\xc3\x30\xf6\x20\x79\x42\x44\x86\ +\x5b\x93\x10\xa1\x3f\x9b\x56\xdc\xbc\x5a\xf7\xf4\x1b\x6d\x05\xda\ +\x90\x1e\xc4\x10\x57\x89\x30\x77\xaa\x34\x06\xae\x21\x46\x45\xa3\ +\x62\x30\x66\xce\x28\x16\x9c\xf8\xd1\x8f\x7e\x14\x8b\x4f\x25\x05\ +\xae\xcc\x7a\xa9\x47\xaa\xcc\x21\x59\xa6\xf9\x8b\xf6\xf6\x88\x06\ +\x0c\xed\xf5\xa5\x7c\x81\x08\x17\x5f\x7c\x71\x9d\x0c\xe0\xbb\xdf\ +\x35\x83\x98\x8e\xac\x87\x65\xe6\xb4\x4d\x8e\x02\x4b\xa3\x1a\x27\ +\x44\x98\x77\x6b\x09\x2a\x08\xd9\x59\x42\xe4\xba\xd7\x5b\xcd\x60\ +\xc7\xb0\x40\x02\x9a\x62\xe5\xb0\xb0\xba\xb9\x53\x47\x00\xd3\xba\ +\x66\x51\xc7\xc5\xd9\xdd\x3f\xfc\xe1\x0f\x66\xca\xde\x02\xd9\x3b\ +\x9e\x65\xa4\x0d\x9f\x4a\x52\x3f\x3f\x94\x64\xd8\x7d\x08\x73\x35\ +\x10\x4e\x91\x5b\x21\x67\x83\x71\xc9\xa5\x97\x9e\xb0\x01\x1c\xdf\ +\xbc\x00\x3f\x78\x8e\x02\xb0\xfb\xa5\x30\x84\x3c\x64\x01\x60\x16\ +\x1f\x8f\x39\x62\x9e\xb3\x1b\x13\x86\xc8\x8c\x5c\x4f\x3e\x81\xc1\ +\x90\x99\xc6\xad\xf3\xe6\xe1\xf2\xcb\xaf\xd0\x7c\x01\x8c\xb5\xaf\ +\xb7\x69\xe9\x99\xb8\xa8\x4d\x30\x3b\xb4\xf1\x67\x56\x78\x3a\xbb\ +\xef\x2d\xce\x87\xb1\x6e\x5f\x0b\x40\xc0\xdc\xb3\x86\x8b\xfd\x99\ +\x43\x56\xc3\xda\x37\x66\xe6\x0c\x64\xc4\xc8\xb9\x40\x22\x69\x60\ +\x79\x8e\x48\x86\x03\x33\xe2\x58\x27\x21\x88\xa3\x1a\xa2\xcc\x31\ +\x8b\x2a\xae\x9f\x6b\x8a\x3f\xfe\xfa\x72\x7d\x76\x27\x54\x13\x38\ +\x2e\x04\x78\xec\xb1\xc7\x2c\xee\xa7\xac\x5c\x9e\x1b\x21\xa1\x81\ +\x41\xed\x22\x2e\xe5\x13\x10\x13\x3a\x62\xcc\x04\x6e\xbf\xf7\x21\ +\xe5\x5d\x77\x2f\xbc\x3b\xc0\x25\xfb\xa2\x8e\x40\x03\xd5\x93\x22\ +\x09\xa0\x24\x7f\x14\x3f\xff\xf1\xbe\x11\x9f\xa9\x7b\x92\xb5\xfd\ +\xe9\xa7\x9f\xbe\x2c\x22\x85\x68\x55\x13\x03\x99\x51\x24\xa9\x89\ +\x78\x63\x95\xcb\x92\x4e\xa9\x18\xb6\x4c\x6a\x4b\x36\x64\xc4\xf7\ +\x3f\xfa\xd1\x8f\xfa\xfa\x4c\x7e\x52\x0d\xe0\xd1\xc7\x1e\x0b\x03\ +\x93\x8c\x2a\x23\xcc\xe0\x21\xa9\x0c\x85\xd2\x6e\x54\x8c\xca\xe4\ +\xee\x00\x83\x86\x1b\x3c\x7b\xa0\x3b\xda\x09\x11\x1e\x78\xe0\x81\ +\xc0\xb2\x01\x60\xe1\xdd\x77\x47\x7e\x40\x5c\xa2\xb9\x23\x92\xaa\ +\xa0\x12\xb2\x1a\x14\x15\xbb\x09\xf8\x93\xdf\x2e\xd6\x17\x5a\xb7\ +\x6e\x1d\xa4\x01\xd8\x3a\x87\x8f\xe3\x99\x89\xd9\x56\x03\xb0\xb2\ +\x37\x25\x7f\x47\xf1\x28\x0c\x7b\x06\x1d\x02\xc4\xbe\x97\x5f\x7e\ +\x79\x9d\x0c\x60\xc5\xa3\x69\x06\x60\xf2\xec\xb2\x6f\x91\x5c\x41\ +\x12\x46\x96\xbb\x32\xab\x1e\x81\x0d\x07\xba\x6d\xaf\x48\x3c\x64\ +\x31\x16\x78\xe0\x81\x45\x62\x50\x81\x85\x0b\xef\x56\x28\xa0\x25\ +\x05\x9d\x31\x90\xcd\x20\xdc\x3e\x5f\xfc\xe2\x17\xd1\x34\xb1\xf3\ +\xa5\x3f\xf9\x0f\x7f\x30\x8d\x40\x98\x73\x46\xbf\x40\x0f\xc9\xec\ +\xe5\xa0\xe8\xef\x23\xd9\xf4\x92\x99\x12\xb7\x25\x8e\xa6\x9c\x9e\ +\xa4\xb5\x8a\xcf\x14\xdf\x73\xc5\x15\x57\x9c\xb0\x01\x1c\x17\x07\ +\x60\x70\x18\x4c\x96\xa1\x88\x55\x54\xd0\x62\x0e\x43\xe8\x03\xee\ +\xa3\x62\x7f\x66\x6d\x2f\xeb\xdf\xea\x76\x37\x91\x93\x60\x17\xb4\ +\x86\xbc\xb8\x21\x77\xde\x79\x27\x88\x80\x07\x16\x2d\x02\x33\x70\ +\xdf\x7d\x5f\x0e\x07\x2a\x8c\x21\x42\x2e\x4b\xc2\xe1\xd1\x80\xc5\ +\xe0\x73\x31\xa7\x90\x19\xa8\x1e\x3e\x38\x8d\xf3\x1c\x20\xc2\xc6\ +\x81\x49\xa1\x59\x74\xce\x84\x83\xe2\x42\x39\x78\x2f\x4b\xe4\x0a\ +\xc6\xee\x79\x89\xff\x53\x43\x67\x2e\xb5\x09\x9f\x1e\x7b\x7e\x84\ +\x2c\x7c\x3e\xca\x5c\x0c\x73\xe3\x4f\x7e\x35\x70\xf9\xf2\xe5\x26\ +\xaf\x86\x62\xb3\xec\xc9\x9d\xee\x08\xd0\xde\x6e\xb3\x00\x02\x9e\ +\xd9\xdf\x13\xb9\x03\xe9\xb6\x30\xd6\x0e\xa4\x3d\xbb\xa4\x23\x69\ +\xd1\x83\x8b\x92\x2b\x5c\x78\xcf\xdd\x46\xc0\x31\xa8\xe0\x0e\xbc\ +\x72\xd5\x4a\xbc\xf0\xd2\xab\x2f\xff\xd1\xef\xcf\xbf\xa0\xa3\xbd\ +\x5d\xe7\xe3\x59\x8c\xc9\x73\x26\xf6\xab\x3e\x05\x19\xc7\x89\xa0\ +\x85\xab\x92\x86\x18\x2f\x2d\x6b\x8f\x37\x61\xc4\xb4\xc8\xf9\x03\ +\x13\x01\x57\x5d\x75\x55\x7d\x10\xc0\x27\xf5\xda\xa3\x8b\x1b\x91\ +\x73\x74\x0c\xff\x6a\x1e\x08\x83\xf0\x12\xe1\xd2\xcf\xec\xeb\x0e\ +\xb3\x7d\x99\x62\x9a\xc8\xec\x75\xf5\x88\x27\x11\x29\xac\xea\x10\ +\xb9\x3b\x13\xe1\x8e\x3b\xee\x08\x90\xea\x8d\xe1\xbe\x2f\x7d\xd9\ +\xa1\xc2\x42\x33\x11\x99\xd5\x31\x77\x6c\xdf\x0e\x00\x17\xb4\xb5\ +\xb6\x85\xef\x2b\xf4\x05\x80\x72\x20\x77\xc6\xb2\xf1\x70\x67\x18\ +\x98\x39\x13\x0e\x3a\xc3\x8f\x3c\x27\xf0\x5b\x16\xb0\x18\x46\x9c\ +\xc1\xb9\xd4\xf7\x59\xfa\xb7\x3a\x06\x91\xbf\x6f\x84\x2c\xe3\x98\ +\x38\xd4\x0d\x01\x96\x2d\x4b\x24\x60\x94\x0a\x3c\x35\xf2\x7c\x37\ +\xc0\xeb\xf7\xf5\x24\x5a\xbe\x4c\x9b\x34\x6b\x77\xc0\x90\x99\xf7\ +\xa4\xc2\x68\x3c\x5b\x1d\xc7\x9d\xeb\xa2\x45\x8b\x14\x7a\x2c\x5c\ +\xb8\x50\x79\xde\x7d\x5f\xfe\x12\x9a\x27\x4d\xd9\x79\xd5\x45\x1f\ +\xb9\x64\xf6\xec\x2b\x04\x9b\x67\xd1\x31\x84\xe4\x5c\x65\x3f\xc1\ +\x95\xed\xfd\x06\x59\xd2\xf8\x2d\xe5\xec\x58\xad\x2c\x67\xfc\x5a\ +\x15\x8c\xd7\x7a\xf5\xd5\xd7\xd4\x8b\x03\xc4\xb8\x9d\x45\xbf\x2b\ +\xc6\x35\x8f\x8d\x9c\x36\xb0\x13\x08\x3f\x7e\xb3\x3b\xa4\x59\xf1\ +\x2d\x0e\x79\x7c\xce\xaa\x20\x1c\x45\x25\xef\x89\xb9\x6b\x07\xe3\ +\x22\xed\x8a\x92\x33\xbb\x70\x29\x3c\x50\x7c\xb7\x3f\x95\x3b\xef\ +\xbc\xb3\x20\x8e\x0f\x2e\x02\x31\x70\xdf\x7d\xf7\x05\x03\xb8\xeb\ +\xae\xbb\x00\x00\xa3\x87\x7e\x71\xc9\xe5\x97\x2f\x00\x07\xf7\x97\ +\x71\x5e\xa4\xaf\x82\xd8\xb2\x3f\x47\x02\x36\x1d\xe9\x0c\x46\x77\ +\x65\xdb\xa1\x02\x36\x84\x67\x30\xfb\x35\x0a\xb4\xac\x12\x81\x2e\ +\xa2\x41\xe8\x8e\x93\xf2\xb9\xe7\x18\x63\xa0\x03\x1c\x9f\x01\x70\ +\x4c\xf3\xf2\x92\xef\x67\x45\x74\x0a\xf3\x58\xff\xc6\x14\xc3\x17\ +\x82\x44\x53\x72\x1d\x5c\xf0\x3b\x4f\x94\xa4\x64\xeb\xc8\x00\x3b\ +\x7c\x2d\x8c\x8e\xc3\x0d\x67\xa9\x3d\xb0\xe0\x1b\x10\x44\x0d\x8c\ +\x3b\xef\xb8\x33\x84\x9d\x45\x0f\x3e\x08\x66\xe0\xab\x5f\xfd\x2a\ +\x9a\x27\xf5\xee\x18\x1d\x38\x70\x29\xb3\x24\x8b\x3a\x0c\x59\x11\ +\x24\x98\x9b\x33\x0a\x78\x27\x20\x60\xf3\x60\x34\x86\xd9\xad\xfd\ +\xa2\x0d\x8c\xe3\x65\x27\x31\xc2\xbb\x95\x0e\xa1\x94\x03\x9c\xf9\ +\x5d\xb9\x7e\x21\x60\xc9\xd2\xa5\x8e\xa5\x52\x02\xb5\x32\xa7\x23\ +\x30\x9e\x79\xb3\xb7\xf4\xcb\xd8\xc4\x44\x32\x35\x72\xd5\x01\x96\ +\x89\xdb\x1f\xe0\xb8\x04\x1a\x09\xa5\x65\x5f\x2e\x6b\x4b\x57\xa9\ +\xa0\x57\x28\x73\xfc\xc3\x3f\xfe\x03\xee\xb8\xe3\x0e\x9d\xf2\x91\ +\x90\x6d\x6d\x15\x50\x4a\xbb\xa2\x85\x4b\x85\x2a\x43\x32\xaf\x6c\ +\xed\x4f\x3a\x80\x74\x93\x08\x4a\xc4\x21\xdb\x61\x44\xb8\xee\xba\ +\xdf\x88\x65\xc6\x93\x4a\x02\x73\x8e\xb0\x27\x80\x28\xc4\x7d\x66\ +\x3c\xf3\xe6\x14\x11\x9e\x19\x10\xd0\x2c\xb4\x22\x93\x41\x72\xb4\ +\x0e\xb2\x72\xa9\x37\x1a\x8e\x33\x8d\x3d\xcb\x0a\x5e\xaa\x0d\x8d\ +\x6d\xea\x1a\x7e\x77\xa3\x91\x2b\x49\x3f\xc0\x71\xce\x51\xb2\xf5\ +\xf4\x2c\xa6\xbe\x1c\x8c\x93\x29\x82\x35\x85\xf0\xe4\xef\x11\x89\ +\x7e\x08\x0e\x88\x40\x60\x6c\x1e\xea\x84\xef\x47\x9c\xdd\xd2\xef\ +\x38\x40\x44\x27\x59\x40\x93\x01\x41\x27\x4e\x63\x83\x00\x63\xa3\ +\x03\xe4\xc5\x88\x6e\x78\xb3\xd7\x60\x0a\xc7\xbc\x3b\xc4\x48\x99\ +\xc7\x8a\x24\xd8\x5c\xac\xfc\x1e\x26\xa4\xeb\x07\x05\xb5\xb1\x88\ +\x8d\x60\xa8\x5c\x9f\xbd\xf2\xc8\x22\x54\x08\x4e\xe1\x43\x89\x0f\ +\x59\x24\x15\x07\x76\xc6\x2d\xea\x07\xc5\x00\xb2\x08\x6a\x31\x80\ +\x71\xcc\x6d\x5d\xf8\x13\xc6\xe3\xde\xcb\xdc\xf5\xb3\xd3\x1e\xfc\ +\x00\x6f\x1e\xee\x0a\x88\x32\xbb\xf9\x60\x5c\xfb\x48\xe4\xbd\xc1\ +\x38\xbc\x03\x30\xd9\x5a\x45\x1d\x38\x80\x18\xb4\x0d\xfb\x7a\x13\ +\xd7\x23\x29\xb0\xb0\xc0\x7a\x06\xc8\x91\x22\x0e\x44\x2a\x56\xf8\ +\xe0\x0a\x39\x60\x8a\x11\x96\xe5\x71\x29\x02\x44\xfc\xc5\x7d\x0d\ +\x01\x59\x91\x5e\x51\x26\xb8\x0a\xf9\xdf\x29\xa6\x54\xce\x68\xa5\ +\x37\xc7\x67\x8f\xb8\xe3\xe5\xce\x73\x4d\xea\x19\x6a\xdb\x99\x68\ +\x7f\x73\xc4\x54\xb0\xe3\xc8\xd8\x05\xd8\xf8\x73\x25\xf8\xc5\xae\ +\x22\xb1\x7c\x7e\xa4\x33\x84\x89\xd9\xcd\xef\x04\x9e\xe7\xf7\xf3\ +\xce\x40\x32\x1b\xaa\x87\x01\xc0\xc1\xd1\xb3\xfb\x7b\x95\xba\x46\ +\x35\xb2\x05\x52\x74\x37\x6a\x04\x41\xd4\x32\x50\xee\x49\x8e\xf7\ +\xcb\xe0\xe1\x5e\x64\x0a\x24\x58\xc0\x86\x1f\x5c\x3f\xb0\xb9\xf3\ +\x58\x09\x3e\xbe\x5a\xe8\x98\x78\xac\x4f\x38\x96\xcd\xc5\x95\xe4\ +\x39\x9b\x7e\xc7\x78\xfe\x9c\x45\x69\x8a\x72\xcf\x01\x5c\x4e\x2f\ +\x78\x48\xc8\xf1\x89\x35\x92\x09\x7d\x00\x6e\xf0\x49\x1a\x82\x33\ +\x97\xcd\xa3\x5d\x81\x5f\xcc\x6e\xea\x87\x04\x52\xb8\xeb\xa8\x9b\ +\x01\x6c\xd8\x57\x31\xb9\x78\x34\x0a\x69\xdd\x47\x3b\xd1\x10\x09\ +\x44\x09\x36\xc2\x6f\x84\xbb\xe2\x30\x0c\xc9\xc3\x19\xba\x0b\x39\ +\x1c\x90\xe5\xbc\x00\xd6\xdc\x82\xa2\xd7\xb3\x58\x75\xce\x23\x4c\ +\xf0\x74\x16\x06\x2a\x4b\xd9\x88\x0c\x5f\x74\x78\xe9\xc2\xb1\xd3\ +\xfd\x59\xe8\xdd\x6c\x2a\xa3\xf1\x34\xb9\xa4\xe8\x45\x02\x21\xa2\ +\xe0\xf3\x3c\x17\x99\xc4\xec\xac\xdf\xc0\x55\x1d\x0c\xa0\x7b\xc6\ +\xed\x68\xaf\x16\x03\x34\x98\x29\x1a\x18\x6a\xed\xa1\x16\xcf\xe2\ +\x86\x23\x5a\xbf\xcc\x02\x4a\xbb\x85\x3c\xe1\xf1\x1f\xcc\x04\xc4\ +\xab\x1a\x31\x92\xe6\x54\x46\x34\x84\x38\x20\x66\x9f\xf0\x9d\x24\ +\x5e\xce\x45\xff\x02\x27\xa9\x9e\x3c\x1e\x50\xd4\x21\x38\x83\xae\ +\x7f\xc8\x5c\xdd\xa3\x88\x43\x0d\x6b\x08\x9e\xc6\x90\xe2\xb9\x26\ +\xd5\x34\xc8\xb0\xa5\xda\x15\xb2\x92\xcb\xb3\xfe\x31\x31\x80\xec\ +\xf8\x38\x40\xf1\xd3\x5e\x25\xf7\x93\xe9\x50\xef\xbd\xc8\x3c\xcb\ +\x8b\x02\x3d\x8b\xde\x93\x33\x83\xdd\x45\xfa\xe3\x6a\xa5\xb8\x80\ +\xf5\xe0\x9d\xee\xe0\x52\xa3\x61\x16\xaf\x31\xc4\xef\x1e\xd6\x39\ +\x1c\xdc\x7f\x9e\xd9\xe9\x07\xee\x7d\x11\xfa\x8b\xe3\xe5\xb9\xfb\ +\xde\xe2\x18\x39\x33\x38\xe7\xb8\xaf\xdf\x3f\x2f\x42\x46\xee\xde\ +\x43\x9e\x8b\xf3\xc9\xf5\x7e\x76\x7f\x2e\x84\xaf\x9c\xed\xfb\x8c\ +\x3c\x8f\xef\xfb\xf7\x72\xb7\x6f\x9e\x03\xcf\x1e\xea\xc4\x94\x8f\ +\xdd\x5e\x87\x10\x20\x88\x9d\x14\x40\xda\xab\x91\xb1\x0c\x66\x79\ +\x74\x69\xe3\x4c\x8a\xd8\x05\xce\x24\xfa\x70\x54\x4f\x01\x69\x95\ +\x5e\xc4\x7f\x55\xc4\x93\xa9\x52\x78\x5f\xf7\x22\xb3\xca\x34\xa2\ +\xa2\xc6\x6c\x74\x18\x37\xb0\xb1\xc5\x5d\x4c\x48\xf5\x21\x89\xac\ +\x86\x89\x88\x3c\xa4\xb3\x99\x64\xf1\x53\x77\x9c\x02\xc9\x23\x3d\ +\x8c\x2c\x8a\x0d\x10\xe8\x82\xc2\xf0\xe1\xaa\x59\x73\xa1\x1e\x24\ +\x90\xd9\x14\x69\x75\x01\xb8\xad\x1a\x1b\x27\x8f\x34\xe5\xb1\xa2\ +\xc7\x26\xee\xb1\x24\x04\xc2\xc3\x75\x33\x51\x24\x8e\x0c\x53\x2c\ +\x89\x4d\x95\x0a\x69\x02\x9f\x64\x03\xf3\x28\xb7\x48\x91\xdd\x78\ +\xef\x0c\x79\x77\x86\x98\xde\x19\x89\x1a\xaa\x7c\x53\x90\x4e\x6f\ +\x50\x5e\xbc\xd2\x65\x5c\xa1\x09\x18\x9d\xa1\xf8\x60\xee\x48\xaa\ +\x31\x04\x02\x46\xdf\x63\x5d\xb2\xd6\x72\xf0\xc9\x33\x80\x00\xb9\ +\xd2\xc1\x75\x02\xed\x06\xad\x38\xfb\xf6\x51\x0a\x5e\x7d\xa4\x89\ +\x55\x0e\xec\xfb\xff\x7c\xca\xa7\xf8\x9c\x24\x42\x56\x06\xe0\x18\ +\x4f\xd9\xaf\x44\x22\xbd\xcc\xf5\x09\xe4\x0c\x64\xa2\x9e\x1e\xd4\ +\x35\xc1\x53\x22\x51\x24\xa1\xfd\xe7\xc8\x3d\x4a\xb0\x20\x82\xa1\ +\xd6\xc1\xc8\x33\xdd\x7b\x48\x82\x6b\x86\x7b\x22\xfe\x66\x96\x13\ +\x43\x58\xe7\x48\x72\x0d\x62\x8a\xfa\xc2\xf0\xa0\x51\x2b\x83\xee\ +\x01\xa7\x05\xd4\x4d\x07\x88\x6c\xd6\x16\x31\x7d\x3e\x4f\x02\x25\ +\xfc\x6f\x9e\x2b\x00\x8c\xc1\x26\x06\x15\x77\x53\xa5\x69\x7e\x2d\ +\x41\x2e\x09\x3b\x2c\x34\x06\x26\x18\xcf\x16\xf7\x31\x7e\x50\x19\ +\x28\x41\x1a\x2f\x99\xf2\x6d\x3c\x7e\xce\x1c\xaf\x2f\x17\xe5\x69\ +\x3f\xd1\x83\x01\x72\x61\x22\x0d\x05\xee\xdf\x3c\x0a\x51\x14\x64\ +\x5c\x99\x33\x98\x69\xed\x22\xed\x1d\x19\xf4\x4d\xa7\xb2\x51\x16\ +\x11\x33\x02\x52\x9e\x78\x51\xe0\x38\x43\x80\x43\x9f\x5c\x22\x3a\ +\xcb\xaa\xbd\xe9\x14\xf2\x0b\x3a\xc4\x2d\x1a\x03\x30\xe8\xc2\x44\ +\x58\x21\x1c\x72\x8e\x21\x47\x6b\x27\xd1\x3d\x6b\x42\x01\x84\x38\ +\x14\x92\x00\xcf\x53\x5c\x5f\x3e\x87\xd6\x70\xc9\xf4\x85\x15\x79\ +\x42\x98\x5b\xad\x1a\x46\xcd\x8c\x5a\x65\x26\x18\xbd\x54\xb0\x6d\ +\xe2\x1a\x7a\xfd\xc3\xe7\x0b\x23\x66\x31\x17\x20\x1f\xca\x75\x58\ +\x62\xfb\x27\xab\x8c\x64\x2c\x20\xe0\xf8\x43\x80\x4c\xed\x84\xd2\ +\xa5\x53\x54\x36\xa9\x8f\x95\x85\x8b\xbf\xda\x47\xe3\xaa\x19\x83\ +\x4d\x1c\x3d\x55\x36\x4f\x90\xd2\x41\xca\x85\x26\x72\x95\x43\xb1\ +\x1c\x3c\x81\xc4\x80\x92\xab\xd4\x59\xb4\x90\x09\xba\x08\x05\x20\ +\x6d\x64\x36\x2c\x31\x90\x53\x14\x83\xcc\xb4\xc8\xa0\x85\xc4\xd9\ +\x50\xf1\x9a\x7d\xb5\x33\x1f\xce\x93\x6e\xa6\xa8\x6d\x49\x6f\x17\ +\xab\xad\x92\xef\x25\xab\x47\x08\x60\x5b\xc3\x8e\x74\x8c\x49\x96\ +\x2a\x49\xc4\x68\xd3\x3b\x48\x92\x14\x69\x6b\x6f\x1b\x2d\x6e\xfa\ +\x60\x33\xcb\x2a\x51\x42\x8e\x65\x0d\x9d\xa1\xc5\x04\x26\xa1\xa5\ +\x8b\xc1\xf5\x0a\xa0\x2c\x0e\xab\x81\x76\x6f\x4a\xa5\x32\xb0\x7e\ +\x55\xe9\xcc\x55\x77\x3f\xab\xd9\x8f\x1c\x09\xaf\x30\x5a\x79\x6f\ +\x98\x09\xf9\x28\x42\x0f\x85\x0a\x21\x72\x5e\xa5\xbf\x2f\x99\x9c\ +\x83\x9d\x47\x99\x9c\xeb\xc6\x01\x34\x14\x17\xd6\x99\x3b\xf9\xd5\ +\x64\x07\xc2\x9b\xb8\xa4\x0c\xce\xd0\x12\xaf\xff\x6c\xdb\x68\x16\ +\x6e\xcb\x50\x73\x5e\xda\xbe\xc5\xa6\xee\xc0\x42\x65\x0a\x9a\x83\ +\x10\x6f\x94\x01\xa9\x56\x2d\xc9\x02\x8a\xfc\x3d\x86\x15\x8b\x01\ +\x35\xaa\x71\xb1\x5e\x2d\x7a\x22\xa3\xf7\x83\x80\x6a\x55\x5c\x2b\ +\x65\x49\xfa\x1a\x4e\x2c\xf3\x45\x9f\x58\x01\x8d\x05\x2d\x82\x59\ +\x5b\xaf\x4e\x24\xd0\x94\x67\xa5\xe4\x2b\x59\x3c\xa0\x3d\x32\x2a\ +\x75\xb2\x71\x83\x8c\x51\x08\x74\x20\x46\xdb\x48\x16\x42\xc1\x50\ +\xb3\x28\x2a\xb3\xc8\x0a\x28\x56\xf5\x42\x41\x09\x10\xbf\x93\x4a\ +\x56\xb9\x6c\x00\x83\x14\xcc\x22\xef\x77\xa5\x61\xd6\xda\xbd\x6d\ +\x40\xa1\x52\x35\xcf\x69\x8c\x55\x23\x97\x7a\xe5\x51\xc9\xc5\xa2\ +\xc3\x29\x2f\x5e\x63\x37\xed\xde\x42\x9f\x46\xaf\x7a\x84\x00\x96\ +\x83\x2a\xb5\x73\xdb\xc8\x65\xa2\xb4\xaf\xce\xd9\xd4\x2c\x94\x7e\ +\xa1\xa4\x93\x10\xa3\x89\x43\x57\x55\xdb\x48\x16\xa0\xb3\x08\x13\ +\xba\x62\x28\xdb\xbe\x89\xc4\x24\x2c\x66\x13\xf7\x75\xa9\x47\x71\ +\x2a\x4e\xb3\x05\x64\x2c\x90\x45\x93\x43\x72\xf7\x43\x66\x01\x00\ +\x81\x47\x73\xb3\x82\x78\x84\xfa\x58\x2a\x16\x0a\xa9\xf4\x72\xd5\ +\xc7\xe0\xbe\xd7\x87\x38\x66\x59\x04\xad\x1f\x09\xd4\x3a\xb6\xbe\ +\x7c\x50\x24\x63\xc6\x84\xc3\xa4\x51\x0b\xa7\x2c\xe1\xc3\x86\x0f\ +\x91\x25\x78\x12\xd5\x36\x12\x6f\xec\xa0\x08\x13\x61\xc1\x8a\x1c\ +\x6a\x96\x92\xac\x4a\xfb\x29\xea\x7e\x14\x18\x51\xa6\xcd\x73\x97\ +\x2d\xc8\x2c\x2b\xa7\x90\x83\x47\x95\x92\x12\x52\xa8\xb2\x13\x17\ +\x42\xe4\x5c\x3e\x9d\x3e\xc3\x68\x00\x3a\x93\x22\xeb\x48\x63\x57\ +\x03\x3a\xf1\x10\x90\x9e\x8c\xa4\x79\xba\x2a\x66\x99\x6c\x9c\x1c\ +\x2a\xb4\x34\xd2\x9c\x4f\x8d\x16\x58\x8b\x2a\x52\x91\x73\x61\xa8\ +\x6d\x24\xbe\x36\xd4\xc2\x11\x4e\x39\xa2\x88\xe7\x2d\xb1\x4d\x4c\ +\x4c\x1e\x05\x85\xd8\xcf\x0c\xa0\xca\xb1\xd9\x2a\x23\x21\x7d\x8b\ +\x38\x9f\xb1\x91\xbc\x05\xf1\x25\x1d\xea\xf4\xf3\xa6\x0a\x5e\x90\ +\x9b\x29\x91\xe1\x61\x57\x10\x29\x15\x71\x22\xb8\x59\x94\xa8\x8b\ +\x14\x9c\x4a\x18\x32\x9e\xb3\x86\xd3\x92\xf6\x71\x9d\x86\x1b\x12\ +\x24\x3c\x39\xe4\xcc\xf6\x75\x26\x3d\x4b\x86\x22\xfc\xb7\x8d\x44\ +\xd5\x6d\xb0\x85\x75\x28\xb1\x3c\x84\x84\x2e\x10\x38\x80\x11\xa8\ +\x72\xb1\xce\x81\xf0\xce\x9f\x0d\x4d\xc6\x39\xad\xfd\x5a\x01\x0c\ +\xb3\x8b\xca\x16\x40\x28\x0b\x93\xa2\xf3\xc1\xc7\xfc\x92\x74\xb9\ +\xb4\x27\x95\xeb\xc5\x01\x64\xe5\x4c\xe7\x78\xea\xac\xd4\x44\x4f\ +\x94\xd4\xf4\x13\xd1\x28\x86\x88\xe8\xb9\x42\x4d\x60\x88\x24\x9a\ +\x13\x63\x24\xa1\xa7\xa1\xe8\x09\x41\xdb\x70\x4c\xcc\x87\x5a\xf3\ +\xe4\xb6\x5b\xb5\x25\x54\x25\x43\xac\x96\xcd\x24\xbe\xf1\xa4\xf8\ +\xf0\xd9\x2d\xef\x44\xa5\xce\x67\x23\xb9\x90\x99\xcb\x4b\x41\xaa\ +\xf1\xc3\x12\xe8\x34\xab\x88\xf0\x41\x90\x9d\xd4\x5c\x1f\x29\x98\ +\xc3\xec\x1f\x3f\x5b\x45\x8b\xc1\xca\x91\x73\x53\xd5\xb2\xcd\x22\ +\xb6\x8d\xcc\x68\x5e\x91\xf5\x26\xac\xd0\x41\x72\xca\xec\xb9\xc4\ +\x35\xfc\xe7\x5a\x87\x0a\xf5\xf1\xa7\x47\x26\xe1\x9c\xae\x83\xfa\ +\x13\xa2\x39\x24\x34\xbd\x8a\xee\x1f\xbf\xea\x98\x2c\x0c\xc9\xe9\ +\x85\xe2\x56\xe8\x22\x17\x0b\x42\xca\x52\xd8\x72\xb2\x37\xc7\x6c\ +\x82\x84\x00\x94\xa6\xcf\x8c\xf2\x72\x54\x5d\xb2\x00\x06\x5b\xa5\ +\x8f\x80\x9c\x6d\x5b\x18\x27\x35\x0f\xb0\x29\x1a\x95\x58\x33\x29\ +\x5d\x9f\x44\xde\xce\x5a\x61\x24\xa7\xdb\x8b\xd0\x13\x70\xc5\x0d\ +\x4c\x6e\xf3\x6c\x00\xe7\xb7\x0f\x80\x87\x8a\x3c\x7c\xb8\x9d\xc3\ +\xe7\xe5\x34\x30\x30\x8a\x96\xaf\x26\x99\xc4\xb0\x5a\x1b\xc3\x67\ +\x19\x2c\x08\x5b\x48\x8b\xa5\xd8\x24\xe6\x26\x84\x54\x35\x13\xbe\ +\x6c\x9b\x83\x84\x21\x91\x99\x24\x52\xb6\x94\xc2\xc9\x27\x81\x32\ +\x1f\x55\xda\x25\xab\x9b\xcf\x25\x98\xc6\x66\x90\x94\x87\x9b\x0c\ +\x21\xed\x28\x8a\xa5\xdf\x18\x2f\x05\xc9\x63\x1f\x47\x49\xa5\x84\ +\x6c\xa5\x43\x71\x33\x5b\x8e\x44\x83\x1b\x6e\x8b\x03\x9d\x35\x15\ +\x17\x91\x73\xb2\x72\x90\xd6\x12\x44\xaf\x36\xa9\xc0\x91\xb6\xa2\ +\x13\x99\x98\x6e\x5c\xc0\x2e\xb5\xc7\xa2\x40\xa4\x82\x9c\xb9\x94\ +\x93\x8c\x00\x14\x66\xe2\xa8\x29\xe1\x24\xd2\xb5\xdc\xcc\x5c\x0a\ +\xe5\x4b\x2e\x05\x30\x15\xda\x2d\x16\x70\xe4\x04\xb9\xd0\x10\x28\ +\x8f\xca\x5f\x94\x4d\x8d\xbf\xb3\xaf\xc2\x29\x81\x5d\x67\xd8\xa2\ +\x83\xac\xf9\x08\x8a\x81\x97\x1d\xc5\x21\xff\xd6\x1d\xc2\xc1\x00\ +\x89\x42\xfb\x97\xe2\x0a\x61\xf1\x13\x8a\x44\xd7\x69\x02\xbe\xda\ +\x48\x14\x67\x40\xc5\x5e\x47\x8e\xea\x1f\xe9\xfc\x5f\x9b\x5e\x56\ +\x2f\x04\x60\xdd\xc3\x2f\xd3\xb7\x00\x7f\x94\x90\xdf\x5c\x0d\xbe\ +\x9c\x47\x68\xc4\x13\x55\x50\x61\x23\xd5\x6a\x42\x48\x92\xfd\xdb\ +\xea\x0e\x9b\x50\x6a\x2a\x7f\xb2\x6b\x28\xc0\x73\xb5\xaa\xa4\xee\ +\x84\x82\x0b\x09\x34\x0c\x2e\x24\xb4\x0b\x72\xc7\x54\xd2\x14\x45\ +\x6a\xbe\x7f\xac\x5d\xc8\x06\x16\xf9\x3c\x65\x5d\xef\xd6\xf4\x22\ +\xaf\x4f\x2d\x40\xf5\xfd\xc9\x06\x4c\x86\xa9\xfb\x91\xe9\x13\x20\ +\xdd\x0d\x9b\x43\xb5\x88\x5b\xd9\x23\xc8\x4a\x1c\x8b\x31\x2c\x84\ +\x20\xf9\xd5\xaa\x65\x48\xb5\x7b\x09\x84\x20\x91\xd2\x51\x2c\x0f\ +\xcb\x26\x8d\xc0\xae\x55\x99\x9d\x4d\x2c\x97\x44\x85\xcb\x26\x30\ +\x29\xce\x52\x2e\x99\x48\x8f\x46\x49\xd9\x59\xb4\xd4\x85\x92\xb8\ +\x33\x38\x8f\xbe\x54\xef\x89\x21\x92\xaf\x0b\x18\x48\x89\x1d\x4b\ +\x2d\x2f\x85\x5f\xaf\xcc\x49\xbd\xcc\x84\x4a\x56\x33\x79\x04\xfb\ +\xe7\x98\xcf\x93\x50\x4b\x8a\x0c\x24\xce\xa5\x53\x52\x31\xc5\x14\ +\x45\xad\x43\x40\x91\xe4\x81\xf5\x3a\x5c\x81\xd3\xa8\x89\x1c\x10\ +\x8b\x5f\xb1\x4a\x43\xad\xc7\x84\xb9\x89\xde\xa3\x95\x45\x08\x05\ +\x55\x35\xd2\xf8\x2f\xc8\xa1\x9e\xc4\xca\x63\x2b\x08\x9e\x40\x4f\ +\x20\xa9\xd2\x27\x91\x2c\x14\x95\x4c\xd7\xb2\x93\x41\x45\x58\x08\ +\x4d\x55\x25\x90\xad\x16\x12\xe3\x88\xeb\xac\x96\x06\x11\x85\x20\ +\xc0\xd4\x07\x38\xd4\xdb\xc3\x04\x0d\x5f\xce\xb5\x03\xc2\x6c\x6a\ +\x1b\xb5\xd2\x72\x89\x2c\x9c\x88\x96\x69\xbe\xcf\x35\x9a\x3e\x45\ +\xb8\x40\x4c\x8d\xc3\x84\xd3\xd0\x13\xe1\xce\x5b\xa4\x20\xc4\x75\ +\x2c\x06\x31\x43\x7b\xb8\x2a\xb0\x70\x52\x1b\x0b\xb2\xa6\x20\x74\ +\x1e\x52\xd5\x3a\x02\x2c\x67\xf1\x8a\xb9\xf8\xee\x58\x39\x53\xd2\ +\x64\x22\x19\xba\xed\x03\x88\xe8\x12\xe5\x67\x56\xcd\x29\xb1\x98\ +\x13\x9c\x0d\x4e\x09\x04\x89\x38\xee\x91\x44\xa9\xfa\xd1\xf0\x49\ +\x78\x7f\xe8\x18\xca\xe3\xec\x65\x21\x5c\xa5\x44\x17\x6a\x2a\x78\ +\xda\x39\x1c\x09\xb4\x8d\x22\x75\x53\x02\x59\x30\xb5\xd0\x9d\x12\ +\x96\x39\x93\xde\x17\xa7\x6b\xc9\x49\x8f\x2c\x50\x40\x41\x82\x22\ +\x53\x50\x5e\x11\x73\xe2\x38\xf4\x32\xcf\xd7\x32\xa3\xe8\xa0\xc9\ +\x23\x59\x63\x16\xab\x98\xc6\x39\x5c\xc9\xb2\x8b\xa1\xf1\x33\xa4\ +\xb3\x6e\x45\x50\xab\x58\x98\x62\x52\x28\x13\x33\x8b\x54\x35\xa2\ +\xa1\x5a\x3f\x2a\x8f\x4b\xec\xc4\x12\x31\xeb\xd9\xc4\xa2\x71\x56\ +\xad\x9f\x8d\xb1\x8b\x01\xc7\xa1\x04\x0a\x32\x16\x72\x37\x52\xa4\ +\x90\x44\xef\x56\x5c\x33\x48\x76\x02\x95\xac\xfd\xc5\xf1\x79\x82\ +\xa1\xe3\xcc\xa5\x5a\xde\xef\xad\x92\xc0\x86\x4f\x68\xa8\x66\x35\ +\x93\x48\x61\x93\x5a\x84\x92\x82\x37\x29\xfd\x21\x4c\xdd\xd1\xbc\ +\x35\xae\x0b\x98\x23\x4e\x5b\xe6\xa4\x39\x35\x93\x28\x14\xae\xcd\ +\x5f\x1f\x99\xca\x8e\x98\x3a\xca\x04\xca\x58\xcd\x78\x57\xe1\x44\ +\xbc\x51\xb7\x8e\x20\x94\x89\x3c\x1c\xbd\x3c\x28\x82\xc9\x2a\x20\ +\x50\xcd\x1c\x56\xd5\x62\xd9\x6d\x22\x62\x6e\x2e\x66\xe9\xe7\x9c\ +\xf6\x43\x92\xea\x03\x30\xe5\x69\x22\x95\xd6\xb1\x4c\x11\x65\x4a\ +\xe9\xa6\x95\xc9\xb6\x77\x84\x26\xd3\x68\x72\x91\x8f\x88\xcc\x20\ +\x69\x03\x21\xe4\x42\xa8\xf2\x93\x52\xe5\x5c\x48\x55\x42\x26\x39\ +\xb1\x84\x45\xad\x23\x99\x37\xaf\xc2\x2c\xd5\x8d\x03\x88\x82\x0b\ +\xcb\x06\x0f\xd6\x25\x19\x49\x94\x74\xd5\xce\xd6\x8d\xca\xdb\xab\ +\x24\x64\xb3\xc9\x42\xe4\xea\x9f\x6c\x1b\x0b\x29\xf6\xe0\xe6\x76\ +\xdd\x20\x65\xa4\x5c\xba\x4e\x21\xb3\x14\x7f\x7c\x06\x20\x67\x25\ +\x47\x58\x0e\xcd\x19\x24\xd7\x2e\x64\xd1\x9d\x4c\x71\x15\x30\x36\ +\xab\xa5\x1a\x33\x96\x6d\xf1\x72\x06\x95\x9d\x37\x09\x1e\xb3\xa6\ +\xe0\xe3\x4c\x03\x73\x31\xb7\x5f\xd6\xb8\xfd\x0d\x15\xa5\xbc\x18\ +\xe7\xc4\xfa\x39\x30\xf5\x01\xd1\x3d\xa9\x9b\x3e\xb9\x44\x14\x24\ +\x85\x04\xb2\xe0\x14\x26\xa4\xe4\x54\x40\xb4\xec\xca\x2c\x59\xb8\ +\x4a\x92\x58\xd5\x89\x2c\x10\x80\xd5\x42\x8d\x71\x20\x95\x84\x98\ +\xc5\xf3\x90\x75\x09\xe9\xfd\x76\x72\x68\x5a\x05\x91\x05\x00\x12\ +\x15\xc0\x32\xc4\x1d\x23\xfc\x3f\x7e\x21\x88\xd3\xee\x60\xeb\x4d\ +\x4a\x22\xa4\x52\xc1\x84\x18\x46\xeb\x46\x69\x03\x36\x13\x85\x96\ +\x30\x36\x03\x98\x28\xbd\x6c\xe4\xd8\x9c\x45\x0f\x11\xc5\x2e\x20\ +\xb5\x38\x85\x0b\x30\xec\xb3\x8d\x18\xb8\x6c\x84\x67\xb3\xda\x49\ +\xb1\x0a\x39\xf4\x4a\xa1\x72\x0d\xa3\xd0\x2e\xc6\x81\xc7\x44\x89\ +\x37\x3e\xa9\x44\x66\x10\xc4\xb9\x10\xab\x28\x25\x80\x75\xcd\x02\ +\x5c\x39\x94\x84\xcb\xaa\x86\x50\xb5\x44\x3b\x54\xab\x53\x98\x02\ +\x66\xa7\x91\x97\x08\x1c\x64\x58\x7d\x69\x1f\x41\xc9\x02\x8c\xbe\ +\xdc\xcc\x22\x5e\x43\x6a\x02\xcc\x6a\x11\x6b\x96\x25\x67\x16\x35\ +\x05\xa7\xbc\xa9\x4e\x66\x02\xc8\x2d\x1d\xab\x3c\x5d\x14\x71\x64\ +\xda\xeb\x1b\x4b\x48\x3a\x04\x74\xd7\x1b\x88\x04\x2f\x90\xdd\x3f\ +\x14\x49\x68\x1e\xbb\x92\x34\x3b\xe2\x93\x6f\x00\xad\x67\x5c\x85\ +\x15\xab\x5f\xc6\xf0\xc0\x66\x2c\xb8\xed\x36\xd1\xa7\x67\xa4\x5e\ +\xd9\x15\x23\xeb\xe0\x46\x10\x61\x41\xd6\xf2\x12\xb1\x45\x12\x25\ +\xd5\x87\x20\xe2\x21\x4b\xa8\x94\xe7\x60\x55\x55\xa3\x5e\xca\x85\ +\x27\xa2\x55\x4a\x74\x65\xf5\xd0\x2b\xd5\xae\x26\x56\xea\x50\x2a\ +\x64\x60\x1f\x46\x06\xaf\xa5\x16\x2a\x72\x07\xa5\x16\x12\x0b\x25\ +\x31\x4c\x45\x23\x5d\x46\x3e\xc9\x06\x30\x3a\x32\xf0\xd3\x1d\x1d\ +\x6d\x83\x97\xe2\x8c\x2b\xb1\x62\xd5\xcb\x00\x11\x7e\x77\xde\xf9\ +\x6e\x46\x8e\xe9\xe8\x4a\x64\x31\x52\xf2\x28\x44\x9c\x4f\x5b\x39\ +\xc8\x14\x9a\xa4\x08\x22\xcc\x88\x4d\xa1\x8f\x63\x1a\x98\x73\xda\ +\x6b\x48\x90\xa8\x42\xa6\xd6\xcf\x21\xee\x2b\x4f\x54\xb3\x1c\x29\ +\xe1\x2c\x6c\xe6\x98\xb3\x22\x6e\xba\x9f\x2b\xe8\x1c\x3e\x93\x20\ +\xd6\xa5\x70\xc1\xa7\x92\x26\x18\x99\x0c\x17\x73\xde\x4e\xf8\x29\ +\xe2\xef\xbb\xa6\xf8\xee\xbe\x07\x2e\x3b\x32\x3c\x71\x4b\x36\xf4\ +\x22\x2e\x9b\xde\x04\x66\x60\xf9\xea\x57\xf0\xe8\xea\x97\xb1\x78\ +\xf1\xc3\xee\x46\xe6\xc1\x93\x72\x88\x85\x1f\xb8\xec\x66\x43\x2d\ +\x0e\xa1\x94\x46\x96\x3f\x71\xc1\x04\xdf\xb5\x13\xf7\xe5\xb0\x28\ +\x43\x58\x04\x42\xcc\x2d\x60\xf1\xe5\x76\x81\x06\xce\xdd\xb1\x10\ +\x8f\x97\x87\x85\x19\xa0\xbf\x3f\x8f\x42\x48\x1e\x16\x73\xc8\x63\ +\x74\xf1\x0b\x4a\xf8\x30\x24\xcf\x5f\x2c\x1c\xa1\xb3\x0d\xd7\x46\ +\xa6\x16\xac\xc8\xe3\xa2\x14\xcc\x6a\xa1\x0a\xff\xf3\xf0\xe2\x87\ +\x71\xc6\x85\x37\xfd\xf7\xba\x64\x01\xef\xbe\xf9\xf5\xd9\x74\xf6\ +\x9f\xff\x70\xe7\xce\x1d\xbf\x79\xd9\xc5\x17\xa3\xad\xad\x1d\x00\ +\xf0\xdc\xae\x2b\xb1\x62\xf5\x2b\x00\x80\x91\x77\x37\x63\xfe\x82\ +\x05\xb1\x37\x20\x0a\x6f\x4a\xce\x0a\xcb\xa6\x1a\x82\x68\x12\x24\ +\xe9\x6e\x7a\xd2\x28\xe9\x94\x14\x35\x0a\x50\x6c\xa6\x61\x97\x85\ +\x1a\x96\x8b\x5f\x90\x5e\x8e\xcd\xac\xe2\x97\x90\x56\x3b\x4b\x9a\ +\x4a\x2b\xa3\x32\x8d\x45\xf1\x3c\x40\x5f\x13\x61\xd9\x5a\x10\xe7\ +\x36\x2a\x81\xc1\xb7\x11\x13\x03\xc8\x46\xdf\xfc\x97\xdf\xff\xf3\ +\x93\x8e\x00\x7e\x1b\x78\xfd\x6f\x3e\x36\xcc\x53\xd7\x6c\xdf\xbe\ +\x03\x87\x0f\x1f\x06\x00\xcc\xb9\xb8\x23\xfc\x14\x5c\xe1\x15\x3c\ +\xf2\xc8\x62\xe7\x56\x6e\xe5\x0d\xe1\xf6\x6a\x19\x17\xef\x0d\xbe\ +\xe7\xce\x7b\x03\x9b\x65\x55\xfc\x00\x89\x1e\x3e\xbf\x0c\x4c\xf0\ +\x76\x08\xaf\x92\x9e\x0c\x8f\x1c\x71\xb9\x95\x30\xe7\x36\x1e\x3c\ +\x78\x65\x5e\xf2\xfd\xfa\x75\xb3\x44\x0d\x74\x18\x61\xb5\x54\x8d\ +\x43\x0e\xb5\xc4\x4c\x1e\xbd\x3e\x5c\x3f\xc2\xf9\xa9\xe3\x88\xf3\ +\x7e\x64\xf1\x23\xe8\x38\xff\xba\xff\x31\x16\x2c\xb0\xe9\x44\x76\ +\x1e\x3e\xb4\xfe\x3b\xad\xdd\xbf\x77\xc9\x81\xfd\x7b\x66\x9e\x39\ +\xe9\x4c\xb4\x3b\x24\x00\x80\x0f\xf5\x35\xe3\xec\xbe\x16\xec\xeb\ +\xaf\x60\xf7\x4b\xef\x60\xf7\x4b\xef\x60\xe7\xd6\xa7\xfc\xb3\xee\ +\x34\x99\x2d\xab\x72\xc8\xe5\x5e\x05\x49\xe3\x92\x06\x54\xbd\xc8\ +\x56\xf9\x73\x68\x6a\x2d\xb0\xa9\x24\x62\xce\xb1\xeb\x95\x17\x31\ +\x6d\xda\x05\x25\x55\x7a\x8e\x5e\x09\xa1\x2b\x24\xe7\x4e\x7a\xfd\ +\x07\x9b\xb6\x9a\xf5\x01\x98\x0c\x39\x61\x43\x68\x90\xb6\xa4\xfd\ +\xe4\x27\xbb\xf1\xf6\x9a\xbf\xbe\xba\xee\x06\x00\x00\x43\x07\xbf\ +\xbf\xa4\xbd\xf2\xc7\x67\xfd\xf2\xad\x5d\xb3\xf7\xef\xdf\x8f\xd1\ +\xea\x28\x3a\x3a\x9e\x3b\xc2\x97\x00\x00\x07\x02\x49\x44\x41\x54\ +\x3a\xd0\xd4\x54\x1c\xfa\xec\xbe\x96\xf0\xb3\xaf\xbf\x82\x3d\x2f\ +\xbd\x83\x1d\x5b\xd7\x60\xd6\xac\x59\x82\xec\x98\xb4\x46\xd9\x40\ +\x9c\x94\xa1\x96\x83\xa5\x5a\x16\x54\x22\x96\xaa\xfe\x3b\xbd\xf6\ +\x0c\x2b\xf1\x29\xc7\x0b\x2f\xbf\x80\x69\x17\x4c\x8b\x2d\x65\x9e\ +\x7a\x71\x5c\xbf\x3f\x31\x3a\xab\x5d\xcb\x81\x93\xb2\x3f\xdb\x90\ +\x66\xab\x97\xa2\x88\x65\x5a\xe2\xfc\x6d\x5a\xba\x74\x19\xda\xcf\ +\x99\xfd\x9d\xf7\xf6\x3e\xb5\x62\x2c\x84\xa0\xb1\x6c\x30\x45\xf7\ +\xf4\x87\xbe\x32\x72\x78\xfb\xd5\x18\xdd\xf7\x9b\x93\x26\x4d\x42\ +\xa5\x52\x41\xcf\x94\x1e\x34\x65\xda\xce\x9e\xdb\x35\x18\x2e\x6c\ +\x78\x60\x33\xe6\xcf\xff\xac\xba\x99\x54\xe3\x4c\xc9\x2c\xd9\x66\ +\x07\x3c\x31\x1c\xf1\x44\x32\xaa\x75\xc5\x61\x11\x4a\x46\xb5\x5a\ +\xc5\xe2\xa7\x1e\xc1\x4d\x37\xdd\x1c\x7a\x08\xf4\x03\x47\xd3\x85\ +\x9c\x43\x62\xe7\x9f\xef\x4b\xba\x88\x93\x3c\x01\x3d\x79\x56\x80\ +\xac\x5b\x64\x5a\x44\x92\x86\xee\xce\x73\xf9\x8a\x65\x18\xd8\xfa\ +\x70\x1b\x80\xe1\x71\x67\x00\x62\x9b\xdc\x75\xfe\xdf\x7f\x65\xf4\ +\xbd\xdd\xd7\x66\x34\x30\xab\xd2\x5b\x41\xa5\x52\xc1\x99\x67\x9e\ +\x99\x7c\xf0\xb9\x9d\xb1\x2d\xf7\x53\xf3\xce\x33\xd4\x8f\x55\xa9\ +\x58\xeb\xfd\x50\xd3\xc9\xa3\x24\xa8\x1e\xb3\xac\x5b\xaf\xe4\x8a\ +\xa3\x66\xb0\x00\xa0\x5a\x1d\xc5\xe2\xa7\x96\xe2\xa6\x9b\x6f\xd2\ +\x8b\x3f\x26\x46\x28\x1e\x02\x05\x63\x8f\x64\x1e\xfd\x6e\xf7\x23\ +\xf3\x5e\xf2\x59\xb1\xbf\x58\x12\x1f\x04\xac\x58\xbe\x02\x6d\x67\ +\xcd\x5a\xfe\x8b\x27\x16\x7e\x7a\xac\x06\xea\x57\x65\x00\x61\xeb\ +\xbd\x78\xed\x7f\x1e\x3a\xf8\xe3\x6b\x9b\xf9\xb5\x4f\x12\x11\xa6\ +\x4e\xed\x43\xa5\xd2\x87\xd6\xd6\xd6\xd4\x10\x3c\xb7\x78\x77\x33\ +\xe6\xcf\x5f\x50\xd2\x8b\x23\x9a\xc2\x4c\x08\x20\x11\x82\x89\xcb\ +\x0c\x02\x42\x95\x2b\x79\xc2\x39\x80\xbc\x5a\xc5\xe2\x35\x8f\xe0\ +\xc6\x1b\x6f\xd2\x4f\x09\x51\x80\x91\x2e\xeb\xae\x8e\xaf\xad\xa5\ +\xb6\x31\x94\xbc\xa7\x9f\x3b\x68\xa2\x3f\x11\x1e\x7d\x74\x05\x06\ +\xb6\x3d\x3c\x11\xc0\x7b\xa7\x8c\x01\xc8\xef\xea\x9e\xfe\xd0\x5f\ +\x8f\xbc\xbb\xed\x5a\x54\xf7\x5f\x77\xd4\x10\x11\x8c\x81\x30\xfc\ +\xee\x26\xcc\x9f\x3f\xbf\x16\x6d\x13\xf1\xd4\xf2\x08\x32\x69\x24\ +\x4a\x1f\xfc\x20\x6f\x76\x35\x1f\xc5\x23\x6b\x96\xe0\xc6\x4f\xdc\ +\xa8\x3d\x3e\x79\xc0\xb4\x7d\xb8\x13\x27\x5e\x9c\xa2\x82\x7e\x5e\ +\x41\x62\xc0\x24\x43\xa0\x0d\x15\x8c\x47\x1f\x7d\x0c\x2d\x3d\xe7\ +\xae\x7d\x67\xdd\x5f\xdd\x30\xa6\x83\x82\xfa\x6c\x93\xba\xce\xfb\ +\xfa\xd7\x46\x8f\xfc\x9f\x39\xc4\x07\x2f\xea\xee\xee\x46\x5f\x5f\ +\x1f\xba\xba\xba\xcc\x13\x48\x81\xe7\x76\x14\x21\xa2\x40\x85\xf9\ +\x25\x93\x24\x4b\x56\xa3\x0c\x33\x87\x4a\xaa\x28\x94\x56\x23\xc3\ +\x93\x49\xaa\xa3\x78\x64\xed\x32\x7c\xe2\xc6\x1b\x60\x1f\x39\x13\ +\x4b\xdb\xd2\xbb\x8b\x05\x01\x4b\x63\x3e\x21\x0d\x55\xe2\x99\x40\ +\xc9\xc3\x2b\x90\x86\x06\x22\xc2\x63\xee\x39\xcd\x6d\x67\xcf\xfe\ +\xf6\x2f\x57\xff\xd9\x1f\xe2\x04\x9e\x13\x3c\x9e\x0c\x40\x84\x88\ +\xef\xdf\x35\x74\xf0\x47\xd7\xb4\x66\xaf\xfd\xce\xe8\xc8\x28\x2a\ +\x7d\x15\xf4\x55\xfa\x30\x61\xc2\x84\xd4\x10\x54\x88\x98\x6f\x52\ +\x82\x5a\x85\x12\x4a\xfa\xed\xc5\xfa\x8b\x6a\x49\xf6\x6a\x3e\x8a\ +\x25\x6b\x97\xe1\x86\x1b\x6e\x88\x44\x2f\x81\x62\xf9\xd8\x5b\x23\ +\x5b\xd7\x22\x8e\xa5\xa8\x80\xe2\xb9\x80\x96\xd3\xb8\xcf\xaf\x5c\ +\xb9\x12\x20\x1a\xed\x38\xff\xb7\xbf\x71\x60\xf9\x1f\xff\xa7\xb1\ +\x1e\xf8\x71\x63\x00\x72\xeb\xb9\xf0\xb1\x7b\x87\x07\x36\x5d\xd3\ +\x94\xbf\xfe\x89\xb6\xf6\x76\xf4\x55\xfa\xd0\xdb\xdb\x8b\xe6\xe6\ +\xe6\x63\x33\x86\xf4\x31\xa4\x35\x42\x87\x5e\xcc\xd2\x6f\x79\xb5\ +\x8a\x25\x4f\x2f\xc5\xdc\x1b\x6e\x10\x4f\xf0\x34\xb9\x3b\x95\x3c\ +\x6a\x9e\x52\x0f\x97\xcf\x37\xa4\x34\x35\x30\xfb\xc5\xc7\xc2\xac\ +\x5e\xb5\x0a\xc8\x9a\x07\x26\x4e\xbf\xe5\xc1\xb7\x16\xdf\xf6\x5f\ +\x30\xe6\x4b\x42\x8c\x63\x03\x90\x45\xc7\xc9\x17\x7c\xf3\x6f\x47\ +\xde\x7b\xf1\x1a\xca\x7f\x79\x45\x77\xf7\x64\x54\xfa\xfa\x30\xb9\ +\xab\xcb\xa5\x4a\xa9\x31\x24\xa8\x50\x33\x3b\xe0\x9a\x37\xa2\x9a\ +\x57\xb1\xf4\xe9\x65\x98\x7b\xfd\xf5\xa9\x67\xc3\xa4\x7f\xea\xd1\ +\xae\xc2\xb0\x48\x92\x4d\x6b\x14\x5c\x02\xff\xc5\x1f\x8f\x3f\xfe\ +\x38\xb2\xd6\x89\x3f\x9b\x70\xd1\xef\x7d\xf3\xad\x7f\xbe\xf9\xbe\ +\x93\x46\xcc\x30\xce\xb7\x49\x1f\xbe\xf7\x52\xca\x3a\xee\x6a\xcf\ +\x5e\xb9\x7d\x68\x68\x10\x95\x4a\x1f\xfa\xfa\x2a\x98\x30\x61\x62\ +\x6d\x54\x18\xd8\x8c\xf9\x0b\xe6\xd7\x96\x88\xa8\x8c\x3f\x10\xf2\ +\x7c\xb4\x30\x80\xb9\xd7\x97\x6b\x10\x94\x12\x47\x9d\xba\x1d\x25\ +\xee\x4b\x24\x71\x46\xf3\xe4\x93\x4f\x16\x6a\x5c\x47\xcf\xae\x89\ +\x97\x2e\xf8\xf6\xbe\x6f\x5e\x77\xff\xc9\xbe\xbf\xe3\xde\x00\xe4\ +\x36\xe5\xc2\x55\x7f\x31\x34\xb0\xf1\x9a\xa6\xfc\xf5\x9b\x5a\x5b\ +\x5b\xd1\xd7\x57\x84\x88\x96\x96\x96\xf7\x81\x0a\xb5\xa2\x02\x21\ +\xaf\x8e\x62\xe9\xf7\x4b\x0c\x20\x11\xfb\x8c\xb8\xe3\x57\x39\x97\ +\xa1\x41\x90\x0c\xfd\xa0\x6a\xc6\xf7\xbe\xf7\xaf\x00\x18\x2d\x53\ +\xa6\xaf\xec\xff\xfe\x17\x6e\x1b\xcb\xb4\xee\x03\x6d\x00\x52\xc2\ +\x9e\x3c\xed\x9f\xee\x1f\x79\x6f\xd7\x35\x54\x3d\x30\xa7\x6b\x72\ +\x17\xfa\x2a\x7d\xe8\xee\x9e\xac\x42\x44\xc2\x15\x3e\x3b\x3f\x5d\ +\xad\x45\x09\x41\x55\x2c\xfb\x41\x0d\x03\x28\x31\x1a\x32\x8f\x80\ +\x29\x56\xa4\x2d\xf3\xf8\xe2\xb3\xc5\xc0\x13\x5a\xa6\x7c\x64\xd5\ +\xc1\x1f\x7c\xe1\x36\x00\x87\xeb\x7d\x23\x4f\x55\x03\x50\xc0\xd0\ +\xf9\x6f\xee\xff\xdb\x8e\xec\xa5\x7f\x77\xe4\xc8\x11\xf4\xf6\xf6\ +\xa2\x6f\x6a\x1f\xce\x98\x78\x46\x39\x2a\x0c\x6c\x06\x08\xd1\x18\ +\x04\x25\xa8\xe6\xc7\x60\x00\x47\xb9\x7b\x64\x62\xbf\xf7\xfa\xa7\ +\xd6\xfc\x2b\x00\xca\xdb\xce\xb9\xe6\x9f\xde\x79\xf2\x4f\xff\x23\ +\x80\xd1\xf1\x72\xf3\x3e\x08\x06\x10\x2d\x61\xd6\xf7\xee\x1e\x1e\ +\xd8\x70\x75\x53\xfe\xda\xad\xcd\xcd\xcd\xe8\x9b\xda\x87\x4a\x6f\ +\xe5\xe8\x21\x42\x18\xc2\xfb\x36\x80\x5a\x77\x93\x8a\x04\x6f\xcd\ +\x9a\x35\x00\x65\x23\xed\xe7\x7d\xe2\xef\xdf\x5e\xf9\xef\x3f\xff\ +\xab\x66\xf4\xa7\xbd\x01\xa8\x10\xf1\x91\x6f\xfd\xcd\xc8\xe1\x9d\ +\xd7\x50\xf5\xc0\xd5\x9d\x9d\x9d\xa8\x54\x2a\xe8\xee\xe9\x56\xaa\ +\xa3\x25\x8e\x9f\xfe\xcc\xa7\x4f\xcc\x00\xdc\xb6\x6e\xdd\x5a\x20\ +\x6b\x39\xd4\x31\xfd\x53\x5f\xff\xe5\xb2\xdf\xfd\xcb\xf1\x38\xf0\ +\x1f\x74\x03\x90\x5b\x77\xd7\x79\x7f\x77\xff\xc4\xe6\x97\xfe\xe0\ +\xd0\xa1\x43\x98\x32\x65\x0a\x2a\x95\x0a\x3a\x3b\x3b\x95\xea\xf8\ +\xdc\x8e\x23\x60\xce\x31\xd2\xb1\xe5\xb8\x0d\xc0\x0d\xfc\x40\xfb\ +\x05\xb7\x2c\x7a\xfb\xd1\xdb\xfe\xeb\x78\x1e\xf8\xd3\xc9\x00\xa2\ +\xea\x78\xc9\x8f\x3f\x3f\xd4\xff\xf4\x6f\x34\xf3\xab\xbf\x03\x00\ +\x95\x4a\x05\x95\xbe\x0a\x3a\xda\x3b\xc2\x67\x36\xbe\xfd\xce\xd2\ +\x91\x03\xbb\x3e\xf3\x7e\x8c\x60\xdd\xba\xb5\xa0\xe6\x09\xfb\x3b\ +\x66\x7e\xea\x1b\xbf\x58\xfc\xc9\x2f\x9e\x4a\xf7\xe4\xb4\x32\x00\ +\xa5\x3a\xce\x58\xfc\xdf\x86\xdf\xdd\x36\x27\xcb\xf7\x7d\xbc\xa3\ +\xa3\x03\x53\xa7\x4e\x45\x4f\x4f\x0f\x9a\x9b\x9b\xf1\x5c\xff\xc0\ +\xff\x1e\x7e\x6b\xdb\xed\xff\x3f\x23\x58\xb7\x6e\x2d\xa8\x65\xe2\ +\x1b\x13\x66\x2d\x58\x74\xe0\xa1\x1b\xfe\xea\x54\xbc\x0f\xa7\xad\ +\x01\x88\xad\x6d\xf2\x05\xdf\xf8\xda\xc4\xa6\x5d\x77\xf4\xf7\x1f\ +\x44\x4f\x4f\x0f\xfa\xfa\xfa\xb0\x37\x6b\xf9\x5f\x23\xfb\xb7\x7e\ +\xae\xcc\x08\xd6\xad\x5b\x0b\x6a\x9b\xf4\x7f\x27\xcc\x5a\xf0\x8f\ +\x07\xbe\xf3\xf1\xaf\x9c\xca\x17\xdf\x30\x00\x99\x45\xcc\xfc\xee\ +\x67\x46\x8e\xec\xfe\x54\x7b\xf6\xd3\xdb\x06\x07\x07\x51\x3d\xab\ +\xe3\xa5\x7c\xf0\xe0\xb4\xb9\x73\xaf\xc7\x5b\x3f\x7f\x0b\x2f\xec\ +\xda\x05\x6a\x9f\xbc\x67\xe2\xac\xdb\xff\xe7\xcf\xbf\xfd\x6f\xef\ +\xff\x20\x5c\x73\xc3\x00\x6a\xa6\x94\x4f\x2c\x1c\x3e\xb4\xe1\xda\ +\x6a\xf7\xeb\xb3\x79\x74\xb0\x37\x9b\x58\xd9\x3a\x61\xd6\x82\x87\ +\x7e\xfe\xad\x6b\xbf\xd6\xb8\x3b\xa7\xdf\xd6\xde\xb8\x05\x8d\xad\ +\xb1\x35\xb6\xc6\xd6\xd8\x1a\x5b\x63\x6b\x6c\x8d\xad\xb1\x35\xb6\ +\xc6\xd6\xd8\x1a\x5b\x63\x6b\x6c\x8d\xed\x94\xde\xfe\x1f\x85\xe6\ +\xea\x07\x1c\xa6\x75\x1a\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\ +\x60\x82\ +" + +qt_resource_name = "\ +\x00\x04\ +\x00\x05\x9f\x00\ +\x00\x53\ +\x00\x68\x00\x69\x00\x70\ +\x00\x05\ +\x00\x6f\xa6\x53\ +\x00\x69\ +\x00\x63\x00\x6f\x00\x6e\x00\x73\ +\x00\x0c\ +\x0d\xfc\x11\x13\ +\x00\x74\ +\x00\x72\x00\x61\x00\x6e\x00\x73\x00\x6c\x00\x61\x00\x74\x00\x69\x00\x6f\x00\x6e\x00\x73\ +\x00\x0a\ +\x06\x57\xbb\x7d\ +\x00\x53\ +\x00\x68\x00\x69\x00\x70\x00\x5f\x00\x66\x00\x69\x00\x2e\x00\x71\x00\x6d\ +\x00\x0a\ +\x06\x6d\xcb\x7d\ +\x00\x53\ +\x00\x68\x00\x69\x00\x70\x00\x5f\x00\x70\x00\x6c\x00\x2e\x00\x71\x00\x6d\ +\x00\x0a\ +\x06\x51\x9b\x7d\ +\x00\x53\ +\x00\x68\x00\x69\x00\x70\x00\x5f\x00\x63\x00\x73\x00\x2e\x00\x71\x00\x6d\ +\x00\x0a\ +\x06\x56\x6b\x7d\ +\x00\x53\ +\x00\x68\x00\x69\x00\x70\x00\x5f\x00\x66\x00\x72\x00\x2e\x00\x71\x00\x6d\ +\x00\x0a\ +\x06\x6b\x3b\x7d\ +\x00\x53\ +\x00\x68\x00\x69\x00\x70\x00\x5f\x00\x6a\x00\x61\x00\x2e\x00\x71\x00\x6d\ +\x00\x0d\ +\x08\xc9\x6a\x1d\ +\x00\x53\ +\x00\x68\x00\x69\x00\x70\x00\x5f\x00\x7a\x00\x68\x00\x2d\x00\x54\x00\x57\x00\x2e\x00\x71\x00\x6d\ +\x00\x0d\ +\x09\xfa\xaf\x9d\ +\x00\x53\ +\x00\x68\x00\x69\x00\x70\x00\x5f\x00\x65\x00\x73\x00\x2d\x00\x45\x00\x53\x00\x2e\x00\x71\x00\x6d\ +\x00\x0d\ +\x0a\xc7\xc9\x5d\ +\x00\x53\ +\x00\x68\x00\x69\x00\x70\x00\x5f\x00\x73\x00\x76\x00\x2d\x00\x53\x00\x45\x00\x2e\x00\x71\x00\x6d\ +\x00\x0a\ +\x06\x6e\x5b\x7d\ +\x00\x53\ +\x00\x68\x00\x69\x00\x70\x00\x5f\x00\x6e\x00\x6f\x00\x2e\x00\x71\x00\x6d\ +\x00\x0a\ +\x06\x61\x1b\x7d\ +\x00\x53\ +\x00\x68\x00\x69\x00\x70\x00\x5f\x00\x75\x00\x6b\x00\x2e\x00\x71\x00\x6d\ +\x00\x0a\ +\x06\x62\x5b\x7d\ +\x00\x53\ +\x00\x68\x00\x69\x00\x70\x00\x5f\x00\x72\x00\x6f\x00\x2e\x00\x71\x00\x6d\ +\x00\x0a\ +\x06\x54\x7b\x7d\ +\x00\x53\ +\x00\x68\x00\x69\x00\x70\x00\x5f\x00\x68\x00\x75\x00\x2e\x00\x71\x00\x6d\ +\x00\x07\ +\x09\xf0\x35\xdd\ +\x00\x53\ +\x00\x68\x00\x69\x00\x70\x00\x2e\x00\x71\x00\x6d\ +\x00\x0a\ +\x06\x5c\xab\x7d\ +\x00\x53\ +\x00\x68\x00\x69\x00\x70\x00\x5f\x00\x61\x00\x66\x00\x2e\x00\x71\x00\x6d\ +\x00\x0a\ +\x06\x6f\xcb\x7d\ +\x00\x53\ +\x00\x68\x00\x69\x00\x70\x00\x5f\x00\x6e\x00\x6c\x00\x2e\x00\x71\x00\x6d\ +\x00\x0d\ +\x08\xf8\xda\x1d\ +\x00\x53\ +\x00\x68\x00\x69\x00\x70\x00\x5f\x00\x7a\x00\x68\x00\x2d\x00\x43\x00\x4e\x00\x2e\x00\x71\x00\x6d\ +\x00\x0d\ +\x04\xf7\x98\xfd\ +\x00\x53\ +\x00\x68\x00\x69\x00\x70\x00\x5f\x00\x70\x00\x74\x00\x2d\x00\x42\x00\x52\x00\x2e\x00\x71\x00\x6d\ +\x00\x0a\ +\x06\x60\x6b\x7d\ +\x00\x53\ +\x00\x68\x00\x69\x00\x70\x00\x5f\x00\x74\x00\x72\x00\x2e\x00\x71\x00\x6d\ +\x00\x0a\ +\x06\x51\x7b\x7d\ +\x00\x53\ +\x00\x68\x00\x69\x00\x70\x00\x5f\x00\x64\x00\x65\x00\x2e\x00\x71\x00\x6d\ +\x00\x0a\ +\x06\x54\x6b\x7d\ +\x00\x53\ +\x00\x68\x00\x69\x00\x70\x00\x5f\x00\x68\x00\x72\x00\x2e\x00\x71\x00\x6d\ +\x00\x0a\ +\x06\x62\x7b\x7d\ +\x00\x53\ +\x00\x68\x00\x69\x00\x70\x00\x5f\x00\x72\x00\x75\x00\x2e\x00\x71\x00\x6d\ +\x00\x0a\ +\x06\x63\x1b\x7d\ +\x00\x53\ +\x00\x68\x00\x69\x00\x70\x00\x5f\x00\x73\x00\x6b\x00\x2e\x00\x71\x00\x6d\ +\x00\x0a\ +\x06\x6b\x4b\x7d\ +\x00\x53\ +\x00\x68\x00\x69\x00\x70\x00\x5f\x00\x69\x00\x74\x00\x2e\x00\x71\x00\x6d\ +\x00\x12\ +\x03\x27\x8a\x07\ +\x00\x4f\ +\x00\x75\x00\x74\x00\x6c\x00\x69\x00\x6e\x00\x65\x00\x44\x00\x72\x00\x61\x00\x77\x00\x49\x00\x63\x00\x6f\x00\x2e\x00\x70\x00\x6e\ +\x00\x67\ +\x00\x10\ +\x0a\xa3\xc2\x07\ +\x00\x53\ +\x00\x69\x00\x6d\x00\x43\x00\x72\x00\x65\x00\x61\x00\x74\x00\x65\x00\x49\x00\x63\x00\x6f\x00\x2e\x00\x70\x00\x6e\x00\x67\ +\x00\x0d\ +\x0b\xa7\x6e\x67\ +\x00\x53\ +\x00\x69\x00\x6d\x00\x52\x00\x75\x00\x6e\x00\x49\x00\x63\x00\x6f\x00\x2e\x00\x70\x00\x6e\x00\x67\ +\x00\x07\ +\x0f\xa2\x57\xc7\ +\x00\x49\ +\x00\x63\x00\x6f\x00\x2e\x00\x70\x00\x6e\x00\x67\ +\x00\x0e\ +\x0f\xf7\x2d\x47\ +\x00\x53\ +\x00\x69\x00\x6d\x00\x53\x00\x74\x00\x6f\x00\x70\x00\x49\x00\x63\x00\x6f\x00\x2e\x00\x70\x00\x6e\x00\x67\ +\x00\x13\ +\x05\x9d\xfb\x67\ +\x00\x48\ +\x00\x79\x00\x64\x00\x72\x00\x6f\x00\x73\x00\x74\x00\x61\x00\x74\x00\x69\x00\x63\x00\x73\x00\x49\x00\x63\x00\x6f\x00\x2e\x00\x70\ +\x00\x6e\x00\x67\ +\x00\x0e\ +\x0f\xf0\x94\xc7\ +\x00\x53\ +\x00\x69\x00\x6d\x00\x50\x00\x6f\x00\x73\x00\x74\x00\x49\x00\x63\x00\x6f\x00\x2e\x00\x70\x00\x6e\x00\x67\ +\x00\x10\ +\x04\xed\x4c\xa7\ +\x00\x41\ +\x00\x72\x00\x65\x00\x61\x00\x43\x00\x75\x00\x72\x00\x76\x00\x65\x00\x49\x00\x63\x00\x6f\x00\x2e\x00\x70\x00\x6e\x00\x67\ +\x00\x0a\ +\x0d\xfc\xe0\xa7\ +\x00\x57\ +\x00\x65\x00\x69\x00\x67\x00\x68\x00\x74\x00\x2e\x00\x70\x00\x6e\x00\x67\ +\x00\x0b\ +\x0f\x48\xf8\x47\ +\x00\x4c\ +\x00\x6f\x00\x61\x00\x64\x00\x49\x00\x63\x00\x6f\x00\x2e\x00\x70\x00\x6e\x00\x67\ +\x00\x08\ +\x08\x4e\x5c\x07\ +\x00\x54\ +\x00\x61\x00\x6e\x00\x6b\x00\x2e\x00\x70\x00\x6e\x00\x67\ +" + +qt_resource_struct = "\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x01\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x02\x00\x00\x00\x02\ +\x00\x00\x00\x0e\x00\x02\x00\x00\x00\x0b\x00\x00\x00\x1b\ +\x00\x00\x00\x1e\x00\x02\x00\x00\x00\x17\x00\x00\x00\x04\ +\x00\x00\x01\xee\x00\x00\x00\x00\x00\x01\x00\x00\x17\x5a\ +\x00\x00\x02\x28\x00\x00\x00\x00\x00\x01\x00\x00\x17\x82\ +\x00\x00\x00\x70\x00\x00\x00\x00\x00\x01\x00\x00\x00\x28\ +\x00\x00\x02\x42\x00\x00\x00\x00\x00\x01\x00\x00\x17\x96\ +\x00\x00\x01\x6c\x00\x00\x00\x00\x00\x01\x00\x00\x16\xf6\ +\x00\x00\x00\x8a\x00\x00\x00\x00\x00\x01\x00\x00\x00\x3c\ +\x00\x00\x00\x3c\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\ +\x00\x00\x01\x9a\x00\x00\x00\x00\x00\x01\x00\x00\x17\x1e\ +\x00\x00\x02\x0e\x00\x00\x00\x00\x00\x01\x00\x00\x17\x6e\ +\x00\x00\x01\x38\x00\x00\x00\x00\x00\x01\x00\x00\x16\xce\ +\x00\x00\x01\x52\x00\x00\x00\x00\x00\x01\x00\x00\x16\xe2\ +\x00\x00\x02\x5c\x00\x00\x00\x00\x00\x01\x00\x00\x17\xaa\ +\x00\x00\x02\x76\x00\x00\x00\x00\x00\x01\x00\x00\x17\xbe\ +\x00\x00\x00\xa4\x00\x00\x00\x00\x00\x01\x00\x00\x00\x50\ +\x00\x00\x02\x90\x00\x00\x00\x00\x00\x01\x00\x00\x17\xd2\ +\x00\x00\x00\x56\x00\x00\x00\x00\x00\x01\x00\x00\x00\x14\ +\x00\x00\x01\x1e\x00\x00\x00\x00\x00\x01\x00\x00\x16\xba\ +\x00\x00\x01\xb4\x00\x00\x00\x00\x00\x01\x00\x00\x17\x32\ +\x00\x00\x00\xbe\x00\x00\x00\x00\x00\x01\x00\x00\x00\x64\ +\x00\x00\x01\xce\x00\x00\x00\x00\x00\x01\x00\x00\x17\x46\ +\x00\x00\x01\x86\x00\x00\x00\x00\x00\x01\x00\x00\x17\x0a\ +\x00\x00\x00\xde\x00\x01\x00\x00\x00\x01\x00\x00\x00\x78\ +\x00\x00\x00\xfe\x00\x00\x00\x00\x00\x01\x00\x00\x16\xa6\ +\x00\x00\x02\xaa\x00\x00\x00\x00\x00\x01\x00\x00\x17\xe6\ +\x00\x00\x03\x9e\x00\x00\x00\x00\x00\x01\x00\x01\x7c\x73\ +\x00\x00\x03\x50\x00\x00\x00\x00\x00\x01\x00\x01\x07\x79\ +\x00\x00\x03\xfa\x00\x00\x00\x00\x00\x01\x00\x01\xe6\x7a\ +\x00\x00\x02\xd4\x00\x00\x00\x00\x00\x01\x00\x00\x40\xce\ +\x00\x00\x02\xfa\x00\x00\x00\x00\x00\x01\x00\x00\x79\x78\ +\x00\x00\x03\xc4\x00\x00\x00\x00\x00\x01\x00\x01\x93\xfa\ +\x00\x00\x03\xde\x00\x00\x00\x00\x00\x01\x00\x01\xb0\x9d\ +\x00\x00\x03\x1a\x00\x00\x00\x00\x00\x01\x00\x00\xb2\x56\ +\x00\x00\x03\x7c\x00\x00\x00\x00\x00\x01\x00\x01\x46\xe3\ +\x00\x00\x03\x2e\x00\x00\x00\x00\x00\x01\x00\x00\xd3\xc2\ +" + +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/Mod/Ship/SimInstance.py b/src/Mod/Ship/SimInstance.py index 85740d034..0e8f6db2a 100644 --- a/src/Mod/Ship/SimInstance.py +++ b/src/Mod/Ship/SimInstance.py @@ -1,29 +1,32 @@ #*************************************************************************** -#* * -#* Copyright (c) 2011, 2012 * -#* Jose Luis Cercos Pita * -#* * +#* * +#* Copyright (c) 2011, 2012 * +#* Jose Luis Cercos Pita * +#* * #* This program is free software; you can redistribute it and/or modify * -#* it under the terms of the GNU Lesser General Public License (LGPL) * -#* as published by the Free Software Foundation; either version 2 of * -#* the License, or (at your option) any later version. * -#* for detail see the LICENCE text file. * -#* * -#* 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 Library General Public License for more details. * -#* * -#* You should have received a copy of the GNU Library General Public * +#* it under the terms of the GNU Lesser General Public License (LGPL) * +#* as published by the Free Software Foundation; either version 2 of * +#* the License, or (at your option) any later version. * +#* for detail see the LICENCE text file. * +#* * +#* 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 Library General Public License for more details. * +#* * +#* You should have received a copy of the GNU Library General Public * #* License along with this program; if not, write to the Free Software * #* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * -#* USA * -#* * +#* USA * +#* * #*************************************************************************** from math import * import threading +# Qt library +from PyQt4 import QtGui,QtCore + # COIN from pivy.coin import * from pivy import coin @@ -34,640 +37,660 @@ from FreeCAD import Base, Vector import Part # Ship design module -from shipUtils import Paths, Translator, Math +from shipUtils import Paths, Math class FreeSurfaceFace: - def __init__(self, pos, normal, l, b): - """ Face storage. - @param pos Face position. - @param normal Face normal. - @param l Element length (distance between elements at x direction) - @param b Element beam (distance between elements at y direction) - """ - self.pos = pos - self.normal = normal - self.area = l*b + def __init__(self, pos, normal, l, b): + """ Face storage. + @param pos Face position. + @param normal Face normal. + @param l Element length (distance between elements at x direction) + @param b Element beam (distance between elements at y direction) + """ + self.pos = pos + self.normal = normal + self.area = l*b - def __init__(self, pos, normal, area): - """ Face storage. - @param pos Face position. - @param normal Face normal. - @param area Element area - """ - self.pos = pos - self.normal = normal - self.area = area + def __init__(self, pos, normal, area): + """ Face storage. + @param pos Face position. + @param normal Face normal. + @param area Element area + """ + self.pos = pos + self.normal = normal + self.area = area class ShipSimulation: - def __init__(self, obj, fsMeshData, waves): - """ Creates a new simulation instance on active document. - @param obj Created Part::FeaturePython object. - @param fsMeshData [L,B,N] Free surface mesh data, with lenght - (x), Beam (y) and desired number of points. - @param waves [[A,T,phi,heading],] Waves involved - """ - # Add uniqueness property to identify Tank instances - obj.addProperty("App::PropertyBool","IsShipSimulation","ShipSimulation", str(Translator.translate("True if is a valid ship simulation instance"))).IsShipSimulation=True - # Compute free surface mesh - self.createFSMesh(obj,fsMeshData) - self.computeWaves(obj,waves) - # Store waves - obj.addProperty("App::PropertyVectorList","Waves","ShipSimulation", str(Translator.translate("Waves (Amplitude,period,phase)"))).Waves=[] - obj.addProperty("App::PropertyFloatList","Waves_Dir","ShipSimulation", str(Translator.translate("Waves direction (0 deg to stern waves)"))).Waves_Dir=[] - w = [] - d = [] - for i in range(0,len(waves)): - w.append(Vector(waves[i][0], waves[i][1], waves[i][2])) - d.append(waves[i][3]) - obj.Waves = w - obj.Waves_Dir = d - # Add shapes - shape = self.computeShape(obj) - if not shape: - obj.IsShipSimulation=False - return - obj.Shape = shape - obj.Proxy = self + def __init__(self, obj, fsMeshData, waves): + """ Creates a new simulation instance on active document. + @param obj Created Part::FeaturePython object. + @param fsMeshData [L,B,N] Free surface mesh data, with lenght + (x), Beam (y) and desired number of points. + @param waves [[A,T,phi,heading],] Waves involved + """ + # Add uniqueness property to identify Tank instances + tooltip = str(QtGui.QApplication.translate("Ship","True if is a valid ship simulation instance", + None,QtGui.QApplication.UnicodeUTF8)) + obj.addProperty("App::PropertyBool","IsShipSimulation","ShipSimulation", tooltip).IsShipSimulation=True + # Compute free surface mesh + self.createFSMesh(obj,fsMeshData) + self.computeWaves(obj,waves) + # Store waves + tooltip = str(QtGui.QApplication.translate("Ship","Waves (Amplitude,period,phase)", + None,QtGui.QApplication.UnicodeUTF8)) + obj.addProperty("App::PropertyVectorList","Waves","ShipSimulation", tooltip).Waves=[] + tooltip = str(QtGui.QApplication.translate("Ship","Waves direction (0 deg to stern waves)", + None,QtGui.QApplication.UnicodeUTF8)) + obj.addProperty("App::PropertyFloatList","Waves_Dir","ShipSimulation", tooltip).Waves_Dir=[] + w = [] + d = [] + for i in range(0,len(waves)): + w.append(Vector(waves[i][0], waves[i][1], waves[i][2])) + d.append(waves[i][3]) + obj.Waves = w + obj.Waves_Dir = d + # Add shapes + shape = self.computeShape(obj) + if not shape: + obj.IsShipSimulation=False + return + obj.Shape = shape + obj.Proxy = self - def onChanged(self, fp, prop): - """ Property changed, tank must be recomputed """ - if prop == "IsShipSimulation": - FreeCAD.Console.PrintWarning("Ussually you don't want to modify manually this option.\n") + def onChanged(self, fp, prop): + """ Property changed, tank must be recomputed """ + if prop == "IsShipSimulation": + msg = QtGui.QApplication.translate("ship_console", "Ussually you don't want to modify manually this option", + None,QtGui.QApplication.UnicodeUTF8) + FreeCAD.Console.PrintWarning(msg + "\n") - def execute(self, obj): - """ Shape recomputation called """ - obj.Shape = self.computeShape(obj) + def execute(self, obj): + """ Shape recomputation called """ + obj.Shape = self.computeShape(obj) - def createFSMesh(self, obj, fsMeshData): - """ Create or modify free surface mesh. - @param obj Created Part::FeaturePython object. - @param fsMeshData [L,B,N] Free surface mesh data, with lenght - (x), Beam (y) and desired number of points. - """ - # Study input object - try: - props = obj.PropertiesList - props.index("IsShipSimulation") - if not obj.IsShipSimulation: - msg = str(Translator.translate("Object is not a valid ship simulation.\n")) - FreeCAD.Console.PrintError(msg) - return - except ValueError: - msg = str(Translator.translate("Object is not a ship simulation.\n")) - FreeCAD.Console.PrintError(msg) - return - # Get areas and number of elements per direction - L = fsMeshData[0] - B = fsMeshData[1] - N = fsMeshData[2] - A = L*B - area = A/N - l = sqrt(area) - b = sqrt(area) - nx = int(round(L / l)) - ny = int(round(B / b)) - # Start data fields if not already exist - props = obj.PropertiesList - try: - props.index("FS_Nx") - except ValueError: - obj.addProperty("App::PropertyInteger","FS_Nx","ShipSimulation", str(Translator.translate("Free surface number of elements at x direction"))).FS_Nx=0 - try: - props.index("FS_Ny") - except ValueError: - obj.addProperty("App::PropertyInteger","FS_Ny","ShipSimulation", str(Translator.translate("Free surface number of elements at y direction"))).FS_Ny=0 - try: - props.index("FS_Position") - except ValueError: - obj.addProperty("App::PropertyVectorList","FS_Position","ShipSimulation", str(Translator.translate("Free surface elements position"))).FS_Position=[] - try: - props.index("FS_Area") - except ValueError: - obj.addProperty("App::PropertyFloatList","FS_Area","ShipSimulation", str(Translator.translate("Free surface elements area"))).FS_Area=[] - try: - props.index("FS_Normal") - except ValueError: - obj.addProperty("App::PropertyVectorList","FS_Normal","ShipSimulation", str(Translator.translate("Free surface elements normal"))).FS_Normal=[] - # Fill data - obj.FS_Nx = nx - obj.FS_Ny = ny - pos = [] - areas = [] - normal = [] - for i in range(0,nx): - for j in range(0,ny): - pos.append(Vector(-0.5*L + (i+0.5)*l,-0.5*B + (j+0.5)*b,0.0)) - areas.append(l*b) - normal.append(Vector(0.0,0.0,1.0)) - obj.FS_Position = pos[:] - obj.FS_Area = areas[:] - obj.FS_Normal = normal[:] + def createFSMesh(self, obj, fsMeshData): + """ Create or modify free surface mesh. + @param obj Created Part::FeaturePython object. + @param fsMeshData [L,B,N] Free surface mesh data, with lenght + (x), Beam (y) and desired number of points. + """ + # Study input object + try: + props = obj.PropertiesList + props.index("IsShipSimulation") + if not obj.IsShipSimulation: + msg = QtGui.QApplication.translate("ship_console", "Object is not a valid ship simulation", + None,QtGui.QApplication.UnicodeUTF8) + FreeCAD.Console.PrintError(msg + '\n') + return + except ValueError: + msg = QtGui.QApplication.translate("ship_console", "Object is not a ship simulation", + None,QtGui.QApplication.UnicodeUTF8) + FreeCAD.Console.PrintError(msg + '\n') + return + # Get areas and number of elements per direction + L = fsMeshData[0] + B = fsMeshData[1] + N = fsMeshData[2] + A = L*B + area = A/N + l = sqrt(area) + b = sqrt(area) + nx = int(round(L / l)) + ny = int(round(B / b)) + # Start data fields if not already exist + props = obj.PropertiesList + try: + props.index("FS_Nx") + except ValueError: + tooltip = str(QtGui.QApplication.translate("Ship","Free surface number of elements at x direction", + None,QtGui.QApplication.UnicodeUTF8)) + obj.addProperty("App::PropertyInteger","FS_Nx","ShipSimulation", tooltip).FS_Nx=0 + try: + props.index("FS_Ny") + except ValueError: + tooltip = str(QtGui.QApplication.translate("Ship","Free surface number of elements at y direction", + None,QtGui.QApplication.UnicodeUTF8)) + obj.addProperty("App::PropertyInteger","FS_Ny","ShipSimulation", tooltip).FS_Ny=0 + try: + props.index("FS_Position") + except ValueError: + tooltip = str(QtGui.QApplication.translate("Ship","Free surface elements position", + None,QtGui.QApplication.UnicodeUTF8)) + obj.addProperty("App::PropertyVectorList","FS_Position","ShipSimulation", tooltip).FS_Position=[] + try: + props.index("FS_Area") + except ValueError: + tooltip = str(QtGui.QApplication.translate("Ship","Free surface elements area", + None,QtGui.QApplication.UnicodeUTF8)) + obj.addProperty("App::PropertyFloatList","FS_Area","ShipSimulation", tooltip).FS_Area=[] + try: + props.index("FS_Normal") + except ValueError: + tooltip = str(QtGui.QApplication.translate("Ship","Free surface elements normal", + None,QtGui.QApplication.UnicodeUTF8)) + obj.addProperty("App::PropertyVectorList","FS_Normal","ShipSimulation", tooltip).FS_Normal=[] + # Fill data + obj.FS_Nx = nx + obj.FS_Ny = ny + pos = [] + areas = [] + normal = [] + for i in range(0,nx): + for j in range(0,ny): + pos.append(Vector(-0.5*L + (i+0.5)*l,-0.5*B + (j+0.5)*b,0.0)) + areas.append(l*b) + normal.append(Vector(0.0,0.0,1.0)) + obj.FS_Position = pos[:] + obj.FS_Area = areas[:] + obj.FS_Normal = normal[:] - def computeWaves(self, obj, waves): - """ Add waves effect to free surface mesh positions. - @param obj Created Part::FeaturePython object. - @param waves waves data [A,T,phase, heading]. - """ - grav = 9.81 - positions = obj.FS_Position[:] - for i in range(0, len(positions)): - for w in waves: - A = w[0] - T = w[1] - phase = w[2] - heading = pi*w[3]/180.0 - wl = 0.5 * grav / pi * T*T - k = 2.0*pi/wl - frec = 2.0*pi/T - pos = obj.FS_Position[i] - l = pos.x*cos(heading) + pos.y*sin(heading) - amp = A*sin(k*l + phase) - positions[i].z = positions[i].z + amp - obj.FS_Position = positions[:] + def computeWaves(self, obj, waves): + """ Add waves effect to free surface mesh positions. + @param obj Created Part::FeaturePython object. + @param waves waves data [A,T,phase, heading]. + """ + grav = 9.81 + positions = obj.FS_Position[:] + for i in range(0, len(positions)): + for w in waves: + A = w[0] + T = w[1] + phase = w[2] + heading = pi*w[3]/180.0 + wl = 0.5 * grav / pi * T*T + k = 2.0*pi/wl + frec = 2.0*pi/T + pos = obj.FS_Position[i] + l = pos.x*cos(heading) + pos.y*sin(heading) + amp = A*sin(k*l + phase) + positions[i].z = positions[i].z + amp + obj.FS_Position = positions[:] - def computeShape(self, obj): - """ Computes simulation involved shapes. - @param obj Created Part::FeaturePython object. - @return Shape - """ - nx = obj.FS_Nx - ny = obj.FS_Ny - mesh = FSMesh(obj) - # Create BSpline surface - surf = Part.BSplineSurface() - for i in range(1,nx-1): - u = i / float(nx-1) - surf.insertUKnot(u,i,0.000001) - for i in range(1,ny-1): - v = i / float(ny-1) - surf.insertVKnot(v,i,0.000001) - for i in range(0,nx): - for j in range(0,ny): - u = i / float(nx-1) - v = j / float(ny-1) - point = mesh[i][j].pos - surf.movePoint(u,v,point,i+1,i+1,j+1,j+1) - return surf.toShape() + def computeShape(self, obj): + """ Computes simulation involved shapes. + @param obj Created Part::FeaturePython object. + @return Shape + """ + nx = obj.FS_Nx + ny = obj.FS_Ny + mesh = FSMesh(obj) + # Create BSpline surface + surf = Part.BSplineSurface() + for i in range(1,nx-1): + u = i / float(nx-1) + surf.insertUKnot(u,i,0.000001) + for i in range(1,ny-1): + v = i / float(ny-1) + surf.insertVKnot(v,i,0.000001) + for i in range(0,nx): + for j in range(0,ny): + u = i / float(nx-1) + v = j / float(ny-1) + point = mesh[i][j].pos + surf.movePoint(u,v,point,i+1,i+1,j+1,j+1) + return surf.toShape() class ViewProviderShipSimulation: - def __init__(self, obj): - """ Set this object to the proxy object of the actual view provider """ - obj.Proxy = self + def __init__(self, obj): + """ Set this object to the proxy object of the actual view provider """ + obj.Proxy = self - def attach(self, obj): - """ Setup the scene sub-graph of the view provider, this method is mandatory """ - return + def attach(self, obj): + """ Setup the scene sub-graph of the view provider, this method is mandatory """ + return - def updateData(self, fp, prop): - """ If a property of the handled feature has changed we have the chance to handle this here """ - return + def updateData(self, fp, prop): + """ If a property of the handled feature has changed we have the chance to handle this here """ + return - def getDisplayModes(self,obj): - ''' Return a list of display modes. ''' - modes=[] - return modes + def getDisplayModes(self,obj): + ''' Return a list of display modes. ''' + modes=[] + return modes - def getDefaultDisplayMode(self): - ''' Return the name of the default display mode. It must be defined in getDisplayModes. ''' - return "Flat Lines" + def getDefaultDisplayMode(self): + ''' Return the name of the default display mode. It must be defined in getDisplayModes. ''' + return "Flat Lines" - def setDisplayMode(self,mode): - ''' Map the display mode defined in attach with those defined in getDisplayModes. - Since they have the same names nothing needs to be done. This method is optinal. - ''' - return mode + def setDisplayMode(self,mode): + ''' Map the display mode defined in attach with those defined in getDisplayModes. + Since they have the same names nothing needs to be done. This method is optinal. + ''' + return mode - def onChanged(self, vp, prop): - ''' Print the name of the property that has changed ''' - # FreeCAD.Console.PrintMessage("Change property: " + str(prop) + "\n") + def onChanged(self, vp, prop): + ''' Print the name of the property that has changed ''' + # FreeCAD.Console.PrintMessage("Change property: " + str(prop) + "\n") - def __getstate__(self): - ''' When saving the document this object gets stored using Python's cPickle module. - Since we have some un-pickable here -- the Coin stuff -- we must define this method - to return a tuple of all pickable objects or None. - ''' - return None + def __getstate__(self): + ''' When saving the document this object gets stored using Python's cPickle module. + Since we have some un-pickable here -- the Coin stuff -- we must define this method + to return a tuple of all pickable objects or None. + ''' + return None - def __setstate__(self,state): - ''' When restoring the pickled object from document we have the chance to set some - internals here. Since no data were pickled nothing needs to be done here. - ''' - return None + def __setstate__(self,state): + ''' When restoring the pickled object from document we have the chance to set some + internals here. Since no data were pickled nothing needs to be done here. + ''' + return None - def getIcon(self): - return """ - /* XPM */ - static char * Sim_xpm[] = { - "32 32 301 2", - " c None", - ". c #CCCCCC", - "+ c #A9A9A9", - "@ c #989898", - "# c #A1A1A1", - "$ c #C3C3C3", - "% c #C1C0C1", - "& c #BFBFBF", - "* c #A7A7A7", - "= c #808080", - "- c #5C5C5C", - "; c #565655", - "> c #4E4E4E", - ", c #676767", - "' c #898989", - ") c #B6B5B6", - "! c #BABABA", - "~ c #B9B9B9", - "{ c #A5A5A5", - "] c #7E7E7E", - "^ c #595A59", - "/ c #575656", - "( c #535353", - "_ c #505050", - ": c #4D4D4C", - "< c #474747", - "[ c #404040", - "} c #4D4D4D", - "| c #787878", - "1 c #B8B7B8", - "2 c #B6B6B6", - "3 c #888888", - "4 c #7C7C7C", - "5 c #575657", - "6 c #535354", - "7 c #4E4D4E", - "8 c #4A4A4A", - "9 c #444444", - "0 c #414141", - "a c #3E3E3E", - "b c #393938", - "c c #313131", - "d c #393939", - "e c #636363", - "f c #ABABAB", - "g c #B3B3B3", - "h c #848484", - "i c #787979", - "j c #545454", - "k c #515151", - "l c #4B4B4B", - "m c #484748", - "n c #3B3B3B", - "o c #383838", - "p c #353535", - "q c #323232", - "r c #2F2F2E", - "s c #2A2A2A", - "t c #222323", - "u c #252625", - "v c #AFAFAF", - "w c #767676", - "x c #484848", - "y c #454545", - "z c #424242", - "A c #3F3F3E", - "B c #3B3B3C", - "C c #393838", - "D c #2F2F2F", - "E c #2C2C2C", - "F c #292929", - "G c #262626", - "H c #222222", - "I c #1F1F20", - "J c #171716", - "K c #959595", - "L c #747474", - "M c #4E4E4F", - "N c #4C4B4C", - "O c #484849", - "P c #424243", - "Q c #282828", - "R c #525251", - "S c #373737", - "T c #353636", - "U c #333233", - "V c #30302F", - "W c #2C2D2D", - "X c #232323", - "Y c #201F20", - "Z c #1D1D1D", - "` c #151414", - " . c #717272", - ".. c #4C4C4C", - "+. c #484949", - "@. c #464545", - "#. c #424343", - "$. c #3A3A3A", - "%. c #5D4A49", - "&. c #7E7E86", - "*. c #56569F", - "=. c #3E3E41", - "-. c #757575", - ";. c #575757", - ">. c #222221", - ",. c #262627", - "'. c #242423", - "). c #212020", - "!. c #1A1A1A", - "~. c #121212", - "{. c #939493", - "]. c #6F6F6F", - "^. c #494949", - "/. c #464646", - "(. c #434343", - "_. c #554545", - ":. c #686863", - "<. c #939394", - "[. c #BDBDBD", - "}. c #202021", - "|. c #1E1E1E", - "1. c #171718", - "2. c #0F0F0F", - "3. c #929292", - "4. c #6C6D6D", - "5. c #464746", - "6. c #525F73", - "7. c #444648", - "8. c #3D3D3D", - "9. c #2D2C2A", - "0. c #A1A2A2", - "a. c #AAACAC", - "b. c #A6A7A7", - "c. c #A8AAAA", - "d. c #AFB0B0", - "e. c #777676", - "f. c #9A9A9A", - "g. c #1B1B1B", - "h. c #181818", - "i. c #0C0C0C", - "j. c #909090", - "k. c #6B6A6B", - "l. c #55657E", - "m. c #6990FB", - "n. c #6483CD", - "o. c #5871B2", - "p. c #434E7E", - "q. c #A97C76", - "r. c #AB7777", - "s. c #AC7070", - "t. c #A26565", - "u. c #805C5C", - "v. c #848686", - "w. c #424342", - "x. c #151515", - "y. c #0A0909", - "z. c #8F8F8F", - "A. c #676868", - "B. c #3B3A3A", - "C. c #383738", - "D. c #353534", - "E. c #45525F", - "F. c #6367AC", - "G. c #804682", - "H. c #942A39", - "I. c #991312", - "J. c #540901", - "K. c #393742", - "L. c #1C1C1C", - "M. c #191919", - "N. c #161515", - "O. c #121313", - "P. c #070707", - "Q. c #8D8E8D", - "R. c #656566", - "S. c #3E3F3F", - "T. c #2F2E2F", - "U. c #353838", - "V. c #35496A", - "W. c #3E4D88", - "X. c #354889", - "Y. c #5573D7", - "Z. c #5D80FB", - "`. c #374899", - " + c #293338", - ".+ c #101010", - "++ c #0D0D0D", - "@+ c #040404", - "#+ c #8C8C8C", - "$+ c #8B8B8B", - "%+ c #4B4A4B", - "&+ c #303030", - "*+ c #333232", - "=+ c #2F2F30", - "-+ c #232223", - ";+ c #1A1919", - ">+ c #2E3949", - ",+ c #5C7BA3", - "'+ c #36467D", - ")+ c #536F93", - "!+ c #0A0A0A", - "~+ c #010101", - "{+ c #C1C1C1", - "]+ c #B8B8B8", - "^+ c #A0A0A0", - "/+ c #3F3F3F", - "(+ c #222122", - "_+ c #202020", - ":+ c #161717", - "<+ c #141414", - "[+ c #111011", - "}+ c #0D0E0E", - "|+ c #0B0B0A", - "1+ c #000000", - "2+ c #525252", - "3+ c #686868", - "4+ c #ADADAD", - "5+ c #9E9F9F", - "6+ c #6D6D6D", - "7+ c #3C3C3C", - "8+ c #131414", - "9+ c #111111", - "0+ c #0E0E0E", - "a+ c #0B0B0B", - "b+ c #080708", - "c+ c #050504", - "d+ c #4C4D4C", - "e+ c #4D4C4D", - "f+ c #494A4A", - "g+ c #454444", - "h+ c #9D9D9D", - "i+ c #9E9E9E", - "j+ c #AEAEAE", - "k+ c #BEBEBF", - "l+ c #BEBDBD", - "m+ c #979797", - "n+ c #6A6B6A", - "o+ c #3F3F40", - "p+ c #020202", - "q+ c #030303", - "r+ c #878787", - "s+ c #69696A", - "t+ c #868685", - "u+ c #646464", - "v+ c #474647", - "w+ c #656565", - "x+ c #9E9F9E", - "y+ c #A8A8A8", - "z+ c #AFAFAE", - "A+ c #A4A4A4", - "B+ c #7A7A7A", - "C+ c #969696", - "D+ c #363636", - "E+ c #777776", - "F+ c #8C8D8D", - "G+ c #7D7D7D", - "H+ c #5E5E5E", - "I+ c #4F4F50", - "J+ c #808181", - "K+ c #707070", - "L+ c #909191", - "M+ c #9C9C9C", - "N+ c #787877", - "O+ c #696969", - "P+ c #616161", - "Q+ c #6E6E6E", - "R+ c #7C7B7C", - "S+ c #777677", - "T+ c #6F6E6E", - "U+ c #595959", - "V+ c #717171", - "W+ c #8D8D8D", - "X+ c #515051", - "Y+ c #49494A", - "Z+ c #4B4A4A", - "`+ c #606060", - " @ c #6A6A6A", - ".@ c #616162", - "+@ c #6C6D6C", - "@@ c #767777", - "#@ c #727272", - "$@ c #6B6B6B", - "%@ c #828283", - "&@ c #757475", - "*@ c #444545", - "=@ c #565656", - "-@ c #5A595A", - ";@ c #666666", - ">@ c #878687", - ",@ c #8A8A8A", - "'@ c #797979", - ")@ c #444344", - "!@ c #7F8080", - "~@ c #737373", - "{@ c #484747", - "]@ c #707170", - "^@ c #7F7F7F", - "/@ c #676867", - "(@ c #4D4C4C", - "_@ c #5F5F5F", - ":@ c #434444", - " ", - " ", - " . + ", - " @ # $ % & * ", - " = - ; > , ' ) ! ~ { ", - " ] ^ / ( _ : < [ } | # 1 2 # 3 ", - " 4 5 6 _ 7 8 < 9 0 a b c d e ' f g + h ", - " i j k 7 l m 9 0 a n o p q r s t u < | v ", - " w k > l x y z A B C p q D E F G H I J K ", - " L M N O y P Q R S T U V W F G X Y Z ` K ", - " ...+.@.#.$.%.&.*.=.-.;.>.,.'.).Z !.~.{. ", - " ].^./.(.[ c _._ :.<.[.$ ' /.}.|.!.1.2.3. ", - " 4.5.6.7.8.9.# 0.a.b.c.d.e.f.g.g.h.` i.j. ", - " k.9 l.m.n.o.p.q.r.s.t.u.v.w.g.h.x.~.y.z. ", - " A.0 a B.C.D.E.F.G.H.I.J.K.L.M.N.O.2.P.Q. ", - " R.S.n o p q T.E U.V.W.X.Y.Z.`. +.+++@+#+ ", - " $+%+&+q *+=+E F G -+I Z ;+>+,+'+)+!+~+$+ ", - " {+]+^+w /+H (+X _+Z !.:+<+[+}+|+P.1+' ", - " k 2+_ > 3+z.4+5+6+7+x.~.8+9+0+a+b+c+1+3 ", - " %+..d+e+..f+< g+h+i+j+k+l+m+n+o+P.p+q+p+1+r+ ", - " s+t+u+< (.< v+y 9 (.w+x+y+z+y+h+A+B+C+K ].D+1+h ", - " E+i+F+f.j.G+H+9 [ (.z I+J+m+f.j.K+z 9 9 9 K+L+r+/.9 (. ", - " L M+N+O+u+P+Q+R+S+T+U+y 8 - ;...9 9 9 9 9 9 9 9 (.(.k w+ ", - " V+m+' W+r+] , X+Y+(.: r+L P+k 9 z (.9 9 9 9 (.(.Z+;.- `+ ", - " ].C+w @u+.@+@@@#@$@j %@B+&@#@L $@H+2+/.0 (.*@+.} 2+=@-@ ", - " ;@| >@,@'@u+k 8 )@..!@| ~@V+#@#@#@#@L 6+..(.9 {@.._ ( ", - " e ]@^@] /@k G+w #@#@#@#@#@V+ @$@_ 9 9 9 /.Y+(@ ", - " - R.T+L ~@#@#@#@#@]._ _@_ 9 9 9 (.9 x ", - " =@_@O+L ~@#@~@L _ 9 9 :@ ", - " ;.H+ @-._ (. ", - " ", - " "}; - """ + def getIcon(self): + return """ + /* XPM */ + static char * Sim_xpm[] = { + "32 32 301 2", + " c None", + ". c #CCCCCC", + "+ c #A9A9A9", + "@ c #989898", + "# c #A1A1A1", + "$ c #C3C3C3", + "% c #C1C0C1", + "& c #BFBFBF", + "* c #A7A7A7", + "= c #808080", + "- c #5C5C5C", + "; c #565655", + "> c #4E4E4E", + ", c #676767", + "' c #898989", + ") c #B6B5B6", + "! c #BABABA", + "~ c #B9B9B9", + "{ c #A5A5A5", + "] c #7E7E7E", + "^ c #595A59", + "/ c #575656", + "( c #535353", + "_ c #505050", + ": c #4D4D4C", + "< c #474747", + "[ c #404040", + "} c #4D4D4D", + "| c #787878", + "1 c #B8B7B8", + "2 c #B6B6B6", + "3 c #888888", + "4 c #7C7C7C", + "5 c #575657", + "6 c #535354", + "7 c #4E4D4E", + "8 c #4A4A4A", + "9 c #444444", + "0 c #414141", + "a c #3E3E3E", + "b c #393938", + "c c #313131", + "d c #393939", + "e c #636363", + "f c #ABABAB", + "g c #B3B3B3", + "h c #848484", + "i c #787979", + "j c #545454", + "k c #515151", + "l c #4B4B4B", + "m c #484748", + "n c #3B3B3B", + "o c #383838", + "p c #353535", + "q c #323232", + "r c #2F2F2E", + "s c #2A2A2A", + "t c #222323", + "u c #252625", + "v c #AFAFAF", + "w c #767676", + "x c #484848", + "y c #454545", + "z c #424242", + "A c #3F3F3E", + "B c #3B3B3C", + "C c #393838", + "D c #2F2F2F", + "E c #2C2C2C", + "F c #292929", + "G c #262626", + "H c #222222", + "I c #1F1F20", + "J c #171716", + "K c #959595", + "L c #747474", + "M c #4E4E4F", + "N c #4C4B4C", + "O c #484849", + "P c #424243", + "Q c #282828", + "R c #525251", + "S c #373737", + "T c #353636", + "U c #333233", + "V c #30302F", + "W c #2C2D2D", + "X c #232323", + "Y c #201F20", + "Z c #1D1D1D", + "` c #151414", + " . c #717272", + ".. c #4C4C4C", + "+. c #484949", + "@. c #464545", + "#. c #424343", + "$. c #3A3A3A", + "%. c #5D4A49", + "&. c #7E7E86", + "*. c #56569F", + "=. c #3E3E41", + "-. c #757575", + ";. c #575757", + ">. c #222221", + ",. c #262627", + "'. c #242423", + "). c #212020", + "!. c #1A1A1A", + "~. c #121212", + "{. c #939493", + "]. c #6F6F6F", + "^. c #494949", + "/. c #464646", + "(. c #434343", + "_. c #554545", + ":. c #686863", + "<. c #939394", + "[. c #BDBDBD", + "}. c #202021", + "|. c #1E1E1E", + "1. c #171718", + "2. c #0F0F0F", + "3. c #929292", + "4. c #6C6D6D", + "5. c #464746", + "6. c #525F73", + "7. c #444648", + "8. c #3D3D3D", + "9. c #2D2C2A", + "0. c #A1A2A2", + "a. c #AAACAC", + "b. c #A6A7A7", + "c. c #A8AAAA", + "d. c #AFB0B0", + "e. c #777676", + "f. c #9A9A9A", + "g. c #1B1B1B", + "h. c #181818", + "i. c #0C0C0C", + "j. c #909090", + "k. c #6B6A6B", + "l. c #55657E", + "m. c #6990FB", + "n. c #6483CD", + "o. c #5871B2", + "p. c #434E7E", + "q. c #A97C76", + "r. c #AB7777", + "s. c #AC7070", + "t. c #A26565", + "u. c #805C5C", + "v. c #848686", + "w. c #424342", + "x. c #151515", + "y. c #0A0909", + "z. c #8F8F8F", + "A. c #676868", + "B. c #3B3A3A", + "C. c #383738", + "D. c #353534", + "E. c #45525F", + "F. c #6367AC", + "G. c #804682", + "H. c #942A39", + "I. c #991312", + "J. c #540901", + "K. c #393742", + "L. c #1C1C1C", + "M. c #191919", + "N. c #161515", + "O. c #121313", + "P. c #070707", + "Q. c #8D8E8D", + "R. c #656566", + "S. c #3E3F3F", + "T. c #2F2E2F", + "U. c #353838", + "V. c #35496A", + "W. c #3E4D88", + "X. c #354889", + "Y. c #5573D7", + "Z. c #5D80FB", + "`. c #374899", + " + c #293338", + ".+ c #101010", + "++ c #0D0D0D", + "@+ c #040404", + "#+ c #8C8C8C", + "$+ c #8B8B8B", + "%+ c #4B4A4B", + "&+ c #303030", + "*+ c #333232", + "=+ c #2F2F30", + "-+ c #232223", + ";+ c #1A1919", + ">+ c #2E3949", + ",+ c #5C7BA3", + "'+ c #36467D", + ")+ c #536F93", + "!+ c #0A0A0A", + "~+ c #010101", + "{+ c #C1C1C1", + "]+ c #B8B8B8", + "^+ c #A0A0A0", + "/+ c #3F3F3F", + "(+ c #222122", + "_+ c #202020", + ":+ c #161717", + "<+ c #141414", + "[+ c #111011", + "}+ c #0D0E0E", + "|+ c #0B0B0A", + "1+ c #000000", + "2+ c #525252", + "3+ c #686868", + "4+ c #ADADAD", + "5+ c #9E9F9F", + "6+ c #6D6D6D", + "7+ c #3C3C3C", + "8+ c #131414", + "9+ c #111111", + "0+ c #0E0E0E", + "a+ c #0B0B0B", + "b+ c #080708", + "c+ c #050504", + "d+ c #4C4D4C", + "e+ c #4D4C4D", + "f+ c #494A4A", + "g+ c #454444", + "h+ c #9D9D9D", + "i+ c #9E9E9E", + "j+ c #AEAEAE", + "k+ c #BEBEBF", + "l+ c #BEBDBD", + "m+ c #979797", + "n+ c #6A6B6A", + "o+ c #3F3F40", + "p+ c #020202", + "q+ c #030303", + "r+ c #878787", + "s+ c #69696A", + "t+ c #868685", + "u+ c #646464", + "v+ c #474647", + "w+ c #656565", + "x+ c #9E9F9E", + "y+ c #A8A8A8", + "z+ c #AFAFAE", + "A+ c #A4A4A4", + "B+ c #7A7A7A", + "C+ c #969696", + "D+ c #363636", + "E+ c #777776", + "F+ c #8C8D8D", + "G+ c #7D7D7D", + "H+ c #5E5E5E", + "I+ c #4F4F50", + "J+ c #808181", + "K+ c #707070", + "L+ c #909191", + "M+ c #9C9C9C", + "N+ c #787877", + "O+ c #696969", + "P+ c #616161", + "Q+ c #6E6E6E", + "R+ c #7C7B7C", + "S+ c #777677", + "T+ c #6F6E6E", + "U+ c #595959", + "V+ c #717171", + "W+ c #8D8D8D", + "X+ c #515051", + "Y+ c #49494A", + "Z+ c #4B4A4A", + "`+ c #606060", + " @ c #6A6A6A", + ".@ c #616162", + "+@ c #6C6D6C", + "@@ c #767777", + "#@ c #727272", + "$@ c #6B6B6B", + "%@ c #828283", + "&@ c #757475", + "*@ c #444545", + "=@ c #565656", + "-@ c #5A595A", + ";@ c #666666", + ">@ c #878687", + ",@ c #8A8A8A", + "'@ c #797979", + ")@ c #444344", + "!@ c #7F8080", + "~@ c #737373", + "{@ c #484747", + "]@ c #707170", + "^@ c #7F7F7F", + "/@ c #676867", + "(@ c #4D4C4C", + "_@ c #5F5F5F", + ":@ c #434444", + " ", + " ", + " . + ", + " @ # $ % & * ", + " = - ; > , ' ) ! ~ { ", + " ] ^ / ( _ : < [ } | # 1 2 # 3 ", + " 4 5 6 _ 7 8 < 9 0 a b c d e ' f g + h ", + " i j k 7 l m 9 0 a n o p q r s t u < | v ", + " w k > l x y z A B C p q D E F G H I J K ", + " L M N O y P Q R S T U V W F G X Y Z ` K ", + " ...+.@.#.$.%.&.*.=.-.;.>.,.'.).Z !.~.{. ", + " ].^./.(.[ c _._ :.<.[.$ ' /.}.|.!.1.2.3. ", + " 4.5.6.7.8.9.# 0.a.b.c.d.e.f.g.g.h.` i.j. ", + " k.9 l.m.n.o.p.q.r.s.t.u.v.w.g.h.x.~.y.z. ", + " A.0 a B.C.D.E.F.G.H.I.J.K.L.M.N.O.2.P.Q. ", + " R.S.n o p q T.E U.V.W.X.Y.Z.`. +.+++@+#+ ", + " $+%+&+q *+=+E F G -+I Z ;+>+,+'+)+!+~+$+ ", + " {+]+^+w /+H (+X _+Z !.:+<+[+}+|+P.1+' ", + " k 2+_ > 3+z.4+5+6+7+x.~.8+9+0+a+b+c+1+3 ", + " %+..d+e+..f+< g+h+i+j+k+l+m+n+o+P.p+q+p+1+r+ ", + " s+t+u+< (.< v+y 9 (.w+x+y+z+y+h+A+B+C+K ].D+1+h ", + " E+i+F+f.j.G+H+9 [ (.z I+J+m+f.j.K+z 9 9 9 K+L+r+/.9 (. ", + " L M+N+O+u+P+Q+R+S+T+U+y 8 - ;...9 9 9 9 9 9 9 9 (.(.k w+ ", + " V+m+' W+r+] , X+Y+(.: r+L P+k 9 z (.9 9 9 9 (.(.Z+;.- `+ ", + " ].C+w @u+.@+@@@#@$@j %@B+&@#@L $@H+2+/.0 (.*@+.} 2+=@-@ ", + " ;@| >@,@'@u+k 8 )@..!@| ~@V+#@#@#@#@L 6+..(.9 {@.._ ( ", + " e ]@^@] /@k G+w #@#@#@#@#@V+ @$@_ 9 9 9 /.Y+(@ ", + " - R.T+L ~@#@#@#@#@]._ _@_ 9 9 9 (.9 x ", + " =@_@O+L ~@#@~@L _ 9 9 :@ ", + " ;.H+ @-._ (. ", + " ", + " "}; + """ def FSMesh(obj, recompute=False): - """ Get free surface mesh in matrix mode. - @param obj Created Part::FeaturePython object. - @param recompute True if mesh must be recomputed, False otherwise. - @return Faces matrix - """ - nx = obj.FS_Nx - ny = obj.FS_Ny - if not recompute: - faces = [] - for i in range(0,nx): - faces.append([]) - for j in range(0,ny): - faces[i].append(FreeSurfaceFace(obj.FS_Position[j + i*ny], - obj.FS_Normal[j + i*ny], - obj.FS_Area[j + i*ny])) - return faces - # Transform positions into a mesh - pos = [] - for i in range(0,nx): - pos.append([]) - for j in range(0,ny): - pos[i].append(obj.FS_Position[j + i*ny]) - # Recompute normals and dimensions - normal = [] - l = [] - b = [] - for i in range(0,nx): - normal.append([]) - l.append([]) - b.append([]) - for j in range(0,ny): - i0 = i-1 - i1 = i+1 - fi = 1.0 - j0 = j-1 - j1 = j+1 - fj = 1.0 - if i == 0: - i0 = i - i1 = i+1 - fi = 2.0 - if i == nx-1: - i0 = i-1 - i1 = i - fi = 2.0 - if j == 0: - j0 = j - j1 = j+1 - fj = 2.0 - if j == ny-1: - j0 = j-1 - j1 = j - fj = 2.0 - l[i].append(fi*(obj.FS_Position[j + i1*ny].x - obj.FS_Position[j + i0*ny].x)) - b[i].append(fj*(obj.FS_Position[j1 + i*ny].y - obj.FS_Position[j0 + i*ny].y)) - xvec = Vector(obj.FS_Position[j + i1*ny].x - obj.FS_Position[j + i0*ny].x, - obj.FS_Position[j + i1*ny].y - obj.FS_Position[j + i0*ny].y, - obj.FS_Position[j + i1*ny].z - obj.FS_Position[j + i0*ny].z) - yvec = Vector(obj.FS_Position[j1 + i*ny].x - obj.FS_Position[j0 + i*ny].x, - obj.FS_Position[j1 + i*ny].y - obj.FS_Position[j0 + i*ny].y, - obj.FS_Position[j1 + i*ny].z - obj.FS_Position[j0 + i*ny].z) - n = Vector(xvec.cross(yvec)) # Z positive - normal[i].append(n.normalize()) - # Create faces - faces = [] - for i in range(0,nx): - faces.append([]) - for j in range(0,ny): - faces[i].append(FreeSurfaceFace(pos[i][j], normal[i][j], l[i][j], b[i][j])) - # Reconstruct mesh data - for i in range(0,nx): - for j in range(0,ny): - obj.FS_Position[j + i*ny] = faces[i][j].pos - obj.FS_Normal[j + i*ny] = faces[i][j].normal - obj.FS_Area[j + i*ny] = faces[i][j].area - return faces + """ Get free surface mesh in matrix mode. + @param obj Created Part::FeaturePython object. + @param recompute True if mesh must be recomputed, False otherwise. + @return Faces matrix + """ + nx = obj.FS_Nx + ny = obj.FS_Ny + if not recompute: + faces = [] + for i in range(0,nx): + faces.append([]) + for j in range(0,ny): + faces[i].append(FreeSurfaceFace(obj.FS_Position[j + i*ny], + obj.FS_Normal[j + i*ny], + obj.FS_Area[j + i*ny])) + return faces + # Transform positions into a mesh + pos = [] + for i in range(0,nx): + pos.append([]) + for j in range(0,ny): + pos[i].append(obj.FS_Position[j + i*ny]) + # Recompute normals and dimensions + normal = [] + l = [] + b = [] + for i in range(0,nx): + normal.append([]) + l.append([]) + b.append([]) + for j in range(0,ny): + i0 = i-1 + i1 = i+1 + fi = 1.0 + j0 = j-1 + j1 = j+1 + fj = 1.0 + if i == 0: + i0 = i + i1 = i+1 + fi = 2.0 + if i == nx-1: + i0 = i-1 + i1 = i + fi = 2.0 + if j == 0: + j0 = j + j1 = j+1 + fj = 2.0 + if j == ny-1: + j0 = j-1 + j1 = j + fj = 2.0 + l[i].append(fi*(obj.FS_Position[j + i1*ny].x - obj.FS_Position[j + i0*ny].x)) + b[i].append(fj*(obj.FS_Position[j1 + i*ny].y - obj.FS_Position[j0 + i*ny].y)) + xvec = Vector(obj.FS_Position[j + i1*ny].x - obj.FS_Position[j + i0*ny].x, + obj.FS_Position[j + i1*ny].y - obj.FS_Position[j + i0*ny].y, + obj.FS_Position[j + i1*ny].z - obj.FS_Position[j + i0*ny].z) + yvec = Vector(obj.FS_Position[j1 + i*ny].x - obj.FS_Position[j0 + i*ny].x, + obj.FS_Position[j1 + i*ny].y - obj.FS_Position[j0 + i*ny].y, + obj.FS_Position[j1 + i*ny].z - obj.FS_Position[j0 + i*ny].z) + n = Vector(xvec.cross(yvec)) # Z positive + normal[i].append(n.normalize()) + # Create faces + faces = [] + for i in range(0,nx): + faces.append([]) + for j in range(0,ny): + faces[i].append(FreeSurfaceFace(pos[i][j], normal[i][j], l[i][j], b[i][j])) + # Reconstruct mesh data + for i in range(0,nx): + for j in range(0,ny): + obj.FS_Position[j + i*ny] = faces[i][j].pos + obj.FS_Normal[j + i*ny] = faces[i][j].normal + obj.FS_Area[j + i*ny] = faces[i][j].area + return faces diff --git a/src/Mod/Ship/TankInstance.py b/src/Mod/Ship/TankInstance.py index 48a126971..8bb084bf9 100644 --- a/src/Mod/Ship/TankInstance.py +++ b/src/Mod/Ship/TankInstance.py @@ -1,28 +1,31 @@ #*************************************************************************** -#* * -#* Copyright (c) 2011, 2012 * -#* Jose Luis Cercos Pita * -#* * +#* * +#* Copyright (c) 2011, 2012 * +#* Jose Luis Cercos Pita * +#* * #* This program is free software; you can redistribute it and/or modify * -#* it under the terms of the GNU Lesser General Public License (LGPL) * -#* as published by the Free Software Foundation; either version 2 of * -#* the License, or (at your option) any later version. * -#* for detail see the LICENCE text file. * -#* * -#* 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 Library General Public License for more details. * -#* * -#* You should have received a copy of the GNU Library General Public * +#* it under the terms of the GNU Lesser General Public License (LGPL) * +#* as published by the Free Software Foundation; either version 2 of * +#* the License, or (at your option) any later version. * +#* for detail see the LICENCE text file. * +#* * +#* 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 Library General Public License for more details. * +#* * +#* You should have received a copy of the GNU Library General Public * #* License along with this program; if not, write to the Free Software * #* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * -#* USA * -#* * +#* USA * +#* * #*************************************************************************** import time +# Qt library +from PyQt4 import QtGui,QtCore + # COIN from pivy.coin import * from pivy import coin @@ -33,1913 +36,734 @@ from FreeCAD import Base, Vector import Part # Ship design module -from shipUtils import Paths, Translator, Math +from shipUtils import Paths, Math class ShipTank: - def __init__(self, obj, solid, level=0, density=998.0): - """ Creates a new tank on active document. - @param obj Created Part::FeaturePython object. - @param solid Solid shape that represent the tank. - @param level Tank filling level. - @param density Fluid density. - """ - # Add uniqueness property to identify Tank instances - obj.addProperty("App::PropertyBool","IsShipTank","ShipTank", str(Translator.translate("True if is a valid ship tank instance"))).IsShipTank=True - # Add general options - obj.addProperty("App::PropertyFloat","Level","ShipTank", str(Translator.translate("Fluid filling level percentage"))).Level=level - obj.addProperty("App::PropertyFloat","Density","ShipTank", str(Translator.translate("Inside fluid density"))).Density=density - # Add shapes - shape = self.computeShape(solid) - if not shape: - obj.IsShipTank=False - return - obj.Shape = shape - obj.Proxy = self + def __init__(self, obj, solid, level=0, density=998.0): + """ Creates a new tank on active document. + @param obj Created Part::FeaturePython object. + @param solid Solid shape that represent the tank. + @param level Tank filling level. + @param density Fluid density. + """ + # Add uniqueness property to identify Tank instances + tooltip = str(QtGui.QApplication.translate("Ship","True if is a valid ship tank instance", + None,QtGui.QApplication.UnicodeUTF8)) + obj.addProperty("App::PropertyBool","IsShipTank","ShipTank", tooltip).IsShipTank=True + # Add general options + tooltip = str(QtGui.QApplication.translate("Ship","Fluid filling level percentage", + None,QtGui.QApplication.UnicodeUTF8)) + obj.addProperty("App::PropertyFloat","Level","ShipTank", tooltip).Level=level + tooltip = str(QtGui.QApplication.translate("Ship","Inside fluid density", + None,QtGui.QApplication.UnicodeUTF8)) + obj.addProperty("App::PropertyFloat","Density","ShipTank", tooltip).Density=density + # Add shapes + shape = self.computeShape(solid) + if not shape: + obj.IsShipTank=False + return + obj.Shape = shape + obj.Proxy = self - def onChanged(self, fp, prop): - """ Property changed, tank must be recomputed """ - if prop == "IsShipTank": - FreeCAD.Console.PrintWarning("Ussually you don't want to modify manually this option.\n") - elif prop == "Level": - if fp.Level > 100.0: - fp.Level = 100.0 - elif fp.Level < 0.0: - fp.Level = 0.0 + def onChanged(self, fp, prop): + """ Property changed, tank must be recomputed """ + if prop == "IsShipTank": + FreeCAD.Console.PrintWarning("Ussually you don't want to modify manually this option.\n") + elif prop == "Level": + if fp.Level > 100.0: + fp.Level = 100.0 + elif fp.Level < 0.0: + fp.Level = 0.0 - def execute(self, obj): - """ Shape recomputation called """ - obj.Shape = self.computeShape(obj.Shape) + def execute(self, obj): + """ Shape recomputation called """ + obj.Shape = self.computeShape(obj.Shape) - def computeShape(self, solid): - """ Create faces shape. This method also calls to generate boxes. - @param solid Solid shape that represent the tank. - @return Computed solid shape. None if can't build it. - """ - # Study input to try to build a solid - if solid.isDerivedFrom('Part::Feature'): - # Get shape - shape = solid.Shape - if not shape: - return None - solid = shape - if not solid.isDerivedFrom('Part::TopoShape'): - return None - # Get shells - shells = solid.Shells - if not shells: - return None - # Build solids - solids = [] - for s in shells: - solid = Part.Solid(s) - if solid.Volume < 0.0: - solid.reverse() - solids.append(solid) - # Create compound - shape = Part.CompSolid(solids) - return shape + def computeShape(self, solid): + """ Create faces shape. This method also calls to generate boxes. + @param solid Solid shape that represent the tank. + @return Computed solid shape. None if can't build it. + """ + # Study input to try to build a solid + if solid.isDerivedFrom('Part::Feature'): + # Get shape + shape = solid.Shape + if not shape: + return None + solid = shape + if not solid.isDerivedFrom('Part::TopoShape'): + return None + # Get shells + shells = solid.Shells + if not shells: + return None + # Build solids + solids = [] + for s in shells: + solid = Part.Solid(s) + if solid.Volume < 0.0: + solid.reverse() + solids.append(solid) + # Create compound + shape = Part.CompSolid(solids) + return shape class ViewProviderShipTank: - def __init__(self, obj): - """ Set this object to the proxy object of the actual view provider """ - obj.Proxy = self + def __init__(self, obj): + """ Set this object to the proxy object of the actual view provider """ + obj.Proxy = self - def attach(self, obj): - """ Setup the scene sub-graph of the view provider, this method is mandatory """ - return + def attach(self, obj): + """ Setup the scene sub-graph of the view provider, this method is mandatory """ + return - def updateData(self, fp, prop): - """ If a property of the handled feature has changed we have the chance to handle this here """ - return + def updateData(self, fp, prop): + """ If a property of the handled feature has changed we have the chance to handle this here """ + return - def getDisplayModes(self,obj): - ''' Return a list of display modes. ''' - modes=[] - return modes + def getDisplayModes(self,obj): + ''' Return a list of display modes. ''' + modes=[] + return modes - def getDefaultDisplayMode(self): - ''' Return the name of the default display mode. It must be defined in getDisplayModes. ''' - return "Shaded" + def getDefaultDisplayMode(self): + ''' Return the name of the default display mode. It must be defined in getDisplayModes. ''' + return "Shaded" - def setDisplayMode(self,mode): - ''' Map the display mode defined in attach with those defined in getDisplayModes. - Since they have the same names nothing needs to be done. This method is optinal. - ''' - return mode + def setDisplayMode(self,mode): + ''' Map the display mode defined in attach with those defined in getDisplayModes. + Since they have the same names nothing needs to be done. This method is optinal. + ''' + return mode - def onChanged(self, vp, prop): - ''' Print the name of the property that has changed ''' - # FreeCAD.Console.PrintMessage("Change property: " + str(prop) + "\n") + def onChanged(self, vp, prop): + ''' Print the name of the property that has changed ''' + # FreeCAD.Console.PrintMessage("Change property: " + str(prop) + "\n") - def __getstate__(self): - ''' When saving the document this object gets stored using Python's cPickle module. - Since we have some un-pickable here -- the Coin stuff -- we must define this method - to return a tuple of all pickable objects or None. - ''' - return None + def __getstate__(self): + ''' When saving the document this object gets stored using Python's cPickle module. + Since we have some un-pickable here -- the Coin stuff -- we must define this method + to return a tuple of all pickable objects or None. + ''' + return None - def __setstate__(self,state): - ''' When restoring the pickled object from document we have the chance to set some - internals here. Since no data were pickled nothing needs to be done here. - ''' - return None + def __setstate__(self,state): + ''' When restoring the pickled object from document we have the chance to set some + internals here. Since no data were pickled nothing needs to be done here. + ''' + return None - def getIcon(self): - return """ - /* XPM */ - static char * Tank_xpm[] = { - "128 128 1605 2", - " c None", - ". c #000000", - "+ c #D1D1D1", - "@ c #D2D2D2", - "# c #D3D3D3", - "$ c #D3D4D4", - "% c #D5D5D5", - "& c #CFD0CF", - "* c #D0D0D0", - "= c #D3D2D3", - "- c #D4D4D3", - "; c #D5D6D5", - "> c #D6D6D6", - ", c #D7D7D7", - "' c #CDCECE", - ") c #CFCECE", - "! c #D0CFCF", - "~ c #D3D3D2", - "{ c #D3D3D4", - "] c #D5D4D5", - "^ c #D6D7D6", - "/ c #D8D8D8", - "( c #D8D8D9", - "_ c #D9D9DA", - ": c #CCCCCB", - "< c #CCCCCC", - "[ c #CECECD", - "} c #CECECE", - "| c #CFCFCF", - "1 c #D1D2D2", - "2 c #D5D4D4", - "3 c #D8D9D9", - "4 c #DAD9DA", - "5 c #DADBDB", - "6 c #DBDCDB", - "7 c #CACACA", - "8 c #CACBCB", - "9 c #CBCBCB", - "0 c #CCCDCD", - "a c #CECDCD", - "b c #D2D2D1", - "c c #D2D3D3", - "d c #D4D3D3", - "e c #D9D9D8", - "f c #D9D9D9", - "g c #DADBDA", - "h c #DBDCDC", - "i c #DCDCDC", - "j c #DDDDDD", - "k c #DEDEDE", - "l c #C7C8C8", - "m c #C9C9C9", - "n c #CAC9CA", - "o c #CBCBCC", - "p c #CCCDCC", - "q c #CDCDCD", - "r c #D0D1D1", - "s c #D1D2D1", - "t c #D3D2D2", - "u c #D4D4D5", - "v c #D5D5D6", - "w c #D6D7D7", - "x c #D8D7D8", - "y c #D9D8D9", - "z c #DADAD9", - "A c #DBDADA", - "B c #DBDBDC", - "C c #DDDCDD", - "D c #DDDEDE", - "E c #DEDFDE", - "F c #DFE0E0", - "G c #E0E0E1", - "H c #C6C6C6", - "I c #C7C7C7", - "J c #C8C8C7", - "K c #C9C9C8", - "L c #CACAC9", - "M c #CBCACB", - "N c #D0CFD0", - "O c #D1D0D1", - "P c #D1D1D2", - "Q c #D4D4D4", - "R c #D6D5D6", - "S c #D7D6D7", - "T c #D7D8D8", - "U c #DAD9D9", - "V c #DADADA", - "W c #DBDBDB", - "X c #DCDBDC", - "Y c #DDDDDC", - "Z c #DFDEDF", - "` c #E0DFDF", - " . c #E0E0E0", - ".. c #E1E1E1", - "+. c #E2E2E2", - "@. c #C5C4C4", - "#. c #C5C5C5", - "$. c #C8C8C8", - "%. c #C9C8C8", - "&. c #D5D5D4", - "*. c #D8D7D7", - "=. c #D9D8D8", - "-. c #DCDDDD", - ";. c #DEDDDD", - ">. c #E3E4E3", - ",. c #E5E4E4", - "'. c #C4C4C4", - "). c #C6C7C6", - "!. c #C7C8C7", - "~. c #C8C8C9", - "{. c #CACACB", - "]. c #CCCBCB", - "^. c #D0D0D1", - "/. c #D5D6D6", - "(. c #D7D7D6", - "_. c #DFDFDF", - ":. c #E1E2E2", - "<. c #E3E3E3", - "[. c #E4E3E4", - "}. c #E6E5E5", - "|. c #E6E6E6", - "1. c #E6E7E7", - "2. c #C4C5C5", - "3. c #C6C6C7", - "4. c #CFD0D0", - "5. c #D1D0D0", - "6. c #D6D5D5", - "7. c #DADADB", - "8. c #DCDDDC", - "9. c #DDDDDE", - "0. c #DEDFDF", - "a. c #E1E1E2", - "b. c #E3E2E2", - "c. c #E4E4E4", - "d. c #E5E5E5", - "e. c #E8E8E7", - "f. c #E9E8E9", - "g. c #EAE9EA", - "h. c #C5C5C4", - "i. c #C6C6C5", - "j. c #C7C7C6", - "k. c #CBCACA", - "l. c #CDCDCC", - "m. c #CECFCF", - "n. c #DBDADB", - "o. c #E0E0DF", - "p. c #E1E1E0", - "q. c #E1E2E1", - "r. c #E3E3E4", - "s. c #E4E5E5", - "t. c #E7E6E7", - "u. c #E7E7E8", - "v. c #E9E9E8", - "w. c #E9EAE9", - "x. c #EAEAEA", - "y. c #EBEBEA", - "z. c #C4C5C4", - "A. c #C6C5C5", - "B. c #C6C7C7", - "C. c #CCCCCD", - "D. c #CECECF", - "E. c #D9DAD9", - "F. c #DBDBDA", - "G. c #DEDEDD", - "H. c #E0DFE0", - "I. c #E0E1E0", - "J. c #E6E5E6", - "K. c #E7E7E6", - "L. c #E7E8E7", - "M. c #E8E8E9", - "N. c #E9E9E9", - "O. c #ECECEC", - "P. c #ECEDED", - "Q. c #EDEDEE", - "R. c #010101", - "S. c #C5C4C5", - "T. c #CBCCCB", - "U. c #CDCCCC", - "V. c #CECFCE", - "W. c #CFCFCE", - "X. c #CFCFD0", - "Y. c #D7D8D7", - "Z. c #DEDDDE", - "`. c #E1E0E0", - " + c #E5E6E6", - ".+ c #EBEBEB", - "++ c #ECEBEC", - "@+ c #EDEDED", - "#+ c #EEEEEE", - "$+ c #EFEFEF", - "%+ c #F0F0F0", - "&+ c #C4C4C5", - "*+ c #CFCECF", - "=+ c #D2D1D1", - "-+ c #D6D6D5", - ";+ c #D8D9D8", - ">+ c #DDDEDD", - ",+ c #DFDEDE", - "'+ c #E2E3E3", - ")+ c #E7E7E7", - "!+ c #E8E8E8", - "~+ c #EBECEC", - "{+ c #ECEDEC", - "]+ c #EFEFF0", - "^+ c #F1F0F1", - "/+ c #F1F1F1", - "(+ c #C7C6C6", - "_+ c #C9C8C9", - ":+ c #C9CAC9", - "<+ c #CACBCA", - "[+ c #D2D2D3", - "}+ c #D4D5D5", - "|+ c #DCDCDB", - "1+ c #E3E3E2", - "2+ c #E4E3E3", - "3+ c #E4E4E5", - "4+ c #E5E5E6", - "5+ c #EAEAE9", - "6+ c #ECEBEB", - "7+ c #F0F0EF", - "8+ c #F0F0F1", - "9+ c #C8C7C8", - "0+ c #C8C9C9", - "a+ c #CBCBCA", - "b+ c #CCCBCC", - "c+ c #D7D6D6", - "d+ c #DDDCDC", - "e+ c #E2E2E1", - "f+ c #E2E3E2", - "g+ c #E3E4E4", - "h+ c #E8E7E8", - "i+ c #E9E8E8", - "j+ c #EAE9E9", - "k+ c #EDECEC", - "l+ c #EEEEED", - "m+ c #EFEEEF", - "n+ c #EFF0F0", - "o+ c #F1F0F0", - "p+ c #C5C6C6", - "q+ c #C7C6C7", - "r+ c #D0D0CF", - "s+ c #D4D5D4", - "t+ c #E1E0E1", - "u+ c #E8E9E9", - "v+ c #EDECED", - "w+ c #EEEDED", - "x+ c #EEEFEF", - "y+ c #F0EFF0", - "z+ c #F0F1F0", - "A+ c #D7D7D8", - "B+ c #C8C7C7", - "C+ c #C9C9CA", - "D+ c #D2D1D2", - "E+ c #D9DADA", - "F+ c #E2E1E1", - "G+ c #E9E9EA", - "H+ c #EAEBEB", - "I+ c #D8D8D7", - "J+ c #CBCCCC", - "K+ c #CDCCCD", - "L+ c #D6D6D7", - "M+ c #E6E6E5", - "N+ c #E7E6E6", - "O+ c #E8E7E7", - "P+ c #EFEEEE", - "Q+ c #CDCECD", - "R+ c #D1D1D0", - "S+ c #D2D3D2", - "T+ c #DFE0DF", - "U+ c #E3E2E3", - "V+ c #E4E5E4", - "W+ c #E5E6E5", - "X+ c #ECECED", - "Y+ c #D4D3D4", - "Z+ c #CECDCE", - "`+ c #E6E6E7", - " @ c #EBEAEB", - ".@ c #ECECEB", - "+@ c #F0F1F1", - "@@ c #DCDCDD", - "#@ c #EBEAEA", - "$@ c #F0EFEF", - "%@ c #D3D4D3", - "&@ c #E6E7E6", - "*@ c #EEEDEE", - "=@ c #ADADAD", - "-@ c #565656", - ";@ c #DCDBDB", - ">@ c #DFDFE0", - ",@ c #E7E8E8", - "'@ c #E8E9E8", - ")@ c #EDEDEC", - "!@ c #EBEBEC", - "~@ c #EEEFEE", - "{@ c #B7B6B7", - "]@ c #E5E4E5", - "^@ c #EDEEED", - "/@ c #B6B6B6", - "(@ c #B6B7B7", - "_@ c #B7B7B6", - ":@ c #B7B6B6", - "<@ c #E5E5E4", - "[@ c #B5B6B5", - "}@ c #B5B6B6", - "|@ c #B5B5B5", - "1@ c #B6B5B5", - "2@ c #B6B5B6", - "3@ c #E2E1E2", - "4@ c #E4E4E3", - "5@ c #B4B4B4", - "6@ c #B4B5B5", - "7@ c #B5B5B4", - "8@ c #B6B6B5", - "9@ c #E2E2E3", - "0@ c #B3B4B4", - "a@ c #B4B4B5", - "b@ c #B4B5B4", - "c@ c #B5B4B4", - "d@ c #B3B3B3", - "e@ c #B3B3B4", - "f@ c #B4B3B3", - "g@ c #B4B4B3", - "h@ c #B5B4B5", - "i@ c #D0D1D0", - "j@ c #B3B3B2", - "k@ c #B3B2B3", - "l@ c #B4B3B4", - "m@ c #90B9D9", - "n@ c #91BAD9", - "o@ c #C6C5C6", - "p@ c #B1B2B2", - "q@ c #B2B2B2", - "r@ c #B2B3B2", - "s@ c #B2B3B3", - "t@ c #8FB7D8", - "u@ c #8EB7D7", - "v@ c #8FB8D8", - "w@ c #90B8D8", - "x@ c #91BBD9", - "y@ c #91BCDA", - "z@ c #C2C2C2", - "A@ c #C3C4C3", - "B@ c #C3C4C4", - "C@ c #C8C9C8", - "D@ c #CDCDCE", - "E@ c #B1B1B1", - "F@ c #B1B2B1", - "G@ c #B2B1B2", - "H@ c #B2B2B3", - "I@ c #B3B2B2", - "J@ c #8CB4D6", - "K@ c #8DB4D6", - "L@ c #8DB5D7", - "M@ c #8EB6D7", - "N@ c #8EB7D8", - "O@ c #8FB7D7", - "P@ c #90B9D8", - "Q@ c #91BBDA", - "R@ c #92BCD9", - "S@ c #92BCDA", - "T@ c #C1C1C0", - "U@ c #C1C1C1", - "V@ c #C2C2C1", - "W@ c #C3C3C2", - "X@ c #C3C3C3", - "Y@ c #C3C3C4", - "Z@ c #CAC9C9", - "`@ c #B1B0B0", - " # c #B2B2B1", - ".# c #8BB2D5", - "+# c #8BB2D6", - "@# c #8CB3D6", - "## c #8CB3D7", - "$# c #8DB5D6", - "%# c #8EB5D7", - "&# c #8FB8D7", - "*# c #92BBD9", - "=# c #92BBDA", - "-# c #BFC0C0", - ";# c #C0C1C0", - "># c #C2C1C1", - ",# c #C3C2C2", - "'# c #C4C4C3", - ")# c #C5C6C5", - "!# c #C5C5C6", - "~# c #B0B0B0", - "{# c #B0B1B0", - "]# c #B1B1B2", - "^# c #B2B1B1", - "/# c #0E3459", - "(# c #0E355A", - "_# c #0F355A", - ":# c #0F365A", - "<# c #8AB2D5", - "[# c #8CB3D5", - "}# c #8BB3D6", - "|# c #8FB6D7", - "1# c #8FB9D7", - "2# c #90B9D7", - "3# c #90BAD8", - "4# c #90BBD9", - "5# c #92BDDA", - "6# c #93BEDA", - "7# c #BEBEBE", - "8# c #BEBFBE", - "9# c #BFBFBE", - "0# c #BFBFC0", - "a# c #C0C0BF", - "b# c #C2C3C2", - "c# c #C4C3C3", - "d# c #AFB0B0", - "e# c #AFAFB0", - "f# c #B0AFB0", - "g# c #B0B1B1", - "h# c #B0B0B1", - "i# c #B1B0B1", - "j# c #7A9EC5", - "k# c #799FC5", - "l# c #7A9FC5", - "m# c #7AA0C6", - "n# c #0E345A", - "o# c #0F3559", - "p# c #8BB1D5", - "q# c #8CB4D5", - "r# c #8FB9D8", - "s# c #90BAD7", - "t# c #91BBD8", - "u# c #91BCD9", - "v# c #91BDD9", - "w# c #92BEDA", - "x# c #93BFDA", - "y# c #BDBDBD", - "z# c #BDBEBD", - "A# c #BEBEBD", - "B# c #BEBEBF", - "C# c #BEBFBF", - "D# c #BFBFBF", - "E# c #C0C0C0", - "F# c #C1C0C0", - "G# c #C0C1C1", - "H# c #C3C2C3", - "I# c #C4C3C4", - "J# c #AFAEAF", - "K# c #AFAFAF", - "L# c #B0AFAF", - "M# c #789DC5", - "N# c #789EC5", - "O# c #799EC5", - "P# c #7AA1C5", - "Q# c #7BA1C5", - "R# c #0F3659", - "S# c #10375A", - "T# c #8DB6D6", - "U# c #8EB8D7", - "V# c #92BDD9", - "W# c #143F5B", - "X# c #174A6A", - "Y# c #84B0CB", - "Z# c #85B0CC", - "`# c #BCBCBC", - " $ c #BDBCBC", - ".$ c #C0C0C1", - "+$ c #C1C2C1", - "@$ c #C2C3C3", - "#$ c #AEAEAE", - "$$ c #AEAFAF", - "%$ c #AFAFAE", - "&$ c #779BC4", - "*$ c #779CC4", - "=$ c #789CC4", - "-$ c #789DC4", - ";$ c #789EC4", - ">$ c #799FC4", - ",$ c #7AA0C5", - "'$ c #10385A", - ")$ c #8DB7D7", - "!$ c #8EB7D6", - "~$ c #90BBD8", - "{$ c #133E5B", - "]$ c #83AEC9", - "^$ c #84AFCA", - "/$ c #85B1CB", - "($ c #85B2CB", - "_$ c #BDBCBD", - ":$ c #BEBDBD", - "<$ c #C0BFBF", - "[$ c #C1C1C2", - "}$ c #C9CACA", - "|$ c #AEAEAD", - "1$ c #AEAFAE", - "2$ c #AEAEAF", - "3$ c #7599C3", - "4$ c #7699C3", - "5$ c #7699C2", - "6$ c #769AC3", - "7$ c #779BC3", - "8$ c #789BC4", - "9$ c #799EC4", - "0$ c #79A0C4", - "a$ c #8CB5D5", - "b$ c #8CB5D6", - "c$ c #8DB7D6", - "d$ c #426D8A", - "e$ c #16486A", - "f$ c #7AA5C1", - "g$ c #83ADC9", - "h$ c #84B1CB", - "i$ c #85B1CC", - "j$ c #BCBDBD", - "k$ c #BDBDBC", - "l$ c #BFBEBF", - "m$ c #BFC0BF", - "n$ c #ADADAC", - "o$ c #AEADAD", - "p$ c #ADAEAD", - "q$ c #ADAEAE", - "r$ c #7496C2", - "s$ c #7597C2", - "t$ c #7598C2", - "u$ c #769BC2", - "v$ c #779BC2", - "w$ c #779CC3", - "x$ c #789DC3", - "y$ c #7AA0C4", - "z$ c #7AA1C4", - "A$ c #7AA2C5", - "B$ c #7BA2C5", - "C$ c #10395A", - "D$ c #8EB6D6", - "E$ c #8EB8D6", - "F$ c #133D5A", - "G$ c #81ABC8", - "H$ c #82ACC9", - "I$ c #82ADC9", - "J$ c #82AEC9", - "K$ c #83AFC9", - "L$ c #83B0CA", - "M$ c #BDBEBE", - "N$ c #C1C0C1", - "O$ c #C7C7C8", - "P$ c #ADACAC", - "Q$ c #AFAEAE", - "R$ c #7395C1", - "S$ c #7395C2", - "T$ c #7496C1", - "U$ c #7599C2", - "V$ c #769BC3", - "W$ c #779DC3", - "X$ c #789EC3", - "Y$ c #7AA2C4", - "Z$ c #7BA3C4", - "`$ c #7BA3C5", - " % c #11395A", - ".% c #113A5A", - "+% c #123C5A", - "@% c #164A6E", - "#% c #4C7694", - "$% c #80AAC7", - "%% c #80ABC8", - "&% c #81ACC9", - "*% c #81ACC8", - "=% c #81ADC9", - "-% c #83AFCA", - ";% c #84B0CA", - ">% c #84B1CA", - ",% c #86B3CB", - "'% c #87B4CC", - ")% c #BFBEBE", - "!% c #ACACAC", - "~% c #ABACAC", - "{% c #ACACAD", - "]% c #7294C0", - "^% c #7194C0", - "/% c #7294C1", - "(% c #7394C1", - "_% c #7396C1", - ":% c #7497C2", - "<% c #7498C2", - "[% c #799FC3", - "}% c #7CA3C5", - "|% c #123B5A", - "1% c #88B1D0", - "2% c #7EA8C6", - "3% c #7FA9C6", - "4% c #7FAAC7", - "5% c #81ADC8", - "6% c #85B1CA", - "7% c #86B2CB", - "8% c #86B4CB", - "9% c #87B5CB", - "0% c #BCBCBD", - "a% c #C0BFC0", - "b% c #ABABAB", - "c% c #ACABAC", - "d% c #ABABAC", - "e% c #ACADAC", - "f% c #ACADAD", - "g% c #7193C0", - "h% c #7293C0", - "i% c #7193C1", - "j% c #7293C1", - "k% c #7498C1", - "l% c #789FC4", - "m% c #79A1C3", - "n% c #79A1C4", - "o% c #7BA2C4", - "p% c #7CA4C5", - "q% c #7CA4C4", - "r% c #16496F", - "s% c #7DA7C5", - "t% c #7FAAC6", - "u% c #80ABC7", - "v% c #80ACC7", - "w% c #82AFC9", - "x% c #84B1C9", - "y% c #85B2CA", - "z% c #87B5CC", - "A% c #88B6CC", - "B% c #BDBDBE", - "C% c #C1C2C2", - "D% c #AAABAB", - "E% c #AAAAAA", - "F% c #ABAAAB", - "G% c #ABACAB", - "H% c #ACACAB", - "I% c #7192C0", - "J% c #7292C0", - "K% c #7598C1", - "L% c #7599C1", - "M% c #759AC1", - "N% c #769AC2", - "O% c #779CC2", - "P% c #779DC2", - "Q% c #789DC2", - "R% c #78A0C3", - "S% c #7CA3C4", - "T% c #7AA2C2", - "U% c #7CA5C4", - "V% c #7DA5C4", - "W% c #7DA6C5", - "X% c #7EA8C5", - "Y% c #82ADC8", - "Z% c #83B0C9", - "`% c #85B3CA", - " & c #86B5CB", - ".& c #87B6CC", - "+& c #BCBDBC", - "@& c #C2C1C2", - "#& c #C2C2C3", - "$& c #AAA9AA", - "%& c #AAABAA", - "&& c #ABAAAA", - "*& c #7091BF", - "=& c #7092BF", - "-& c #7191C0", - ";& c #7192BF", - ">& c #7092C0", - ",& c #7295C0", - "'& c #7497C1", - ")& c #759AC2", - "!& c #769CC2", - "~& c #789FC3", - "{& c #79A0C3", - "]& c #79A2C4", - "^& c #7AA4C3", - "/& c #7BA4C4", - "(& c #7DA8C5", - "_& c #7EA9C6", - ":& c #80AAC6", - "<& c #81ADC7", - "[& c #82ADC7", - "}& c #82AEC8", - "|& c #88B7CC", - "1& c #A9A9A9", - "2& c #A9AAAA", - "3& c #A9A9AA", - "4& c #A9AAA9", - "5& c #7090BE", - "6& c #7091BE", - "7& c #7092BE", - "8& c #7191BF", - "9& c #7397C1", - "0& c #7499C1", - "a& c #7AA1C3", - "b& c #7AA2C3", - "c& c #79A2C2", - "d& c #7AA3C3", - "e& c #7BA5C4", - "f& c #80ABC6", - "g& c #81ACC7", - "h& c #81AEC8", - "i& c #82AFC8", - "j& c #83B1CA", - "k& c #85B3CB", - "l& c #85B4CA", - "m& c #87B6CB", - "n& c #88B8CC", - "o& c #A8A8A8", - "p& c #6F90BE", - "q& c #6F91BE", - "r& c #7192BE", - "s& c #7193BF", - "t& c #769BC1", - "u& c #779EC3", - "v& c #789FC2", - "w& c #79A1C2", - "x& c #7AA3C2", - "y& c #7BA4C3", - "z& c #7CA6C5", - "A& c #7DA7C4", - "B& c #7EA7C5", - "C& c #7EA9C5", - "D& c #7EAAC6", - "E& c #7FACC6", - "F& c #81AEC7", - "G& c #82AFC7", - "H& c #83B1C9", - "I& c #84B2C9", - "J& c #84B3C9", - "K& c #86B4CA", - "L& c #89B7CC", - "M& c #89B8CD", - "N& c #A8A8A7", - "O& c #6F90BD", - "P& c #6E90BD", - "Q& c #6E90BE", - "R& c #7293BF", - "S& c #7396C0", - "T& c #7397C0", - "U& c #7498C0", - "V& c #759BC1", - "W& c #769CC1", - "X& c #779EC2", - "Y& c #789EC2", - "Z& c #78A0C1", - "`& c #78A1C2", - " * c #7BA6C3", - ".* c #7BA6C4", - "+* c #7CA6C4", - "@* c #7FABC6", - "#* c #82AEC7", - "$* c #83AFC8", - "%* c #83B0C8", - "&* c #88B7CB", - "** c #89B9CC", - "=* c #89BACD", - "-* c #6E8FBD", - ";* c #6F91BD", - ">* c #7093BF", - ",* c #7194BF", - "'* c #7294BF", - ")* c #7395C0", - "!* c #7398C0", - "~* c #779FC1", - "{* c #77A0C1", - "]* c #78A1C1", - "^* c #7AA4C2", - "/* c #7CA7C4", - "(* c #7DA8C4", - "_* c #7DA9C5", - ":* c #7FAAC5", - "<* c #80ACC6", - "[* c #80ADC7", - "}* c #84B1C8", - "|* c #88B8CB", - "1* c #89BACC", - "2* c #BEBDBE", - "3* c #12285A", - "4* c #768CBE", - "5* c #768DBE", - "6* c #6E91BD", - "7* c #7193BE", - "8* c #7295BF", - "9* c #7396BF", - "0* c #7398BF", - "a* c #7499C0", - "b* c #749AC1", - "c* c #779DC1", - "d* c #789FC1", - "e* c #779EC0", - "f* c #769EC0", - "g* c #769FC0", - "h* c #77A0C0", - "i* c #79A2C1", - "j* c #79A3C2", - "k* c #7BA4C2", - "l* c #7CA7C3", - "m* c #7EAAC5", - "n* c #80ADC6", - "o* c #82B0C7", - "p* c #85B2C9", - "q* c #85B3C9", - "r* c #85B4C9", - "s* c #86B5CA", - "t* c #87B6CA", - "u* c #88B9CC", - "v* c #8AB9CC", - "w* c #8ABACC", - "x* c #8BBBCC", - "y* c #758BBE", - "z* c #758CBE", - "A* c #768CBF", - "B* c #6E91BE", - "C* c #7093BE", - "D* c #7397BF", - "E* c #7497BF", - "F* c #749AC0", - "G* c #759AC0", - "H* c #769BC0", - "I* c #769CC0", - "J* c #779EC1", - "K* c #769DC0", - "L* c #759DBF", - "M* c #769DBE", - "N* c #77A1C0", - "O* c #7AA5C2", - "P* c #7DA7C3", - "Q* c #7EA9C4", - "R* c #7EAAC4", - "S* c #7FABC5", - "T* c #81ADC6", - "U* c #81AFC7", - "V* c #82B0C8", - "W* c #83B1C8", - "X* c #84B2C8", - "Y* c #86B6CB", - "Z* c #87B7CA", - "`* c #87B7CB", - " = c #84AFCB", - ".= c #143F5A", - "+= c #12275A", - "@= c #758BBD", - "#= c #768BBE", - "$= c #6E8FBC", - "%= c #6E8EBD", - "&= c #7296BF", - "*= c #7297BF", - "== c #779CC1", - "-= c #749BBE", - ";= c #749CBF", - ">= c #759EBE", - ",= c #769FBF", - "'= c #76A0C0", - ")= c #779FC0", - "!= c #7BA5C3", - "~= c #7CA6C3", - "{= c #7CA8C4", - "]= c #7DA9C3", - "^= c #7FAAC4", - "/= c #81AFC6", - "(= c #82B1C7", - "_= c #85B5C9", - ":= c #86B6CA", - "<= c #82AECA", - "[= c #758ABD", - "}= c #748ABD", - "|= c #758CBD", - "1= c #6D8FBC", - "2= c #759CC1", - "3= c #769DC1", - "4= c #759BBF", - "5= c #739ABE", - "6= c #759DBE", - "7= c #769EBE", - "8= c #769EBF", - "9= c #779FBF", - "0= c #78A1C0", - "a= c #78A2C1", - "b= c #79A2C0", - "c= c #7AA3C1", - "d= c #7CA8C3", - "e= c #7DA9C4", - "f= c #82B0C6", - "g= c #83B2C8", - "h= c #84B3C8", - "i= c #143E5B", - "j= c #11265A", - "k= c #7489BC", - "l= c #748ABC", - "m= c #758ABC", - "n= c #6D8EBC", - "o= c #6E8EBC", - "p= c #6D8FBD", - "q= c #6F8FBD", - "r= c #7092BD", - "s= c #7294BE", - "t= c #7194BE", - "u= c #7295BE", - "v= c #7196BF", - "w= c #759BC0", - "x= c #749ABE", - "y= c #7399BC", - "z= c #729ABD", - "A= c #739ABD", - "B= c #749CBD", - "C= c #769DBF", - "D= c #779EBF", - "E= c #78A2C0", - "F= c #79A3C1", - "G= c #7AA4C1", - "H= c #7BA6C2", - "I= c #7CA9C4", - "J= c #7EABC4", - "K= c #7FACC4", - "L= c #80ADC5", - "M= c #80AEC6", - "N= c #81AEC6", - "O= c #83B1C7", - "P= c #7EA9C7", - "Q= c #7FAAC8", - "R= c #80AAC8", - "S= c #7388BC", - "T= c #7488BC", - "U= c #7389BC", - "V= c #7489BD", - "W= c #6E8EBB", - "X= c #6D8EBD", - "Y= c #7195BE", - "Z= c #7499BF", - "`= c #749ABF", - " - c #749BC0", - ".- c #7198BB", - "+- c #7298BC", - "@- c #7299BC", - "#- c #729ABC", - "$- c #739BBD", - "%- c #749BBD", - "&- c #749DBE", - "*- c #76A0BF", - "=- c #77A2C0", - "-- c #78A3C1", - ";- c #79A4C1", - ">- c #7CA8C2", - ",- c #7DAAC4", - "'- c #7FACC5", - ")- c #7DA7C6", - "!- c #7FA9C7", - "~- c #133E5A", - "{- c #7387BC", - "]- c #6F92BD", - "^- c #7094BE", - "/- c #7296BE", - "(- c #7399BD", - "_- c #0E3559", - ":- c #7096BB", - "<- c #7197BB", - "[- c #7199BB", - "}- c #739BBC", - "|- c #749CBE", - "1- c #749EBE", - "2- c #769FBE", - "3- c #77A0BF", - "4- c #77A1BF", - "5- c #78A3C0", - "6- c #79A4C0", - "7- c #7AA6C2", - "8- c #7BA7C2", - "9- c #7DA8C3", - "0- c #7EACC5", - "a- c #7CA5C5", - "b- c #10255A", - "c- c #7286BB", - "d- c #7287BC", - "e- c #6D8EBB", - "f- c #7093BD", - "g- c #7094BD", - "h- c #7195BF", - "i- c #7399BF", - "j- c #739ABF", - "k- c #7398BE", - "l- c #6F95BA", - "m- c #7096BA", - "n- c #7097BB", - "o- c #739ABC", - "p- c #739CBD", - "q- c #759EBF", - "r- c #78A2BF", - "s- c #7CA7C2", - "t- c #10245A", - "u- c #7185BB", - "v- c #7286BC", - "w- c #7387BB", - "x- c #7487BC", - "y- c #6E90BC", - "z- c #6F93BE", - "A- c #7196BE", - "B- c #7297BE", - "C- c #7298BF", - "D- c #7297BD", - "E- c #6E94BA", - "F- c #6F95B9", - "G- c #6F96BA", - "H- c #7097BA", - "I- c #729ABB", - "J- c #749DBD", - "K- c #77A0BE", - "L- c #78A4C0", - "M- c #7AA5C0", - "N- c #7CA7C5", - "O- c #7185BA", - "P- c #7286BA", - "Q- c #7285BB", - "R- c #7386BB", - "S- c #7288BC", - "T- c #7589BD", - "U- c #6E91BC", - "V- c #6F91BC", - "W- c #6E92BC", - "X- c #6F93BD", - "Y- c #7194BD", - "Z- c #7195BD", - "`- c #7298BE", - " ; c #7297BC", - ".; c #6D93B8", - "+; c #6E94B8", - "@; c #6E95B9", - "#; c #7096B9", - "$; c #739CBC", - "%; c #76A0BE", - "&; c #78A1BF", - "*; c #79A1C1", - "=; c #79A4C2", - "-; c #7BA3C3", - ";; c #7084BA", - ">; c #7184BB", - ",; c #7085BB", - "'; c #7186BB", - "); c #7287BB", - "!; c #7388BB", - "~; c #6C8EBB", - "{; c #6D8FBB", - "]; c #6F92BC", - "^; c #7095BD", - "/; c #7196BD", - "(; c #7195BC", - "_; c #0E3359", - ":; c #6C92B7", - "<; c #6D94B8", - "[; c #6F96B9", - "}; c #6F97BA", - "|; c #7299BB", - "1; c #729BBB", - "2; c #749DBC", - "3; c #759EBD", - "4; c #759FBE", - "5; c #10235A", - "6; c #7083BA", - "7; c #7084BB", - "8; c #7085BA", - "9; c #7093BC", - "0; c #7095BC", - "a; c #6C91B7", - "b; c #6E95B8", - "c; c #7198BA", - "d; c #739BBB", - "e; c #78A2C2", - "f; c #0F225A", - "g; c #6F82B9", - "h; c #7083B9", - "i; c #6F83B9", - "j; c #6F83BA", - "k; c #7184BA", - "l; c #6C8DBB", - "m; c #6C8FBB", - "n; c #6D90BB", - "o; c #6E91BB", - "p; c #6F93BC", - "q; c #7094BC", - "r; c #6F94BB", - "s; c #0D3259", - "t; c #6A8FB6", - "u; c #6B91B7", - "v; c #6E93B8", - "w; c #7098BA", - "x; c #7099BA", - "y; c #7199BA", - "z; c #729BBC", - "A; c #6E81B9", - "B; c #6E82B9", - "C; c #6E90BB", - "D; c #6E93BA", - "E; c #698EB6", - "F; c #6A8EB6", - "G; c #6A90B6", - "H; c #6B90B6", - "I; c #6B92B7", - "J; c #6D93B7", - "K; c #6E96B8", - "L; c #6F97B9", - "M; c #7098BB", - "N; c #78A0C0", - "O; c #6E80B8", - "P; c #6E81B8", - "Q; c #6F81B8", - "R; c #6F81B9", - "S; c #6F82B8", - "T; c #6F92BB", - "U; c #6E92BA", - "V; c #0D3159", - "W; c #688DB4", - "X; c #698EB5", - "Y; c #698FB5", - "Z; c #6A90B7", - "`; c #6C93B7", - " > c #518FC8", - ".> c #6F96B8", - "+> c #123A5A", - "@> c #0F215A", - "#> c #6D80B8", - "$> c #6D81B8", - "%> c #6C8FBA", - "&> c #6E90BA", - "*> c #6E92BB", - "=> c #6E93BC", - "-> c #0C3159", - ";> c #678CB4", - ">> c #678DB4", - ",> c #688EB4", - "'> c #698EB4", - ")> c #6A90B5", - "!> c #6B91B6", - "~> c #6D94B7", - "{> c #6D95B8", - "]> c #6E96B9", - "^> c #0E2159", - "/> c #6C7FB8", - "(> c #6D7FB7", - "_> c #6D7FB8", - ":> c #507FC9", - "<> c #6D8FBA", - "[> c #6D91BB", - "}> c #6D91B9", - "|> c #0C3059", - "1> c #678AB3", - "2> c #678BB3", - "3> c #678DB3", - "4> c #6B91B5", - "5> c #6B92B5", - "6> c #6C92B6", - "7> c #6B92B6", - "8> c #6C93B6", - "9> c #0E2059", - "0> c #6C7EB7", - "a> c #6D7EB7", - "b> c #6E80B7", - "c> c #6E82B8", - "d> c #7084B9", - "e> c #6F84BA", - "f> c #6C90B9", - "g> c #668AB2", - "h> c #698FB4", - "i> c #6A90B4", - "j> c #719ABB", - "k> c #749BBC", - "l> c #6B7EB7", - "m> c #6B7DB6", - "n> c #6C7DB7", - "o> c #6C7FB7", - "p> c #6D80B7", - "q> c #6F84B9", - "r> c #7186BA", - "s> c #6C8EB9", - "t> c #6589B1", - "u> c #678CB2", - "v> c #678DB2", - "w> c #688EB3", - "x> c #6A8FB5", - "y> c #6A91B5", - "z> c #6C92B5", - "A> c #6C94B7", - "B> c #6D95B7", - "C> c #759DBD", - "D> c #0E1F5A", - "E> c #6A7CB6", - "F> c #6A7DB6", - "G> c #6C7EB6", - "H> c #7082B9", - "I> c #7285BA", - "J> c #7085B9", - "K> c #0E335A", - "L> c #658BB1", - "M> c #668BB1", - "N> c #668CB1", - "O> c #678CB1", - "P> c #688DB3", - "Q> c #688FB3", - "R> c #698FB3", - "S> c #6990B4", - "T> c #7097B9", - "U> c #7197BA", - "V> c #739CBE", - "W> c #0E1F59", - "X> c #6A7BB6", - "Y> c #6B7CB6", - "Z> c #6C7DB6", - "`> c #6B7DB7", - " , c #6F82B6", - "., c #648AB0", - "+, c #658AB1", - "@, c #658BB0", - "#, c #668CB2", - "$, c #688FB4", - "%, c #6B90B5", - "&, c #0D1E59", - "*, c #697BB5", - "=, c #6A7CB7", - "-, c #6B7EB6", - ";, c #6C7EB8", - ">, c #6E82B7", - ",, c #6389B0", - "', c #6489B0", - "), c #658AB0", - "!, c #668AB1", - "~, c #688DB2", - "{, c #6990B5", - "], c #697AB5", - "^, c #697BB6", - "/, c #6A7BB5", - "(, c #6D7EB8", - "_, c #6D81B6", - ":, c #6388AE", - "<, c #6388AF", - "[, c #6389AF", - "}, c #6489AF", - "|, c #668BB0", - "1, c #6979B4", - "2, c #6879B5", - "3, c #6879B4", - "4, c #6979B5", - "5, c #6A7AB5", - "6, c #6B7CB7", - "7, c #6D80B5", - "8, c #6287AE", - "9, c #6288AE", - "0, c #0D1D59", - "a, c #6878B4", - "b, c #6778B4", - "c, c #6C7EB5", - "d, c #6186AC", - "e, c #6186AD", - "f, c #6286AE", - "g, c #668DB1", - "h, c #678EB3", - "i, c #0D1C59", - "j, c #6777B3", - "k, c #6777B4", - "l, c #697AB4", - "m, c #6A7CB5", - "n, c #6E81B7", - "o, c #6084AC", - "p, c #6185AC", - "q, c #6086AD", - "r, c #6187AE", - "s, c #6387AE", - "t, c #0C1C59", - "u, c #6676B3", - "v, c #6776B3", - "w, c #6877B4", - "x, c #687AB5", - "y, c #697CB6", - "z, c #6A7DB7", - "A, c #6B7DB5", - "B, c #5F83AC", - "C, c #6083AC", - "D, c #6185AD", - "E, c #6288AD", - "F, c #668BB2", - "G, c #6A91B4", - "H, c #6675B3", - "I, c #6575B3", - "J, c #6677B3", - "K, c #6677B4", - "L, c #6A7DB4", - "M, c #5E82AB", - "N, c #5F83AB", - "O, c #5F84AC", - "P, c #6085AD", - "Q, c #6085AC", - "R, c #10365A", - "S, c #0C1B59", - "T, c #6575B2", - "U, c #6675B2", - "V, c #6676B2", - "W, c #6676B4", - "X, c #6776B4", - "Y, c #687AB4", - "Z, c #5D81AA", - "`, c #5D81AB", - " ' c #5D82AA", - ".' c #5E83AB", - "+' c #6083AB", - "@' c #6286AD", - "#' c #648AB1", - "$' c #6473B3", - "%' c #6474B2", - "&' c #697CB3", - "*' c #5D80A9", - "=' c #5E82AA", - "-' c #5F84AB", - ";' c #6287AD", - ">' c #6389AE", - ",' c #0B1A59", - "'' c #6473B2", - ")' c #6574B2", - "!' c #6574B3", - "~' c #6778B3", - "{' c #6779B4", - "]' c #687BB2", - "^' c #5B7FA9", - "/' c #5B80A9", - "(' c #5C80A9", - "_' c #5D81A9", - ":' c #5E81AA", - "<' c #6184AC", - "[' c #638AB0", - "}' c #678DB1", - "|' c #0B1A58", - "1' c #6372B1", - "2' c #6472B2", - "3' c #6472B1", - "4' c #6473B1", - "5' c #6573B2", - "6' c #6576B3", - "7' c #6878B3", - "8' c #687AB3", - "9' c #5B7EA7", - "0' c #5B7FA8", - "a' c #5B80A8", - "b' c #5C81AA", - "c' c #5F82AB", - "d' c #668DB2", - "e' c #11268E", - "f' c #11268D", - "g' c #0B1958", - "h' c #6373B2", - "i' c #6877B3", - "j' c #6879B2", - "k' c #0C2F59", - "l' c #5A7DA7", - "m' c #5A7EA7", - "n' c #5B7FA7", - "o' c #5B7EA8", - "p' c #5C7FA8", - "q' c #5F83AA", - "r' c #6084AB", - "s' c #6589B0", - "t' c #0C196C", - "u' c #152064", - "v' c #11258D", - "w' c #6371B1", - "x' c #6271B1", - "y' c #6372B2", - "z' c #6778B1", - "A' c #0C2E59", - "B' c #597CA6", - "C' c #5A7CA6", - "D' c #597DA6", - "E' c #5D80AA", - "F' c #5E83AA", - "G' c #0E355B", - "H' c #0C1A6F", - "I' c #131E62", - "J' c #414C90", - "K' c #10258E", - "L' c #6271B0", - "M' c #6272B1", - "N' c #6373B1", - "O' c #6677B1", - "P' c #0B2E59", - "Q' c #577BA5", - "R' c #587BA6", - "S' c #587CA6", - "T' c #5A7EA8", - "U' c #5D82AB", - "V' c #6289AE", - "W' c #1A5FA3", - "X' c #0D1C75", - "Y' c #131E61", - "Z' c #404B8E", - "`' c #475296", - " ) c #10258D", - ".) c #6270B0", - "+) c #6272B0", - "@) c #6576B2", - "#) c #6576B1", - "$) c #577AA4", - "%) c #577BA4", - "&) c #587BA5", - "*) c #5C81A9", - "=) c #648AAF", - "-) c #0E345B", - ";) c #0D1D79", - ">) c #101B5F", - ",) c #3C478B", - "') c #11258E", - ")) c #6371B0", - "!) c #6575B1", - "~) c #0B2E58", - "{) c #5679A3", - "]) c #5779A4", - "^) c #567AA4", - "/) c #577AA5", - "() c #577BA6", - "_) c #597BA6", - ":) c #175797", - "<) c #0E1F82", - "[) c #101B5E", - "}) c #384487", - "|) c #0B1858", - "1) c #6170B0", - "2) c #6575B0", - "3) c #5578A2", - "4) c #5678A3", - "5) c #5679A4", - "6) c #5A7DA6", - "7) c #102394", - "8) c #111C60", - "9) c #141F63", - "0) c #293578", - "a) c #0A1859", - "b) c #616FAF", - "c) c #616FB0", - "d) c #6270AF", - "e) c #6372B0", - "f) c #6474AF", - "g) c #0B2D58", - "h) c #5576A2", - "i) c #5577A2", - "j) c #5577A3", - "k) c #5578A4", - "l) c #5578A3", - "m) c #587CA5", - "n) c #597DA7", - "o) c #5D82A9", - "p) c #6187AD", - "q) c #154F8D", - "r) c #1227A5", - "s) c #0D185C", - "t) c #1B266A", - "u) c #313C80", - "v) c #445093", - "w) c #10248D", - "x) c #6170AF", - "y) c #6474B1", - "z) c #6373AF", - "A) c #5375A1", - "B) c #5476A2", - "C) c #587AA4", - "D) c #5C7FA9", - "E) c #6084AD", - "F) c #102393", - "G) c #0C196A", - "H) c #0E1A5D", - "I) c #242F73", - "J) c #3A4589", - "K) c #626FAF", - "L) c #626FB0", - "M) c #6475B2", - "N) c #6272AE", - "O) c #0A2C59", - "P) c #5275A1", - "Q) c #5376A2", - "R) c #5477A2", - "S) c #144A84", - "T) c #0E1E7F", - "U) c #121D61", - "V) c #2B3679", - "W) c #0A1858", - "X) c #6370B0", - "Y) c #6271AF", - "Z) c #0A2C58", - "`) c #5173A0", - " ! c #5274A1", - ".! c #5274A0", - "+! c #0D1B74", - "@! c #10248E", - "#! c #6171AE", - "$! c #51729F", - "%! c #51739F", - "&! c #5273A0", - "*! c #5476A1", - "=! c #5576A3", - "-! c #114379", - ";! c #102291", - ">! c #0C196B", - ",! c #1F2A6E", - "'! c #364185", - ")! c #465195", - "!! c #10238D", - "~! c #616EAF", - "{! c #616FAD", - "]! c #0A2B59", - "^! c #50729E", - "/! c #50729F", - "(! c #5375A0", - "_! c #134C8D", - ":! c #0E1E81", - "~ c #323D81", - ",~ c #0A2D5D", - "'~ c #1354AE", - ")~ c #10228F", - "!~ c #212C70", - "~~ c #374286", - "{~ c #0F228B", - "]~ c #1251A7", - "^~ c #283377", - "/~ c #3E4A8D", - "(~ c #0F4085", - "_~ c #0B2F62", - ":~ c #1328A8", - "<~ c #0D1C77", - "[~ c #303B7F", - "}~ c #104289", - "|~ c #0B3063", - "1~ c #112497", - "2~ c #1C276A", - "3~ c #0C175B", - "4~ c #0F438A", - "5~ c #0B3266", - "6~ c #0F2088", - "7~ c #0C3367", - "8~ c #365885", - "9~ c #0B3369", - "0~ c #0E1D7C", - "a~ c #0B2F60", - "b~ c #0C366E", - " ", - " ", - " ", - " ", - " ", - " . . ", - " . . . . . . . ", - " . . . . + @ # $ % . . . . ", - " . . . . & * + @ = - % ; > , . . . . ", - " . . . . ' ) ! * + @ ~ { ] % ^ , / ( _ . . . ", - " . . . . : < [ } | * + 1 = $ 2 ; > , / 3 4 5 6 . . . . ", - " . . . . 7 8 9 0 a } | * + b c d 2 % > , / e f g h i j k . . . . ", - " . . . . l m n 9 o p q } | * r s t # u % v w x y z A B i C D E F G . . . ", - " . . . . H I J K L M 9 < q ' | N O P t # Q % R S T / U V W X Y D Z ` ...+.. . . . ", - " . . . . @.#.H I $.%.L M 9 < q } } N r + @ # Q &.R S *.=.f V W X -.;.k ` ...+.+.>.,.. . . . ", - " . . . . '.'.'.#.H ).!.~.n {.].< 0 ' } | ^.b @ # Q ] /.(., / f 4 5 B i D k _. ...:.<.[.,.}.|.1.. . . . ", - " . . . . '.'.'.'.'.2.H 3.J %.m 7 9 < p } ) 4.5.+ @ ~ Q Q 6.> , / 3 4 7.X 8.9.k 0. ...a.b.<.c.d.|.1.e.f.g.. . . ", - " . . . . . '.'.'.'.'.'.'.h.i.j.$.$.m 7 k.< l.a m.| * + @ c Q Q % > , / f f n.B i j k _.o.p.q.+.r.c.s.|.t.u.v.w.x.y.. . . . ", - " . . . . . '.'.'.'.'.'.'.'.z.A.B.I $.m 7 9 ].C.q D.| * + P t # Q 6.> (.T f E.F.6 i j G.0.H.I...+.<.c.d.J.K.L.M.N.x.y.O.P.Q.. . . . ", - " R.. . '.'.'.'.'.'.'.'.'.'.'.S.A.3.I $.m n k.T.U.q V.W.X.+ + t # Q % /.S Y./ z F.W i -.Z.k _.`.a.+.<.r.s. +|.L.M.N.g..+++O.@+#+$+%+. . . ", - " . . . . . '.'.'.'.'.'.'.'.'.&+i.H I $.K n 8 < < q } *+* ^.=+@ { Q ] -+, , ;+_ V W B 8.>+,+_.G ..+.'+c.d.d.t.)+!+M.x.x.~+{+Q.#+$+]+^+/+. . . . ", - " . . =.f . . . . . '.'.'.'.'.'.2.A.H (+$._+:+<+].< q } | N ^.s [+# Q }+6.> *./ f V 5 |+C D 0._. ...q.1+2+3+4+|.1.!+N.5+y.6+O.Q.#+$+7+8+/+/+/+/+. . . . ", - " . . / / y e . . . . . '.'.'.'.&+#.H I 9+0+m a+9 b+l.} m.X.5.+ @ = $ % > c+Y./ f U W X d+k k _. ...e+f+g+c.d.J.)+h+i+j+x.6+k+@+l+m+n+o+/+/+/+/+/+/+/+. . . . ", - " . . S , *.x T / / 3 . . . . . '.'.#.p+q+!.~.m 7 9 < 0 ' } r+* P @ # { s+% w , / e V 5 B -.j k _. .t+e+1+2+3+d.|.K.u.u+N.x..+O.v+w+x+y+z+/+/+/+/+/+/+/+/+/+/+. . . ", - " . . ; > > ^ , A+/ / e y ( . . . . . i.).B+$.C+7 9 : l.a } | * + D+t d Q % > , / f E+5 6 d+j k _.o.p.F+<.r.c.d.J.)+h+!+G+x.H+O.@+@+$+y+%+/+/+/+/+/+/+/+/+/+/+/+/+. . . . ", - " . . 2 % % /.-+> ^ S , Y.I+/ =.e . . . . . I $.C+L 9 J+K+a } & 4.+ P c d Q v L+S / f f g |+i j k ,+H.t+:.+.<.c.s.M+N+O+i+N.x..+~+@+#+P+]+%+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+. . . . ", - " . . # $ Q 2 s+6./.> > , , , , / / ;+y . . . . . 7 a+< U.Q+} | N R+P S+# u % > , / ( f V W i -.Z._.T+I...+.U+c.V+W+t.O+!+N.x.y.++X+@+#+$+%+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+/+. . . . ", - " . . @ t # Y+Y+Q Q &.% v v > c+c+S , , / =.( f . . . . . < q Z+) X.^.D+c Q Q % /., Y./ 4 V W i d+k Z T+`.q.+.<.r.d.}.`+)+!+N.x. @.+k+@+#+x+%+z+/+/+/+/+/+/+/+/+/+/+/+/+/+. . . . f f . ", - " . . + D+@ c # # $ Q Q Q }+% % /./.S S , *.T / ;+;+f . . . . . m.4.5.b @ # Q % R > , e f V W i 8.j k _.G ..+.'+<.c.4+`+)+h+v.w.y..@O.@+#+x+n++@/+/+/+/+/+/+/+/+/+/+/+. . . . f f f f f . ", - " . . . ^.+ + P b @ c t # - - u u &.% /.R c+c+S , A+/ / y f . . . . . 5.+ @ # Q ] /.L+A+=.f V W |+@@9.k _. .t++.b.g+c.W+|.1.!+u+j+#@~+O.@+l+#+$@8+/+/+/+/+/+/+/+/+/+. . . . f f f f f f f f . ", - " . . | N * * + + =+=+D+@ S+# %@%@- Q 2 % 6.v /.> , , , / T y f f . . . . . # Q % % > , / f E+V B -.9.k _.o.p.F+f+r.c.d.|.&@O+u+N.x..+++@+*@#+]+%+/+/+/+/+/+/+/+. . . =@f f f f f f f f f f -@. ", - " . . . W.D.| | 4.* 5.r + P b @ S+# # Y+- Q Q }+% ; -+> w w S , I+/ / 3 f . . . . . ; > , A+f V g ;@i j k _.>@`...+.r.c.d.|.&@,@'@G+x..+O.)@@+x+$+z+/+/+/+/+/+. . . T / ( y f f f f f f f f f f . . ", - " . . . a } V.} W.| r+4.* ^.* + D+@ @ @ # # - Q Q ] 2 ; /.-+> w (., A+Y./ f f . . . . . , / / U V X @@j k Z .t+a.+.<.c.d.|.K.O+!+G+x.y.!@P.Q.~@$+8+/+/+/+. . . ; > w ^ , T / 3 f f f f f f f f f . . ", - " . {@. . . . Z+} ) D.m.| r+* * 5.r + D+@ S+c # # - Q Q s+% % -+> c+(., , / / / / f . . . . . f g B i j k _._.`.q.+.<.c.]@ +1.O+!+N.x..+!@)@^@#+$+%+%+. . . # - Q % % % > L+w Y./ / / f f f f f f f . . ", - " . /@(@_@:@. . . . [ } } W.| N ! * * R++ + @ @ c c # # # Q u 2 % % ; > L+, , *./ / =.;+f . . . . . i j 9.E >@G ..+.'+c.<@4+&@)+!+N.G+.+O.O.l+#+@+. . . O s @ c c $ Q Q 2 % % > c+, I+x ;+f f f f f f . ", - " . [@/@}@/@/@/@. . . . q } } W.V.! ! N * + O + b b [+t c # $ Q u 2 ] % v R > > ^ *.A+I+/ e f f . . . . 9.E _. ...+.'+[.V+}.|.)+!+v.x..+6+{+.+. . . *+X.r+* r + s @ S+c { - Q s+% > > (., *./ f f f f f . ", - " . |@|@|@1@}@2@/@}@/@. . . . Q+[ } W.| N & * * R++ D+=+@ S+~ # # %@Q Q ] % R -+> ^ , w , , / =.;+f . . . . . ...3@<.4@3+}.|.)+!+u+w.x.)+. . . 0 q } [ V.| & 4.+ R++ b @ # # Q Q &.% 6.> > , A+x ( f f . ", - " . 5@5@6@|@7@|@|@8@}@}@2@/@. . . . ' } ) | | X.| * * ^.+ P 1 @ @ ~ # d Y+Q Q % % v > v w , , *.T / =.f f . . . . . 9@2+,.d.|.t.!+!+b.. . . <+9 o b+p 0 q Z+} ) | N * O + s @ t = d - Q % % -+> ^ , *./ . ", - " . 0@5@a@a@b@c@6@7@|@|@[@8@|@8@. . . . . } ) W.W.N & r+* * r + s 1 @ # # # { - Q u % % ; ; > c+, , , I+/ ( f f . . . . . d.M+t.j . . . $.0+m :+7 M 9 9 < U.q Z+} ) *+& 4.* O + @ @ c # { - }+% % R ^ , . ", - " . d@e@f@f@g@5@5@h@b@5@h@|@b@|@|@|@|@. . . . Z+} } | | & X.r+5.i@+ s D+@ [+t # # Q Q 2 &.% % /.R > c+, , T T / y f . . . . . . . . H 3.I !.$.%.~.C+7 {.a+T.: C.< q q } D.| r+* ^.+ =+1 @ c # - Q s+% v . ", - " . j@k@d@d@d@d@g@f@e@d@l@5@5@a@b@6@c@6@|@|@. . . . [ } } m.| | r+* * + + =+D+@ ~ ~ # m@n@n@Q &.% % v > c+(., , Y./ / =.f . . . '.h.#.#.o@H I I J $.K m C+7 M M ].< U.p q ' D.m.| ! * O + @ @ c @ d d 2 . ", - " . p@q@q@r@r@r@j@s@d@d@f@e@5@l@0@5@5@b@b@c@7@7@7@. . . . } V.V.) | & * * * + s t@u@v@v@w@m@n@x@y@u % v % > > (., , *.x / Y.. . z@A@B@'.2.#.#.p+j.I !.$.C@_+:+C+<+8 9 o < U.0 D@} W.m.| r+* O + s @ t # . ", - " . E@E@F@F@G@q@q@H@H@I@d@H@d@d@d@d@5@f@5@5@5@5@5@c@h@. . . . [ Z+) ) m.| 4.J@K@L@M@N@O@v@w@m@P@x@Q@R@S@] % 6.6.> > w , , . . T@U@V@W@X@Y@X@h.2.#.#.H B.I !.$.$._+Z@7 7 9 T.o < l.q q } } | | X.^.r D+=+. ", - " . `@E@E@E@E@F@G@ #p@q@q@q@q@d@k@d@H@d@d@g@f@g@d@5@0@5@5@6@. . . . Z+} .#+#@###$#L@%#M@O@O@&#P@P@n@n@*#=#S@&.}+% 6.-+> > . . -#T@;#U@>#z@,#X@Y@'#@.#.)#!#H I I I $.K m 7 7 7 9 9 T.< q q } } D.r+4.* 5.. ", - " . ~#~#~#{#~#E@E@E@]#G@^#^# #p@q@q@q@j@k@j@k@d@d@d@d@0@0@e@l@0@5@/#(#_#:#<#.#[#}#K@K@L@M@|#O@#2#3#4#4#x@R@5#6#% }+v . . 7#8#9#0#a#U@T@U@U@,#b#X@c#'.#.#.)#H 3.I l $.$.m m 7 7 M 9 9 < 0 q D@} *+| | . ", - " . d#e#f#~#~#~#g#h#{#{#E@i#E@E@q@F@p@]#q@q@q@q@q@j@d@k@d@d@d@j#k#l#m#n#o#:#:#p#+#}#q#$#$#$#M@M@u@v@1#r#s#3#t#u#v#5#w#x#. . y#z#A#B#C#D#a#E#F#G#V@z@H#X@I#'.@.#.#.H H B.I $.$.0+K :+7 M M : : < q q ' } . ", - " . J#K#K#K#K#L#~#~#~#~#~#~#{#{#i#E@E@^#]#G@]#q@q@^#q@I@H@M#M#N#O#k#k#l#P#Q#_#R#:#S#[#[#J@$#$#T#T#u@U#1#1#P@3#t#t#u#V#W#X#Y#Z#`# $y#z#7#7#D#D#-#.$U@U@+$z@@$H#'#'.2.2.#.p+j.I I l $.%.m m 7 7 9 ].< C.q . ", - " . #$J#K#$$$$%$K#K#L#K#L#f#~#f#~#~#`@`@E@E@E@E@E@E@q@&$*$=$=$-$-$;$O#>$>$,$,$Q#:#:#S#S#'$q#J@$#$#T#)$!$U#1#1#s#~$t#t#{$W#]$^$^$/$($`#_$y#:$7#9#D#<$a#E#U@+$[$b#X@X@A@'.2.#.p+H H B.!.!.~._+m }$7 a+9 ].. ", - " . =@|$#$#$#$1$2$K##$%$K#K#L#e#f#e#~#L#~#~#~#{#3$4$5$6$7$7$8$&$*$-$-$9$9$>$0$0$P#P#Q#S#S#'$'$'$a$b$T#c$!$!$#2#3#d$e$f$g$]$^$^$h$/$i$`#j$k$y#7#7#l$<$m$E#;#U@+$z@z@H#'.'.@.#.#.i.H q+I J $.K K :+C+7 . ", - " . n$o$p$=@o$q$#$q$#$#$#$J##$$$%$$$K#K#e#e#r$s$s$t$4$5$5$u$v$7$w$w$w$-$x$9$>$>$0$y$P#z$A$B$'$'$'$C$b$T#D$D$!$E$#F$F$G$H$I$J$K$^$L$Y#h$($($`#`#y#y#M$7#C#D#E#E#N$U@>#z@b#X@'#'.z.#.#.p+H j.!.O$K 0+m . ", - " . P$P$n$=@=@=@=@p$p$o$#$#$#$#$#$Q$K#Q$R$R$S$T$r$s$t$t$U$5$6$V$6$w$w$W$x$-$X$;$>$0$y$y$z$z$Y$Z$`$'$ % %.%T#T#!$u@+%@%#%$%%%&%*%=%J$K$-%;%>%>%($,%'%`#`#y#z#7#)%D#0#E#;#N$U@z@,#@$X@Y@'.S.#.o@H I j.I J . ", - " . !%!%~%P${%!%n$!%=@=@=@=@=@p$#$]%^%/%/%/%(%S$T$_%:%s$<%t$5$5$5$6$u$7$w$w$-$X$X$>$[%>$y$y$Y$Y$A$`$}%C$ %.%.%|%1%+%+%2%3%4%$%%%*%5%I$J$K$^$;%>%6%7%,%8%9%0%k$:$7#8#8#D#a%E#.$U@[$z@z@X@Y@Y@S.@.#.A.H q+. ", - " . b%b%c%b%d%d%!%!%!%e%f%e%n$g%g%g%^%h%h%i%j%/%R$R$T$_%:%s$k%U$U$4$6$u$V$w$7$w$x$X$X$l%l%0$m%n%z$A$o%`$p%q%.%.%|%r%+%s%2%2%3%t%u%v%*%5%J$]$w%L$x%y%6%7%,%'%z%A%`#y#B%7#l$l$D#E#E#T@[$C%z@H#X@A@I#z.#.A.. ", - " . D%E%F%F%b%b%G%b%~%~%H%I%I%I%J%J%J%g%I%I%g%]%(%R$_%R$T$T$K%k%K%U$L%M%N%u$w$O%P%Q%X$X$X$[%R%0$n%n%z$Y$Z$Z$S%q%T%|%U%V%W%s%X%3%t%4%u%v%*%Y%J$J$Z%;%;%y%y%`%8% &9%.&`#+&y#7#7#B#D#0#E#E#U@U@@&#&W@X@B@&+. ", - " . $&E%E%E%%&E%&&b%b%*&=&-&;&I%;&I%>&I%I%I%I%g%h%]%/%,&_%_%'&'&k%k%L%U$M%)&N%u$!&O%x$x$W$X$~&~&{&{&0$]&z$Y$Z$Z$T%.%^&/&U%W%s%(&2%_&3%:&u%v%<&[&}&K$K$;%>%y%y%,%8%9%9%z%|&`#y#:$7#7#C#m$E#E#.$U@U@z@@$X@. ", - " . 1&$&E%2&3&4&5&6&6&*&7&6&=&=&*&=&>&-&8&-&I%I%J%g%h%]%,&(%R$_%9&9&'&k%0&L%)&)&u$v$O%!&W$P%W$X$~&~&[%a&z$Y$b&o%c&.%d&d&e&/&U%W%s%X%2%3%t%f&f&g&<&<&h&i&Z%Z%j&y%y%k&l& &m&.&|&n&0%y#z#A#)%D#<$E#;#T@>#@&. ", - " . o&1&1&1&p&p&q&q&p&6&6&6&6&6&*&*&r&8&7&=&8&8&I%;&s&g%]%]%]%,&,&_%9&'&:%K%L%L%U$t&)&!&!&!&W$P%u&v&~&[%{&{&a&Y$w& %T%T%x&y&y&U%z&A&A&B&C&D&D&E&v%v%v%F&G&i&Z%H&x%I&J&K&8%9%m&.&|&L&M& $y#M$7#8#D#m$a%U@. ", - " . N&o&O&O&P&Q&q&q&p&6&q&q&6&6&5&6&6&6&6&=&7&*&*&=&;&;&g%R&^%^%,&,&S&T&T&U&U&k%L%L%M%N%V&W&O%!&X&u&v&Y&v&{&m%m%Z&C$Z&`&c&x&x&y&y& *.*+*s%2%C&D&t%@*f&v%<&#*G&$*%*H&x%y%`%l&8%9%m&A%&*n&**=*y#y#7#7#9#m$. ", - " . -*-*P&O&P&P&P&P&O&p&;*Q&p&p&p&q&q&5&6&q&6&6&6&6&*&=&=&>*s&s&,*'*,&)*S&T&T&!*k%k%L%M%M%V&t&!&O%P%P%X&Y&v&v&{&~*'$~*{*]*]*c&x&x&^*^& *+*/*(*_*D&t%:*E&<*[*F&#*G&$*%*}*I&I&`%K& &9%m&&*|*n&**1* $y#2*2*. ", - " 3*4*5*-*-*-*-*O&-*P&O&P&6*P&P&Q&p&p&q&p&6&5&q&6&6&6&q&6&*&7*7*>*s&,*8*8*9*S&T&U&0*U&a*b*M%M%V&W&W&c*c*X&X&Y&d*e*'$f*g*h*{*]*i*j*x&x&k* * *l*(*(*_*C&m*@*f&n*[*F&#*G&o*%*}*p*q*r*K&s*t*m&&*|*u*v*w*x*k$. ", - " 3*y*z*4*4*A*-*-*-*-*-*-*P&P&P&O&P&p&p&P&P&;*B*p&p&q&q&q&6&6&7&=&C*7*,*8*8*8*9*T&D*E*!*a*a*F*G*H*V&I*W&W&c*J*~*K*'$L*M*f*g*h*N*]*i*c&x&^*y&O* *l*P*(*Q*R*m*S*E&<*T*F&U*G&V*W*X*X*q*r*l&s*Y*Z*`*|***** =.= ", - " +=y*@=@=#=4*4*4*5*$=%=-*-*-*-*O&O&P&-*P&P&Q&Q&P&q&p&;*q&q&q&7&q&7&C*s&,*,*'*8*9*&=*=D*!*U&a*F*G*M%V&t&W&W&==c*I*S#-=;=L*>=,='=)=h*]*i*j*j*^*O*!=~=/*{=]=Q*^=S*S*<*<*T*F&/=o*(=W*X*X*J&r*_=s*:=`*I$<=-%.= ", - " +=[=}=}=[=y*@=y*z*|=z*4*1=1=-*$=-*%=-*-*-*P&P&-*P&P&P&Q&p&q&q&p&q&7&7&C*7*,*,*8*8*D*&=D*!*!*a*a*a*F*G*V&2=W&3=4=:#5=-=-=6=7=>=8=9=h*0=a=b=c=^*O*O*!=l*d={=e=R*R*R*S*E&n*F&U*U*f=o*W*g=X*h=r*G$G$&%H$I$i= ", - " j=k=l=m=l=}=}=}=}=[=@=#=@=4*#=n=1=$=o=-*1=p=-*-*P&q=-*q=-*P&O&O&;*q&6&r=C*7*7*s=t=u=&=v=9*D*0*0*a*a*F*w=w=w=2=x=:#y=z=A=B=B=6=8=C=D='=h*N*E=F=F=G=^*H=H=l*d={=I=e=R*J=K=L=L=M=N=U*o*O=P=4%Q=R=R=G$*%H${$ ", - " j=S=T=k=U=k=V=k=k=}=m=[=[=@=@=y*y*@=n=W=1=X=X=$=-*-*p=-*-*-*q=-*-*O&;*;*7&7&7&C*t=t=Y=v=&=&=*=D*D*0*a*Z=G*`= -5=_#.-+-@-#-$-%-B=&-6=7=,=*-N*=-E=----;-O*O* *l*>-d=]=,-J='-'-L=n*N=)-B&X%X%_&_&!-Q=R=R=~- ", - " j={-S={-S=S=T=S=T=k=k=V=k=V=l=[=[=[=y*y*y*n=n=o=o=n=$=p=1=%=%=$=-*-*P&O&;*;*]-r=r&C*^-t=t=/-&=/-0*0*0*0*Z=`=F*(-_-:-<-.-[-#-A=}-$-|-&-1-2-*-3-4-0=E=5-6-;-f$7-8-l*d=9-]=,-J=0-U%a-z&W%W%s%2%2%2%_&3%4%F$ ", - " b-c-c-c-d-{-d-{-S=S=S=S=T=T=k=k=V=k=V=}=[=[=y*@=n=o=e-n=1=o=1=$=p=%=-*-*P&O&;*r=]-7&f-g-t=t=Y=h-&=D**=0*0*i-j-k-(#l-m-n-.-[-@-#-o-$-p-B=&-q-2-2-3-4-r-E=5-;-G=f$H=s-8-d=x&x&y&y&q%U%U%z&W%s%s%X%2%_&2%F$ ", - " t-c-u-c-c-c-v-d-{-w-{-w-S=x-S=S=S=U=k=l=k=k=V=}=}=[=e-e-e-W=e-e-o=o=n=$=$=-*y-O&;*]-]-z-C*g-^-Y=Y=A-&=B-B-C-i-D-n#E-F-l-G-H-.-.-@-I-}-}-B=J-1->=2-3-K-4-r-5-L-6-M-f$]*]*i*c&j*x&^*^*y&e&q%z&z&N-A&s%B&+% ", - " t-O-u-u-u-u-P-Q-c-c-c-v-c-R-{-S-{-S=S=T=S=k=S=k=k=T-}=m=}=e-e-e-e-e-n=1=n=$=$=y-U-6*V-W-X-f-f-g-Y-Z-A-/-B-B-`- ;/#.;+;@;l-#;H-H-.-[-I-I-}-$;p-J->=>=2-%;4-&;r-,=3-,={*Z&]**;a=i*c&=;x&-;y&!=/&U%a-+*s%+% ", - " t-;;>;,;;;O-u-u-';Q-u-Q-Q-P-c-d-);d-);w-!;S=S=U=T=T=k=T=k=V=}=l=e-~;e-e-e-n=$={;y-$=y-U-V-];]-f-f-Y-^;Z-/;/;/;(;_;:;.;.;<;@;l-[;};n-.-|;I-1;}-$;2;J-3;4;%;6=6=6=8=8=,=3-3-h*]*a=a=i*c&j*x&x&^&!=y&U%+*+% ", - " 5;6;;;;;;;;;;;7;8;O-u-O-O-';';';';Q-c-c-);{-);w-{-{-S=k=S=U=T=k=V=k=m=e-e-~;e-e-{;1={;U-U-];V-];9;9;g-Y-^;^;/;0;_;a;a;:;.;.;b;@;[;G-H-c;[-|;I-d;$;$;J-o-}-B=B=|-&-6=8=8=,=9=3-h*0=]*`&e;a=c&x&d&^&^&y&|% ", - " f;g;g;h;h;i;j;j;;;;;8;>;k;O-u-u-O-c-u-u-';c-c-c-);c-d-w-w-S=S=S=S=T=U=k=k=V=l;l;~;m;e-1=n;o;V-U-];p;9;g-q;g-0;r;s;t;u;u;:;:;.;v;+;b;[;};w;w;x;y;[-|;|;I-o-z;}-$-%-B=&-6=6=8=8=,=*-h*h*0=]*]*i*j*j*j*x&|% ", - " f;A;B;g;g;g;g;g;h;j;6;6;;;k;;;;;O-;;O-k;u-u-c-Q-';';';c-v-);c-w-);d-S=S=U=S=S=T=S=l;~;m;{;{;C;y-y-V-];9;p;p;g-D;s;E;F;G;H;I;:;:;J;<;<;K;[;L;L;H-H-M;y;[-|;I-I-}-}-$-%-p-B=6=6=C=7=8=,=)=h*N;0=]*]*i*c&|% ", - " f;O;P;Q;R;P;Q;S;g;g;g;g;g;i;j;j;;;;;;;;;7;k;O-O-u-u-u-P-';P-u-c-c-);d-w-S={-S=!;S=S=U=k=~;{;{;n;y-o;U-T;p;p;p;U;V;W;X;Y;Y;G;Z;u;:;`;J; >b;b;.>[;};H-n-n-c;[-[-I-#-#-o-$-$-p-|-&-6=6=q-8=8=9=9=h*h*0=]*+> ", - " @>O;#>O;$>#>O;P;P;P;P;S;g;g;g;g;i;h;j;6;6;6;;;;;;;,;>;k;u-u-u-u-';u-';c-c-c-);{-);{-{-S-S=S=U=%>{;&>&>o;*>W-=>U;->;>>>,>'>Y;)>)>!>`;J;~>~>{>{>K;@;]>[;G-H-M;w;y;|;[-@-I-d;z;$-p-B=B=|-6=6=M*8=9=9=h*h*.% ", - " ^>/>(>_>(>_>_>O;O;O;$>O;A;A;P;P;S;R;g;g;i;i;i;6;6;;;;;;;;;k;k;u-O-u-O-u-Q-u-c-c-';c-c-);w-d-S=S-S-:><>n;[>[>o;}>|>1>2>3>W;'>'>)>4>5>6>7>8>J;~>~>{>{>b;K;[;[;H-H-.-c;y;[-[-#-#-}-}-p-$-B=|-&-6=>=8=,=,=.% ", - " 9>0>0>0>a>a>(>/>_>_>#>b>O;O;P;$>P;P;P;Q;g;S;c>g;g;h;i;d>j;6;e>;;;;;;k;u-;;O-u-O-Q-Q-';c-';c-);););{-S-S=n;n;[>f>|>g>g>2>'>h>h>h>h>i>)>!>7>7>8>`;`;~>~>b;b;K;.>[;[;m-w;w;c;.-[-j>I-#-z;}-k>B=B=B=&->=>=.% ", - " 9>l>m>n>0>0>0>0>a>o>(>(>_>_>p>#>p>O;O;P;P;Q;P;Q;g;g;g;g;i;g;i;h;e>j;q>;;;;;;8;7;8;>;u-O-u-u-O-';r>c-c-););w-);s>|>t>u>v>3>w>,>,>'>h>x>)>i>y>5>z>7>`;`;A>~>B>{>K;b;[;L;};H-<-w;c;[-|;#-I-#-}-}-$-B=B=C> % ", - " D>E>F>m>m>m>G>0>0>n>0>0>0>o>_>o>(>_>_>#>#>#>O;#>P;P;P;A;P;B;g;B;g;i;H>i;i;6;;;h;;;;;8;7;O-O-O-u-u-Q-I>';Q-c-c-J>K>L>M>N>O>u>v>w>P>w>Q>R>S>h>)>)>4>!>7>6>`;`;J;~>b;{>b;.>K;[;T>H-U>c;c;[-|;@-#-#-$-}-V> % ", - " W>X>E>E>m>Y>m>Y>Z>`>n>0>0>0>l>0>0>0>(>0>(>/>(>_>_>#>#>O;P;P;P;P;A;B;A;R;g;g;g;j;i;i;i;;;;;;;;;;;8;k;8;O-u-O-u- ,K>.,+,@,M>M>#,u>v>3>P>,>Q>$,$,h>)>i>%,4>6>7>6>`;J;~>~>+;b;]>]>[;L;H-w;w;y;.-[-|;#-#-o-'$ ", - " &,X>X>*,X>X>X>X>E>E>=,m>`>m>`>l>-,l>n>0>0>0>;,;,a>o>(>_>_>O;P;#>#>P;O;P;c>B;P;c>B;g;i;i;i;6;;;e>6;;;7;;;,;O-O->,_;,,',.,),!,L>N>N>#,v>v>~,w>w>w>h>h>{,i>y>4>4>7>6>:;`;J;~>{>{>b;]>.>[;L;w;w;c;[-.-[-#-'$ ", - " &,],],],],^,*,],/,X>X>E>E>E>Y>m>m>m>`>n>`>l>G>l>0>0>0>(,;,o>(>_>(>#>O;p>#>#>P;P;P;c>A;S;g;g;g;g;i;j;i;;;;;6;;;_,s;:,<,[,},.,),+,|,L>M>N>#,v>v>P>w>w>$,h>h>S>)>)>4>7>7>6>`;A>~>{>b;b;b;]>.>[;L;w;H-c;[-'$ ", - " &,1,2,3,4,2,],],],5,^,^,X>X>E>E>E>F>6,E>Y>`>`>l>`>`>`>n>l>0>o>a>_>(>_>_>_>#>p>O;O;P;$>P;P;P;g;c>g;c>g;g;i;q>i;7,s;8,8,9,:,[,[,',),.,),M>N>N>N>v>v>v>w>w>,>Q>$,Y;i>)>y>!>5>6>:;`;`;~>{>{>b;K;[;[;};H-U>'$ ", - " 0,a,a,b,a,3,3,2,3,4,],],],*,^,],^,X>X>E>E>E>E>E>6,`>m>m>`>Z>G>`>l>0>0>0>a>_>(>p>(>#>#>#>$>P;#>P;P;P;P;P;B;g;i;c,s;d,e,f,8,:,<,:,[,[,',',),@,M>N>M>#,g,v>h,P>w>'>$,h>S>)>y>y>4>6>7>`;`;~>B>b;b;b;]>[;L;S# ", - " i,j,k,k,b,j,b,a,3,3,3,2,l,3,],l,],],*,/,/,X>m,E>X>Y>Y>=,F>F>F>m>-,-,l>n>`>0>0>0>o>o>o>p>(>#>p>#>#>b>O;P;n,P;c>c,V;o,p,q,e,r,r,s,9,9,<,,,},.,.,+,L>M>M>N>O>v>v>3>w>Q>'>h>h>{,)>y>4>4>6>6>`;`;~>~>b;b;b;S# ", - " t,u,u,j,v,k,k,j,k,a,w,a,b,a,a,3,1,4,x,],l,],],/,X>X>^,y,E>Y>=,=,m>z,`>`>m>l>n>n>l>0>G>0>0>o>(>/>_>#>#>#>O;$>$>A,V;B,C,o,p,D,e,e,r,8,E,9,<,[,},',.,.,!,M>M>F,O>O>~,3>P>w>$,Q>h>S>Y;G,y>4>7>6>8>`;J;~>~>:# ", - " t,H,I,u,u,J,u,j,j,K,k,j,j,k,k,b,b,a,a,3,1,4,4,],4,],],/,/,^,X>/,*,E>E>E>E>`>m>`>`>`>`>m>0>-,0>0>0>0>(>/>_>/>p>L,|>M,N,N,C,O,P,Q,D,e,f,e,8,9,9,<,[,',.,),),|,M>N>N>u>u>v>P>w>w>,>$,h>S>)>y>4>4>7>:;8>`;R, ", - " S,T,H,H,I,U,V,V,u,v,W,u,X,j,k,k,b,b,b,b,a,a,a,3,3,3,Y,x,x,],],],],],X>X>E>E>E>E>=,F>`>`>z,`>m>`>0>G>l>0>0>0>0>L,|>Z,`, '.'N,N,+'o,P,P,e,e,@'8,9,8,:,<,[,,,#'),),M>M>F,N>u>v>3>w>,>,>h>h>h>S>i>y>4>4>6>:# ", - " S,$'%'%'T,T,I,U,I,V,U,H,u,u,J,J,u,v,v,j,j,k,b,b,a,a,b,3,3,1,l,3,],l,x,*,],*,*,/,m,X>m,E>F>Y>`>z,m>m>`>`>m>-,G>&'|>*'Z,Z,Z,=' 'M,N,B,-'o,o,d,D,e,;'8,8,9,>'[,,,',),),+,M>M>N>N>v>v>h,w>$,h>h>h>{,)>)>%,:# ", - " ,''''''''')')')'!')'I,T,T,I,H,u,u,u,u,v,W,v,j,j,j,j,k,~'~'{'a,3,3,3,2,x,4,],],],],/,*,y,/,X>m,E>z,E>F>F>Y>`>`>]'|>^'/'('*'Z,_':'M,M,M,N,o,o,<'P,D,D,e,8,s,9,:,<,[,['.,.,),M>@,M>#,O>}'v>3>w>w>h>h>h>S>_# ", - " |'1'2'3'4'''''''5'''%'T,)'T,T,I,H,u,I,6'u,u,u,v,u,u,X,v,j,j,j,7'b,a,a,b,3,3,3,Y,l,],Y,],*,*,*,*,*,X>X>E>E>E>Y>8'|>9'9'0'a'('('b'*'Z,='M,N,c'B,o,o,Q,P,Q,q,e,8,8,9,<,<,[,.,.,),),M>M>F,N>d'u>h,w>w>,>$,o# ", - " e'f'g'1'1'1'2'h'4'''4'''''''%'%'%'I,T,T,I,T,u,6'u,u,u,u,J,v,j,J,j,k,k,j,i'b,a,a,3,3,2,],4,x,],],],],^,/,/,*,X>j'k'l'l'm'n'o'p'/'('('*'_'Z,='M,q'.'-'r'o,Q,D,e,e,8,8,8,9,<,[,',',s'),L>M>M>N>O>v>3>3>w>/# ", - " t'u'v'v'e'w'x'w'1'y'1'3'3'4'4'''''5'%''')')'T,T,T,T,I,u,u,u,u,u,v,J,K,j,v,k,k,b,b,a,a,b,3,3,3,3,1,l,l,],*,*,],z'A'B'C'D'l'l'9'n'0'^'('('E'*'_'='='='F'N,O,o,P,P,P,D,e,f,8,9,:,[,[,,,.,),L>@,M>N>O>u>u>G' ", - " H'I'J'K'K'v'g'L'L'w'w'M'1'1'y'''3'N'2'''%'%'%')'%'T,T,T,T,I,T,I,u,H,u,u,u,u,j,j,k,~'b,b,~'7'3,7'3,3,3,2,1,Y,O'P'Q'R'S'B'B'l'l'o'o'T'0'p'('*'E'_' 'U'='.'N,N,O,o,D,e,D,e,f,8,8,:,V'[,[,.,',),@,|,M>/#W' ", - " X'Y'Z'`'`' ) ) )g'L'.)L'+)1'w'1'1'3'1'2'''''''''%'%'%'!')'T,)'I,T,H,@)u,H,u,u,u,J,j,j,j,k,k,b,b,a,a,b,a,3,#)P'$)%)&)R'R'S'B'D'l'l'9'9'0'0'p'('*)Z,Z, 'U'='.'N,N,r'P,D,P,D,@'e,8,s,9,<,[,=)',),@,-) ", - " ;)>),)`'`'`'`'') )g'.).).)L'))w'w'))w'1'1'4'1'3'4'N'''''%'%')'%'T,T,T,T,I,T,V,H,u,u,u,u,K,v,J,J,k,~'b,~'!)~){)])^)/)/)()R'_)S'B'l'l'm'9'n'0'('('('b'Z,Z,=' 'M,N,N,C,o,o,p,e,e,e,8,8,9,:,<,[,_;:) ", - " <)[)})`'`'`'`'`' ) ) )|)1).).)L'L'L'L'L'w'))1'1'1'3'2'3'h'h'''%'%')')'T,!'T,T,T,T,6'u,u,H,u,u,u,j,J,j,2)P'3)4){)5)5)$)$)Q'Q'S'S'B'D'6)l'T'o'o'0'0'('('*)Z,Z,M,M,.'N,-'o,o,o,P,d,e,;'8,8,:,K> ", - " 7)8)9)0)J'`'`'`'`'`' ) )a)b)c)d).).)d).)L'.)e)1'))x'1'1'1'4'''''''''%'%')'%'!')')'I,I,U,U,V,u,I,u,u,f)g)h)i)j)4)k)l)5)])$)&)&)m)S'B'D'n)6)l'9'n'o'0'p'('E'_'o)Z,M,.'F'N,r'o,P,o,e,D,p)s;q) ", - " r)X's)t)u)v)`'`'`'`'K'w)K'a)b)b)x)1).).).).).)L'w'))))1'1'1'3'1'N'1'4'''y)''%')')'T,T,T,T,6'I,V,z)g)A)A)B)h)i)i)l){){)$)$)/)C)()R'S'B'B'C'l'm'9'o'0'a'D)('_'Z,_'M,='F'N,N,r'o,P,E)s; ", - " F)G)H)I)J)`'`'`'`'`'w) )w)b)b)b)c)K)L)d).).)d).)L'))))w'e)e)1'1'y'2'''4'4'%''')'%'M)T,T,T,N)O)P)A)A)Q)B)B)R)j)j){)5)5)5)$)$)Q'&)S'S'B'D'l'l'9'0'0'p'p'('('*'Z,:'M,F'M,N,-'V;S) ", - " T)U)I'V)J'`'`'`'`'w)w)w)W)c)c)b)c)c)c)L)b)d).).).)X)L'+)w'e)e)1'1'1'h'2'4'''''%')'%'Y)Z)`) !.!P)A)A)A)B)i)j)4)4)4)4)5)$)$)/)Q'&)S'S'B'D'l'm'9'0'0'p'a'('*'_'Z,Z,:'M,V; ", - " r)+!s)t)u)v)`'`'`'`'w)w)@!W)b)b)b)c)b)c)b)L)K).).)d)d)L'L'L'w'w'1'e)1'1'1'3'4'''#!Z)$!$!%!&!.! ! !P)A)*!B)=!i)l)l)4)5)5)$)$)Q'R'S'S'B'6)l'l'l'9'n'0'D)('*)E'_'|>-! ", - " ;!>!s),!'!)!`'`'`'`'!!w)W)b)~!b)b)b)c)b)b)b)c)b)K).).)L'.).)L'))))e)+)1'1'{!]!^!/!$!$!%!%!&!.! !P)(!Q)B)B)h)j)l){)5)^)$)$)Q'&)R'S'S'B'D'6)m'm'9'9'p'|>|>_! ", - " :!)[!}!`'`'`'`'!!!!!!|!~!~!~!c)b)b)c)c)b)b)c)K)x)L).)1).)X)L'L'))1!2!3!3!4!^!/!/!$!%!5!&!.!.! !A)A)B)h)i)i)l)4)5)5)$)$)%)R'&)R'S'B'n)l'k'6!7! ", - " 8!9![)0!a!b!`'`'`'`'!!!!!!|!~!~!b)~!c)c)b)b)b)c)b)c)c)L)d).).).)c!2!d!e!3!f!4!4!g!/!%!`)`)&!.!.!P)A)h!B)B)i)i!4)4){)5)])$)$)%)&)S'k'j!k! ", - " l!H's)m!n!o!`'`'`'`'!!!!|!~!~!~!~!p!b)b)c)c)b)b)b)b)b)b)K)q!2!r!r!s!e!e!3!3!4!4!/!/!`)%!`)`).!P)t!A)Q)B)u!i)j)l)l)4)5)5)P'v! ", - " w!x![)y!z!`'`'`'`'!!!!!!A!~!~!~!~!~!p!~!b)b)c)b)b)c)q!2!B!B!B!B!r!C!e!e!3!f!D!4!/!$!%!`)E!.!.!P)A)F!B)B)G!R)P'P'H! ", - " I!>)J!K!L!`'`'`'`'!!!!|!~!~!~!~!~!~!~!b)~!b)c)M!2!B!B!B!B!B!r!r!N!C!e!3!O!3!4!^!/!/!%!P!`).!.!t!(!Q!g)R! ", - " S!T!s)U!V!o!`'`'`'!!!!!!|!W!~!~!W!~!~!~!~!X!2!B!B!B!B!B!B!B!r!B!r!Y!e!Z!e!`!D!4!^!$!$!%!5!Z)O) ~ ", - " .~+~@~I)#~`'`'`'`'!!!!A!|!W!~!W!W!W!X!2!B!B!B!B!B!B!B!B!B!B!r!r!r!r!e!Z!3!D!D!g!Z)O)$~ ", - " %~8)u'&~L!`'`'`'`'!!!!|!W!~!W!X!2!B!B!B!B!B!B!B!B!B!B!B!B!B!B!r!r!d!3!2!*~=~ ", - " -~T!s);~>~v)`'`'`'!!!!!!A!X!2!B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!2!,~'~ ", - " )~t)s)!~~~)!`'`'`'!!{~2!B!B!B!B!B!B!B!B!B!B!B!B!B!B!2!,~]~ ", - " :!U)U)^~/~`'`'`'(~2!B!B!B!B!B!B!B!B!B!B!B!2!_~ ", - " :~<~@~+~[~b!`'}~2!B!B!B!B!B!B!B!B!2!|~ ", - " 1~2~3~,!'!4~2!B!B!B!B!B!2!5~ ", - " 6~x!@~7~2!B!8~2!9~ ", - " 0~a~2!b~ ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " "}; - """ + def getIcon(self): + return """ + /* XPM */ + static char * TankS_xpm[] = { + "32 32 516 2", + " c None", + ". c #2A2A2A", + "+ c #6D6C6D", + "@ c #434343", + "# c #000000", + "$ c #3C3C3C", + "% c #878787", + "& c #DADADA", + "* c #D1D2D1", + "= c #DBDBDC", + "- c #DDDDDD", + "; c #777677", + "> c #636363", + ", c #3D3D3D", + "' c #D2D2D1", + ") c #CBCBCB", + "! c #CECECE", + "~ c #D2D2D2", + "{ c #D5D5D5", + "] c #D8D9D9", + "^ c #DCDCDC", + "/ c #E6E6E6", + "( c #ACADAC", + "_ c #949494", + ": c #2B2A2B", + "< c #202020", + "[ c #838383", + "} c #D0D0D1", + "| c #C4C3C3", + "1 c #C7C7C7", + "2 c #CACACA", + "3 c #D1D1D1", + "4 c #D5D4D5", + "5 c #D8D8D8", + "6 c #DEDEDE", + "7 c #E2E2E2", + "8 c #E5E5E5", + "9 c #F5F5F6", + "0 c #B5B5B5", + "a c #747474", + "b c #393939", + "c c #7E7E7E", + "d c #7B7B7B", + "e c #7C7C7C", + "f c #D3D3D3", + "g c #CCCCCC", + "h c #CDCDCD", + "i c #D4D4D4", + "j c #DBDBDA", + "k c #DEDFDF", + "l c #E2E2E1", + "m c #E5E4E5", + "n c #E9E8E8", + "o c #ECECEC", + "p c #F2F2F1", + "q c #FEFEFE", + "r c #989898", + "s c #737373", + "t c #ADADAD", + "u c #AAAAAA", + "v c #5A5A5A", + "w c #717171", + "x c #9D9D9D", + "y c #D7D7D7", + "z c #DBDBDB", + "A c #DEDDDD", + "B c #E1E1E1", + "C c #E4E5E4", + "D c #E8E8E8", + "E c #EBEBEC", + "F c #EFEFEF", + "G c #F1F1F1", + "H c #F0F0F0", + "I c #FFFFFF", + "J c #666666", + "K c #5E5E5E", + "L c #4D4D4D", + "M c #D8D7D8", + "N c #D7D7D6", + "O c #E3E3E3", + "P c #797979", + "Q c #656565", + "R c #A9AAAA", + "S c #707070", + "T c #949493", + "U c #C3C3C3", + "V c #E0E0E0", + "W c #E1E0E0", + "X c #E4E4E4", + "Y c #E7E7E7", + "Z c #EBEBEB", + "` c #EEEDED", + " . c #585858", + ".. c #5B5B5B", + "+. c #C3C4C3", + "@. c #D3D3D2", + "#. c #D3D3D4", + "$. c #D5D5D4", + "%. c #DFDFDF", + "&. c #474747", + "*. c #858585", + "=. c #505050", + "-. c #606060", + ";. c #848485", + ">. c #F4F4F5", + ",. c #6F6F6F", + "'. c #909090", + "). c #D9DAD9", + "!. c #D4D3D4", + "~. c #D6D6D5", + "{. c #525252", + "]. c #ADACAD", + "^. c #323232", + "/. c #ABABAA", + "(. c #D0CFCF", + "_. c #D1D0D1", + ":. c #D1D2D2", + "<. c #D3D4D3", + "[. c #D5D5D6", + "}. c #D6D6D6", + "|. c #1B1B1B", + "1. c #494949", + "2. c #919191", + "3. c #CFCFCF", + "4. c #D2D3D2", + "5. c #D4D5D4", + "6. c #848384", + "7. c #B2B2B2", + "8. c #B3B2B2", + "9. c #A7A7A7", + "0. c #444344", + "a. c #CCCFD1", + "b. c #ABC2D5", + "c. c #94BBD9", + "d. c #A9C4D7", + "e. c #C1CFD8", + "f. c #D0D1D1", + "g. c #2D2D2D", + "h. c #CDCECD", + "i. c #C5C5C5", + "j. c #C9C9C9", + "k. c #CBCBCA", + "l. c #CDCECE", + "m. c #CFCFD0", + "n. c #818181", + "o. c #B0B0B0", + "p. c #B1B1B1", + "q. c #9FA4AA", + "r. c #4D6782", + "s. c #557CA0", + "t. c #90B7DB", + "u. c #8DB5D7", + "v. c #8FB7D7", + "w. c #91BAD9", + "x. c #93BCD9", + "y. c #BCD3E1", + "z. c #747C81", + "A. c #BDBCBC", + "B. c #BEBEBE", + "C. c #C0C0C0", + "D. c #C2C2C2", + "E. c #C4C4C4", + "F. c #C6C6C6", + "G. c #C7C8C7", + "H. c #CAC9C9", + "I. c #7D7D7E", + "J. c #828281", + "K. c #AEAEAD", + "L. c #ADADAE", + "M. c #A6AAB1", + "N. c #7C9ABF", + "O. c #7699C2", + "P. c #769BC3", + "Q. c #789DC3", + "R. c #6288AE", + "S. c #4F7799", + "T. c #5981A3", + "U. c #94BDDC", + "V. c #8FB9D8", + "W. c #537E9A", + "X. c #87B2CE", + "Y. c #8AB0C7", + "Z. c #A8B6BE", + "`. c #B7BABB", + " + c #BDBDBD", + ".+ c #BFBFBF", + "++ c #C1C1C1", + "@+ c #C2C3C3", + "#+ c #C4C4C5", + "$+ c #C7C7C6", + "%+ c #7A7A7B", + "&+ c #7F8080", + "*+ c #A8AAAB", + "=+ c #9EA6AF", + "-+ c #7594BE", + ";+ c #7192C0", + ">+ c #7293C0", + ",+ c #7395C1", + "'+ c #7498C1", + ")+ c #7599C1", + "!+ c #779CC2", + "~+ c #779EC3", + "{+ c #769DC0", + "]+ c #638BAD", + "^+ c #4F7897", + "/+ c #4F7D9F", + "(+ c #7DA7C4", + "_+ c #7FAAC6", + ":+ c #80ADC7", + "<+ c #83B0C8", + "[+ c #8EB4C6", + "}+ c #B5B9BB", + "|+ c #BABBBC", + "1+ c #787878", + "2+ c #717B89", + "3+ c #6F90BD", + "4+ c #6F91BD", + "5+ c #6F90BE", + "6+ c #7091BE", + "7+ c #7192BF", + "8+ c #7194BF", + "9+ c #7396C0", + "0+ c #7498C0", + "a+ c #759AC1", + "b+ c #769CC1", + "c+ c #789FC2", + "d+ c #79A1C3", + "e+ c #4A7CA2", + "f+ c #7AA3C2", + "g+ c #7BA5C2", + "h+ c #7DA8C4", + "i+ c #7FABC5", + "j+ c #81AEC6", + "k+ c #83B1C8", + "l+ c #85B4C9", + "m+ c #98B7C4", + "n+ c #BABABB", + "o+ c #747576", + "p+ c #5B71A4", + "q+ c #6D89BE", + "r+ c #678BBF", + "s+ c #6D8EBD", + "t+ c #6D8FBD", + "u+ c #6E90BD", + "v+ c #7091BD", + "w+ c #7193BE", + "x+ c #7296BF", + "y+ c #7397C0", + "z+ c #7499C0", + "A+ c #759BC1", + "B+ c #779EC1", + "C+ c #4979A1", + "D+ c #769FBF", + "E+ c #78A0C0", + "F+ c #79A4C1", + "G+ c #7BA6C2", + "H+ c #7DAAC3", + "I+ c #80ACC5", + "J+ c #82B0C6", + "K+ c #84B2C7", + "L+ c #89B4C6", + "M+ c #95AFC1", + "N+ c #59819C", + "O+ c #5A6FA3", + "P+ c #7388BC", + "Q+ c #7489BC", + "R+ c #7189BD", + "S+ c #6B89BE", + "T+ c #678BBE", + "U+ c #6D8EBC", + "V+ c #6E8FBC", + "W+ c #6F92BE", + "X+ c #7194BE", + "Y+ c #7398BF", + "Z+ c #759BBF", + "`+ c #46759F", + " @ c #729ABC", + ".@ c #749CBD", + "+@ c #769FBE", + "@@ c #77A2BF", + "#@ c #79A5C0", + "$@ c #7BA7C2", + "%@ c #7CA9C2", + "&@ c #7AA5C3", + "*@ c #7CA6C4", + "=@ c #7DA7C5", + "-@ c #577E98", + ";@ c #586CA2", + ">@ c #7184BA", + ",@ c #7185BB", + "'@ c #7286BB", + ")@ c #7287BB", + "!@ c #7388BB", + "~@ c #6C86BD", + "{@ c #6486BF", + "]@ c #6B8DBB", + "^@ c #6D8FBB", + "/@ c #6E91BC", + "(@ c #7093BC", + "_@ c #7195BD", + ":@ c #7297BD", + "<@ c #43719D", + "[@ c #6E95B8", + "}@ c #7098BA", + "|@ c #729BBB", + "1@ c #749DBC", + "2@ c #799EB9", + "3@ c #719CBF", + "4@ c #769EBF", + "5@ c #77A0C0", + "6@ c #78A2C1", + "7@ c #7AA3C3", + "8@ c #557B96", + "9@ c #576AA1", + "0@ c #6F82B9", + "a@ c #7083BA", + "b@ c #7084BA", + "c@ c #7185BA", + "d@ c #7285BB", + "e@ c #7187BC", + "f@ c #6985BF", + "g@ c #6387C0", + "h@ c #6E90BC", + "i@ c #6F92BB", + "j@ c #7095BC", + "k@ c #416D9B", + "l@ c #6A90B5", + "m@ c #6A92B7", + "n@ c #6393BD", + "o@ c #6D95B9", + "p@ c #7097BA", + "q@ c #7199BA", + "r@ c #729ABB", + "s@ c #739BBD", + "t@ c #759DBE", + "u@ c #779FBE", + "v@ c #527794", + "w@ c #5567A0", + "x@ c #6D7EB7", + "y@ c #6D7FB7", + "z@ c #6E81B8", + "A@ c #6F82B8", + "B@ c #6F83B9", + "C@ c #7186BA", + "D@ c #6F85BB", + "E@ c #6183C2", + "F@ c #698DBC", + "G@ c #3D6A9A", + "H@ c #5E8BB7", + "I@ c #688EB3", + "J@ c #6A90B4", + "K@ c #6B91B5", + "L@ c #6C93B6", + "M@ c #6F97B8", + "N@ c #7199BB", + "O@ c #739BBC", + "P@ c #507492", + "Q@ c #52639E", + "R@ c #6A7BB5", + "S@ c #6A7CB6", + "T@ c #6B7DB6", + "U@ c #6C7EB7", + "V@ c #6D7FB8", + "W@ c #6D80B7", + "X@ c #6F83BA", + "Y@ c #436587", + "Z@ c #6388AF", + "`@ c #658AB0", + " # c #668CB1", + ".# c #688DB3", + "+# c #698FB4", + "@# c #6C92B6", + "## c #6D94B7", + "$# c #6F96B9", + "%# c #4E7190", + "&# c #50619D", + "*# c #6778B4", + "=# c #6878B4", + "-# c #6979B4", + ";# c #697BB5", + "># c #6A7CB7", + ",# c #6A7DB7", + "'# c #6B7EB7", + ")# c #6C7FB7", + "!# c #6E80B8", + "~# c #416285", + "{# c #6084AC", + "]# c #6186AD", + "^# c #6389B0", + "/# c #668BB0", + "(# c #678CB1", + "_# c #6B91B4", + ":# c #4B6E8E", + "<# c #4F5F9D", + "[# c #6575B2", + "}# c #6675B2", + "|# c #6676B3", + "1# c #6776B3", + "2# c #6777B4", + "3# c #6879B4", + "4# c #697AB5", + "5# c #6A7DB6", + "6# c #6B7DB7", + "7# c #6C7EB6", + "8# c #3E5E83", + "9# c #5C80A9", + "0# c #5D81AA", + "a# c #5F83AB", + "b# c #6085AC", + "c# c #6388AE", + "d# c #648AAF", + "e# c #668BB1", + "f# c #678CB2", + "g# c #688EB4", + "h# c #486B8C", + "i# c #233077", + "j# c #314293", + "k# c #6574B5", + "l# c #6573B2", + "m# c #6473B2", + "n# c #6575B3", + "o# c #6676B2", + "p# c #697AB4", + "q# c #3C5B81", + "r# c #587CA5", + "s# c #5A7DA7", + "t# c #5B7FA8", + "u# c #5D80A9", + "v# c #5D82AA", + "w# c #6185AD", + "x# c #6287AE", + "y# c #6389AF", + "z# c #678CB3", + "A# c #385C80", + "B# c #2A3576", + "C# c #35418C", + "D# c #253584", + "E# c #4F5FA4", + "F# c #6574B3", + "G# c #6372B1", + "H# c #6473B1", + "I# c #6474B2", + "J# c #6576B3", + "K# c #6777B3", + "L# c #3A587F", + "M# c #5578A3", + "N# c #5779A3", + "O# c #577BA5", + "P# c #597CA6", + "Q# c #5B7EA7", + "R# c #5C7FA8", + "S# c #5E82AA", + "T# c #4D7299", + "U# c #0C1A71", + "V# c #1E2A74", + "W# c #38448D", + "X# c #2E3D90", + "Y# c #33428C", + "Z# c #5D6AAC", + "`# c #6371B2", + " $ c #6270B0", + ".$ c #6372B0", + "+$ c #37557D", + "@$ c #52739F", + "#$ c #5274A1", + "$$ c #5577A3", + "%$ c #577AA4", + "&$ c #587CA6", + "*$ c #597DA6", + "=$ c #5C7FA9", + "-$ c #5478A1", + ";$ c #21466F", + ">$ c #111F72", + ",$ c #2B377D", + "'$ c #34428F", + ")$ c #303F8D", + "!$ c #455293", + "~$ c #6572B3", + "{$ c #616FB0", + "]$ c #626FB0", + "^$ c #34537B", + "/$ c #4E709D", + "($ c #50719E", + "_$ c #50729F", + ":$ c #5174A0", + "<$ c #5375A1", + "[$ c #577AA5", + "}$ c #3F618C", + "|$ c #2F5786", + "1$ c #0C315B", + "2$ c #182678", + "3$ c #1C2872", + "4$ c #354087", + "5$ c #2C3A88", + "6$ c #36448A", + "7$ c #5562A4", + "8$ c #6370B1", + "9$ c #34527A", + "0$ c #4C6D9B", + "a$ c #4D6E9C", + "b$ c #51739F", + "c$ c #385A87", + "d$ c #254672", + "e$ c #1F2A6F", + "f$ c #2A367A", + "g$ c #334088", + "h$ c #33428D", + "i$ c #254673", + "j$ c #4F709E", + "k$ c #375886", + "l$ c #224473", + "m$ c #09155A", + "n$ c #2A3577", + "o$ c #1E275A", + "p$ c #244676", + "q$ c #1F4373", + " ", + " . + @ # ", + " $ % & * = - ; > ", + " , % ' ) ! ~ { ] ^ / ( _ : ", + " < [ } | 1 2 ! 3 4 5 = 6 7 8 9 0 a # ", + " b c d e e f g h 3 i 5 j k l m n o p q r s # ", + " # t 7 u v _ w w x & f y z A B C D E F G H I J K ", + " L M f i N O P Q R S T U V 6 W X Y Z ` I d _ - V . ", + " ..+.3 3 @.#.$.5 %.&.*.=.-.;.8 Z Y >.,.'.).!.~.5 Y {. ", + " % ].^./.(._.:.<.!.[.}.V |.# # 1.Q 2.} g h 3._.4.5.6. ", + " *.7.8.t 9.0.N ' a.b.c.d.e.f.'.g.h.U i.1 j.k.g l.m.n. ", + " [ o.o.p.p.7.q.r.s.t.u.v.w.x.y.z.A.B.C.D.E.F.G.H.k.I. ", + " J.t K.L.M.N.O.P.Q.R.S.T.U.V.W.X.Y.Z.`. +.+++@+#+$+%+ ", + " &+*+=+-+;+>+,+'+)+!+~+{+]+^+/+(+_+:+<+[+}+|+B.C.++1+ ", + " 2+3+4+5+6+6+7+8+9+0+a+b+c+d+e+f+g+h+i+j+k+l+m+n+A.o+ ", + " p+q+r+s+t+u+u+v+w+x+y+z+A+B+C+D+E+F+G+H+I+J+K+L+M+N+ ", + " O+P+Q+R+S+T+U+V+3+W+X+x+Y+Z+`+ @.@+@@@#@$@%@&@*@=@-@ ", + " ;@>@,@'@)@!@~@{@]@^@/@(@_@:@<@[@}@|@1@2@3@4@5@6@7@8@ ", + " 9@0@a@b@c@d@'@'@e@f@g@h@i@j@k@l@m@n@o@p@q@r@s@t@u@v@ ", + " w@x@y@z@z@A@B@b@b@,@C@D@E@F@G@H@I@J@K@L@[@M@p@N@O@P@ ", + " Q@R@S@T@U@U@V@W@z@z@0@X@b@c@Y@Z@`@ #.#+#J@@###[@$#%# ", + " &#*#=#-#;#R@>#,#'#U@)#W@!#z@~#{#]#R.^#/#(#I@+#_#@#:# ", + " <#[#}#|#1#2#=#3#4#;#S@5#6#7#8#9#0#a#b#]#c#d#e#f#g#h# ", + " i#j#k#l#m#[#n#o#|#2#*#3#p#4#q#r#s#t#u#v#a#w#x#y#z#A# ", + " B#C#D#E#F#G#G#H#I#[#J#|#K#L#M#N#O#P#Q#R#0#S#{#T# ", + " U#V#W#X#Y#Z#`# $.$G#H#I#+$@$#$$$M#%$&$*$=$-$;$ ", + " >$,$'$)$!$~${$]$ $^$/$($_$:$<$[$}$|$1$ ", + " 2$3$4$5$6$7$8$9$0$a$a$b$c$d$ ", + " e$f$g$h$i$_$j$k$l$ ", + " m$n$o$p$q$ ", + " ", + " "}; + """ def tankWeight(obj, angles=Vector(0.0,0.0,0.0), cor=Vector(0.0,0.0,0.0)): - """ Compute tank fluid weight and their center of gravity. - @param obj Tank object. - @param angles Tank angles, Roll, Pitch and Yaw. - @param cor Center or rotation. - @return Weight and center of gravity. None if errors detected - """ - # Test if is a tank instance - props = obj.PropertiesList - try: - props.index("IsShipTank") - except ValueError: - return None - if not obj.IsShipTank: - return None - # Get object solids - Solids = obj.Shape.Solids - W = [0.0, 0.0, 0.0, 0.0] - for s in Solids: - # Get fluid volume - bbox = s.BoundBox - z0 = bbox.ZMin - z1 = bbox.ZMax - dz = obj.Level/100.0 * (z1-z0) - z = z0 + dz - dx = bbox.XMax-bbox.XMin - dy = bbox.YMax-bbox.YMin - box = Part.makeBox(3.0*(dx), 3.0*(dy), (z1-z0)+dz, Vector(bbox.XMin-dx, bbox.YMin-dy, bbox.ZMin-(z1-z0))) - fluid = s.common(box) - vol = fluid.Volume - W[0] = W[0] + vol*obj.Density - # Compute fluid solid in rotated position (non linear rotation - # are ussually computed as Roll -> Pitch -> Yaw). - s.rotate(cor, Vector(1.0,0.0,0.0), angles.x) - s.rotate(cor, Vector(0.0,1.0,0.0), angles.y) - s.rotate(cor, Vector(0.0,0.0,1.0), angles.z) - bbox = s.BoundBox - z0 = bbox.ZMin - z1 = bbox.ZMax - dx = bbox.XMax-bbox.XMin - dy = bbox.YMax-bbox.YMin - Error = 0.01*vol - z = 0.0 - v = 0.0 - while(abs(vol - v) > Error): - z = z + (vol - v) / (dx*dy) - dz = z - z0 - box = Part.makeBox(3.0*(dx), 3.0*(dy), (z1-z0)+dz, Vector(bbox.XMin-dx, bbox.YMin-dy, bbox.ZMin-(z1-z0))) - fluid = s.common(box) - v = fluid.Volume - if(abs(vol - v) / (dx*dy) <= 0.000001): - break - # Add fluid moments - for f in fluid.Solids: - cog = f.CenterOfMass - W[1] = W[1] + f.Volume*obj.Density*cog.x - W[2] = W[2] + f.Volume*obj.Density*cog.y - W[3] = W[3] + f.Volume*obj.Density*cog.z - return [W[0], W[1]/W[0], W[2]/W[0], W[3]/W[0]] + """ Compute tank fluid weight and their center of gravity. + @param obj Tank object. + @param angles Tank angles, Roll, Pitch and Yaw. + @param cor Center or rotation. + @return Weight and center of gravity. None if errors detected + """ + # Test if is a tank instance + props = obj.PropertiesList + try: + props.index("IsShipTank") + except ValueError: + return None + if not obj.IsShipTank: + return None + # Get object solids + Solids = obj.Shape.Solids + W = [0.0, 0.0, 0.0, 0.0] + for s in Solids: + # Get fluid volume + bbox = s.BoundBox + z0 = bbox.ZMin + z1 = bbox.ZMax + dz = obj.Level/100.0 * (z1-z0) + z = z0 + dz + dx = bbox.XMax-bbox.XMin + dy = bbox.YMax-bbox.YMin + box = Part.makeBox(3.0*(dx), 3.0*(dy), (z1-z0)+dz, Vector(bbox.XMin-dx, bbox.YMin-dy, bbox.ZMin-(z1-z0))) + fluid = s.common(box) + vol = fluid.Volume + W[0] = W[0] + vol*obj.Density + # Compute fluid solid in rotated position (non linear rotation + # are ussually computed as Roll -> Pitch -> Yaw). + s.rotate(cor, Vector(1.0,0.0,0.0), angles.x) + s.rotate(cor, Vector(0.0,1.0,0.0), angles.y) + s.rotate(cor, Vector(0.0,0.0,1.0), angles.z) + bbox = s.BoundBox + z0 = bbox.ZMin + z1 = bbox.ZMax + dx = bbox.XMax-bbox.XMin + dy = bbox.YMax-bbox.YMin + Error = 0.01*vol + z = 0.0 + v = 0.0 + while(abs(vol - v) > Error): + z = z + (vol - v) / (dx*dy) + dz = z - z0 + box = Part.makeBox(3.0*(dx), 3.0*(dy), (z1-z0)+dz, Vector(bbox.XMin-dx, bbox.YMin-dy, bbox.ZMin-(z1-z0))) + fluid = s.common(box) + v = fluid.Volume + if(abs(vol - v) / (dx*dy) <= 0.000001): + break + # Add fluid moments + for f in fluid.Solids: + cog = f.CenterOfMass + W[1] = W[1] + f.Volume*obj.Density*cog.x + W[2] = W[2] + f.Volume*obj.Density*cog.y + W[3] = W[3] + f.Volume*obj.Density*cog.z + return [W[0], W[1]/W[0], W[2]/W[0], W[3]/W[0]] diff --git a/src/Mod/Ship/makeResources.sh b/src/Mod/Ship/makeResources.sh new file mode 100755 index 000000000..f1c67a842 --- /dev/null +++ b/src/Mod/Ship/makeResources.sh @@ -0,0 +1,56 @@ +#!/bin/bash +## Create resources stuff for Ship module. + +# Perform trnaslations +pylupdate4 -verbose `find ./ -name "*.py"` -ts resources/translations/Ship.ts +lrelease resources/translations/Ship.ts +pylupdate4 -verbose `find ./ -name "*.py"` -ts resources/translations/Ship_af.ts +lrelease resources/translations/Ship_af.ts +pylupdate4 -verbose `find ./ -name "*.py"` -ts resources/translations/Ship_cs.ts +lrelease resources/translations/Ship_cs.ts +pylupdate4 -verbose `find ./ -name "*.py"` -ts resources/translations/Ship_de.ts +lrelease resources/translations/Ship_de.ts +pylupdate4 -verbose `find ./ -name "*.py"` -ts resources/translations/Ship_es-ES.ts +lrelease resources/translations/Ship_es-ES.ts +pylupdate4 -verbose `find ./ -name "*.py"` -ts resources/translations/Ship_fi.ts +lrelease resources/translations/Ship_fi.ts +pylupdate4 -verbose `find ./ -name "*.py"` -ts resources/translations/Ship_fr.ts +lrelease resources/translations/Ship_fr.ts +pylupdate4 -verbose `find ./ -name "*.py"` -ts resources/translations/Ship_hr.ts +lrelease resources/translations/Ship_hr.ts +pylupdate4 -verbose `find ./ -name "*.py"` -ts resources/translations/Ship_hu.ts +lrelease resources/translations/Ship_hu.ts +pylupdate4 -verbose `find ./ -name "*.py"` -ts resources/translations/Ship_it.ts +lrelease resources/translations/Ship_it.ts +pylupdate4 -verbose `find ./ -name "*.py"` -ts resources/translations/Ship_ja.ts +lrelease resources/translations/Ship_ja.ts +pylupdate4 -verbose `find ./ -name "*.py"` -ts resources/translations/Ship_nl.ts +lrelease resources/translations/Ship_nl.ts +pylupdate4 -verbose `find ./ -name "*.py"` -ts resources/translations/Ship_no.ts +lrelease resources/translations/Ship_no.ts +pylupdate4 -verbose `find ./ -name "*.py"` -ts resources/translations/Ship_pl.ts +lrelease resources/translations/Ship_pl.ts +pylupdate4 -verbose `find ./ -name "*.py"` -ts resources/translations/Ship_pt-BR.ts +lrelease resources/translations/Ship_pt-BR.ts +pylupdate4 -verbose `find ./ -name "*.py"` -ts resources/translations/Ship_ro.ts +lrelease resources/translations/Ship_ro.ts +pylupdate4 -verbose `find ./ -name "*.py"` -ts resources/translations/Ship_ru.ts +lrelease resources/translations/Ship_ru.ts +pylupdate4 -verbose `find ./ -name "*.py"` -ts resources/translations/Ship_sk.ts +lrelease resources/translations/Ship_sk.ts +pylupdate4 -verbose `find ./ -name "*.py"` -ts resources/translations/Ship_sv-SE.ts +lrelease resources/translations/Ship_sv-SE.ts +pylupdate4 -verbose `find ./ -name "*.py"` -ts resources/translations/Ship_tr.ts +lrelease resources/translations/Ship_tr.ts +pylupdate4 -verbose `find ./ -name "*.py"` -ts resources/translations/Ship_uk.ts +lrelease resources/translations/Ship_uk.ts +pylupdate4 -verbose `find ./ -name "*.py"` -ts resources/translations/Ship_zh-CN.ts +lrelease resources/translations/Ship_zh-CN.ts +pylupdate4 -verbose `find ./ -name "*.py"` -ts resources/translations/Ship_zh-TW.ts +lrelease resources/translations/Ship_zh-TW.ts + +# Create resources +rm -f Ship_rc.py +cd resources +pyrcc4 Ship.qrc -o ../Ship_rc.py +cd .. diff --git a/src/Mod/Ship/resources/Ship.qrc b/src/Mod/Ship/resources/Ship.qrc new file mode 100644 index 000000000..e5a2525c3 --- /dev/null +++ b/src/Mod/Ship/resources/Ship.qrc @@ -0,0 +1,38 @@ + + + icons/AreaCurveIco.png + icons/HydrostaticsIco.png + icons/Ico.png + icons/LoadIco.png + icons/OutlineDrawIco.png + icons/SimCreateIco.png + icons/SimPostIco.png + icons/SimRunIco.png + icons/SimStopIco.png + icons/Tank.png + icons/Weight.png + translations/Ship.qm + translations/Ship_af.qm + translations/Ship_cs.qm + translations/Ship_de.qm + translations/Ship_es-ES.qm + translations/Ship_fi.qm + translations/Ship_fr.qm + translations/Ship_hr.qm + translations/Ship_hu.qm + translations/Ship_it.qm + translations/Ship_ja.qm + translations/Ship_nl.qm + translations/Ship_no.qm + translations/Ship_pl.qm + translations/Ship_pt-BR.qm + translations/Ship_ro.qm + translations/Ship_ru.qm + translations/Ship_sk.qm + translations/Ship_sv-SE.qm + translations/Ship_tr.qm + translations/Ship_uk.qm + translations/Ship_zh-CN.qm + translations/Ship_zh-TW.qm + + diff --git a/src/Mod/Ship/Examples/s60.fcstd b/src/Mod/Ship/resources/examples/s60.fcstd similarity index 100% rename from src/Mod/Ship/Examples/s60.fcstd rename to src/Mod/Ship/resources/examples/s60.fcstd diff --git a/src/Mod/Ship/Examples/s60_katamaran.fcstd b/src/Mod/Ship/resources/examples/s60_katamaran.fcstd similarity index 100% rename from src/Mod/Ship/Examples/s60_katamaran.fcstd rename to src/Mod/Ship/resources/examples/s60_katamaran.fcstd diff --git a/src/Mod/Ship/Examples/wigley.fcstd b/src/Mod/Ship/resources/examples/wigley.fcstd similarity index 100% rename from src/Mod/Ship/Examples/wigley.fcstd rename to src/Mod/Ship/resources/examples/wigley.fcstd diff --git a/src/Mod/Ship/Examples/wigley_katamaran.fcstd b/src/Mod/Ship/resources/examples/wigley_katamaran.fcstd similarity index 100% rename from src/Mod/Ship/Examples/wigley_katamaran.fcstd rename to src/Mod/Ship/resources/examples/wigley_katamaran.fcstd diff --git a/src/Mod/Ship/Icons/AreaCurveIco.png b/src/Mod/Ship/resources/icons/AreaCurveIco.png similarity index 100% rename from src/Mod/Ship/Icons/AreaCurveIco.png rename to src/Mod/Ship/resources/icons/AreaCurveIco.png diff --git a/src/Mod/Ship/Icons/AreaCurveIco.xcf b/src/Mod/Ship/resources/icons/AreaCurveIco.xcf similarity index 100% rename from src/Mod/Ship/Icons/AreaCurveIco.xcf rename to src/Mod/Ship/resources/icons/AreaCurveIco.xcf diff --git a/src/Mod/Ship/Icons/AreaCurveIco.xpm b/src/Mod/Ship/resources/icons/AreaCurveIco.xpm similarity index 100% rename from src/Mod/Ship/Icons/AreaCurveIco.xpm rename to src/Mod/Ship/resources/icons/AreaCurveIco.xpm diff --git a/src/Mod/Ship/Icons/HydrostaticsIco.png b/src/Mod/Ship/resources/icons/HydrostaticsIco.png similarity index 100% rename from src/Mod/Ship/Icons/HydrostaticsIco.png rename to src/Mod/Ship/resources/icons/HydrostaticsIco.png diff --git a/src/Mod/Ship/Icons/HydrostaticsIco.xcf b/src/Mod/Ship/resources/icons/HydrostaticsIco.xcf similarity index 100% rename from src/Mod/Ship/Icons/HydrostaticsIco.xcf rename to src/Mod/Ship/resources/icons/HydrostaticsIco.xcf diff --git a/src/Mod/Ship/Icons/HydrostaticsIco.xpm b/src/Mod/Ship/resources/icons/HydrostaticsIco.xpm similarity index 100% rename from src/Mod/Ship/Icons/HydrostaticsIco.xpm rename to src/Mod/Ship/resources/icons/HydrostaticsIco.xpm diff --git a/src/Mod/Ship/Icons/Ico.png b/src/Mod/Ship/resources/icons/Ico.png similarity index 100% rename from src/Mod/Ship/Icons/Ico.png rename to src/Mod/Ship/resources/icons/Ico.png diff --git a/src/Mod/Ship/Icons/Ico.xcf b/src/Mod/Ship/resources/icons/Ico.xcf similarity index 100% rename from src/Mod/Ship/Icons/Ico.xcf rename to src/Mod/Ship/resources/icons/Ico.xcf diff --git a/src/Mod/Ship/Icons/Ico.xpm b/src/Mod/Ship/resources/icons/Ico.xpm similarity index 100% rename from src/Mod/Ship/Icons/Ico.xpm rename to src/Mod/Ship/resources/icons/Ico.xpm diff --git a/src/Mod/Ship/Icons/LoadIco.png b/src/Mod/Ship/resources/icons/LoadIco.png similarity index 100% rename from src/Mod/Ship/Icons/LoadIco.png rename to src/Mod/Ship/resources/icons/LoadIco.png diff --git a/src/Mod/Ship/Icons/LoadIco.xcf b/src/Mod/Ship/resources/icons/LoadIco.xcf similarity index 100% rename from src/Mod/Ship/Icons/LoadIco.xcf rename to src/Mod/Ship/resources/icons/LoadIco.xcf diff --git a/src/Mod/Ship/Icons/LoadIco.xpm b/src/Mod/Ship/resources/icons/LoadIco.xpm similarity index 100% rename from src/Mod/Ship/Icons/LoadIco.xpm rename to src/Mod/Ship/resources/icons/LoadIco.xpm diff --git a/src/Mod/Ship/Icons/OutlineDrawIco.png b/src/Mod/Ship/resources/icons/OutlineDrawIco.png similarity index 100% rename from src/Mod/Ship/Icons/OutlineDrawIco.png rename to src/Mod/Ship/resources/icons/OutlineDrawIco.png diff --git a/src/Mod/Ship/Icons/OutlineDrawIco.xcf b/src/Mod/Ship/resources/icons/OutlineDrawIco.xcf similarity index 100% rename from src/Mod/Ship/Icons/OutlineDrawIco.xcf rename to src/Mod/Ship/resources/icons/OutlineDrawIco.xcf diff --git a/src/Mod/Ship/Icons/OutlineDrawIco.xpm b/src/Mod/Ship/resources/icons/OutlineDrawIco.xpm similarity index 100% rename from src/Mod/Ship/Icons/OutlineDrawIco.xpm rename to src/Mod/Ship/resources/icons/OutlineDrawIco.xpm diff --git a/src/Mod/Ship/Icons/Ship.xcf b/src/Mod/Ship/resources/icons/Ship.xcf similarity index 100% rename from src/Mod/Ship/Icons/Ship.xcf rename to src/Mod/Ship/resources/icons/Ship.xcf diff --git a/src/Mod/Ship/Icons/Ship.xpm b/src/Mod/Ship/resources/icons/Ship.xpm similarity index 100% rename from src/Mod/Ship/Icons/Ship.xpm rename to src/Mod/Ship/resources/icons/Ship.xpm diff --git a/src/Mod/Ship/Icons/Sim.xpm b/src/Mod/Ship/resources/icons/Sim.xpm similarity index 100% rename from src/Mod/Ship/Icons/Sim.xpm rename to src/Mod/Ship/resources/icons/Sim.xpm diff --git a/src/Mod/Ship/Icons/SimCreateIco.png b/src/Mod/Ship/resources/icons/SimCreateIco.png similarity index 100% rename from src/Mod/Ship/Icons/SimCreateIco.png rename to src/Mod/Ship/resources/icons/SimCreateIco.png diff --git a/src/Mod/Ship/Icons/SimCreateIco.xcf b/src/Mod/Ship/resources/icons/SimCreateIco.xcf similarity index 100% rename from src/Mod/Ship/Icons/SimCreateIco.xcf rename to src/Mod/Ship/resources/icons/SimCreateIco.xcf diff --git a/src/Mod/Ship/Icons/SimCreateIco.xpm b/src/Mod/Ship/resources/icons/SimCreateIco.xpm similarity index 100% rename from src/Mod/Ship/Icons/SimCreateIco.xpm rename to src/Mod/Ship/resources/icons/SimCreateIco.xpm diff --git a/src/Mod/Ship/Icons/SimIco.xcf b/src/Mod/Ship/resources/icons/SimIco.xcf similarity index 100% rename from src/Mod/Ship/Icons/SimIco.xcf rename to src/Mod/Ship/resources/icons/SimIco.xcf diff --git a/src/Mod/Ship/Icons/SimPostIco.png b/src/Mod/Ship/resources/icons/SimPostIco.png similarity index 100% rename from src/Mod/Ship/Icons/SimPostIco.png rename to src/Mod/Ship/resources/icons/SimPostIco.png diff --git a/src/Mod/Ship/Icons/SimPostIco.xpm b/src/Mod/Ship/resources/icons/SimPostIco.xpm similarity index 100% rename from src/Mod/Ship/Icons/SimPostIco.xpm rename to src/Mod/Ship/resources/icons/SimPostIco.xpm diff --git a/src/Mod/Ship/Icons/SimRunIco.png b/src/Mod/Ship/resources/icons/SimRunIco.png similarity index 100% rename from src/Mod/Ship/Icons/SimRunIco.png rename to src/Mod/Ship/resources/icons/SimRunIco.png diff --git a/src/Mod/Ship/Icons/SimRunIco.xpm b/src/Mod/Ship/resources/icons/SimRunIco.xpm similarity index 100% rename from src/Mod/Ship/Icons/SimRunIco.xpm rename to src/Mod/Ship/resources/icons/SimRunIco.xpm diff --git a/src/Mod/Ship/Icons/SimStopIco.png b/src/Mod/Ship/resources/icons/SimStopIco.png similarity index 100% rename from src/Mod/Ship/Icons/SimStopIco.png rename to src/Mod/Ship/resources/icons/SimStopIco.png diff --git a/src/Mod/Ship/Icons/SimStopIco.xpm b/src/Mod/Ship/resources/icons/SimStopIco.xpm similarity index 100% rename from src/Mod/Ship/Icons/SimStopIco.xpm rename to src/Mod/Ship/resources/icons/SimStopIco.xpm diff --git a/src/Mod/Ship/Icons/Tank.png b/src/Mod/Ship/resources/icons/Tank.png similarity index 100% rename from src/Mod/Ship/Icons/Tank.png rename to src/Mod/Ship/resources/icons/Tank.png diff --git a/src/Mod/Ship/Icons/Tank.xcf b/src/Mod/Ship/resources/icons/Tank.xcf similarity index 100% rename from src/Mod/Ship/Icons/Tank.xcf rename to src/Mod/Ship/resources/icons/Tank.xcf diff --git a/src/Mod/Ship/Icons/Tank.xpm b/src/Mod/Ship/resources/icons/Tank.xpm similarity index 100% rename from src/Mod/Ship/Icons/Tank.xpm rename to src/Mod/Ship/resources/icons/Tank.xpm diff --git a/src/Mod/Ship/Icons/Weight.png b/src/Mod/Ship/resources/icons/Weight.png similarity index 100% rename from src/Mod/Ship/Icons/Weight.png rename to src/Mod/Ship/resources/icons/Weight.png diff --git a/src/Mod/Ship/Icons/Weight.xcf b/src/Mod/Ship/resources/icons/Weight.xcf similarity index 100% rename from src/Mod/Ship/Icons/Weight.xcf rename to src/Mod/Ship/resources/icons/Weight.xcf diff --git a/src/Mod/Ship/Icons/Weight.xpm b/src/Mod/Ship/resources/icons/Weight.xpm similarity index 100% rename from src/Mod/Ship/Icons/Weight.xpm rename to src/Mod/Ship/resources/icons/Weight.xpm diff --git a/src/Mod/Ship/resources/translations/Ship.qm b/src/Mod/Ship/resources/translations/Ship.qm new file mode 100644 index 000000000..be651eede --- /dev/null +++ b/src/Mod/Ship/resources/translations/Ship.qm @@ -0,0 +1 @@ +<¸dÊÍ!¿`¡½Ý \ No newline at end of file diff --git a/src/Mod/Ship/resources/translations/Ship.ts b/src/Mod/Ship/resources/translations/Ship.ts new file mode 100644 index 000000000..ed2d718ae --- /dev/null +++ b/src/Mod/Ship/resources/translations/Ship.ts @@ -0,0 +1,863 @@ + + + + Ship + + + True if is a valid ship tank instance + + + + + Fluid filling level percentage + + + + + Inside fluid density + + + + + True if is a valid ship simulation instance + + + + + Waves (Amplitude,period,phase) + + + + + Waves direction (0 deg to stern waves) + + + + + Free surface number of elements at x direction + + + + + Free surface number of elements at y direction + + + + + Free surface elements position + + + + + Free surface elements area + + + + + Free surface elements normal + + + + + Ship + + + + + Ship module provides some of the commonly used tool to design ship forms + + + + + Ship design + + + + + Weights + + + + + Simulation + + + + + True if is a valid ship instance + + + + + Ship Weights names + + + + + Lightweight + + + + + Ship Weights masses + + + + + Ship Weights centers of gravity + + + + + Ship_AreasCurve + + + Areas curve + + + + + Plot transversal areas curve + + + + + Ship_CreateShip + + + Create a new ship + + + + + Create a new ship in order to work with them + + + + + Ship_CreateSim + + + Create a new simulation + + + + + Create a new simulation in order to process later + + + + + Ship_CreateTank + + + Create a new tank + + + + + Create a new ship tank + + + + + Ship_GZ + + + GZ curve + + + + + Transversal stability GZ curve computation + + + + + Ship_Hydrostatics + + + Hydrostatics + + + + + Plot ship hydrostatics + + + + + Ship_LoadExample + + + Load an example ship geometry + + + + + Load an example ship geometry able to be converted into a ship. + + + + + Ship_OutlineDraw + + + Outline draw + + + + + Plot ship outline draw + + + + + Ship_RunSim + + + Run a simulation + + + + + Ship_StopSim + + + Stop active simulation + + + + + Ship_TrackSim + + + Track simulation + + + + + Ship_Weights + + + Set ship weights + + + + + Set ship weights, tanks must be added later + + + + + ship_areas + + + Plot transversal areas curve + + + + + Draft + + + + + Trim + + + + + Displacement + + + + + Areas curve tool draft selected [m] + + + + + Areas curve tool trim selected + + + + + ship_console + + + Plot module is disabled, can't perform plot + + + + + Can't create folder + + + + + Can't write to file + + + + + Data saved + + + + + Ship instance must be selected (no object selected) + + + + + More than one ship selected (extra ships will be neglected) + + + + + Ship instance must be selected (no valid ship found at selected objects) + + + + + Ussually you don't want to modify manually this option + + + + + Object is not a valid ship simulation + + + + + Object is not a ship simulation + + + + + Can't find any active simulation + + + + + Ship objects can only be created on top of hull geometry (any object selected) + + + + + Please create or load a ship hull geometry before using this tool + + + + + Ship objects can only be created on top of hull geometry (no solid found at selected objects) + + + + + Plot module is disabled, tools can't graph output curves + + + + + pyOpenCL not installed, simulations stuff will disabled therefore + + + + + numpy not installed, simulations stuff will disabled therefore + + + + + Can't detect external faces from ship object + + + + + Computing hydrostatics + + + + + Computing external faces + + + + + Initializating + + + + + Iterating + + + + + Generating linear system matrix + + + + + Solving linear systems + + + + + Time integrating + + + + + Building data + + + + + Launching simulation + + + + + Done + + + + + Ship simulation instance must be selected (no object selected) + + + + + More than one ship simulation selected (extra simulations will be neglected) + + + + + Ship simulation instance must be selected (no valid simulation found at selected objects) + + + + + Can't find OpenCL devices + + + + + Simulation already stopped + + + + + Any active simulation to stop + + + + + Simulation will stop at the end of actual iteration + + + + + Computing GZ + + + + + Ship weights has not been set. You need to set weights before use this tool + + + + + Performing plot + + + + + Computing sections + + + + + Any valid ship section found + + + + + Tank has not been created + + + + + Tank objects can only be created on top of structure geometry (no object selected) + + + + + Please create a tank geometry before using this tool + + + + + Tank objects can only be created on top of structure geometry (no solids can't be computed) + + + + + ship_create + + + Base line + + + + + Free surface + + + + + Forward perpendicular + + + + + After perpendicular + + + + + Main frame + + + + + Create a new ship + + + + + Length + + + + + Breadth + + + + + Draft + + + + + ship_hydrostatic + + + Plot hydrostatics + + + + + Trim + + + + + Minimum draft + + + + + Maximum draft + + + + + Number of points + + + + + Hydrostatics tool trim selected + + + + + Hydrostatics tool minimum draft selected [m] + + + + + Hydrostatics tool maximum draft selected [m] + + + + + Hydrostatics tool number of points selected + + + + + ship_load + + + Load example ship + + + + + Select ship example geometry + + + + + ship_outline + + + Outline draw + + + + + Auto create + + + + + Scale + + + + + Delete all sections + + + + + Create sections + + + + + Transversal + + + + + Longitudinal + + + + + Water lines + + + + + Transversal sections position [m] + + + + + Longitudinal sections position [m] + + + + + Water lines position [m] + + + + + Plot scale (1:scale format) + + + + + shipsim_create + + + Create a new ship simulation + + + + + Free surface + + + + + Length + + + + + Breadth + + + + + Number of points + + + + + Waves + + + + + Amplitude + + + + + Period + + + + + Phase + + + + + Heading + + + + + shipsim_stop + + + Run the simulation + + + + + Simulation time + + + + + Output + + + + + OpenCL device + + + + + shipsim_track + + + Track simulation + + + + + Now + + + + + shiptank_create + + + Create a new tank + + + + + Filling level + + + + + Fluid density + + + + + shiptank_gz + + + Draft + + + + + GZ curve computation + + + + + Loading condition + + + + + Roll angles + + + + + Trim + + + + + Start + + + + + End + + + + + Number of points + + + + + Displacement + + + + + Press update to compute + + + + + Update displacement and draft + + + + + shiptank_weights + + + Set weights + + + + + Name + + + + + Mass + + + + diff --git a/src/Mod/Ship/resources/translations/Ship_af.qm b/src/Mod/Ship/resources/translations/Ship_af.qm new file mode 100644 index 000000000..be651eede --- /dev/null +++ b/src/Mod/Ship/resources/translations/Ship_af.qm @@ -0,0 +1 @@ +<¸dÊÍ!¿`¡½Ý \ No newline at end of file diff --git a/src/Mod/Ship/resources/translations/Ship_af.ts b/src/Mod/Ship/resources/translations/Ship_af.ts new file mode 100644 index 000000000..ed2d718ae --- /dev/null +++ b/src/Mod/Ship/resources/translations/Ship_af.ts @@ -0,0 +1,863 @@ + + + + Ship + + + True if is a valid ship tank instance + + + + + Fluid filling level percentage + + + + + Inside fluid density + + + + + True if is a valid ship simulation instance + + + + + Waves (Amplitude,period,phase) + + + + + Waves direction (0 deg to stern waves) + + + + + Free surface number of elements at x direction + + + + + Free surface number of elements at y direction + + + + + Free surface elements position + + + + + Free surface elements area + + + + + Free surface elements normal + + + + + Ship + + + + + Ship module provides some of the commonly used tool to design ship forms + + + + + Ship design + + + + + Weights + + + + + Simulation + + + + + True if is a valid ship instance + + + + + Ship Weights names + + + + + Lightweight + + + + + Ship Weights masses + + + + + Ship Weights centers of gravity + + + + + Ship_AreasCurve + + + Areas curve + + + + + Plot transversal areas curve + + + + + Ship_CreateShip + + + Create a new ship + + + + + Create a new ship in order to work with them + + + + + Ship_CreateSim + + + Create a new simulation + + + + + Create a new simulation in order to process later + + + + + Ship_CreateTank + + + Create a new tank + + + + + Create a new ship tank + + + + + Ship_GZ + + + GZ curve + + + + + Transversal stability GZ curve computation + + + + + Ship_Hydrostatics + + + Hydrostatics + + + + + Plot ship hydrostatics + + + + + Ship_LoadExample + + + Load an example ship geometry + + + + + Load an example ship geometry able to be converted into a ship. + + + + + Ship_OutlineDraw + + + Outline draw + + + + + Plot ship outline draw + + + + + Ship_RunSim + + + Run a simulation + + + + + Ship_StopSim + + + Stop active simulation + + + + + Ship_TrackSim + + + Track simulation + + + + + Ship_Weights + + + Set ship weights + + + + + Set ship weights, tanks must be added later + + + + + ship_areas + + + Plot transversal areas curve + + + + + Draft + + + + + Trim + + + + + Displacement + + + + + Areas curve tool draft selected [m] + + + + + Areas curve tool trim selected + + + + + ship_console + + + Plot module is disabled, can't perform plot + + + + + Can't create folder + + + + + Can't write to file + + + + + Data saved + + + + + Ship instance must be selected (no object selected) + + + + + More than one ship selected (extra ships will be neglected) + + + + + Ship instance must be selected (no valid ship found at selected objects) + + + + + Ussually you don't want to modify manually this option + + + + + Object is not a valid ship simulation + + + + + Object is not a ship simulation + + + + + Can't find any active simulation + + + + + Ship objects can only be created on top of hull geometry (any object selected) + + + + + Please create or load a ship hull geometry before using this tool + + + + + Ship objects can only be created on top of hull geometry (no solid found at selected objects) + + + + + Plot module is disabled, tools can't graph output curves + + + + + pyOpenCL not installed, simulations stuff will disabled therefore + + + + + numpy not installed, simulations stuff will disabled therefore + + + + + Can't detect external faces from ship object + + + + + Computing hydrostatics + + + + + Computing external faces + + + + + Initializating + + + + + Iterating + + + + + Generating linear system matrix + + + + + Solving linear systems + + + + + Time integrating + + + + + Building data + + + + + Launching simulation + + + + + Done + + + + + Ship simulation instance must be selected (no object selected) + + + + + More than one ship simulation selected (extra simulations will be neglected) + + + + + Ship simulation instance must be selected (no valid simulation found at selected objects) + + + + + Can't find OpenCL devices + + + + + Simulation already stopped + + + + + Any active simulation to stop + + + + + Simulation will stop at the end of actual iteration + + + + + Computing GZ + + + + + Ship weights has not been set. You need to set weights before use this tool + + + + + Performing plot + + + + + Computing sections + + + + + Any valid ship section found + + + + + Tank has not been created + + + + + Tank objects can only be created on top of structure geometry (no object selected) + + + + + Please create a tank geometry before using this tool + + + + + Tank objects can only be created on top of structure geometry (no solids can't be computed) + + + + + ship_create + + + Base line + + + + + Free surface + + + + + Forward perpendicular + + + + + After perpendicular + + + + + Main frame + + + + + Create a new ship + + + + + Length + + + + + Breadth + + + + + Draft + + + + + ship_hydrostatic + + + Plot hydrostatics + + + + + Trim + + + + + Minimum draft + + + + + Maximum draft + + + + + Number of points + + + + + Hydrostatics tool trim selected + + + + + Hydrostatics tool minimum draft selected [m] + + + + + Hydrostatics tool maximum draft selected [m] + + + + + Hydrostatics tool number of points selected + + + + + ship_load + + + Load example ship + + + + + Select ship example geometry + + + + + ship_outline + + + Outline draw + + + + + Auto create + + + + + Scale + + + + + Delete all sections + + + + + Create sections + + + + + Transversal + + + + + Longitudinal + + + + + Water lines + + + + + Transversal sections position [m] + + + + + Longitudinal sections position [m] + + + + + Water lines position [m] + + + + + Plot scale (1:scale format) + + + + + shipsim_create + + + Create a new ship simulation + + + + + Free surface + + + + + Length + + + + + Breadth + + + + + Number of points + + + + + Waves + + + + + Amplitude + + + + + Period + + + + + Phase + + + + + Heading + + + + + shipsim_stop + + + Run the simulation + + + + + Simulation time + + + + + Output + + + + + OpenCL device + + + + + shipsim_track + + + Track simulation + + + + + Now + + + + + shiptank_create + + + Create a new tank + + + + + Filling level + + + + + Fluid density + + + + + shiptank_gz + + + Draft + + + + + GZ curve computation + + + + + Loading condition + + + + + Roll angles + + + + + Trim + + + + + Start + + + + + End + + + + + Number of points + + + + + Displacement + + + + + Press update to compute + + + + + Update displacement and draft + + + + + shiptank_weights + + + Set weights + + + + + Name + + + + + Mass + + + + diff --git a/src/Mod/Ship/resources/translations/Ship_cs.qm b/src/Mod/Ship/resources/translations/Ship_cs.qm new file mode 100644 index 000000000..be651eede --- /dev/null +++ b/src/Mod/Ship/resources/translations/Ship_cs.qm @@ -0,0 +1 @@ +<¸dÊÍ!¿`¡½Ý \ No newline at end of file diff --git a/src/Mod/Ship/resources/translations/Ship_cs.ts b/src/Mod/Ship/resources/translations/Ship_cs.ts new file mode 100644 index 000000000..ed2d718ae --- /dev/null +++ b/src/Mod/Ship/resources/translations/Ship_cs.ts @@ -0,0 +1,863 @@ + + + + Ship + + + True if is a valid ship tank instance + + + + + Fluid filling level percentage + + + + + Inside fluid density + + + + + True if is a valid ship simulation instance + + + + + Waves (Amplitude,period,phase) + + + + + Waves direction (0 deg to stern waves) + + + + + Free surface number of elements at x direction + + + + + Free surface number of elements at y direction + + + + + Free surface elements position + + + + + Free surface elements area + + + + + Free surface elements normal + + + + + Ship + + + + + Ship module provides some of the commonly used tool to design ship forms + + + + + Ship design + + + + + Weights + + + + + Simulation + + + + + True if is a valid ship instance + + + + + Ship Weights names + + + + + Lightweight + + + + + Ship Weights masses + + + + + Ship Weights centers of gravity + + + + + Ship_AreasCurve + + + Areas curve + + + + + Plot transversal areas curve + + + + + Ship_CreateShip + + + Create a new ship + + + + + Create a new ship in order to work with them + + + + + Ship_CreateSim + + + Create a new simulation + + + + + Create a new simulation in order to process later + + + + + Ship_CreateTank + + + Create a new tank + + + + + Create a new ship tank + + + + + Ship_GZ + + + GZ curve + + + + + Transversal stability GZ curve computation + + + + + Ship_Hydrostatics + + + Hydrostatics + + + + + Plot ship hydrostatics + + + + + Ship_LoadExample + + + Load an example ship geometry + + + + + Load an example ship geometry able to be converted into a ship. + + + + + Ship_OutlineDraw + + + Outline draw + + + + + Plot ship outline draw + + + + + Ship_RunSim + + + Run a simulation + + + + + Ship_StopSim + + + Stop active simulation + + + + + Ship_TrackSim + + + Track simulation + + + + + Ship_Weights + + + Set ship weights + + + + + Set ship weights, tanks must be added later + + + + + ship_areas + + + Plot transversal areas curve + + + + + Draft + + + + + Trim + + + + + Displacement + + + + + Areas curve tool draft selected [m] + + + + + Areas curve tool trim selected + + + + + ship_console + + + Plot module is disabled, can't perform plot + + + + + Can't create folder + + + + + Can't write to file + + + + + Data saved + + + + + Ship instance must be selected (no object selected) + + + + + More than one ship selected (extra ships will be neglected) + + + + + Ship instance must be selected (no valid ship found at selected objects) + + + + + Ussually you don't want to modify manually this option + + + + + Object is not a valid ship simulation + + + + + Object is not a ship simulation + + + + + Can't find any active simulation + + + + + Ship objects can only be created on top of hull geometry (any object selected) + + + + + Please create or load a ship hull geometry before using this tool + + + + + Ship objects can only be created on top of hull geometry (no solid found at selected objects) + + + + + Plot module is disabled, tools can't graph output curves + + + + + pyOpenCL not installed, simulations stuff will disabled therefore + + + + + numpy not installed, simulations stuff will disabled therefore + + + + + Can't detect external faces from ship object + + + + + Computing hydrostatics + + + + + Computing external faces + + + + + Initializating + + + + + Iterating + + + + + Generating linear system matrix + + + + + Solving linear systems + + + + + Time integrating + + + + + Building data + + + + + Launching simulation + + + + + Done + + + + + Ship simulation instance must be selected (no object selected) + + + + + More than one ship simulation selected (extra simulations will be neglected) + + + + + Ship simulation instance must be selected (no valid simulation found at selected objects) + + + + + Can't find OpenCL devices + + + + + Simulation already stopped + + + + + Any active simulation to stop + + + + + Simulation will stop at the end of actual iteration + + + + + Computing GZ + + + + + Ship weights has not been set. You need to set weights before use this tool + + + + + Performing plot + + + + + Computing sections + + + + + Any valid ship section found + + + + + Tank has not been created + + + + + Tank objects can only be created on top of structure geometry (no object selected) + + + + + Please create a tank geometry before using this tool + + + + + Tank objects can only be created on top of structure geometry (no solids can't be computed) + + + + + ship_create + + + Base line + + + + + Free surface + + + + + Forward perpendicular + + + + + After perpendicular + + + + + Main frame + + + + + Create a new ship + + + + + Length + + + + + Breadth + + + + + Draft + + + + + ship_hydrostatic + + + Plot hydrostatics + + + + + Trim + + + + + Minimum draft + + + + + Maximum draft + + + + + Number of points + + + + + Hydrostatics tool trim selected + + + + + Hydrostatics tool minimum draft selected [m] + + + + + Hydrostatics tool maximum draft selected [m] + + + + + Hydrostatics tool number of points selected + + + + + ship_load + + + Load example ship + + + + + Select ship example geometry + + + + + ship_outline + + + Outline draw + + + + + Auto create + + + + + Scale + + + + + Delete all sections + + + + + Create sections + + + + + Transversal + + + + + Longitudinal + + + + + Water lines + + + + + Transversal sections position [m] + + + + + Longitudinal sections position [m] + + + + + Water lines position [m] + + + + + Plot scale (1:scale format) + + + + + shipsim_create + + + Create a new ship simulation + + + + + Free surface + + + + + Length + + + + + Breadth + + + + + Number of points + + + + + Waves + + + + + Amplitude + + + + + Period + + + + + Phase + + + + + Heading + + + + + shipsim_stop + + + Run the simulation + + + + + Simulation time + + + + + Output + + + + + OpenCL device + + + + + shipsim_track + + + Track simulation + + + + + Now + + + + + shiptank_create + + + Create a new tank + + + + + Filling level + + + + + Fluid density + + + + + shiptank_gz + + + Draft + + + + + GZ curve computation + + + + + Loading condition + + + + + Roll angles + + + + + Trim + + + + + Start + + + + + End + + + + + Number of points + + + + + Displacement + + + + + Press update to compute + + + + + Update displacement and draft + + + + + shiptank_weights + + + Set weights + + + + + Name + + + + + Mass + + + + diff --git a/src/Mod/Ship/resources/translations/Ship_de.qm b/src/Mod/Ship/resources/translations/Ship_de.qm new file mode 100644 index 000000000..be651eede --- /dev/null +++ b/src/Mod/Ship/resources/translations/Ship_de.qm @@ -0,0 +1 @@ +<¸dÊÍ!¿`¡½Ý \ No newline at end of file diff --git a/src/Mod/Ship/resources/translations/Ship_de.ts b/src/Mod/Ship/resources/translations/Ship_de.ts new file mode 100644 index 000000000..ed2d718ae --- /dev/null +++ b/src/Mod/Ship/resources/translations/Ship_de.ts @@ -0,0 +1,863 @@ + + + + Ship + + + True if is a valid ship tank instance + + + + + Fluid filling level percentage + + + + + Inside fluid density + + + + + True if is a valid ship simulation instance + + + + + Waves (Amplitude,period,phase) + + + + + Waves direction (0 deg to stern waves) + + + + + Free surface number of elements at x direction + + + + + Free surface number of elements at y direction + + + + + Free surface elements position + + + + + Free surface elements area + + + + + Free surface elements normal + + + + + Ship + + + + + Ship module provides some of the commonly used tool to design ship forms + + + + + Ship design + + + + + Weights + + + + + Simulation + + + + + True if is a valid ship instance + + + + + Ship Weights names + + + + + Lightweight + + + + + Ship Weights masses + + + + + Ship Weights centers of gravity + + + + + Ship_AreasCurve + + + Areas curve + + + + + Plot transversal areas curve + + + + + Ship_CreateShip + + + Create a new ship + + + + + Create a new ship in order to work with them + + + + + Ship_CreateSim + + + Create a new simulation + + + + + Create a new simulation in order to process later + + + + + Ship_CreateTank + + + Create a new tank + + + + + Create a new ship tank + + + + + Ship_GZ + + + GZ curve + + + + + Transversal stability GZ curve computation + + + + + Ship_Hydrostatics + + + Hydrostatics + + + + + Plot ship hydrostatics + + + + + Ship_LoadExample + + + Load an example ship geometry + + + + + Load an example ship geometry able to be converted into a ship. + + + + + Ship_OutlineDraw + + + Outline draw + + + + + Plot ship outline draw + + + + + Ship_RunSim + + + Run a simulation + + + + + Ship_StopSim + + + Stop active simulation + + + + + Ship_TrackSim + + + Track simulation + + + + + Ship_Weights + + + Set ship weights + + + + + Set ship weights, tanks must be added later + + + + + ship_areas + + + Plot transversal areas curve + + + + + Draft + + + + + Trim + + + + + Displacement + + + + + Areas curve tool draft selected [m] + + + + + Areas curve tool trim selected + + + + + ship_console + + + Plot module is disabled, can't perform plot + + + + + Can't create folder + + + + + Can't write to file + + + + + Data saved + + + + + Ship instance must be selected (no object selected) + + + + + More than one ship selected (extra ships will be neglected) + + + + + Ship instance must be selected (no valid ship found at selected objects) + + + + + Ussually you don't want to modify manually this option + + + + + Object is not a valid ship simulation + + + + + Object is not a ship simulation + + + + + Can't find any active simulation + + + + + Ship objects can only be created on top of hull geometry (any object selected) + + + + + Please create or load a ship hull geometry before using this tool + + + + + Ship objects can only be created on top of hull geometry (no solid found at selected objects) + + + + + Plot module is disabled, tools can't graph output curves + + + + + pyOpenCL not installed, simulations stuff will disabled therefore + + + + + numpy not installed, simulations stuff will disabled therefore + + + + + Can't detect external faces from ship object + + + + + Computing hydrostatics + + + + + Computing external faces + + + + + Initializating + + + + + Iterating + + + + + Generating linear system matrix + + + + + Solving linear systems + + + + + Time integrating + + + + + Building data + + + + + Launching simulation + + + + + Done + + + + + Ship simulation instance must be selected (no object selected) + + + + + More than one ship simulation selected (extra simulations will be neglected) + + + + + Ship simulation instance must be selected (no valid simulation found at selected objects) + + + + + Can't find OpenCL devices + + + + + Simulation already stopped + + + + + Any active simulation to stop + + + + + Simulation will stop at the end of actual iteration + + + + + Computing GZ + + + + + Ship weights has not been set. You need to set weights before use this tool + + + + + Performing plot + + + + + Computing sections + + + + + Any valid ship section found + + + + + Tank has not been created + + + + + Tank objects can only be created on top of structure geometry (no object selected) + + + + + Please create a tank geometry before using this tool + + + + + Tank objects can only be created on top of structure geometry (no solids can't be computed) + + + + + ship_create + + + Base line + + + + + Free surface + + + + + Forward perpendicular + + + + + After perpendicular + + + + + Main frame + + + + + Create a new ship + + + + + Length + + + + + Breadth + + + + + Draft + + + + + ship_hydrostatic + + + Plot hydrostatics + + + + + Trim + + + + + Minimum draft + + + + + Maximum draft + + + + + Number of points + + + + + Hydrostatics tool trim selected + + + + + Hydrostatics tool minimum draft selected [m] + + + + + Hydrostatics tool maximum draft selected [m] + + + + + Hydrostatics tool number of points selected + + + + + ship_load + + + Load example ship + + + + + Select ship example geometry + + + + + ship_outline + + + Outline draw + + + + + Auto create + + + + + Scale + + + + + Delete all sections + + + + + Create sections + + + + + Transversal + + + + + Longitudinal + + + + + Water lines + + + + + Transversal sections position [m] + + + + + Longitudinal sections position [m] + + + + + Water lines position [m] + + + + + Plot scale (1:scale format) + + + + + shipsim_create + + + Create a new ship simulation + + + + + Free surface + + + + + Length + + + + + Breadth + + + + + Number of points + + + + + Waves + + + + + Amplitude + + + + + Period + + + + + Phase + + + + + Heading + + + + + shipsim_stop + + + Run the simulation + + + + + Simulation time + + + + + Output + + + + + OpenCL device + + + + + shipsim_track + + + Track simulation + + + + + Now + + + + + shiptank_create + + + Create a new tank + + + + + Filling level + + + + + Fluid density + + + + + shiptank_gz + + + Draft + + + + + GZ curve computation + + + + + Loading condition + + + + + Roll angles + + + + + Trim + + + + + Start + + + + + End + + + + + Number of points + + + + + Displacement + + + + + Press update to compute + + + + + Update displacement and draft + + + + + shiptank_weights + + + Set weights + + + + + Name + + + + + Mass + + + + diff --git a/src/Mod/Ship/resources/translations/Ship_es-ES.qm b/src/Mod/Ship/resources/translations/Ship_es-ES.qm new file mode 100644 index 0000000000000000000000000000000000000000..a72de36ef96dcd2ba715300d9867c6369acb4807 GIT binary patch literal 20755 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 literal 0 HcmV?d00001 diff --git a/src/Mod/Ship/resources/translations/Ship_es-ES.ts b/src/Mod/Ship/resources/translations/Ship_es-ES.ts new file mode 100644 index 000000000..26f2a4070 --- /dev/null +++ b/src/Mod/Ship/resources/translations/Ship_es-ES.ts @@ -0,0 +1,863 @@ + + + + Ship + + + True if is a valid ship tank instance + True si se trata de una entidad tanque de buque valida + + + + Fluid filling level percentage + Porcentage de llenado + + + + Inside fluid density + Densidad del fluido del interior + + + + True if is a valid ship simulation instance + True si se trata de una entidad simulacion de buques válida + + + + Waves (Amplitude,period,phase) + Olas (amplitud,periodo,phase) + + + + Waves direction (0 deg to stern waves) + Direccion de las olas (0 grados para olas de popa) + + + + Free surface number of elements at x direction + Numero de elementos en la dirección x en la superficie libre + + + + Free surface number of elements at y direction + Numero de elementos en la dirección y en la superficie libre + + + + Free surface elements position + Posiciones de los elementos de la superficie libre + + + + Free surface elements area + Area de los elementos de la superficie libre + + + + Free surface elements normal + Normales de los elementos de la superficie libre + + + + Ship + Buque + + + + Ship module provides some of the commonly used tool to design ship forms + El módulo de diseño de buques provee algunas de las herramientas más comunes + + + + Ship design + Buques + + + + Weights + Pesos + + + + Simulation + Simulación + + + + True if is a valid ship instance + True si se trata de una entidad buque valida + + + + Ship Weights names + Nombres de los pesos del buque + + + + Lightweight + Peso en rosca + + + + Ship Weights masses + Masas de los pesos del buque + + + + Ship Weights centers of gravity + Centros de gravedad de los pesos del buque + + + + Ship_AreasCurve + + + Areas curve + Curva de áreas + + + + Plot transversal areas curve + Grafica la curva de áreas + + + + Ship_CreateShip + + + Create a new ship + Crear nuevo barco + + + + Create a new ship in order to work with them + Crea un nuevo barco para poder trabajar con él + + + + Ship_CreateSim + + + Create a new simulation + Crear nueva simulación + + + + Create a new simulation in order to process later + Crea una nueva simulación para procesarla más tarde + + + + Ship_CreateTank + + + Create a new tank + Crear nuevo tanque + + + + Create a new ship tank + Crea un nuevo tanque + + + + Ship_GZ + + + GZ curve + Curva de GZ + + + + Transversal stability GZ curve computation + Calcula la curva de brazos adrizantes GZ (estabilidad transversal) + + + + Ship_Hydrostatics + + + Hydrostatics + Hidrostáticas + + + + Plot ship hydrostatics + Grafica las curvas de hidrostáticas + + + + Ship_LoadExample + + + Load an example ship geometry + Cargar formas de buque de ejemplo + + + + Load an example ship geometry able to be converted into a ship. + Carga formas de ejemplo de buques que pueden ser directamente convertidas en buques + + + + Ship_OutlineDraw + + + Outline draw + Plano de formas + + + + Plot ship outline draw + Traza el plano de formas de buque + + + + Ship_RunSim + + + Run a simulation + Lanzar simulación + + + + Ship_StopSim + + + Stop active simulation + Deterner la simulación activa + + + + Ship_TrackSim + + + Track simulation + Seguimiento de la simulación + + + + Ship_Weights + + + Set ship weights + Establecer los pesos del buque + + + + Set ship weights, tanks must be added later + Establezca los pesos del buque. Los tanque se añadirán más tarde + + + + ship_areas + + + Plot transversal areas curve + Graficar la curva de áreas + + + + Draft + Calado + + + + Trim + Trimado + + + + Displacement + Desplazamiento + + + + Areas curve tool draft selected [m] + Calado seleccionado en la herramienta de curva de areas + + + + Areas curve tool trim selected + Trimado seleccionado en la herramienta de curva de areas + + + + ship_console + + + Plot module is disabled, can't perform plot + El módulo de graficado está desactivado, no se podran trazar los graficos + + + + Can't create folder + No se puede crear la carpeta + + + + Can't write to file + No se puede esbribir el archivo + + + + Data saved + Datos guardados + + + + Ship instance must be selected (no object selected) + Una entidad de buque debe ser seleccionada (Ningun objeto seleccionado) + + + + More than one ship selected (extra ships will be neglected) + Mas de un buque ha sido seleccionado (solo se considerara el primero de ellos) + + + + Ship instance must be selected (no valid ship found at selected objects) + Una entidad de buque debe ser seleccionada (Ningun objeto seleccionado) + + + + Ussually you don't want to modify manually this option + Normalmente usted no deseara modificar esta opcion manualmente + + + + Object is not a valid ship simulation + El objeto no es una simulacion de buques valida + + + + Object is not a ship simulation + El objeto no es una simulacion de buques + + + + Can't find any active simulation + No se encuentra ninguna simulacion activa + + + + Ship objects can only be created on top of hull geometry (any object selected) + Los buques solo se puede crear a partir de la geometria del casco (Ningun objeto seleccionado) + + + + Please create or load a ship hull geometry before using this tool + Por favor, cree o cargue una geometria para el casco antes de usar esta herramienta + + + + Ship objects can only be created on top of hull geometry (no solid found at selected objects) + Los buques solo se puede crear a partir de la geometria del casco (No existen solidos en los objetos seleccionados) + + + + Plot module is disabled, tools can't graph output curves + El modulo de graficado esta desactivado, no se podran trazar los graficos + + + + pyOpenCL not installed, simulations stuff will disabled therefore + pyOpenCL no se encuentra instalado, las herramientas para simular seran desactivadas + + + + numpy not installed, simulations stuff will disabled therefore + numpy no se encuentra instalado, las herramientas para simular seran desactivadas + + + + Can't detect external faces from ship object + No se pueden extraer las caras exteriores del buque + + + + Computing hydrostatics + Calculando hidrostaticas + + + + Computing external faces + Calculando caras externas + + + + Initializating + Iniciando + + + + Iterating + Iterando + + + + Generating linear system matrix + Generando matriz del sistema linear de ecuaciones + + + + Solving linear systems + Resolviendo sistema linear de ecuaciones + + + + Time integrating + Integrando en el tiempo + + + + Building data + Construyendo datos + + + + Launching simulation + Lanzando simulacion + + + + Done + Hecho + + + + Ship simulation instance must be selected (no object selected) + Una entidad de simulacion debe ser seleccionada (Ningun objeto seleccionado) + + + + More than one ship simulation selected (extra simulations will be neglected) + Mas de una simulacion ha sido seleccionada (solo se considerara la primera de ellas) + + + + Ship simulation instance must be selected (no valid simulation found at selected objects) + Una entidad de simulacion debe ser seleccionada (No existe una simulacion valida en los objetos seleccionados) + + + + Can't find OpenCL devices + No se puede encontrar ningun dispositivo OpenCL + + + + Simulation already stopped + La simulacion ya se encuentra detenida + + + + Any active simulation to stop + No se encuentra ninguna simulacion activa + + + + Simulation will stop at the end of actual iteration + La simulacion se detendra al final de la actual iteracion + + + + Computing GZ + Calculando curva de GZ + + + + Ship weights has not been set. You need to set weights before use this tool + Los pesos del buque no has sido establecidos. Necesita establecerlos antes de usar esta herramienta + + + + Performing plot + Graficando + + + + Computing sections + Calculando secciones + + + + Any valid ship section found + No se encontro ninguna seccion valida + + + + Tank has not been created + El tanque no ha sido creado + + + + Tank objects can only be created on top of structure geometry (no object selected) + Las entidades tanque solo se pueden crear a partir de la geometria de la estructura (Ningun objeto seleccionado) + + + + Please create a tank geometry before using this tool + Por favor, cree la geometria del tanque antes de usar esta herramienta + + + + Tank objects can only be created on top of structure geometry (no solids can't be computed) + Las entidades tanque solo se pueden crear a partir de la geometria de la estructura (No existen solidos en los objetos seleccionados) + + + + ship_create + + + Base line + Linea base + + + + Free surface + Superficie libre + + + + Forward perpendicular + Perpendicular de proa + + + + After perpendicular + Perpendicular de popa + + + + Main frame + Cuaderna maestra + + + + Create a new ship + Crear nuevo barco + + + + Length + Eslora + + + + Breadth + Manga + + + + Draft + Calado + + + + ship_hydrostatic + + + Plot hydrostatics + Graficar hidorstaticas + + + + Trim + Trimado + + + + Minimum draft + Calado mínimo + + + + Maximum draft + Calado máximo + + + + Number of points + Número de puntos + + + + Hydrostatics tool trim selected + Trimado seleccionado en la herramienta de hidrostaticas + + + + Hydrostatics tool minimum draft selected [m] + Calado minimo seleccionado en la herramienta de hidrostaticas + + + + Hydrostatics tool maximum draft selected [m] + Calado maximo seleccionado en la herramienta de hidrostaticas + + + + Hydrostatics tool number of points selected + Numero de puntos seleccionado en la herramienta de hidrostaticas + + + + ship_load + + + Load example ship + Cargar buque de ejemplo + + + + Select ship example geometry + Elija la geometria del buque de ejemplo + + + + ship_outline + + + Outline draw + Plano de formas + + + + Auto create + Auto-generar + + + + Scale + Escala + + + + Delete all sections + Eliminar todas las secciones + + + + Create sections + Generar secciones + + + + Transversal + Transversal + + + + Longitudinal + Longitudinal + + + + Water lines + Lineas de agua + + + + Transversal sections position [m] + Posiciones de las secciones transversales [m] + + + + Longitudinal sections position [m] + Posiciones de las secciones longitudinales [m] + + + + Water lines position [m] + Posiciones de las lineas de agua [m] + + + + Plot scale (1:scale format) + Escala del grafico (formato 1:escala) + + + + shipsim_create + + + Create a new ship simulation + Crear nueva simulacion de buques + + + + Free surface + Superficie libre + + + + Length + Largo + + + + Breadth + Ancho + + + + Number of points + Número de puntos + + + + Waves + Olas + + + + Amplitude + Amplitud + + + + Period + Periodo + + + + Phase + Fase + + + + Heading + Dirección + + + + shipsim_stop + + + Run the simulation + Lanza la simulación + + + + Simulation time + Tiempo de simulación + + + + Output + Salida + + + + OpenCL device + Dispositivo OpenCL + + + + shipsim_track + + + Track simulation + Seguimiento de la simulación + + + + Now + Ahora + + + + shiptank_create + + + Create a new tank + Crear nuevo tanque + + + + Filling level + Nivel de llenado + + + + Fluid density + Densidad del fluido + + + + shiptank_gz + + + Draft + Calado + + + + GZ curve computation + Cálculo de la curva de GZ + + + + Loading condition + Condición de carga + + + + Roll angles + Ãngulos de escora + + + + Trim + Trimado + + + + Start + Inicial + + + + End + Final + + + + Number of points + Número de puntos + + + + Displacement + Desplazamiento + + + + Press update to compute + Presiona actualizar para calcularlo + + + + Update displacement and draft + Actualizar desplazamiento y calado + + + + shiptank_weights + + + Set weights + Establecer pesos + + + + Name + Nombre + + + + Mass + Masa + + + diff --git a/src/Mod/Ship/resources/translations/Ship_fi.qm b/src/Mod/Ship/resources/translations/Ship_fi.qm new file mode 100644 index 000000000..be651eede --- /dev/null +++ b/src/Mod/Ship/resources/translations/Ship_fi.qm @@ -0,0 +1 @@ +<¸dÊÍ!¿`¡½Ý \ No newline at end of file diff --git a/src/Mod/Ship/resources/translations/Ship_fi.ts b/src/Mod/Ship/resources/translations/Ship_fi.ts new file mode 100644 index 000000000..ed2d718ae --- /dev/null +++ b/src/Mod/Ship/resources/translations/Ship_fi.ts @@ -0,0 +1,863 @@ + + + + Ship + + + True if is a valid ship tank instance + + + + + Fluid filling level percentage + + + + + Inside fluid density + + + + + True if is a valid ship simulation instance + + + + + Waves (Amplitude,period,phase) + + + + + Waves direction (0 deg to stern waves) + + + + + Free surface number of elements at x direction + + + + + Free surface number of elements at y direction + + + + + Free surface elements position + + + + + Free surface elements area + + + + + Free surface elements normal + + + + + Ship + + + + + Ship module provides some of the commonly used tool to design ship forms + + + + + Ship design + + + + + Weights + + + + + Simulation + + + + + True if is a valid ship instance + + + + + Ship Weights names + + + + + Lightweight + + + + + Ship Weights masses + + + + + Ship Weights centers of gravity + + + + + Ship_AreasCurve + + + Areas curve + + + + + Plot transversal areas curve + + + + + Ship_CreateShip + + + Create a new ship + + + + + Create a new ship in order to work with them + + + + + Ship_CreateSim + + + Create a new simulation + + + + + Create a new simulation in order to process later + + + + + Ship_CreateTank + + + Create a new tank + + + + + Create a new ship tank + + + + + Ship_GZ + + + GZ curve + + + + + Transversal stability GZ curve computation + + + + + Ship_Hydrostatics + + + Hydrostatics + + + + + Plot ship hydrostatics + + + + + Ship_LoadExample + + + Load an example ship geometry + + + + + Load an example ship geometry able to be converted into a ship. + + + + + Ship_OutlineDraw + + + Outline draw + + + + + Plot ship outline draw + + + + + Ship_RunSim + + + Run a simulation + + + + + Ship_StopSim + + + Stop active simulation + + + + + Ship_TrackSim + + + Track simulation + + + + + Ship_Weights + + + Set ship weights + + + + + Set ship weights, tanks must be added later + + + + + ship_areas + + + Plot transversal areas curve + + + + + Draft + + + + + Trim + + + + + Displacement + + + + + Areas curve tool draft selected [m] + + + + + Areas curve tool trim selected + + + + + ship_console + + + Plot module is disabled, can't perform plot + + + + + Can't create folder + + + + + Can't write to file + + + + + Data saved + + + + + Ship instance must be selected (no object selected) + + + + + More than one ship selected (extra ships will be neglected) + + + + + Ship instance must be selected (no valid ship found at selected objects) + + + + + Ussually you don't want to modify manually this option + + + + + Object is not a valid ship simulation + + + + + Object is not a ship simulation + + + + + Can't find any active simulation + + + + + Ship objects can only be created on top of hull geometry (any object selected) + + + + + Please create or load a ship hull geometry before using this tool + + + + + Ship objects can only be created on top of hull geometry (no solid found at selected objects) + + + + + Plot module is disabled, tools can't graph output curves + + + + + pyOpenCL not installed, simulations stuff will disabled therefore + + + + + numpy not installed, simulations stuff will disabled therefore + + + + + Can't detect external faces from ship object + + + + + Computing hydrostatics + + + + + Computing external faces + + + + + Initializating + + + + + Iterating + + + + + Generating linear system matrix + + + + + Solving linear systems + + + + + Time integrating + + + + + Building data + + + + + Launching simulation + + + + + Done + + + + + Ship simulation instance must be selected (no object selected) + + + + + More than one ship simulation selected (extra simulations will be neglected) + + + + + Ship simulation instance must be selected (no valid simulation found at selected objects) + + + + + Can't find OpenCL devices + + + + + Simulation already stopped + + + + + Any active simulation to stop + + + + + Simulation will stop at the end of actual iteration + + + + + Computing GZ + + + + + Ship weights has not been set. You need to set weights before use this tool + + + + + Performing plot + + + + + Computing sections + + + + + Any valid ship section found + + + + + Tank has not been created + + + + + Tank objects can only be created on top of structure geometry (no object selected) + + + + + Please create a tank geometry before using this tool + + + + + Tank objects can only be created on top of structure geometry (no solids can't be computed) + + + + + ship_create + + + Base line + + + + + Free surface + + + + + Forward perpendicular + + + + + After perpendicular + + + + + Main frame + + + + + Create a new ship + + + + + Length + + + + + Breadth + + + + + Draft + + + + + ship_hydrostatic + + + Plot hydrostatics + + + + + Trim + + + + + Minimum draft + + + + + Maximum draft + + + + + Number of points + + + + + Hydrostatics tool trim selected + + + + + Hydrostatics tool minimum draft selected [m] + + + + + Hydrostatics tool maximum draft selected [m] + + + + + Hydrostatics tool number of points selected + + + + + ship_load + + + Load example ship + + + + + Select ship example geometry + + + + + ship_outline + + + Outline draw + + + + + Auto create + + + + + Scale + + + + + Delete all sections + + + + + Create sections + + + + + Transversal + + + + + Longitudinal + + + + + Water lines + + + + + Transversal sections position [m] + + + + + Longitudinal sections position [m] + + + + + Water lines position [m] + + + + + Plot scale (1:scale format) + + + + + shipsim_create + + + Create a new ship simulation + + + + + Free surface + + + + + Length + + + + + Breadth + + + + + Number of points + + + + + Waves + + + + + Amplitude + + + + + Period + + + + + Phase + + + + + Heading + + + + + shipsim_stop + + + Run the simulation + + + + + Simulation time + + + + + Output + + + + + OpenCL device + + + + + shipsim_track + + + Track simulation + + + + + Now + + + + + shiptank_create + + + Create a new tank + + + + + Filling level + + + + + Fluid density + + + + + shiptank_gz + + + Draft + + + + + GZ curve computation + + + + + Loading condition + + + + + Roll angles + + + + + Trim + + + + + Start + + + + + End + + + + + Number of points + + + + + Displacement + + + + + Press update to compute + + + + + Update displacement and draft + + + + + shiptank_weights + + + Set weights + + + + + Name + + + + + Mass + + + + diff --git a/src/Mod/Ship/resources/translations/Ship_fr.qm b/src/Mod/Ship/resources/translations/Ship_fr.qm new file mode 100644 index 000000000..be651eede --- /dev/null +++ b/src/Mod/Ship/resources/translations/Ship_fr.qm @@ -0,0 +1 @@ +<¸dÊÍ!¿`¡½Ý \ No newline at end of file diff --git a/src/Mod/Ship/resources/translations/Ship_fr.ts b/src/Mod/Ship/resources/translations/Ship_fr.ts new file mode 100644 index 000000000..ed2d718ae --- /dev/null +++ b/src/Mod/Ship/resources/translations/Ship_fr.ts @@ -0,0 +1,863 @@ + + + + Ship + + + True if is a valid ship tank instance + + + + + Fluid filling level percentage + + + + + Inside fluid density + + + + + True if is a valid ship simulation instance + + + + + Waves (Amplitude,period,phase) + + + + + Waves direction (0 deg to stern waves) + + + + + Free surface number of elements at x direction + + + + + Free surface number of elements at y direction + + + + + Free surface elements position + + + + + Free surface elements area + + + + + Free surface elements normal + + + + + Ship + + + + + Ship module provides some of the commonly used tool to design ship forms + + + + + Ship design + + + + + Weights + + + + + Simulation + + + + + True if is a valid ship instance + + + + + Ship Weights names + + + + + Lightweight + + + + + Ship Weights masses + + + + + Ship Weights centers of gravity + + + + + Ship_AreasCurve + + + Areas curve + + + + + Plot transversal areas curve + + + + + Ship_CreateShip + + + Create a new ship + + + + + Create a new ship in order to work with them + + + + + Ship_CreateSim + + + Create a new simulation + + + + + Create a new simulation in order to process later + + + + + Ship_CreateTank + + + Create a new tank + + + + + Create a new ship tank + + + + + Ship_GZ + + + GZ curve + + + + + Transversal stability GZ curve computation + + + + + Ship_Hydrostatics + + + Hydrostatics + + + + + Plot ship hydrostatics + + + + + Ship_LoadExample + + + Load an example ship geometry + + + + + Load an example ship geometry able to be converted into a ship. + + + + + Ship_OutlineDraw + + + Outline draw + + + + + Plot ship outline draw + + + + + Ship_RunSim + + + Run a simulation + + + + + Ship_StopSim + + + Stop active simulation + + + + + Ship_TrackSim + + + Track simulation + + + + + Ship_Weights + + + Set ship weights + + + + + Set ship weights, tanks must be added later + + + + + ship_areas + + + Plot transversal areas curve + + + + + Draft + + + + + Trim + + + + + Displacement + + + + + Areas curve tool draft selected [m] + + + + + Areas curve tool trim selected + + + + + ship_console + + + Plot module is disabled, can't perform plot + + + + + Can't create folder + + + + + Can't write to file + + + + + Data saved + + + + + Ship instance must be selected (no object selected) + + + + + More than one ship selected (extra ships will be neglected) + + + + + Ship instance must be selected (no valid ship found at selected objects) + + + + + Ussually you don't want to modify manually this option + + + + + Object is not a valid ship simulation + + + + + Object is not a ship simulation + + + + + Can't find any active simulation + + + + + Ship objects can only be created on top of hull geometry (any object selected) + + + + + Please create or load a ship hull geometry before using this tool + + + + + Ship objects can only be created on top of hull geometry (no solid found at selected objects) + + + + + Plot module is disabled, tools can't graph output curves + + + + + pyOpenCL not installed, simulations stuff will disabled therefore + + + + + numpy not installed, simulations stuff will disabled therefore + + + + + Can't detect external faces from ship object + + + + + Computing hydrostatics + + + + + Computing external faces + + + + + Initializating + + + + + Iterating + + + + + Generating linear system matrix + + + + + Solving linear systems + + + + + Time integrating + + + + + Building data + + + + + Launching simulation + + + + + Done + + + + + Ship simulation instance must be selected (no object selected) + + + + + More than one ship simulation selected (extra simulations will be neglected) + + + + + Ship simulation instance must be selected (no valid simulation found at selected objects) + + + + + Can't find OpenCL devices + + + + + Simulation already stopped + + + + + Any active simulation to stop + + + + + Simulation will stop at the end of actual iteration + + + + + Computing GZ + + + + + Ship weights has not been set. You need to set weights before use this tool + + + + + Performing plot + + + + + Computing sections + + + + + Any valid ship section found + + + + + Tank has not been created + + + + + Tank objects can only be created on top of structure geometry (no object selected) + + + + + Please create a tank geometry before using this tool + + + + + Tank objects can only be created on top of structure geometry (no solids can't be computed) + + + + + ship_create + + + Base line + + + + + Free surface + + + + + Forward perpendicular + + + + + After perpendicular + + + + + Main frame + + + + + Create a new ship + + + + + Length + + + + + Breadth + + + + + Draft + + + + + ship_hydrostatic + + + Plot hydrostatics + + + + + Trim + + + + + Minimum draft + + + + + Maximum draft + + + + + Number of points + + + + + Hydrostatics tool trim selected + + + + + Hydrostatics tool minimum draft selected [m] + + + + + Hydrostatics tool maximum draft selected [m] + + + + + Hydrostatics tool number of points selected + + + + + ship_load + + + Load example ship + + + + + Select ship example geometry + + + + + ship_outline + + + Outline draw + + + + + Auto create + + + + + Scale + + + + + Delete all sections + + + + + Create sections + + + + + Transversal + + + + + Longitudinal + + + + + Water lines + + + + + Transversal sections position [m] + + + + + Longitudinal sections position [m] + + + + + Water lines position [m] + + + + + Plot scale (1:scale format) + + + + + shipsim_create + + + Create a new ship simulation + + + + + Free surface + + + + + Length + + + + + Breadth + + + + + Number of points + + + + + Waves + + + + + Amplitude + + + + + Period + + + + + Phase + + + + + Heading + + + + + shipsim_stop + + + Run the simulation + + + + + Simulation time + + + + + Output + + + + + OpenCL device + + + + + shipsim_track + + + Track simulation + + + + + Now + + + + + shiptank_create + + + Create a new tank + + + + + Filling level + + + + + Fluid density + + + + + shiptank_gz + + + Draft + + + + + GZ curve computation + + + + + Loading condition + + + + + Roll angles + + + + + Trim + + + + + Start + + + + + End + + + + + Number of points + + + + + Displacement + + + + + Press update to compute + + + + + Update displacement and draft + + + + + shiptank_weights + + + Set weights + + + + + Name + + + + + Mass + + + + diff --git a/src/Mod/Ship/resources/translations/Ship_hr.qm b/src/Mod/Ship/resources/translations/Ship_hr.qm new file mode 100644 index 000000000..be651eede --- /dev/null +++ b/src/Mod/Ship/resources/translations/Ship_hr.qm @@ -0,0 +1 @@ +<¸dÊÍ!¿`¡½Ý \ No newline at end of file diff --git a/src/Mod/Ship/resources/translations/Ship_hr.ts b/src/Mod/Ship/resources/translations/Ship_hr.ts new file mode 100644 index 000000000..ed2d718ae --- /dev/null +++ b/src/Mod/Ship/resources/translations/Ship_hr.ts @@ -0,0 +1,863 @@ + + + + Ship + + + True if is a valid ship tank instance + + + + + Fluid filling level percentage + + + + + Inside fluid density + + + + + True if is a valid ship simulation instance + + + + + Waves (Amplitude,period,phase) + + + + + Waves direction (0 deg to stern waves) + + + + + Free surface number of elements at x direction + + + + + Free surface number of elements at y direction + + + + + Free surface elements position + + + + + Free surface elements area + + + + + Free surface elements normal + + + + + Ship + + + + + Ship module provides some of the commonly used tool to design ship forms + + + + + Ship design + + + + + Weights + + + + + Simulation + + + + + True if is a valid ship instance + + + + + Ship Weights names + + + + + Lightweight + + + + + Ship Weights masses + + + + + Ship Weights centers of gravity + + + + + Ship_AreasCurve + + + Areas curve + + + + + Plot transversal areas curve + + + + + Ship_CreateShip + + + Create a new ship + + + + + Create a new ship in order to work with them + + + + + Ship_CreateSim + + + Create a new simulation + + + + + Create a new simulation in order to process later + + + + + Ship_CreateTank + + + Create a new tank + + + + + Create a new ship tank + + + + + Ship_GZ + + + GZ curve + + + + + Transversal stability GZ curve computation + + + + + Ship_Hydrostatics + + + Hydrostatics + + + + + Plot ship hydrostatics + + + + + Ship_LoadExample + + + Load an example ship geometry + + + + + Load an example ship geometry able to be converted into a ship. + + + + + Ship_OutlineDraw + + + Outline draw + + + + + Plot ship outline draw + + + + + Ship_RunSim + + + Run a simulation + + + + + Ship_StopSim + + + Stop active simulation + + + + + Ship_TrackSim + + + Track simulation + + + + + Ship_Weights + + + Set ship weights + + + + + Set ship weights, tanks must be added later + + + + + ship_areas + + + Plot transversal areas curve + + + + + Draft + + + + + Trim + + + + + Displacement + + + + + Areas curve tool draft selected [m] + + + + + Areas curve tool trim selected + + + + + ship_console + + + Plot module is disabled, can't perform plot + + + + + Can't create folder + + + + + Can't write to file + + + + + Data saved + + + + + Ship instance must be selected (no object selected) + + + + + More than one ship selected (extra ships will be neglected) + + + + + Ship instance must be selected (no valid ship found at selected objects) + + + + + Ussually you don't want to modify manually this option + + + + + Object is not a valid ship simulation + + + + + Object is not a ship simulation + + + + + Can't find any active simulation + + + + + Ship objects can only be created on top of hull geometry (any object selected) + + + + + Please create or load a ship hull geometry before using this tool + + + + + Ship objects can only be created on top of hull geometry (no solid found at selected objects) + + + + + Plot module is disabled, tools can't graph output curves + + + + + pyOpenCL not installed, simulations stuff will disabled therefore + + + + + numpy not installed, simulations stuff will disabled therefore + + + + + Can't detect external faces from ship object + + + + + Computing hydrostatics + + + + + Computing external faces + + + + + Initializating + + + + + Iterating + + + + + Generating linear system matrix + + + + + Solving linear systems + + + + + Time integrating + + + + + Building data + + + + + Launching simulation + + + + + Done + + + + + Ship simulation instance must be selected (no object selected) + + + + + More than one ship simulation selected (extra simulations will be neglected) + + + + + Ship simulation instance must be selected (no valid simulation found at selected objects) + + + + + Can't find OpenCL devices + + + + + Simulation already stopped + + + + + Any active simulation to stop + + + + + Simulation will stop at the end of actual iteration + + + + + Computing GZ + + + + + Ship weights has not been set. You need to set weights before use this tool + + + + + Performing plot + + + + + Computing sections + + + + + Any valid ship section found + + + + + Tank has not been created + + + + + Tank objects can only be created on top of structure geometry (no object selected) + + + + + Please create a tank geometry before using this tool + + + + + Tank objects can only be created on top of structure geometry (no solids can't be computed) + + + + + ship_create + + + Base line + + + + + Free surface + + + + + Forward perpendicular + + + + + After perpendicular + + + + + Main frame + + + + + Create a new ship + + + + + Length + + + + + Breadth + + + + + Draft + + + + + ship_hydrostatic + + + Plot hydrostatics + + + + + Trim + + + + + Minimum draft + + + + + Maximum draft + + + + + Number of points + + + + + Hydrostatics tool trim selected + + + + + Hydrostatics tool minimum draft selected [m] + + + + + Hydrostatics tool maximum draft selected [m] + + + + + Hydrostatics tool number of points selected + + + + + ship_load + + + Load example ship + + + + + Select ship example geometry + + + + + ship_outline + + + Outline draw + + + + + Auto create + + + + + Scale + + + + + Delete all sections + + + + + Create sections + + + + + Transversal + + + + + Longitudinal + + + + + Water lines + + + + + Transversal sections position [m] + + + + + Longitudinal sections position [m] + + + + + Water lines position [m] + + + + + Plot scale (1:scale format) + + + + + shipsim_create + + + Create a new ship simulation + + + + + Free surface + + + + + Length + + + + + Breadth + + + + + Number of points + + + + + Waves + + + + + Amplitude + + + + + Period + + + + + Phase + + + + + Heading + + + + + shipsim_stop + + + Run the simulation + + + + + Simulation time + + + + + Output + + + + + OpenCL device + + + + + shipsim_track + + + Track simulation + + + + + Now + + + + + shiptank_create + + + Create a new tank + + + + + Filling level + + + + + Fluid density + + + + + shiptank_gz + + + Draft + + + + + GZ curve computation + + + + + Loading condition + + + + + Roll angles + + + + + Trim + + + + + Start + + + + + End + + + + + Number of points + + + + + Displacement + + + + + Press update to compute + + + + + Update displacement and draft + + + + + shiptank_weights + + + Set weights + + + + + Name + + + + + Mass + + + + diff --git a/src/Mod/Ship/resources/translations/Ship_hu.qm b/src/Mod/Ship/resources/translations/Ship_hu.qm new file mode 100644 index 000000000..be651eede --- /dev/null +++ b/src/Mod/Ship/resources/translations/Ship_hu.qm @@ -0,0 +1 @@ +<¸dÊÍ!¿`¡½Ý \ No newline at end of file diff --git a/src/Mod/Ship/resources/translations/Ship_hu.ts b/src/Mod/Ship/resources/translations/Ship_hu.ts new file mode 100644 index 000000000..ed2d718ae --- /dev/null +++ b/src/Mod/Ship/resources/translations/Ship_hu.ts @@ -0,0 +1,863 @@ + + + + Ship + + + True if is a valid ship tank instance + + + + + Fluid filling level percentage + + + + + Inside fluid density + + + + + True if is a valid ship simulation instance + + + + + Waves (Amplitude,period,phase) + + + + + Waves direction (0 deg to stern waves) + + + + + Free surface number of elements at x direction + + + + + Free surface number of elements at y direction + + + + + Free surface elements position + + + + + Free surface elements area + + + + + Free surface elements normal + + + + + Ship + + + + + Ship module provides some of the commonly used tool to design ship forms + + + + + Ship design + + + + + Weights + + + + + Simulation + + + + + True if is a valid ship instance + + + + + Ship Weights names + + + + + Lightweight + + + + + Ship Weights masses + + + + + Ship Weights centers of gravity + + + + + Ship_AreasCurve + + + Areas curve + + + + + Plot transversal areas curve + + + + + Ship_CreateShip + + + Create a new ship + + + + + Create a new ship in order to work with them + + + + + Ship_CreateSim + + + Create a new simulation + + + + + Create a new simulation in order to process later + + + + + Ship_CreateTank + + + Create a new tank + + + + + Create a new ship tank + + + + + Ship_GZ + + + GZ curve + + + + + Transversal stability GZ curve computation + + + + + Ship_Hydrostatics + + + Hydrostatics + + + + + Plot ship hydrostatics + + + + + Ship_LoadExample + + + Load an example ship geometry + + + + + Load an example ship geometry able to be converted into a ship. + + + + + Ship_OutlineDraw + + + Outline draw + + + + + Plot ship outline draw + + + + + Ship_RunSim + + + Run a simulation + + + + + Ship_StopSim + + + Stop active simulation + + + + + Ship_TrackSim + + + Track simulation + + + + + Ship_Weights + + + Set ship weights + + + + + Set ship weights, tanks must be added later + + + + + ship_areas + + + Plot transversal areas curve + + + + + Draft + + + + + Trim + + + + + Displacement + + + + + Areas curve tool draft selected [m] + + + + + Areas curve tool trim selected + + + + + ship_console + + + Plot module is disabled, can't perform plot + + + + + Can't create folder + + + + + Can't write to file + + + + + Data saved + + + + + Ship instance must be selected (no object selected) + + + + + More than one ship selected (extra ships will be neglected) + + + + + Ship instance must be selected (no valid ship found at selected objects) + + + + + Ussually you don't want to modify manually this option + + + + + Object is not a valid ship simulation + + + + + Object is not a ship simulation + + + + + Can't find any active simulation + + + + + Ship objects can only be created on top of hull geometry (any object selected) + + + + + Please create or load a ship hull geometry before using this tool + + + + + Ship objects can only be created on top of hull geometry (no solid found at selected objects) + + + + + Plot module is disabled, tools can't graph output curves + + + + + pyOpenCL not installed, simulations stuff will disabled therefore + + + + + numpy not installed, simulations stuff will disabled therefore + + + + + Can't detect external faces from ship object + + + + + Computing hydrostatics + + + + + Computing external faces + + + + + Initializating + + + + + Iterating + + + + + Generating linear system matrix + + + + + Solving linear systems + + + + + Time integrating + + + + + Building data + + + + + Launching simulation + + + + + Done + + + + + Ship simulation instance must be selected (no object selected) + + + + + More than one ship simulation selected (extra simulations will be neglected) + + + + + Ship simulation instance must be selected (no valid simulation found at selected objects) + + + + + Can't find OpenCL devices + + + + + Simulation already stopped + + + + + Any active simulation to stop + + + + + Simulation will stop at the end of actual iteration + + + + + Computing GZ + + + + + Ship weights has not been set. You need to set weights before use this tool + + + + + Performing plot + + + + + Computing sections + + + + + Any valid ship section found + + + + + Tank has not been created + + + + + Tank objects can only be created on top of structure geometry (no object selected) + + + + + Please create a tank geometry before using this tool + + + + + Tank objects can only be created on top of structure geometry (no solids can't be computed) + + + + + ship_create + + + Base line + + + + + Free surface + + + + + Forward perpendicular + + + + + After perpendicular + + + + + Main frame + + + + + Create a new ship + + + + + Length + + + + + Breadth + + + + + Draft + + + + + ship_hydrostatic + + + Plot hydrostatics + + + + + Trim + + + + + Minimum draft + + + + + Maximum draft + + + + + Number of points + + + + + Hydrostatics tool trim selected + + + + + Hydrostatics tool minimum draft selected [m] + + + + + Hydrostatics tool maximum draft selected [m] + + + + + Hydrostatics tool number of points selected + + + + + ship_load + + + Load example ship + + + + + Select ship example geometry + + + + + ship_outline + + + Outline draw + + + + + Auto create + + + + + Scale + + + + + Delete all sections + + + + + Create sections + + + + + Transversal + + + + + Longitudinal + + + + + Water lines + + + + + Transversal sections position [m] + + + + + Longitudinal sections position [m] + + + + + Water lines position [m] + + + + + Plot scale (1:scale format) + + + + + shipsim_create + + + Create a new ship simulation + + + + + Free surface + + + + + Length + + + + + Breadth + + + + + Number of points + + + + + Waves + + + + + Amplitude + + + + + Period + + + + + Phase + + + + + Heading + + + + + shipsim_stop + + + Run the simulation + + + + + Simulation time + + + + + Output + + + + + OpenCL device + + + + + shipsim_track + + + Track simulation + + + + + Now + + + + + shiptank_create + + + Create a new tank + + + + + Filling level + + + + + Fluid density + + + + + shiptank_gz + + + Draft + + + + + GZ curve computation + + + + + Loading condition + + + + + Roll angles + + + + + Trim + + + + + Start + + + + + End + + + + + Number of points + + + + + Displacement + + + + + Press update to compute + + + + + Update displacement and draft + + + + + shiptank_weights + + + Set weights + + + + + Name + + + + + Mass + + + + diff --git a/src/Mod/Ship/resources/translations/Ship_it.qm b/src/Mod/Ship/resources/translations/Ship_it.qm new file mode 100644 index 000000000..be651eede --- /dev/null +++ b/src/Mod/Ship/resources/translations/Ship_it.qm @@ -0,0 +1 @@ +<¸dÊÍ!¿`¡½Ý \ No newline at end of file diff --git a/src/Mod/Ship/resources/translations/Ship_it.ts b/src/Mod/Ship/resources/translations/Ship_it.ts new file mode 100644 index 000000000..ed2d718ae --- /dev/null +++ b/src/Mod/Ship/resources/translations/Ship_it.ts @@ -0,0 +1,863 @@ + + + + Ship + + + True if is a valid ship tank instance + + + + + Fluid filling level percentage + + + + + Inside fluid density + + + + + True if is a valid ship simulation instance + + + + + Waves (Amplitude,period,phase) + + + + + Waves direction (0 deg to stern waves) + + + + + Free surface number of elements at x direction + + + + + Free surface number of elements at y direction + + + + + Free surface elements position + + + + + Free surface elements area + + + + + Free surface elements normal + + + + + Ship + + + + + Ship module provides some of the commonly used tool to design ship forms + + + + + Ship design + + + + + Weights + + + + + Simulation + + + + + True if is a valid ship instance + + + + + Ship Weights names + + + + + Lightweight + + + + + Ship Weights masses + + + + + Ship Weights centers of gravity + + + + + Ship_AreasCurve + + + Areas curve + + + + + Plot transversal areas curve + + + + + Ship_CreateShip + + + Create a new ship + + + + + Create a new ship in order to work with them + + + + + Ship_CreateSim + + + Create a new simulation + + + + + Create a new simulation in order to process later + + + + + Ship_CreateTank + + + Create a new tank + + + + + Create a new ship tank + + + + + Ship_GZ + + + GZ curve + + + + + Transversal stability GZ curve computation + + + + + Ship_Hydrostatics + + + Hydrostatics + + + + + Plot ship hydrostatics + + + + + Ship_LoadExample + + + Load an example ship geometry + + + + + Load an example ship geometry able to be converted into a ship. + + + + + Ship_OutlineDraw + + + Outline draw + + + + + Plot ship outline draw + + + + + Ship_RunSim + + + Run a simulation + + + + + Ship_StopSim + + + Stop active simulation + + + + + Ship_TrackSim + + + Track simulation + + + + + Ship_Weights + + + Set ship weights + + + + + Set ship weights, tanks must be added later + + + + + ship_areas + + + Plot transversal areas curve + + + + + Draft + + + + + Trim + + + + + Displacement + + + + + Areas curve tool draft selected [m] + + + + + Areas curve tool trim selected + + + + + ship_console + + + Plot module is disabled, can't perform plot + + + + + Can't create folder + + + + + Can't write to file + + + + + Data saved + + + + + Ship instance must be selected (no object selected) + + + + + More than one ship selected (extra ships will be neglected) + + + + + Ship instance must be selected (no valid ship found at selected objects) + + + + + Ussually you don't want to modify manually this option + + + + + Object is not a valid ship simulation + + + + + Object is not a ship simulation + + + + + Can't find any active simulation + + + + + Ship objects can only be created on top of hull geometry (any object selected) + + + + + Please create or load a ship hull geometry before using this tool + + + + + Ship objects can only be created on top of hull geometry (no solid found at selected objects) + + + + + Plot module is disabled, tools can't graph output curves + + + + + pyOpenCL not installed, simulations stuff will disabled therefore + + + + + numpy not installed, simulations stuff will disabled therefore + + + + + Can't detect external faces from ship object + + + + + Computing hydrostatics + + + + + Computing external faces + + + + + Initializating + + + + + Iterating + + + + + Generating linear system matrix + + + + + Solving linear systems + + + + + Time integrating + + + + + Building data + + + + + Launching simulation + + + + + Done + + + + + Ship simulation instance must be selected (no object selected) + + + + + More than one ship simulation selected (extra simulations will be neglected) + + + + + Ship simulation instance must be selected (no valid simulation found at selected objects) + + + + + Can't find OpenCL devices + + + + + Simulation already stopped + + + + + Any active simulation to stop + + + + + Simulation will stop at the end of actual iteration + + + + + Computing GZ + + + + + Ship weights has not been set. You need to set weights before use this tool + + + + + Performing plot + + + + + Computing sections + + + + + Any valid ship section found + + + + + Tank has not been created + + + + + Tank objects can only be created on top of structure geometry (no object selected) + + + + + Please create a tank geometry before using this tool + + + + + Tank objects can only be created on top of structure geometry (no solids can't be computed) + + + + + ship_create + + + Base line + + + + + Free surface + + + + + Forward perpendicular + + + + + After perpendicular + + + + + Main frame + + + + + Create a new ship + + + + + Length + + + + + Breadth + + + + + Draft + + + + + ship_hydrostatic + + + Plot hydrostatics + + + + + Trim + + + + + Minimum draft + + + + + Maximum draft + + + + + Number of points + + + + + Hydrostatics tool trim selected + + + + + Hydrostatics tool minimum draft selected [m] + + + + + Hydrostatics tool maximum draft selected [m] + + + + + Hydrostatics tool number of points selected + + + + + ship_load + + + Load example ship + + + + + Select ship example geometry + + + + + ship_outline + + + Outline draw + + + + + Auto create + + + + + Scale + + + + + Delete all sections + + + + + Create sections + + + + + Transversal + + + + + Longitudinal + + + + + Water lines + + + + + Transversal sections position [m] + + + + + Longitudinal sections position [m] + + + + + Water lines position [m] + + + + + Plot scale (1:scale format) + + + + + shipsim_create + + + Create a new ship simulation + + + + + Free surface + + + + + Length + + + + + Breadth + + + + + Number of points + + + + + Waves + + + + + Amplitude + + + + + Period + + + + + Phase + + + + + Heading + + + + + shipsim_stop + + + Run the simulation + + + + + Simulation time + + + + + Output + + + + + OpenCL device + + + + + shipsim_track + + + Track simulation + + + + + Now + + + + + shiptank_create + + + Create a new tank + + + + + Filling level + + + + + Fluid density + + + + + shiptank_gz + + + Draft + + + + + GZ curve computation + + + + + Loading condition + + + + + Roll angles + + + + + Trim + + + + + Start + + + + + End + + + + + Number of points + + + + + Displacement + + + + + Press update to compute + + + + + Update displacement and draft + + + + + shiptank_weights + + + Set weights + + + + + Name + + + + + Mass + + + + diff --git a/src/Mod/Ship/resources/translations/Ship_ja.qm b/src/Mod/Ship/resources/translations/Ship_ja.qm new file mode 100644 index 000000000..be651eede --- /dev/null +++ b/src/Mod/Ship/resources/translations/Ship_ja.qm @@ -0,0 +1 @@ +<¸dÊÍ!¿`¡½Ý \ No newline at end of file diff --git a/src/Mod/Ship/resources/translations/Ship_ja.ts b/src/Mod/Ship/resources/translations/Ship_ja.ts new file mode 100644 index 000000000..ed2d718ae --- /dev/null +++ b/src/Mod/Ship/resources/translations/Ship_ja.ts @@ -0,0 +1,863 @@ + + + + Ship + + + True if is a valid ship tank instance + + + + + Fluid filling level percentage + + + + + Inside fluid density + + + + + True if is a valid ship simulation instance + + + + + Waves (Amplitude,period,phase) + + + + + Waves direction (0 deg to stern waves) + + + + + Free surface number of elements at x direction + + + + + Free surface number of elements at y direction + + + + + Free surface elements position + + + + + Free surface elements area + + + + + Free surface elements normal + + + + + Ship + + + + + Ship module provides some of the commonly used tool to design ship forms + + + + + Ship design + + + + + Weights + + + + + Simulation + + + + + True if is a valid ship instance + + + + + Ship Weights names + + + + + Lightweight + + + + + Ship Weights masses + + + + + Ship Weights centers of gravity + + + + + Ship_AreasCurve + + + Areas curve + + + + + Plot transversal areas curve + + + + + Ship_CreateShip + + + Create a new ship + + + + + Create a new ship in order to work with them + + + + + Ship_CreateSim + + + Create a new simulation + + + + + Create a new simulation in order to process later + + + + + Ship_CreateTank + + + Create a new tank + + + + + Create a new ship tank + + + + + Ship_GZ + + + GZ curve + + + + + Transversal stability GZ curve computation + + + + + Ship_Hydrostatics + + + Hydrostatics + + + + + Plot ship hydrostatics + + + + + Ship_LoadExample + + + Load an example ship geometry + + + + + Load an example ship geometry able to be converted into a ship. + + + + + Ship_OutlineDraw + + + Outline draw + + + + + Plot ship outline draw + + + + + Ship_RunSim + + + Run a simulation + + + + + Ship_StopSim + + + Stop active simulation + + + + + Ship_TrackSim + + + Track simulation + + + + + Ship_Weights + + + Set ship weights + + + + + Set ship weights, tanks must be added later + + + + + ship_areas + + + Plot transversal areas curve + + + + + Draft + + + + + Trim + + + + + Displacement + + + + + Areas curve tool draft selected [m] + + + + + Areas curve tool trim selected + + + + + ship_console + + + Plot module is disabled, can't perform plot + + + + + Can't create folder + + + + + Can't write to file + + + + + Data saved + + + + + Ship instance must be selected (no object selected) + + + + + More than one ship selected (extra ships will be neglected) + + + + + Ship instance must be selected (no valid ship found at selected objects) + + + + + Ussually you don't want to modify manually this option + + + + + Object is not a valid ship simulation + + + + + Object is not a ship simulation + + + + + Can't find any active simulation + + + + + Ship objects can only be created on top of hull geometry (any object selected) + + + + + Please create or load a ship hull geometry before using this tool + + + + + Ship objects can only be created on top of hull geometry (no solid found at selected objects) + + + + + Plot module is disabled, tools can't graph output curves + + + + + pyOpenCL not installed, simulations stuff will disabled therefore + + + + + numpy not installed, simulations stuff will disabled therefore + + + + + Can't detect external faces from ship object + + + + + Computing hydrostatics + + + + + Computing external faces + + + + + Initializating + + + + + Iterating + + + + + Generating linear system matrix + + + + + Solving linear systems + + + + + Time integrating + + + + + Building data + + + + + Launching simulation + + + + + Done + + + + + Ship simulation instance must be selected (no object selected) + + + + + More than one ship simulation selected (extra simulations will be neglected) + + + + + Ship simulation instance must be selected (no valid simulation found at selected objects) + + + + + Can't find OpenCL devices + + + + + Simulation already stopped + + + + + Any active simulation to stop + + + + + Simulation will stop at the end of actual iteration + + + + + Computing GZ + + + + + Ship weights has not been set. You need to set weights before use this tool + + + + + Performing plot + + + + + Computing sections + + + + + Any valid ship section found + + + + + Tank has not been created + + + + + Tank objects can only be created on top of structure geometry (no object selected) + + + + + Please create a tank geometry before using this tool + + + + + Tank objects can only be created on top of structure geometry (no solids can't be computed) + + + + + ship_create + + + Base line + + + + + Free surface + + + + + Forward perpendicular + + + + + After perpendicular + + + + + Main frame + + + + + Create a new ship + + + + + Length + + + + + Breadth + + + + + Draft + + + + + ship_hydrostatic + + + Plot hydrostatics + + + + + Trim + + + + + Minimum draft + + + + + Maximum draft + + + + + Number of points + + + + + Hydrostatics tool trim selected + + + + + Hydrostatics tool minimum draft selected [m] + + + + + Hydrostatics tool maximum draft selected [m] + + + + + Hydrostatics tool number of points selected + + + + + ship_load + + + Load example ship + + + + + Select ship example geometry + + + + + ship_outline + + + Outline draw + + + + + Auto create + + + + + Scale + + + + + Delete all sections + + + + + Create sections + + + + + Transversal + + + + + Longitudinal + + + + + Water lines + + + + + Transversal sections position [m] + + + + + Longitudinal sections position [m] + + + + + Water lines position [m] + + + + + Plot scale (1:scale format) + + + + + shipsim_create + + + Create a new ship simulation + + + + + Free surface + + + + + Length + + + + + Breadth + + + + + Number of points + + + + + Waves + + + + + Amplitude + + + + + Period + + + + + Phase + + + + + Heading + + + + + shipsim_stop + + + Run the simulation + + + + + Simulation time + + + + + Output + + + + + OpenCL device + + + + + shipsim_track + + + Track simulation + + + + + Now + + + + + shiptank_create + + + Create a new tank + + + + + Filling level + + + + + Fluid density + + + + + shiptank_gz + + + Draft + + + + + GZ curve computation + + + + + Loading condition + + + + + Roll angles + + + + + Trim + + + + + Start + + + + + End + + + + + Number of points + + + + + Displacement + + + + + Press update to compute + + + + + Update displacement and draft + + + + + shiptank_weights + + + Set weights + + + + + Name + + + + + Mass + + + + diff --git a/src/Mod/Ship/resources/translations/Ship_nl.qm b/src/Mod/Ship/resources/translations/Ship_nl.qm new file mode 100644 index 000000000..be651eede --- /dev/null +++ b/src/Mod/Ship/resources/translations/Ship_nl.qm @@ -0,0 +1 @@ +<¸dÊÍ!¿`¡½Ý \ No newline at end of file diff --git a/src/Mod/Ship/resources/translations/Ship_nl.ts b/src/Mod/Ship/resources/translations/Ship_nl.ts new file mode 100644 index 000000000..ed2d718ae --- /dev/null +++ b/src/Mod/Ship/resources/translations/Ship_nl.ts @@ -0,0 +1,863 @@ + + + + Ship + + + True if is a valid ship tank instance + + + + + Fluid filling level percentage + + + + + Inside fluid density + + + + + True if is a valid ship simulation instance + + + + + Waves (Amplitude,period,phase) + + + + + Waves direction (0 deg to stern waves) + + + + + Free surface number of elements at x direction + + + + + Free surface number of elements at y direction + + + + + Free surface elements position + + + + + Free surface elements area + + + + + Free surface elements normal + + + + + Ship + + + + + Ship module provides some of the commonly used tool to design ship forms + + + + + Ship design + + + + + Weights + + + + + Simulation + + + + + True if is a valid ship instance + + + + + Ship Weights names + + + + + Lightweight + + + + + Ship Weights masses + + + + + Ship Weights centers of gravity + + + + + Ship_AreasCurve + + + Areas curve + + + + + Plot transversal areas curve + + + + + Ship_CreateShip + + + Create a new ship + + + + + Create a new ship in order to work with them + + + + + Ship_CreateSim + + + Create a new simulation + + + + + Create a new simulation in order to process later + + + + + Ship_CreateTank + + + Create a new tank + + + + + Create a new ship tank + + + + + Ship_GZ + + + GZ curve + + + + + Transversal stability GZ curve computation + + + + + Ship_Hydrostatics + + + Hydrostatics + + + + + Plot ship hydrostatics + + + + + Ship_LoadExample + + + Load an example ship geometry + + + + + Load an example ship geometry able to be converted into a ship. + + + + + Ship_OutlineDraw + + + Outline draw + + + + + Plot ship outline draw + + + + + Ship_RunSim + + + Run a simulation + + + + + Ship_StopSim + + + Stop active simulation + + + + + Ship_TrackSim + + + Track simulation + + + + + Ship_Weights + + + Set ship weights + + + + + Set ship weights, tanks must be added later + + + + + ship_areas + + + Plot transversal areas curve + + + + + Draft + + + + + Trim + + + + + Displacement + + + + + Areas curve tool draft selected [m] + + + + + Areas curve tool trim selected + + + + + ship_console + + + Plot module is disabled, can't perform plot + + + + + Can't create folder + + + + + Can't write to file + + + + + Data saved + + + + + Ship instance must be selected (no object selected) + + + + + More than one ship selected (extra ships will be neglected) + + + + + Ship instance must be selected (no valid ship found at selected objects) + + + + + Ussually you don't want to modify manually this option + + + + + Object is not a valid ship simulation + + + + + Object is not a ship simulation + + + + + Can't find any active simulation + + + + + Ship objects can only be created on top of hull geometry (any object selected) + + + + + Please create or load a ship hull geometry before using this tool + + + + + Ship objects can only be created on top of hull geometry (no solid found at selected objects) + + + + + Plot module is disabled, tools can't graph output curves + + + + + pyOpenCL not installed, simulations stuff will disabled therefore + + + + + numpy not installed, simulations stuff will disabled therefore + + + + + Can't detect external faces from ship object + + + + + Computing hydrostatics + + + + + Computing external faces + + + + + Initializating + + + + + Iterating + + + + + Generating linear system matrix + + + + + Solving linear systems + + + + + Time integrating + + + + + Building data + + + + + Launching simulation + + + + + Done + + + + + Ship simulation instance must be selected (no object selected) + + + + + More than one ship simulation selected (extra simulations will be neglected) + + + + + Ship simulation instance must be selected (no valid simulation found at selected objects) + + + + + Can't find OpenCL devices + + + + + Simulation already stopped + + + + + Any active simulation to stop + + + + + Simulation will stop at the end of actual iteration + + + + + Computing GZ + + + + + Ship weights has not been set. You need to set weights before use this tool + + + + + Performing plot + + + + + Computing sections + + + + + Any valid ship section found + + + + + Tank has not been created + + + + + Tank objects can only be created on top of structure geometry (no object selected) + + + + + Please create a tank geometry before using this tool + + + + + Tank objects can only be created on top of structure geometry (no solids can't be computed) + + + + + ship_create + + + Base line + + + + + Free surface + + + + + Forward perpendicular + + + + + After perpendicular + + + + + Main frame + + + + + Create a new ship + + + + + Length + + + + + Breadth + + + + + Draft + + + + + ship_hydrostatic + + + Plot hydrostatics + + + + + Trim + + + + + Minimum draft + + + + + Maximum draft + + + + + Number of points + + + + + Hydrostatics tool trim selected + + + + + Hydrostatics tool minimum draft selected [m] + + + + + Hydrostatics tool maximum draft selected [m] + + + + + Hydrostatics tool number of points selected + + + + + ship_load + + + Load example ship + + + + + Select ship example geometry + + + + + ship_outline + + + Outline draw + + + + + Auto create + + + + + Scale + + + + + Delete all sections + + + + + Create sections + + + + + Transversal + + + + + Longitudinal + + + + + Water lines + + + + + Transversal sections position [m] + + + + + Longitudinal sections position [m] + + + + + Water lines position [m] + + + + + Plot scale (1:scale format) + + + + + shipsim_create + + + Create a new ship simulation + + + + + Free surface + + + + + Length + + + + + Breadth + + + + + Number of points + + + + + Waves + + + + + Amplitude + + + + + Period + + + + + Phase + + + + + Heading + + + + + shipsim_stop + + + Run the simulation + + + + + Simulation time + + + + + Output + + + + + OpenCL device + + + + + shipsim_track + + + Track simulation + + + + + Now + + + + + shiptank_create + + + Create a new tank + + + + + Filling level + + + + + Fluid density + + + + + shiptank_gz + + + Draft + + + + + GZ curve computation + + + + + Loading condition + + + + + Roll angles + + + + + Trim + + + + + Start + + + + + End + + + + + Number of points + + + + + Displacement + + + + + Press update to compute + + + + + Update displacement and draft + + + + + shiptank_weights + + + Set weights + + + + + Name + + + + + Mass + + + + diff --git a/src/Mod/Ship/resources/translations/Ship_no.qm b/src/Mod/Ship/resources/translations/Ship_no.qm new file mode 100644 index 000000000..be651eede --- /dev/null +++ b/src/Mod/Ship/resources/translations/Ship_no.qm @@ -0,0 +1 @@ +<¸dÊÍ!¿`¡½Ý \ No newline at end of file diff --git a/src/Mod/Ship/resources/translations/Ship_no.ts b/src/Mod/Ship/resources/translations/Ship_no.ts new file mode 100644 index 000000000..ed2d718ae --- /dev/null +++ b/src/Mod/Ship/resources/translations/Ship_no.ts @@ -0,0 +1,863 @@ + + + + Ship + + + True if is a valid ship tank instance + + + + + Fluid filling level percentage + + + + + Inside fluid density + + + + + True if is a valid ship simulation instance + + + + + Waves (Amplitude,period,phase) + + + + + Waves direction (0 deg to stern waves) + + + + + Free surface number of elements at x direction + + + + + Free surface number of elements at y direction + + + + + Free surface elements position + + + + + Free surface elements area + + + + + Free surface elements normal + + + + + Ship + + + + + Ship module provides some of the commonly used tool to design ship forms + + + + + Ship design + + + + + Weights + + + + + Simulation + + + + + True if is a valid ship instance + + + + + Ship Weights names + + + + + Lightweight + + + + + Ship Weights masses + + + + + Ship Weights centers of gravity + + + + + Ship_AreasCurve + + + Areas curve + + + + + Plot transversal areas curve + + + + + Ship_CreateShip + + + Create a new ship + + + + + Create a new ship in order to work with them + + + + + Ship_CreateSim + + + Create a new simulation + + + + + Create a new simulation in order to process later + + + + + Ship_CreateTank + + + Create a new tank + + + + + Create a new ship tank + + + + + Ship_GZ + + + GZ curve + + + + + Transversal stability GZ curve computation + + + + + Ship_Hydrostatics + + + Hydrostatics + + + + + Plot ship hydrostatics + + + + + Ship_LoadExample + + + Load an example ship geometry + + + + + Load an example ship geometry able to be converted into a ship. + + + + + Ship_OutlineDraw + + + Outline draw + + + + + Plot ship outline draw + + + + + Ship_RunSim + + + Run a simulation + + + + + Ship_StopSim + + + Stop active simulation + + + + + Ship_TrackSim + + + Track simulation + + + + + Ship_Weights + + + Set ship weights + + + + + Set ship weights, tanks must be added later + + + + + ship_areas + + + Plot transversal areas curve + + + + + Draft + + + + + Trim + + + + + Displacement + + + + + Areas curve tool draft selected [m] + + + + + Areas curve tool trim selected + + + + + ship_console + + + Plot module is disabled, can't perform plot + + + + + Can't create folder + + + + + Can't write to file + + + + + Data saved + + + + + Ship instance must be selected (no object selected) + + + + + More than one ship selected (extra ships will be neglected) + + + + + Ship instance must be selected (no valid ship found at selected objects) + + + + + Ussually you don't want to modify manually this option + + + + + Object is not a valid ship simulation + + + + + Object is not a ship simulation + + + + + Can't find any active simulation + + + + + Ship objects can only be created on top of hull geometry (any object selected) + + + + + Please create or load a ship hull geometry before using this tool + + + + + Ship objects can only be created on top of hull geometry (no solid found at selected objects) + + + + + Plot module is disabled, tools can't graph output curves + + + + + pyOpenCL not installed, simulations stuff will disabled therefore + + + + + numpy not installed, simulations stuff will disabled therefore + + + + + Can't detect external faces from ship object + + + + + Computing hydrostatics + + + + + Computing external faces + + + + + Initializating + + + + + Iterating + + + + + Generating linear system matrix + + + + + Solving linear systems + + + + + Time integrating + + + + + Building data + + + + + Launching simulation + + + + + Done + + + + + Ship simulation instance must be selected (no object selected) + + + + + More than one ship simulation selected (extra simulations will be neglected) + + + + + Ship simulation instance must be selected (no valid simulation found at selected objects) + + + + + Can't find OpenCL devices + + + + + Simulation already stopped + + + + + Any active simulation to stop + + + + + Simulation will stop at the end of actual iteration + + + + + Computing GZ + + + + + Ship weights has not been set. You need to set weights before use this tool + + + + + Performing plot + + + + + Computing sections + + + + + Any valid ship section found + + + + + Tank has not been created + + + + + Tank objects can only be created on top of structure geometry (no object selected) + + + + + Please create a tank geometry before using this tool + + + + + Tank objects can only be created on top of structure geometry (no solids can't be computed) + + + + + ship_create + + + Base line + + + + + Free surface + + + + + Forward perpendicular + + + + + After perpendicular + + + + + Main frame + + + + + Create a new ship + + + + + Length + + + + + Breadth + + + + + Draft + + + + + ship_hydrostatic + + + Plot hydrostatics + + + + + Trim + + + + + Minimum draft + + + + + Maximum draft + + + + + Number of points + + + + + Hydrostatics tool trim selected + + + + + Hydrostatics tool minimum draft selected [m] + + + + + Hydrostatics tool maximum draft selected [m] + + + + + Hydrostatics tool number of points selected + + + + + ship_load + + + Load example ship + + + + + Select ship example geometry + + + + + ship_outline + + + Outline draw + + + + + Auto create + + + + + Scale + + + + + Delete all sections + + + + + Create sections + + + + + Transversal + + + + + Longitudinal + + + + + Water lines + + + + + Transversal sections position [m] + + + + + Longitudinal sections position [m] + + + + + Water lines position [m] + + + + + Plot scale (1:scale format) + + + + + shipsim_create + + + Create a new ship simulation + + + + + Free surface + + + + + Length + + + + + Breadth + + + + + Number of points + + + + + Waves + + + + + Amplitude + + + + + Period + + + + + Phase + + + + + Heading + + + + + shipsim_stop + + + Run the simulation + + + + + Simulation time + + + + + Output + + + + + OpenCL device + + + + + shipsim_track + + + Track simulation + + + + + Now + + + + + shiptank_create + + + Create a new tank + + + + + Filling level + + + + + Fluid density + + + + + shiptank_gz + + + Draft + + + + + GZ curve computation + + + + + Loading condition + + + + + Roll angles + + + + + Trim + + + + + Start + + + + + End + + + + + Number of points + + + + + Displacement + + + + + Press update to compute + + + + + Update displacement and draft + + + + + shiptank_weights + + + Set weights + + + + + Name + + + + + Mass + + + + diff --git a/src/Mod/Ship/resources/translations/Ship_pl.qm b/src/Mod/Ship/resources/translations/Ship_pl.qm new file mode 100644 index 000000000..be651eede --- /dev/null +++ b/src/Mod/Ship/resources/translations/Ship_pl.qm @@ -0,0 +1 @@ +<¸dÊÍ!¿`¡½Ý \ No newline at end of file diff --git a/src/Mod/Ship/resources/translations/Ship_pl.ts b/src/Mod/Ship/resources/translations/Ship_pl.ts new file mode 100644 index 000000000..ed2d718ae --- /dev/null +++ b/src/Mod/Ship/resources/translations/Ship_pl.ts @@ -0,0 +1,863 @@ + + + + Ship + + + True if is a valid ship tank instance + + + + + Fluid filling level percentage + + + + + Inside fluid density + + + + + True if is a valid ship simulation instance + + + + + Waves (Amplitude,period,phase) + + + + + Waves direction (0 deg to stern waves) + + + + + Free surface number of elements at x direction + + + + + Free surface number of elements at y direction + + + + + Free surface elements position + + + + + Free surface elements area + + + + + Free surface elements normal + + + + + Ship + + + + + Ship module provides some of the commonly used tool to design ship forms + + + + + Ship design + + + + + Weights + + + + + Simulation + + + + + True if is a valid ship instance + + + + + Ship Weights names + + + + + Lightweight + + + + + Ship Weights masses + + + + + Ship Weights centers of gravity + + + + + Ship_AreasCurve + + + Areas curve + + + + + Plot transversal areas curve + + + + + Ship_CreateShip + + + Create a new ship + + + + + Create a new ship in order to work with them + + + + + Ship_CreateSim + + + Create a new simulation + + + + + Create a new simulation in order to process later + + + + + Ship_CreateTank + + + Create a new tank + + + + + Create a new ship tank + + + + + Ship_GZ + + + GZ curve + + + + + Transversal stability GZ curve computation + + + + + Ship_Hydrostatics + + + Hydrostatics + + + + + Plot ship hydrostatics + + + + + Ship_LoadExample + + + Load an example ship geometry + + + + + Load an example ship geometry able to be converted into a ship. + + + + + Ship_OutlineDraw + + + Outline draw + + + + + Plot ship outline draw + + + + + Ship_RunSim + + + Run a simulation + + + + + Ship_StopSim + + + Stop active simulation + + + + + Ship_TrackSim + + + Track simulation + + + + + Ship_Weights + + + Set ship weights + + + + + Set ship weights, tanks must be added later + + + + + ship_areas + + + Plot transversal areas curve + + + + + Draft + + + + + Trim + + + + + Displacement + + + + + Areas curve tool draft selected [m] + + + + + Areas curve tool trim selected + + + + + ship_console + + + Plot module is disabled, can't perform plot + + + + + Can't create folder + + + + + Can't write to file + + + + + Data saved + + + + + Ship instance must be selected (no object selected) + + + + + More than one ship selected (extra ships will be neglected) + + + + + Ship instance must be selected (no valid ship found at selected objects) + + + + + Ussually you don't want to modify manually this option + + + + + Object is not a valid ship simulation + + + + + Object is not a ship simulation + + + + + Can't find any active simulation + + + + + Ship objects can only be created on top of hull geometry (any object selected) + + + + + Please create or load a ship hull geometry before using this tool + + + + + Ship objects can only be created on top of hull geometry (no solid found at selected objects) + + + + + Plot module is disabled, tools can't graph output curves + + + + + pyOpenCL not installed, simulations stuff will disabled therefore + + + + + numpy not installed, simulations stuff will disabled therefore + + + + + Can't detect external faces from ship object + + + + + Computing hydrostatics + + + + + Computing external faces + + + + + Initializating + + + + + Iterating + + + + + Generating linear system matrix + + + + + Solving linear systems + + + + + Time integrating + + + + + Building data + + + + + Launching simulation + + + + + Done + + + + + Ship simulation instance must be selected (no object selected) + + + + + More than one ship simulation selected (extra simulations will be neglected) + + + + + Ship simulation instance must be selected (no valid simulation found at selected objects) + + + + + Can't find OpenCL devices + + + + + Simulation already stopped + + + + + Any active simulation to stop + + + + + Simulation will stop at the end of actual iteration + + + + + Computing GZ + + + + + Ship weights has not been set. You need to set weights before use this tool + + + + + Performing plot + + + + + Computing sections + + + + + Any valid ship section found + + + + + Tank has not been created + + + + + Tank objects can only be created on top of structure geometry (no object selected) + + + + + Please create a tank geometry before using this tool + + + + + Tank objects can only be created on top of structure geometry (no solids can't be computed) + + + + + ship_create + + + Base line + + + + + Free surface + + + + + Forward perpendicular + + + + + After perpendicular + + + + + Main frame + + + + + Create a new ship + + + + + Length + + + + + Breadth + + + + + Draft + + + + + ship_hydrostatic + + + Plot hydrostatics + + + + + Trim + + + + + Minimum draft + + + + + Maximum draft + + + + + Number of points + + + + + Hydrostatics tool trim selected + + + + + Hydrostatics tool minimum draft selected [m] + + + + + Hydrostatics tool maximum draft selected [m] + + + + + Hydrostatics tool number of points selected + + + + + ship_load + + + Load example ship + + + + + Select ship example geometry + + + + + ship_outline + + + Outline draw + + + + + Auto create + + + + + Scale + + + + + Delete all sections + + + + + Create sections + + + + + Transversal + + + + + Longitudinal + + + + + Water lines + + + + + Transversal sections position [m] + + + + + Longitudinal sections position [m] + + + + + Water lines position [m] + + + + + Plot scale (1:scale format) + + + + + shipsim_create + + + Create a new ship simulation + + + + + Free surface + + + + + Length + + + + + Breadth + + + + + Number of points + + + + + Waves + + + + + Amplitude + + + + + Period + + + + + Phase + + + + + Heading + + + + + shipsim_stop + + + Run the simulation + + + + + Simulation time + + + + + Output + + + + + OpenCL device + + + + + shipsim_track + + + Track simulation + + + + + Now + + + + + shiptank_create + + + Create a new tank + + + + + Filling level + + + + + Fluid density + + + + + shiptank_gz + + + Draft + + + + + GZ curve computation + + + + + Loading condition + + + + + Roll angles + + + + + Trim + + + + + Start + + + + + End + + + + + Number of points + + + + + Displacement + + + + + Press update to compute + + + + + Update displacement and draft + + + + + shiptank_weights + + + Set weights + + + + + Name + + + + + Mass + + + + diff --git a/src/Mod/Ship/resources/translations/Ship_pt-BR.qm b/src/Mod/Ship/resources/translations/Ship_pt-BR.qm new file mode 100644 index 000000000..be651eede --- /dev/null +++ b/src/Mod/Ship/resources/translations/Ship_pt-BR.qm @@ -0,0 +1 @@ +<¸dÊÍ!¿`¡½Ý \ No newline at end of file diff --git a/src/Mod/Ship/resources/translations/Ship_pt-BR.ts b/src/Mod/Ship/resources/translations/Ship_pt-BR.ts new file mode 100644 index 000000000..ed2d718ae --- /dev/null +++ b/src/Mod/Ship/resources/translations/Ship_pt-BR.ts @@ -0,0 +1,863 @@ + + + + Ship + + + True if is a valid ship tank instance + + + + + Fluid filling level percentage + + + + + Inside fluid density + + + + + True if is a valid ship simulation instance + + + + + Waves (Amplitude,period,phase) + + + + + Waves direction (0 deg to stern waves) + + + + + Free surface number of elements at x direction + + + + + Free surface number of elements at y direction + + + + + Free surface elements position + + + + + Free surface elements area + + + + + Free surface elements normal + + + + + Ship + + + + + Ship module provides some of the commonly used tool to design ship forms + + + + + Ship design + + + + + Weights + + + + + Simulation + + + + + True if is a valid ship instance + + + + + Ship Weights names + + + + + Lightweight + + + + + Ship Weights masses + + + + + Ship Weights centers of gravity + + + + + Ship_AreasCurve + + + Areas curve + + + + + Plot transversal areas curve + + + + + Ship_CreateShip + + + Create a new ship + + + + + Create a new ship in order to work with them + + + + + Ship_CreateSim + + + Create a new simulation + + + + + Create a new simulation in order to process later + + + + + Ship_CreateTank + + + Create a new tank + + + + + Create a new ship tank + + + + + Ship_GZ + + + GZ curve + + + + + Transversal stability GZ curve computation + + + + + Ship_Hydrostatics + + + Hydrostatics + + + + + Plot ship hydrostatics + + + + + Ship_LoadExample + + + Load an example ship geometry + + + + + Load an example ship geometry able to be converted into a ship. + + + + + Ship_OutlineDraw + + + Outline draw + + + + + Plot ship outline draw + + + + + Ship_RunSim + + + Run a simulation + + + + + Ship_StopSim + + + Stop active simulation + + + + + Ship_TrackSim + + + Track simulation + + + + + Ship_Weights + + + Set ship weights + + + + + Set ship weights, tanks must be added later + + + + + ship_areas + + + Plot transversal areas curve + + + + + Draft + + + + + Trim + + + + + Displacement + + + + + Areas curve tool draft selected [m] + + + + + Areas curve tool trim selected + + + + + ship_console + + + Plot module is disabled, can't perform plot + + + + + Can't create folder + + + + + Can't write to file + + + + + Data saved + + + + + Ship instance must be selected (no object selected) + + + + + More than one ship selected (extra ships will be neglected) + + + + + Ship instance must be selected (no valid ship found at selected objects) + + + + + Ussually you don't want to modify manually this option + + + + + Object is not a valid ship simulation + + + + + Object is not a ship simulation + + + + + Can't find any active simulation + + + + + Ship objects can only be created on top of hull geometry (any object selected) + + + + + Please create or load a ship hull geometry before using this tool + + + + + Ship objects can only be created on top of hull geometry (no solid found at selected objects) + + + + + Plot module is disabled, tools can't graph output curves + + + + + pyOpenCL not installed, simulations stuff will disabled therefore + + + + + numpy not installed, simulations stuff will disabled therefore + + + + + Can't detect external faces from ship object + + + + + Computing hydrostatics + + + + + Computing external faces + + + + + Initializating + + + + + Iterating + + + + + Generating linear system matrix + + + + + Solving linear systems + + + + + Time integrating + + + + + Building data + + + + + Launching simulation + + + + + Done + + + + + Ship simulation instance must be selected (no object selected) + + + + + More than one ship simulation selected (extra simulations will be neglected) + + + + + Ship simulation instance must be selected (no valid simulation found at selected objects) + + + + + Can't find OpenCL devices + + + + + Simulation already stopped + + + + + Any active simulation to stop + + + + + Simulation will stop at the end of actual iteration + + + + + Computing GZ + + + + + Ship weights has not been set. You need to set weights before use this tool + + + + + Performing plot + + + + + Computing sections + + + + + Any valid ship section found + + + + + Tank has not been created + + + + + Tank objects can only be created on top of structure geometry (no object selected) + + + + + Please create a tank geometry before using this tool + + + + + Tank objects can only be created on top of structure geometry (no solids can't be computed) + + + + + ship_create + + + Base line + + + + + Free surface + + + + + Forward perpendicular + + + + + After perpendicular + + + + + Main frame + + + + + Create a new ship + + + + + Length + + + + + Breadth + + + + + Draft + + + + + ship_hydrostatic + + + Plot hydrostatics + + + + + Trim + + + + + Minimum draft + + + + + Maximum draft + + + + + Number of points + + + + + Hydrostatics tool trim selected + + + + + Hydrostatics tool minimum draft selected [m] + + + + + Hydrostatics tool maximum draft selected [m] + + + + + Hydrostatics tool number of points selected + + + + + ship_load + + + Load example ship + + + + + Select ship example geometry + + + + + ship_outline + + + Outline draw + + + + + Auto create + + + + + Scale + + + + + Delete all sections + + + + + Create sections + + + + + Transversal + + + + + Longitudinal + + + + + Water lines + + + + + Transversal sections position [m] + + + + + Longitudinal sections position [m] + + + + + Water lines position [m] + + + + + Plot scale (1:scale format) + + + + + shipsim_create + + + Create a new ship simulation + + + + + Free surface + + + + + Length + + + + + Breadth + + + + + Number of points + + + + + Waves + + + + + Amplitude + + + + + Period + + + + + Phase + + + + + Heading + + + + + shipsim_stop + + + Run the simulation + + + + + Simulation time + + + + + Output + + + + + OpenCL device + + + + + shipsim_track + + + Track simulation + + + + + Now + + + + + shiptank_create + + + Create a new tank + + + + + Filling level + + + + + Fluid density + + + + + shiptank_gz + + + Draft + + + + + GZ curve computation + + + + + Loading condition + + + + + Roll angles + + + + + Trim + + + + + Start + + + + + End + + + + + Number of points + + + + + Displacement + + + + + Press update to compute + + + + + Update displacement and draft + + + + + shiptank_weights + + + Set weights + + + + + Name + + + + + Mass + + + + diff --git a/src/Mod/Ship/resources/translations/Ship_ro.qm b/src/Mod/Ship/resources/translations/Ship_ro.qm new file mode 100644 index 000000000..be651eede --- /dev/null +++ b/src/Mod/Ship/resources/translations/Ship_ro.qm @@ -0,0 +1 @@ +<¸dÊÍ!¿`¡½Ý \ No newline at end of file diff --git a/src/Mod/Ship/resources/translations/Ship_ro.ts b/src/Mod/Ship/resources/translations/Ship_ro.ts new file mode 100644 index 000000000..ed2d718ae --- /dev/null +++ b/src/Mod/Ship/resources/translations/Ship_ro.ts @@ -0,0 +1,863 @@ + + + + Ship + + + True if is a valid ship tank instance + + + + + Fluid filling level percentage + + + + + Inside fluid density + + + + + True if is a valid ship simulation instance + + + + + Waves (Amplitude,period,phase) + + + + + Waves direction (0 deg to stern waves) + + + + + Free surface number of elements at x direction + + + + + Free surface number of elements at y direction + + + + + Free surface elements position + + + + + Free surface elements area + + + + + Free surface elements normal + + + + + Ship + + + + + Ship module provides some of the commonly used tool to design ship forms + + + + + Ship design + + + + + Weights + + + + + Simulation + + + + + True if is a valid ship instance + + + + + Ship Weights names + + + + + Lightweight + + + + + Ship Weights masses + + + + + Ship Weights centers of gravity + + + + + Ship_AreasCurve + + + Areas curve + + + + + Plot transversal areas curve + + + + + Ship_CreateShip + + + Create a new ship + + + + + Create a new ship in order to work with them + + + + + Ship_CreateSim + + + Create a new simulation + + + + + Create a new simulation in order to process later + + + + + Ship_CreateTank + + + Create a new tank + + + + + Create a new ship tank + + + + + Ship_GZ + + + GZ curve + + + + + Transversal stability GZ curve computation + + + + + Ship_Hydrostatics + + + Hydrostatics + + + + + Plot ship hydrostatics + + + + + Ship_LoadExample + + + Load an example ship geometry + + + + + Load an example ship geometry able to be converted into a ship. + + + + + Ship_OutlineDraw + + + Outline draw + + + + + Plot ship outline draw + + + + + Ship_RunSim + + + Run a simulation + + + + + Ship_StopSim + + + Stop active simulation + + + + + Ship_TrackSim + + + Track simulation + + + + + Ship_Weights + + + Set ship weights + + + + + Set ship weights, tanks must be added later + + + + + ship_areas + + + Plot transversal areas curve + + + + + Draft + + + + + Trim + + + + + Displacement + + + + + Areas curve tool draft selected [m] + + + + + Areas curve tool trim selected + + + + + ship_console + + + Plot module is disabled, can't perform plot + + + + + Can't create folder + + + + + Can't write to file + + + + + Data saved + + + + + Ship instance must be selected (no object selected) + + + + + More than one ship selected (extra ships will be neglected) + + + + + Ship instance must be selected (no valid ship found at selected objects) + + + + + Ussually you don't want to modify manually this option + + + + + Object is not a valid ship simulation + + + + + Object is not a ship simulation + + + + + Can't find any active simulation + + + + + Ship objects can only be created on top of hull geometry (any object selected) + + + + + Please create or load a ship hull geometry before using this tool + + + + + Ship objects can only be created on top of hull geometry (no solid found at selected objects) + + + + + Plot module is disabled, tools can't graph output curves + + + + + pyOpenCL not installed, simulations stuff will disabled therefore + + + + + numpy not installed, simulations stuff will disabled therefore + + + + + Can't detect external faces from ship object + + + + + Computing hydrostatics + + + + + Computing external faces + + + + + Initializating + + + + + Iterating + + + + + Generating linear system matrix + + + + + Solving linear systems + + + + + Time integrating + + + + + Building data + + + + + Launching simulation + + + + + Done + + + + + Ship simulation instance must be selected (no object selected) + + + + + More than one ship simulation selected (extra simulations will be neglected) + + + + + Ship simulation instance must be selected (no valid simulation found at selected objects) + + + + + Can't find OpenCL devices + + + + + Simulation already stopped + + + + + Any active simulation to stop + + + + + Simulation will stop at the end of actual iteration + + + + + Computing GZ + + + + + Ship weights has not been set. You need to set weights before use this tool + + + + + Performing plot + + + + + Computing sections + + + + + Any valid ship section found + + + + + Tank has not been created + + + + + Tank objects can only be created on top of structure geometry (no object selected) + + + + + Please create a tank geometry before using this tool + + + + + Tank objects can only be created on top of structure geometry (no solids can't be computed) + + + + + ship_create + + + Base line + + + + + Free surface + + + + + Forward perpendicular + + + + + After perpendicular + + + + + Main frame + + + + + Create a new ship + + + + + Length + + + + + Breadth + + + + + Draft + + + + + ship_hydrostatic + + + Plot hydrostatics + + + + + Trim + + + + + Minimum draft + + + + + Maximum draft + + + + + Number of points + + + + + Hydrostatics tool trim selected + + + + + Hydrostatics tool minimum draft selected [m] + + + + + Hydrostatics tool maximum draft selected [m] + + + + + Hydrostatics tool number of points selected + + + + + ship_load + + + Load example ship + + + + + Select ship example geometry + + + + + ship_outline + + + Outline draw + + + + + Auto create + + + + + Scale + + + + + Delete all sections + + + + + Create sections + + + + + Transversal + + + + + Longitudinal + + + + + Water lines + + + + + Transversal sections position [m] + + + + + Longitudinal sections position [m] + + + + + Water lines position [m] + + + + + Plot scale (1:scale format) + + + + + shipsim_create + + + Create a new ship simulation + + + + + Free surface + + + + + Length + + + + + Breadth + + + + + Number of points + + + + + Waves + + + + + Amplitude + + + + + Period + + + + + Phase + + + + + Heading + + + + + shipsim_stop + + + Run the simulation + + + + + Simulation time + + + + + Output + + + + + OpenCL device + + + + + shipsim_track + + + Track simulation + + + + + Now + + + + + shiptank_create + + + Create a new tank + + + + + Filling level + + + + + Fluid density + + + + + shiptank_gz + + + Draft + + + + + GZ curve computation + + + + + Loading condition + + + + + Roll angles + + + + + Trim + + + + + Start + + + + + End + + + + + Number of points + + + + + Displacement + + + + + Press update to compute + + + + + Update displacement and draft + + + + + shiptank_weights + + + Set weights + + + + + Name + + + + + Mass + + + + diff --git a/src/Mod/Ship/resources/translations/Ship_ru.qm b/src/Mod/Ship/resources/translations/Ship_ru.qm new file mode 100644 index 000000000..be651eede --- /dev/null +++ b/src/Mod/Ship/resources/translations/Ship_ru.qm @@ -0,0 +1 @@ +<¸dÊÍ!¿`¡½Ý \ No newline at end of file diff --git a/src/Mod/Ship/resources/translations/Ship_ru.ts b/src/Mod/Ship/resources/translations/Ship_ru.ts new file mode 100644 index 000000000..ed2d718ae --- /dev/null +++ b/src/Mod/Ship/resources/translations/Ship_ru.ts @@ -0,0 +1,863 @@ + + + + Ship + + + True if is a valid ship tank instance + + + + + Fluid filling level percentage + + + + + Inside fluid density + + + + + True if is a valid ship simulation instance + + + + + Waves (Amplitude,period,phase) + + + + + Waves direction (0 deg to stern waves) + + + + + Free surface number of elements at x direction + + + + + Free surface number of elements at y direction + + + + + Free surface elements position + + + + + Free surface elements area + + + + + Free surface elements normal + + + + + Ship + + + + + Ship module provides some of the commonly used tool to design ship forms + + + + + Ship design + + + + + Weights + + + + + Simulation + + + + + True if is a valid ship instance + + + + + Ship Weights names + + + + + Lightweight + + + + + Ship Weights masses + + + + + Ship Weights centers of gravity + + + + + Ship_AreasCurve + + + Areas curve + + + + + Plot transversal areas curve + + + + + Ship_CreateShip + + + Create a new ship + + + + + Create a new ship in order to work with them + + + + + Ship_CreateSim + + + Create a new simulation + + + + + Create a new simulation in order to process later + + + + + Ship_CreateTank + + + Create a new tank + + + + + Create a new ship tank + + + + + Ship_GZ + + + GZ curve + + + + + Transversal stability GZ curve computation + + + + + Ship_Hydrostatics + + + Hydrostatics + + + + + Plot ship hydrostatics + + + + + Ship_LoadExample + + + Load an example ship geometry + + + + + Load an example ship geometry able to be converted into a ship. + + + + + Ship_OutlineDraw + + + Outline draw + + + + + Plot ship outline draw + + + + + Ship_RunSim + + + Run a simulation + + + + + Ship_StopSim + + + Stop active simulation + + + + + Ship_TrackSim + + + Track simulation + + + + + Ship_Weights + + + Set ship weights + + + + + Set ship weights, tanks must be added later + + + + + ship_areas + + + Plot transversal areas curve + + + + + Draft + + + + + Trim + + + + + Displacement + + + + + Areas curve tool draft selected [m] + + + + + Areas curve tool trim selected + + + + + ship_console + + + Plot module is disabled, can't perform plot + + + + + Can't create folder + + + + + Can't write to file + + + + + Data saved + + + + + Ship instance must be selected (no object selected) + + + + + More than one ship selected (extra ships will be neglected) + + + + + Ship instance must be selected (no valid ship found at selected objects) + + + + + Ussually you don't want to modify manually this option + + + + + Object is not a valid ship simulation + + + + + Object is not a ship simulation + + + + + Can't find any active simulation + + + + + Ship objects can only be created on top of hull geometry (any object selected) + + + + + Please create or load a ship hull geometry before using this tool + + + + + Ship objects can only be created on top of hull geometry (no solid found at selected objects) + + + + + Plot module is disabled, tools can't graph output curves + + + + + pyOpenCL not installed, simulations stuff will disabled therefore + + + + + numpy not installed, simulations stuff will disabled therefore + + + + + Can't detect external faces from ship object + + + + + Computing hydrostatics + + + + + Computing external faces + + + + + Initializating + + + + + Iterating + + + + + Generating linear system matrix + + + + + Solving linear systems + + + + + Time integrating + + + + + Building data + + + + + Launching simulation + + + + + Done + + + + + Ship simulation instance must be selected (no object selected) + + + + + More than one ship simulation selected (extra simulations will be neglected) + + + + + Ship simulation instance must be selected (no valid simulation found at selected objects) + + + + + Can't find OpenCL devices + + + + + Simulation already stopped + + + + + Any active simulation to stop + + + + + Simulation will stop at the end of actual iteration + + + + + Computing GZ + + + + + Ship weights has not been set. You need to set weights before use this tool + + + + + Performing plot + + + + + Computing sections + + + + + Any valid ship section found + + + + + Tank has not been created + + + + + Tank objects can only be created on top of structure geometry (no object selected) + + + + + Please create a tank geometry before using this tool + + + + + Tank objects can only be created on top of structure geometry (no solids can't be computed) + + + + + ship_create + + + Base line + + + + + Free surface + + + + + Forward perpendicular + + + + + After perpendicular + + + + + Main frame + + + + + Create a new ship + + + + + Length + + + + + Breadth + + + + + Draft + + + + + ship_hydrostatic + + + Plot hydrostatics + + + + + Trim + + + + + Minimum draft + + + + + Maximum draft + + + + + Number of points + + + + + Hydrostatics tool trim selected + + + + + Hydrostatics tool minimum draft selected [m] + + + + + Hydrostatics tool maximum draft selected [m] + + + + + Hydrostatics tool number of points selected + + + + + ship_load + + + Load example ship + + + + + Select ship example geometry + + + + + ship_outline + + + Outline draw + + + + + Auto create + + + + + Scale + + + + + Delete all sections + + + + + Create sections + + + + + Transversal + + + + + Longitudinal + + + + + Water lines + + + + + Transversal sections position [m] + + + + + Longitudinal sections position [m] + + + + + Water lines position [m] + + + + + Plot scale (1:scale format) + + + + + shipsim_create + + + Create a new ship simulation + + + + + Free surface + + + + + Length + + + + + Breadth + + + + + Number of points + + + + + Waves + + + + + Amplitude + + + + + Period + + + + + Phase + + + + + Heading + + + + + shipsim_stop + + + Run the simulation + + + + + Simulation time + + + + + Output + + + + + OpenCL device + + + + + shipsim_track + + + Track simulation + + + + + Now + + + + + shiptank_create + + + Create a new tank + + + + + Filling level + + + + + Fluid density + + + + + shiptank_gz + + + Draft + + + + + GZ curve computation + + + + + Loading condition + + + + + Roll angles + + + + + Trim + + + + + Start + + + + + End + + + + + Number of points + + + + + Displacement + + + + + Press update to compute + + + + + Update displacement and draft + + + + + shiptank_weights + + + Set weights + + + + + Name + + + + + Mass + + + + diff --git a/src/Mod/Ship/resources/translations/Ship_sk.qm b/src/Mod/Ship/resources/translations/Ship_sk.qm new file mode 100644 index 000000000..be651eede --- /dev/null +++ b/src/Mod/Ship/resources/translations/Ship_sk.qm @@ -0,0 +1 @@ +<¸dÊÍ!¿`¡½Ý \ No newline at end of file diff --git a/src/Mod/Ship/resources/translations/Ship_sk.ts b/src/Mod/Ship/resources/translations/Ship_sk.ts new file mode 100644 index 000000000..ed2d718ae --- /dev/null +++ b/src/Mod/Ship/resources/translations/Ship_sk.ts @@ -0,0 +1,863 @@ + + + + Ship + + + True if is a valid ship tank instance + + + + + Fluid filling level percentage + + + + + Inside fluid density + + + + + True if is a valid ship simulation instance + + + + + Waves (Amplitude,period,phase) + + + + + Waves direction (0 deg to stern waves) + + + + + Free surface number of elements at x direction + + + + + Free surface number of elements at y direction + + + + + Free surface elements position + + + + + Free surface elements area + + + + + Free surface elements normal + + + + + Ship + + + + + Ship module provides some of the commonly used tool to design ship forms + + + + + Ship design + + + + + Weights + + + + + Simulation + + + + + True if is a valid ship instance + + + + + Ship Weights names + + + + + Lightweight + + + + + Ship Weights masses + + + + + Ship Weights centers of gravity + + + + + Ship_AreasCurve + + + Areas curve + + + + + Plot transversal areas curve + + + + + Ship_CreateShip + + + Create a new ship + + + + + Create a new ship in order to work with them + + + + + Ship_CreateSim + + + Create a new simulation + + + + + Create a new simulation in order to process later + + + + + Ship_CreateTank + + + Create a new tank + + + + + Create a new ship tank + + + + + Ship_GZ + + + GZ curve + + + + + Transversal stability GZ curve computation + + + + + Ship_Hydrostatics + + + Hydrostatics + + + + + Plot ship hydrostatics + + + + + Ship_LoadExample + + + Load an example ship geometry + + + + + Load an example ship geometry able to be converted into a ship. + + + + + Ship_OutlineDraw + + + Outline draw + + + + + Plot ship outline draw + + + + + Ship_RunSim + + + Run a simulation + + + + + Ship_StopSim + + + Stop active simulation + + + + + Ship_TrackSim + + + Track simulation + + + + + Ship_Weights + + + Set ship weights + + + + + Set ship weights, tanks must be added later + + + + + ship_areas + + + Plot transversal areas curve + + + + + Draft + + + + + Trim + + + + + Displacement + + + + + Areas curve tool draft selected [m] + + + + + Areas curve tool trim selected + + + + + ship_console + + + Plot module is disabled, can't perform plot + + + + + Can't create folder + + + + + Can't write to file + + + + + Data saved + + + + + Ship instance must be selected (no object selected) + + + + + More than one ship selected (extra ships will be neglected) + + + + + Ship instance must be selected (no valid ship found at selected objects) + + + + + Ussually you don't want to modify manually this option + + + + + Object is not a valid ship simulation + + + + + Object is not a ship simulation + + + + + Can't find any active simulation + + + + + Ship objects can only be created on top of hull geometry (any object selected) + + + + + Please create or load a ship hull geometry before using this tool + + + + + Ship objects can only be created on top of hull geometry (no solid found at selected objects) + + + + + Plot module is disabled, tools can't graph output curves + + + + + pyOpenCL not installed, simulations stuff will disabled therefore + + + + + numpy not installed, simulations stuff will disabled therefore + + + + + Can't detect external faces from ship object + + + + + Computing hydrostatics + + + + + Computing external faces + + + + + Initializating + + + + + Iterating + + + + + Generating linear system matrix + + + + + Solving linear systems + + + + + Time integrating + + + + + Building data + + + + + Launching simulation + + + + + Done + + + + + Ship simulation instance must be selected (no object selected) + + + + + More than one ship simulation selected (extra simulations will be neglected) + + + + + Ship simulation instance must be selected (no valid simulation found at selected objects) + + + + + Can't find OpenCL devices + + + + + Simulation already stopped + + + + + Any active simulation to stop + + + + + Simulation will stop at the end of actual iteration + + + + + Computing GZ + + + + + Ship weights has not been set. You need to set weights before use this tool + + + + + Performing plot + + + + + Computing sections + + + + + Any valid ship section found + + + + + Tank has not been created + + + + + Tank objects can only be created on top of structure geometry (no object selected) + + + + + Please create a tank geometry before using this tool + + + + + Tank objects can only be created on top of structure geometry (no solids can't be computed) + + + + + ship_create + + + Base line + + + + + Free surface + + + + + Forward perpendicular + + + + + After perpendicular + + + + + Main frame + + + + + Create a new ship + + + + + Length + + + + + Breadth + + + + + Draft + + + + + ship_hydrostatic + + + Plot hydrostatics + + + + + Trim + + + + + Minimum draft + + + + + Maximum draft + + + + + Number of points + + + + + Hydrostatics tool trim selected + + + + + Hydrostatics tool minimum draft selected [m] + + + + + Hydrostatics tool maximum draft selected [m] + + + + + Hydrostatics tool number of points selected + + + + + ship_load + + + Load example ship + + + + + Select ship example geometry + + + + + ship_outline + + + Outline draw + + + + + Auto create + + + + + Scale + + + + + Delete all sections + + + + + Create sections + + + + + Transversal + + + + + Longitudinal + + + + + Water lines + + + + + Transversal sections position [m] + + + + + Longitudinal sections position [m] + + + + + Water lines position [m] + + + + + Plot scale (1:scale format) + + + + + shipsim_create + + + Create a new ship simulation + + + + + Free surface + + + + + Length + + + + + Breadth + + + + + Number of points + + + + + Waves + + + + + Amplitude + + + + + Period + + + + + Phase + + + + + Heading + + + + + shipsim_stop + + + Run the simulation + + + + + Simulation time + + + + + Output + + + + + OpenCL device + + + + + shipsim_track + + + Track simulation + + + + + Now + + + + + shiptank_create + + + Create a new tank + + + + + Filling level + + + + + Fluid density + + + + + shiptank_gz + + + Draft + + + + + GZ curve computation + + + + + Loading condition + + + + + Roll angles + + + + + Trim + + + + + Start + + + + + End + + + + + Number of points + + + + + Displacement + + + + + Press update to compute + + + + + Update displacement and draft + + + + + shiptank_weights + + + Set weights + + + + + Name + + + + + Mass + + + + diff --git a/src/Mod/Ship/resources/translations/Ship_sv-SE.qm b/src/Mod/Ship/resources/translations/Ship_sv-SE.qm new file mode 100644 index 000000000..be651eede --- /dev/null +++ b/src/Mod/Ship/resources/translations/Ship_sv-SE.qm @@ -0,0 +1 @@ +<¸dÊÍ!¿`¡½Ý \ No newline at end of file diff --git a/src/Mod/Ship/resources/translations/Ship_sv-SE.ts b/src/Mod/Ship/resources/translations/Ship_sv-SE.ts new file mode 100644 index 000000000..ed2d718ae --- /dev/null +++ b/src/Mod/Ship/resources/translations/Ship_sv-SE.ts @@ -0,0 +1,863 @@ + + + + Ship + + + True if is a valid ship tank instance + + + + + Fluid filling level percentage + + + + + Inside fluid density + + + + + True if is a valid ship simulation instance + + + + + Waves (Amplitude,period,phase) + + + + + Waves direction (0 deg to stern waves) + + + + + Free surface number of elements at x direction + + + + + Free surface number of elements at y direction + + + + + Free surface elements position + + + + + Free surface elements area + + + + + Free surface elements normal + + + + + Ship + + + + + Ship module provides some of the commonly used tool to design ship forms + + + + + Ship design + + + + + Weights + + + + + Simulation + + + + + True if is a valid ship instance + + + + + Ship Weights names + + + + + Lightweight + + + + + Ship Weights masses + + + + + Ship Weights centers of gravity + + + + + Ship_AreasCurve + + + Areas curve + + + + + Plot transversal areas curve + + + + + Ship_CreateShip + + + Create a new ship + + + + + Create a new ship in order to work with them + + + + + Ship_CreateSim + + + Create a new simulation + + + + + Create a new simulation in order to process later + + + + + Ship_CreateTank + + + Create a new tank + + + + + Create a new ship tank + + + + + Ship_GZ + + + GZ curve + + + + + Transversal stability GZ curve computation + + + + + Ship_Hydrostatics + + + Hydrostatics + + + + + Plot ship hydrostatics + + + + + Ship_LoadExample + + + Load an example ship geometry + + + + + Load an example ship geometry able to be converted into a ship. + + + + + Ship_OutlineDraw + + + Outline draw + + + + + Plot ship outline draw + + + + + Ship_RunSim + + + Run a simulation + + + + + Ship_StopSim + + + Stop active simulation + + + + + Ship_TrackSim + + + Track simulation + + + + + Ship_Weights + + + Set ship weights + + + + + Set ship weights, tanks must be added later + + + + + ship_areas + + + Plot transversal areas curve + + + + + Draft + + + + + Trim + + + + + Displacement + + + + + Areas curve tool draft selected [m] + + + + + Areas curve tool trim selected + + + + + ship_console + + + Plot module is disabled, can't perform plot + + + + + Can't create folder + + + + + Can't write to file + + + + + Data saved + + + + + Ship instance must be selected (no object selected) + + + + + More than one ship selected (extra ships will be neglected) + + + + + Ship instance must be selected (no valid ship found at selected objects) + + + + + Ussually you don't want to modify manually this option + + + + + Object is not a valid ship simulation + + + + + Object is not a ship simulation + + + + + Can't find any active simulation + + + + + Ship objects can only be created on top of hull geometry (any object selected) + + + + + Please create or load a ship hull geometry before using this tool + + + + + Ship objects can only be created on top of hull geometry (no solid found at selected objects) + + + + + Plot module is disabled, tools can't graph output curves + + + + + pyOpenCL not installed, simulations stuff will disabled therefore + + + + + numpy not installed, simulations stuff will disabled therefore + + + + + Can't detect external faces from ship object + + + + + Computing hydrostatics + + + + + Computing external faces + + + + + Initializating + + + + + Iterating + + + + + Generating linear system matrix + + + + + Solving linear systems + + + + + Time integrating + + + + + Building data + + + + + Launching simulation + + + + + Done + + + + + Ship simulation instance must be selected (no object selected) + + + + + More than one ship simulation selected (extra simulations will be neglected) + + + + + Ship simulation instance must be selected (no valid simulation found at selected objects) + + + + + Can't find OpenCL devices + + + + + Simulation already stopped + + + + + Any active simulation to stop + + + + + Simulation will stop at the end of actual iteration + + + + + Computing GZ + + + + + Ship weights has not been set. You need to set weights before use this tool + + + + + Performing plot + + + + + Computing sections + + + + + Any valid ship section found + + + + + Tank has not been created + + + + + Tank objects can only be created on top of structure geometry (no object selected) + + + + + Please create a tank geometry before using this tool + + + + + Tank objects can only be created on top of structure geometry (no solids can't be computed) + + + + + ship_create + + + Base line + + + + + Free surface + + + + + Forward perpendicular + + + + + After perpendicular + + + + + Main frame + + + + + Create a new ship + + + + + Length + + + + + Breadth + + + + + Draft + + + + + ship_hydrostatic + + + Plot hydrostatics + + + + + Trim + + + + + Minimum draft + + + + + Maximum draft + + + + + Number of points + + + + + Hydrostatics tool trim selected + + + + + Hydrostatics tool minimum draft selected [m] + + + + + Hydrostatics tool maximum draft selected [m] + + + + + Hydrostatics tool number of points selected + + + + + ship_load + + + Load example ship + + + + + Select ship example geometry + + + + + ship_outline + + + Outline draw + + + + + Auto create + + + + + Scale + + + + + Delete all sections + + + + + Create sections + + + + + Transversal + + + + + Longitudinal + + + + + Water lines + + + + + Transversal sections position [m] + + + + + Longitudinal sections position [m] + + + + + Water lines position [m] + + + + + Plot scale (1:scale format) + + + + + shipsim_create + + + Create a new ship simulation + + + + + Free surface + + + + + Length + + + + + Breadth + + + + + Number of points + + + + + Waves + + + + + Amplitude + + + + + Period + + + + + Phase + + + + + Heading + + + + + shipsim_stop + + + Run the simulation + + + + + Simulation time + + + + + Output + + + + + OpenCL device + + + + + shipsim_track + + + Track simulation + + + + + Now + + + + + shiptank_create + + + Create a new tank + + + + + Filling level + + + + + Fluid density + + + + + shiptank_gz + + + Draft + + + + + GZ curve computation + + + + + Loading condition + + + + + Roll angles + + + + + Trim + + + + + Start + + + + + End + + + + + Number of points + + + + + Displacement + + + + + Press update to compute + + + + + Update displacement and draft + + + + + shiptank_weights + + + Set weights + + + + + Name + + + + + Mass + + + + diff --git a/src/Mod/Ship/resources/translations/Ship_tr.qm b/src/Mod/Ship/resources/translations/Ship_tr.qm new file mode 100644 index 000000000..be651eede --- /dev/null +++ b/src/Mod/Ship/resources/translations/Ship_tr.qm @@ -0,0 +1 @@ +<¸dÊÍ!¿`¡½Ý \ No newline at end of file diff --git a/src/Mod/Ship/resources/translations/Ship_tr.ts b/src/Mod/Ship/resources/translations/Ship_tr.ts new file mode 100644 index 000000000..ed2d718ae --- /dev/null +++ b/src/Mod/Ship/resources/translations/Ship_tr.ts @@ -0,0 +1,863 @@ + + + + Ship + + + True if is a valid ship tank instance + + + + + Fluid filling level percentage + + + + + Inside fluid density + + + + + True if is a valid ship simulation instance + + + + + Waves (Amplitude,period,phase) + + + + + Waves direction (0 deg to stern waves) + + + + + Free surface number of elements at x direction + + + + + Free surface number of elements at y direction + + + + + Free surface elements position + + + + + Free surface elements area + + + + + Free surface elements normal + + + + + Ship + + + + + Ship module provides some of the commonly used tool to design ship forms + + + + + Ship design + + + + + Weights + + + + + Simulation + + + + + True if is a valid ship instance + + + + + Ship Weights names + + + + + Lightweight + + + + + Ship Weights masses + + + + + Ship Weights centers of gravity + + + + + Ship_AreasCurve + + + Areas curve + + + + + Plot transversal areas curve + + + + + Ship_CreateShip + + + Create a new ship + + + + + Create a new ship in order to work with them + + + + + Ship_CreateSim + + + Create a new simulation + + + + + Create a new simulation in order to process later + + + + + Ship_CreateTank + + + Create a new tank + + + + + Create a new ship tank + + + + + Ship_GZ + + + GZ curve + + + + + Transversal stability GZ curve computation + + + + + Ship_Hydrostatics + + + Hydrostatics + + + + + Plot ship hydrostatics + + + + + Ship_LoadExample + + + Load an example ship geometry + + + + + Load an example ship geometry able to be converted into a ship. + + + + + Ship_OutlineDraw + + + Outline draw + + + + + Plot ship outline draw + + + + + Ship_RunSim + + + Run a simulation + + + + + Ship_StopSim + + + Stop active simulation + + + + + Ship_TrackSim + + + Track simulation + + + + + Ship_Weights + + + Set ship weights + + + + + Set ship weights, tanks must be added later + + + + + ship_areas + + + Plot transversal areas curve + + + + + Draft + + + + + Trim + + + + + Displacement + + + + + Areas curve tool draft selected [m] + + + + + Areas curve tool trim selected + + + + + ship_console + + + Plot module is disabled, can't perform plot + + + + + Can't create folder + + + + + Can't write to file + + + + + Data saved + + + + + Ship instance must be selected (no object selected) + + + + + More than one ship selected (extra ships will be neglected) + + + + + Ship instance must be selected (no valid ship found at selected objects) + + + + + Ussually you don't want to modify manually this option + + + + + Object is not a valid ship simulation + + + + + Object is not a ship simulation + + + + + Can't find any active simulation + + + + + Ship objects can only be created on top of hull geometry (any object selected) + + + + + Please create or load a ship hull geometry before using this tool + + + + + Ship objects can only be created on top of hull geometry (no solid found at selected objects) + + + + + Plot module is disabled, tools can't graph output curves + + + + + pyOpenCL not installed, simulations stuff will disabled therefore + + + + + numpy not installed, simulations stuff will disabled therefore + + + + + Can't detect external faces from ship object + + + + + Computing hydrostatics + + + + + Computing external faces + + + + + Initializating + + + + + Iterating + + + + + Generating linear system matrix + + + + + Solving linear systems + + + + + Time integrating + + + + + Building data + + + + + Launching simulation + + + + + Done + + + + + Ship simulation instance must be selected (no object selected) + + + + + More than one ship simulation selected (extra simulations will be neglected) + + + + + Ship simulation instance must be selected (no valid simulation found at selected objects) + + + + + Can't find OpenCL devices + + + + + Simulation already stopped + + + + + Any active simulation to stop + + + + + Simulation will stop at the end of actual iteration + + + + + Computing GZ + + + + + Ship weights has not been set. You need to set weights before use this tool + + + + + Performing plot + + + + + Computing sections + + + + + Any valid ship section found + + + + + Tank has not been created + + + + + Tank objects can only be created on top of structure geometry (no object selected) + + + + + Please create a tank geometry before using this tool + + + + + Tank objects can only be created on top of structure geometry (no solids can't be computed) + + + + + ship_create + + + Base line + + + + + Free surface + + + + + Forward perpendicular + + + + + After perpendicular + + + + + Main frame + + + + + Create a new ship + + + + + Length + + + + + Breadth + + + + + Draft + + + + + ship_hydrostatic + + + Plot hydrostatics + + + + + Trim + + + + + Minimum draft + + + + + Maximum draft + + + + + Number of points + + + + + Hydrostatics tool trim selected + + + + + Hydrostatics tool minimum draft selected [m] + + + + + Hydrostatics tool maximum draft selected [m] + + + + + Hydrostatics tool number of points selected + + + + + ship_load + + + Load example ship + + + + + Select ship example geometry + + + + + ship_outline + + + Outline draw + + + + + Auto create + + + + + Scale + + + + + Delete all sections + + + + + Create sections + + + + + Transversal + + + + + Longitudinal + + + + + Water lines + + + + + Transversal sections position [m] + + + + + Longitudinal sections position [m] + + + + + Water lines position [m] + + + + + Plot scale (1:scale format) + + + + + shipsim_create + + + Create a new ship simulation + + + + + Free surface + + + + + Length + + + + + Breadth + + + + + Number of points + + + + + Waves + + + + + Amplitude + + + + + Period + + + + + Phase + + + + + Heading + + + + + shipsim_stop + + + Run the simulation + + + + + Simulation time + + + + + Output + + + + + OpenCL device + + + + + shipsim_track + + + Track simulation + + + + + Now + + + + + shiptank_create + + + Create a new tank + + + + + Filling level + + + + + Fluid density + + + + + shiptank_gz + + + Draft + + + + + GZ curve computation + + + + + Loading condition + + + + + Roll angles + + + + + Trim + + + + + Start + + + + + End + + + + + Number of points + + + + + Displacement + + + + + Press update to compute + + + + + Update displacement and draft + + + + + shiptank_weights + + + Set weights + + + + + Name + + + + + Mass + + + + diff --git a/src/Mod/Ship/resources/translations/Ship_uk.qm b/src/Mod/Ship/resources/translations/Ship_uk.qm new file mode 100644 index 000000000..be651eede --- /dev/null +++ b/src/Mod/Ship/resources/translations/Ship_uk.qm @@ -0,0 +1 @@ +<¸dÊÍ!¿`¡½Ý \ No newline at end of file diff --git a/src/Mod/Ship/resources/translations/Ship_uk.ts b/src/Mod/Ship/resources/translations/Ship_uk.ts new file mode 100644 index 000000000..ed2d718ae --- /dev/null +++ b/src/Mod/Ship/resources/translations/Ship_uk.ts @@ -0,0 +1,863 @@ + + + + Ship + + + True if is a valid ship tank instance + + + + + Fluid filling level percentage + + + + + Inside fluid density + + + + + True if is a valid ship simulation instance + + + + + Waves (Amplitude,period,phase) + + + + + Waves direction (0 deg to stern waves) + + + + + Free surface number of elements at x direction + + + + + Free surface number of elements at y direction + + + + + Free surface elements position + + + + + Free surface elements area + + + + + Free surface elements normal + + + + + Ship + + + + + Ship module provides some of the commonly used tool to design ship forms + + + + + Ship design + + + + + Weights + + + + + Simulation + + + + + True if is a valid ship instance + + + + + Ship Weights names + + + + + Lightweight + + + + + Ship Weights masses + + + + + Ship Weights centers of gravity + + + + + Ship_AreasCurve + + + Areas curve + + + + + Plot transversal areas curve + + + + + Ship_CreateShip + + + Create a new ship + + + + + Create a new ship in order to work with them + + + + + Ship_CreateSim + + + Create a new simulation + + + + + Create a new simulation in order to process later + + + + + Ship_CreateTank + + + Create a new tank + + + + + Create a new ship tank + + + + + Ship_GZ + + + GZ curve + + + + + Transversal stability GZ curve computation + + + + + Ship_Hydrostatics + + + Hydrostatics + + + + + Plot ship hydrostatics + + + + + Ship_LoadExample + + + Load an example ship geometry + + + + + Load an example ship geometry able to be converted into a ship. + + + + + Ship_OutlineDraw + + + Outline draw + + + + + Plot ship outline draw + + + + + Ship_RunSim + + + Run a simulation + + + + + Ship_StopSim + + + Stop active simulation + + + + + Ship_TrackSim + + + Track simulation + + + + + Ship_Weights + + + Set ship weights + + + + + Set ship weights, tanks must be added later + + + + + ship_areas + + + Plot transversal areas curve + + + + + Draft + + + + + Trim + + + + + Displacement + + + + + Areas curve tool draft selected [m] + + + + + Areas curve tool trim selected + + + + + ship_console + + + Plot module is disabled, can't perform plot + + + + + Can't create folder + + + + + Can't write to file + + + + + Data saved + + + + + Ship instance must be selected (no object selected) + + + + + More than one ship selected (extra ships will be neglected) + + + + + Ship instance must be selected (no valid ship found at selected objects) + + + + + Ussually you don't want to modify manually this option + + + + + Object is not a valid ship simulation + + + + + Object is not a ship simulation + + + + + Can't find any active simulation + + + + + Ship objects can only be created on top of hull geometry (any object selected) + + + + + Please create or load a ship hull geometry before using this tool + + + + + Ship objects can only be created on top of hull geometry (no solid found at selected objects) + + + + + Plot module is disabled, tools can't graph output curves + + + + + pyOpenCL not installed, simulations stuff will disabled therefore + + + + + numpy not installed, simulations stuff will disabled therefore + + + + + Can't detect external faces from ship object + + + + + Computing hydrostatics + + + + + Computing external faces + + + + + Initializating + + + + + Iterating + + + + + Generating linear system matrix + + + + + Solving linear systems + + + + + Time integrating + + + + + Building data + + + + + Launching simulation + + + + + Done + + + + + Ship simulation instance must be selected (no object selected) + + + + + More than one ship simulation selected (extra simulations will be neglected) + + + + + Ship simulation instance must be selected (no valid simulation found at selected objects) + + + + + Can't find OpenCL devices + + + + + Simulation already stopped + + + + + Any active simulation to stop + + + + + Simulation will stop at the end of actual iteration + + + + + Computing GZ + + + + + Ship weights has not been set. You need to set weights before use this tool + + + + + Performing plot + + + + + Computing sections + + + + + Any valid ship section found + + + + + Tank has not been created + + + + + Tank objects can only be created on top of structure geometry (no object selected) + + + + + Please create a tank geometry before using this tool + + + + + Tank objects can only be created on top of structure geometry (no solids can't be computed) + + + + + ship_create + + + Base line + + + + + Free surface + + + + + Forward perpendicular + + + + + After perpendicular + + + + + Main frame + + + + + Create a new ship + + + + + Length + + + + + Breadth + + + + + Draft + + + + + ship_hydrostatic + + + Plot hydrostatics + + + + + Trim + + + + + Minimum draft + + + + + Maximum draft + + + + + Number of points + + + + + Hydrostatics tool trim selected + + + + + Hydrostatics tool minimum draft selected [m] + + + + + Hydrostatics tool maximum draft selected [m] + + + + + Hydrostatics tool number of points selected + + + + + ship_load + + + Load example ship + + + + + Select ship example geometry + + + + + ship_outline + + + Outline draw + + + + + Auto create + + + + + Scale + + + + + Delete all sections + + + + + Create sections + + + + + Transversal + + + + + Longitudinal + + + + + Water lines + + + + + Transversal sections position [m] + + + + + Longitudinal sections position [m] + + + + + Water lines position [m] + + + + + Plot scale (1:scale format) + + + + + shipsim_create + + + Create a new ship simulation + + + + + Free surface + + + + + Length + + + + + Breadth + + + + + Number of points + + + + + Waves + + + + + Amplitude + + + + + Period + + + + + Phase + + + + + Heading + + + + + shipsim_stop + + + Run the simulation + + + + + Simulation time + + + + + Output + + + + + OpenCL device + + + + + shipsim_track + + + Track simulation + + + + + Now + + + + + shiptank_create + + + Create a new tank + + + + + Filling level + + + + + Fluid density + + + + + shiptank_gz + + + Draft + + + + + GZ curve computation + + + + + Loading condition + + + + + Roll angles + + + + + Trim + + + + + Start + + + + + End + + + + + Number of points + + + + + Displacement + + + + + Press update to compute + + + + + Update displacement and draft + + + + + shiptank_weights + + + Set weights + + + + + Name + + + + + Mass + + + + diff --git a/src/Mod/Ship/resources/translations/Ship_zh-CN.qm b/src/Mod/Ship/resources/translations/Ship_zh-CN.qm new file mode 100644 index 000000000..be651eede --- /dev/null +++ b/src/Mod/Ship/resources/translations/Ship_zh-CN.qm @@ -0,0 +1 @@ +<¸dÊÍ!¿`¡½Ý \ No newline at end of file diff --git a/src/Mod/Ship/resources/translations/Ship_zh-CN.ts b/src/Mod/Ship/resources/translations/Ship_zh-CN.ts new file mode 100644 index 000000000..ed2d718ae --- /dev/null +++ b/src/Mod/Ship/resources/translations/Ship_zh-CN.ts @@ -0,0 +1,863 @@ + + + + Ship + + + True if is a valid ship tank instance + + + + + Fluid filling level percentage + + + + + Inside fluid density + + + + + True if is a valid ship simulation instance + + + + + Waves (Amplitude,period,phase) + + + + + Waves direction (0 deg to stern waves) + + + + + Free surface number of elements at x direction + + + + + Free surface number of elements at y direction + + + + + Free surface elements position + + + + + Free surface elements area + + + + + Free surface elements normal + + + + + Ship + + + + + Ship module provides some of the commonly used tool to design ship forms + + + + + Ship design + + + + + Weights + + + + + Simulation + + + + + True if is a valid ship instance + + + + + Ship Weights names + + + + + Lightweight + + + + + Ship Weights masses + + + + + Ship Weights centers of gravity + + + + + Ship_AreasCurve + + + Areas curve + + + + + Plot transversal areas curve + + + + + Ship_CreateShip + + + Create a new ship + + + + + Create a new ship in order to work with them + + + + + Ship_CreateSim + + + Create a new simulation + + + + + Create a new simulation in order to process later + + + + + Ship_CreateTank + + + Create a new tank + + + + + Create a new ship tank + + + + + Ship_GZ + + + GZ curve + + + + + Transversal stability GZ curve computation + + + + + Ship_Hydrostatics + + + Hydrostatics + + + + + Plot ship hydrostatics + + + + + Ship_LoadExample + + + Load an example ship geometry + + + + + Load an example ship geometry able to be converted into a ship. + + + + + Ship_OutlineDraw + + + Outline draw + + + + + Plot ship outline draw + + + + + Ship_RunSim + + + Run a simulation + + + + + Ship_StopSim + + + Stop active simulation + + + + + Ship_TrackSim + + + Track simulation + + + + + Ship_Weights + + + Set ship weights + + + + + Set ship weights, tanks must be added later + + + + + ship_areas + + + Plot transversal areas curve + + + + + Draft + + + + + Trim + + + + + Displacement + + + + + Areas curve tool draft selected [m] + + + + + Areas curve tool trim selected + + + + + ship_console + + + Plot module is disabled, can't perform plot + + + + + Can't create folder + + + + + Can't write to file + + + + + Data saved + + + + + Ship instance must be selected (no object selected) + + + + + More than one ship selected (extra ships will be neglected) + + + + + Ship instance must be selected (no valid ship found at selected objects) + + + + + Ussually you don't want to modify manually this option + + + + + Object is not a valid ship simulation + + + + + Object is not a ship simulation + + + + + Can't find any active simulation + + + + + Ship objects can only be created on top of hull geometry (any object selected) + + + + + Please create or load a ship hull geometry before using this tool + + + + + Ship objects can only be created on top of hull geometry (no solid found at selected objects) + + + + + Plot module is disabled, tools can't graph output curves + + + + + pyOpenCL not installed, simulations stuff will disabled therefore + + + + + numpy not installed, simulations stuff will disabled therefore + + + + + Can't detect external faces from ship object + + + + + Computing hydrostatics + + + + + Computing external faces + + + + + Initializating + + + + + Iterating + + + + + Generating linear system matrix + + + + + Solving linear systems + + + + + Time integrating + + + + + Building data + + + + + Launching simulation + + + + + Done + + + + + Ship simulation instance must be selected (no object selected) + + + + + More than one ship simulation selected (extra simulations will be neglected) + + + + + Ship simulation instance must be selected (no valid simulation found at selected objects) + + + + + Can't find OpenCL devices + + + + + Simulation already stopped + + + + + Any active simulation to stop + + + + + Simulation will stop at the end of actual iteration + + + + + Computing GZ + + + + + Ship weights has not been set. You need to set weights before use this tool + + + + + Performing plot + + + + + Computing sections + + + + + Any valid ship section found + + + + + Tank has not been created + + + + + Tank objects can only be created on top of structure geometry (no object selected) + + + + + Please create a tank geometry before using this tool + + + + + Tank objects can only be created on top of structure geometry (no solids can't be computed) + + + + + ship_create + + + Base line + + + + + Free surface + + + + + Forward perpendicular + + + + + After perpendicular + + + + + Main frame + + + + + Create a new ship + + + + + Length + + + + + Breadth + + + + + Draft + + + + + ship_hydrostatic + + + Plot hydrostatics + + + + + Trim + + + + + Minimum draft + + + + + Maximum draft + + + + + Number of points + + + + + Hydrostatics tool trim selected + + + + + Hydrostatics tool minimum draft selected [m] + + + + + Hydrostatics tool maximum draft selected [m] + + + + + Hydrostatics tool number of points selected + + + + + ship_load + + + Load example ship + + + + + Select ship example geometry + + + + + ship_outline + + + Outline draw + + + + + Auto create + + + + + Scale + + + + + Delete all sections + + + + + Create sections + + + + + Transversal + + + + + Longitudinal + + + + + Water lines + + + + + Transversal sections position [m] + + + + + Longitudinal sections position [m] + + + + + Water lines position [m] + + + + + Plot scale (1:scale format) + + + + + shipsim_create + + + Create a new ship simulation + + + + + Free surface + + + + + Length + + + + + Breadth + + + + + Number of points + + + + + Waves + + + + + Amplitude + + + + + Period + + + + + Phase + + + + + Heading + + + + + shipsim_stop + + + Run the simulation + + + + + Simulation time + + + + + Output + + + + + OpenCL device + + + + + shipsim_track + + + Track simulation + + + + + Now + + + + + shiptank_create + + + Create a new tank + + + + + Filling level + + + + + Fluid density + + + + + shiptank_gz + + + Draft + + + + + GZ curve computation + + + + + Loading condition + + + + + Roll angles + + + + + Trim + + + + + Start + + + + + End + + + + + Number of points + + + + + Displacement + + + + + Press update to compute + + + + + Update displacement and draft + + + + + shiptank_weights + + + Set weights + + + + + Name + + + + + Mass + + + + diff --git a/src/Mod/Ship/resources/translations/Ship_zh-TW.qm b/src/Mod/Ship/resources/translations/Ship_zh-TW.qm new file mode 100644 index 000000000..be651eede --- /dev/null +++ b/src/Mod/Ship/resources/translations/Ship_zh-TW.qm @@ -0,0 +1 @@ +<¸dÊÍ!¿`¡½Ý \ No newline at end of file diff --git a/src/Mod/Ship/resources/translations/Ship_zh-TW.ts b/src/Mod/Ship/resources/translations/Ship_zh-TW.ts new file mode 100644 index 000000000..ed2d718ae --- /dev/null +++ b/src/Mod/Ship/resources/translations/Ship_zh-TW.ts @@ -0,0 +1,863 @@ + + + + Ship + + + True if is a valid ship tank instance + + + + + Fluid filling level percentage + + + + + Inside fluid density + + + + + True if is a valid ship simulation instance + + + + + Waves (Amplitude,period,phase) + + + + + Waves direction (0 deg to stern waves) + + + + + Free surface number of elements at x direction + + + + + Free surface number of elements at y direction + + + + + Free surface elements position + + + + + Free surface elements area + + + + + Free surface elements normal + + + + + Ship + + + + + Ship module provides some of the commonly used tool to design ship forms + + + + + Ship design + + + + + Weights + + + + + Simulation + + + + + True if is a valid ship instance + + + + + Ship Weights names + + + + + Lightweight + + + + + Ship Weights masses + + + + + Ship Weights centers of gravity + + + + + Ship_AreasCurve + + + Areas curve + + + + + Plot transversal areas curve + + + + + Ship_CreateShip + + + Create a new ship + + + + + Create a new ship in order to work with them + + + + + Ship_CreateSim + + + Create a new simulation + + + + + Create a new simulation in order to process later + + + + + Ship_CreateTank + + + Create a new tank + + + + + Create a new ship tank + + + + + Ship_GZ + + + GZ curve + + + + + Transversal stability GZ curve computation + + + + + Ship_Hydrostatics + + + Hydrostatics + + + + + Plot ship hydrostatics + + + + + Ship_LoadExample + + + Load an example ship geometry + + + + + Load an example ship geometry able to be converted into a ship. + + + + + Ship_OutlineDraw + + + Outline draw + + + + + Plot ship outline draw + + + + + Ship_RunSim + + + Run a simulation + + + + + Ship_StopSim + + + Stop active simulation + + + + + Ship_TrackSim + + + Track simulation + + + + + Ship_Weights + + + Set ship weights + + + + + Set ship weights, tanks must be added later + + + + + ship_areas + + + Plot transversal areas curve + + + + + Draft + + + + + Trim + + + + + Displacement + + + + + Areas curve tool draft selected [m] + + + + + Areas curve tool trim selected + + + + + ship_console + + + Plot module is disabled, can't perform plot + + + + + Can't create folder + + + + + Can't write to file + + + + + Data saved + + + + + Ship instance must be selected (no object selected) + + + + + More than one ship selected (extra ships will be neglected) + + + + + Ship instance must be selected (no valid ship found at selected objects) + + + + + Ussually you don't want to modify manually this option + + + + + Object is not a valid ship simulation + + + + + Object is not a ship simulation + + + + + Can't find any active simulation + + + + + Ship objects can only be created on top of hull geometry (any object selected) + + + + + Please create or load a ship hull geometry before using this tool + + + + + Ship objects can only be created on top of hull geometry (no solid found at selected objects) + + + + + Plot module is disabled, tools can't graph output curves + + + + + pyOpenCL not installed, simulations stuff will disabled therefore + + + + + numpy not installed, simulations stuff will disabled therefore + + + + + Can't detect external faces from ship object + + + + + Computing hydrostatics + + + + + Computing external faces + + + + + Initializating + + + + + Iterating + + + + + Generating linear system matrix + + + + + Solving linear systems + + + + + Time integrating + + + + + Building data + + + + + Launching simulation + + + + + Done + + + + + Ship simulation instance must be selected (no object selected) + + + + + More than one ship simulation selected (extra simulations will be neglected) + + + + + Ship simulation instance must be selected (no valid simulation found at selected objects) + + + + + Can't find OpenCL devices + + + + + Simulation already stopped + + + + + Any active simulation to stop + + + + + Simulation will stop at the end of actual iteration + + + + + Computing GZ + + + + + Ship weights has not been set. You need to set weights before use this tool + + + + + Performing plot + + + + + Computing sections + + + + + Any valid ship section found + + + + + Tank has not been created + + + + + Tank objects can only be created on top of structure geometry (no object selected) + + + + + Please create a tank geometry before using this tool + + + + + Tank objects can only be created on top of structure geometry (no solids can't be computed) + + + + + ship_create + + + Base line + + + + + Free surface + + + + + Forward perpendicular + + + + + After perpendicular + + + + + Main frame + + + + + Create a new ship + + + + + Length + + + + + Breadth + + + + + Draft + + + + + ship_hydrostatic + + + Plot hydrostatics + + + + + Trim + + + + + Minimum draft + + + + + Maximum draft + + + + + Number of points + + + + + Hydrostatics tool trim selected + + + + + Hydrostatics tool minimum draft selected [m] + + + + + Hydrostatics tool maximum draft selected [m] + + + + + Hydrostatics tool number of points selected + + + + + ship_load + + + Load example ship + + + + + Select ship example geometry + + + + + ship_outline + + + Outline draw + + + + + Auto create + + + + + Scale + + + + + Delete all sections + + + + + Create sections + + + + + Transversal + + + + + Longitudinal + + + + + Water lines + + + + + Transversal sections position [m] + + + + + Longitudinal sections position [m] + + + + + Water lines position [m] + + + + + Plot scale (1:scale format) + + + + + shipsim_create + + + Create a new ship simulation + + + + + Free surface + + + + + Length + + + + + Breadth + + + + + Number of points + + + + + Waves + + + + + Amplitude + + + + + Period + + + + + Phase + + + + + Heading + + + + + shipsim_stop + + + Run the simulation + + + + + Simulation time + + + + + Output + + + + + OpenCL device + + + + + shipsim_track + + + Track simulation + + + + + Now + + + + + shiptank_create + + + Create a new tank + + + + + Filling level + + + + + Fluid density + + + + + shiptank_gz + + + Draft + + + + + GZ curve computation + + + + + Loading condition + + + + + Roll angles + + + + + Trim + + + + + Start + + + + + End + + + + + Number of points + + + + + Displacement + + + + + Press update to compute + + + + + Update displacement and draft + + + + + shiptank_weights + + + Set weights + + + + + Name + + + + + Mass + + + + diff --git a/src/Mod/Ship/shipAreasCurve/Plot.py b/src/Mod/Ship/shipAreasCurve/Plot.py deleted file mode 100644 index 4c2bc46e5..000000000 --- a/src/Mod/Ship/shipAreasCurve/Plot.py +++ /dev/null @@ -1,211 +0,0 @@ -#*************************************************************************** -#* * -#* Copyright (c) 2011, 2012 * -#* Jose Luis Cercos Pita * -#* * -#* This program is free software; you can redistribute it and/or modify * -#* it under the terms of the GNU Lesser General Public License (LGPL) * -#* as published by the Free Software Foundation; either version 2 of * -#* the License, or (at your option) any later version. * -#* for detail see the LICENCE text file. * -#* * -#* 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 Library General Public License for more details. * -#* * -#* You should have received a copy of the GNU Library General Public * -#* License along with this program; if not, write to the Free Software * -#* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * -#* USA * -#* * -#*************************************************************************** - -import os -# FreeCAD modules -import FreeCAD,FreeCADGui -from FreeCAD import Base -import Image, ImageGui -# FreeCADShip modules -from shipUtils import Paths, Translator - -header = """ ################################################################# - - ##### #### ### #### ##### # # ### #### - # # # # # # # # # # # # - # ## #### #### # # # # # # # # # # # - #### # # # # # # # ##### # # ## ## ##### # #### - # # #### #### # # # # # # # # # # - # # # # # # # # # # # # # # - # # #### #### ### # # #### ##### # # ### # - - ################################################################# -""" - -class Plot(object): - def __init__(self, x, y, disp, xcb, ship): - """ Constructor. performs plot and show it (Using pyxplot). - @param x X coordinates. - @param y Transversal areas. - @param disp Ship displacement. - @param xcb Bouyancy center length. - @param ship Active ship instance. - """ - if self.createDirectory(): - return - if self.saveData(x,y,ship): - return - if self.saveLayout(x,y,disp,xcb,ship): - return - if self.execute(): - return - ImageGui.open(self.path + 'areas.png') - - def createDirectory(self): - """ Create needed folder to write data and scripts. - @return True if error happens. - """ - self.path = FreeCAD.ConfigGet("UserAppData") + "ShipOutput/" - if not os.path.exists(self.path): - os.makedirs(self.path) - if not os.path.exists(self.path): - msg = Translator.translate("Can't create '" + self.path + "' folder.\n") - FreeCAD.Console.PrintError(msg) - return False - - def saveData(self,x,y,ship): - """ Write data file. - @param x X coordinates. - @param y Transversal areas. - @param ship Active ship instance. - @return True if error happens. - """ - # Open the file - filename = self.path + 'areas.dat' - try: - Output = open(filename, "w") - except IOError: - msg = Translator.translate("Can't write '" + filename + "' file.\n") - FreeCAD.Console.PrintError(msg) - return True - # Print header - Output.write(header) - Output.write(" #\n") - Output.write(" # File automatically exported by FreeCAD-Ship\n") - Output.write(" # This file contains transversal areas data, filled with following columns:\n") - Output.write(" # 1: X coordiante [m]\n") - Output.write(" # 2: Transversal area [m2]\n") - Output.write(" # 3: X FP coordinate [m]\n") - Output.write(" # 4: Y FP coordinate (bounds in order to draw it)\n") - Output.write(" # 3: X AP coordinate [m]\n") - Output.write(" # 4: Y AP coordinate (bounds in order to draw it)\n") - Output.write(" #\n") - Output.write(" #################################################################\n") - # Get perpendiculars data - Lpp = ship.Length - FPx = 0.5*Lpp - APx = -0.5*Lpp - maxArea = max(y) - # Print data - if len(x) < 2: - msg = Translator.translate("Not enough data to plot.\n") - FreeCAD.Console.PrintError(msg) - string = "%f %f %f %f %f %f\n" % (x[0], y[0], FPx, 0.0, APx, 0.0) - Output.write(string) - for i in range(1, len(x)): - string = "%f %f %f %f %f %f\n" % (x[i], y[i], FPx, maxArea, APx, maxArea) - Output.write(string) - # Close file - Output.close() - self.dataFile = filename - msg = Translator.translate("Data saved at '" + self.dataFile + "'.\n") - FreeCAD.Console.PrintMessage(msg) - return False - - def saveLayout(self, x, y, disp, xcb, ship): - """ Prints the data output. - @param x X coordinates. - @param y Transversal areas. - @param disp Ship displacement. - @param xcb Bouyancy center length. - @param ship Active ship instance. - @return True if error happens. - """ - filename = self.path + 'areas.pyxplot' - # Open the file - try: - Output = open(filename, "w") - except IOError: - msg = Translator.translate("Can't write '" + filename + "' file.\n") - FreeCAD.Console.PrintError(msg) - return True - # Write header - Output.write(header) - Output.write(" #\n") - Output.write(" # File automatically exported by FreeCAD-Ship\n") - Output.write(" # This file contains a script to plot transversal areas curve.\n") - Output.write(" # To use it execute:\n") - Output.write(" #\n") - Output.write(" # pyxplot %s\n" % (filename)) - Output.write(" #\n") - Output.write(" #################################################################\n") - # Write general options for hydrostatics - Output.write("set numeric display latex\n") - Output.write("set output '%s'\n" % (self.path + 'areas.eps')) - Output.write("set nokey\n") - Output.write("set grid\n") - Output.write("# X axis\n") - Output.write("set xlabel 'x / $m$'\n") - Output.write("set xtic\n") - Output.write("# Y axis\n") - Output.write("set ylabel 'Area / $m^2$'\n") - Output.write("set ytic\n") - Output.write("# Line styles\n") - Output.write("set style 1 line linetype 1 linewidth 1 colour rgb (0):(0):(0)\n") - Output.write("set style 2 line linetype 1 linewidth 2 colour rgb (0):(0):(0)\n") - # Get perpendiculars data - Lpp = ship.Length - FPx = 0.5*Lpp - APx = -0.5*Lpp - maxArea = max(y) - # Perpendicular labels - Output.write("# Perpendiculars labels\n") - Output.write("set label (1) AP %f,%f\n" % (APx+0.01*Lpp, 0.01*maxArea)) - Output.write("set label (2) AP %f,%f\n" % (APx+0.01*Lpp, 0.95*maxArea)) - Output.write("set label (3) FP %f,%f\n" % (FPx+0.01*Lpp, 0.01*maxArea)) - Output.write("set label (4) FP %f,%f\n" % (FPx+0.01*Lpp, 0.95*maxArea)) - # Additional data - Output.write("# Additional data\n") - Output.write("set label (5) 'XCB = %g m' %f,%f\n" % (xcb, -0.25*Lpp, 0.25*maxArea)) - Output.write("set label (6) 'Maximum area = %g m2' %f,%f\n" % (maxArea, -0.25*Lpp, 0.15*maxArea)) - Output.write("set label (7) 'Displacement = %g tons' %f,%f\n" % (disp, -0.25*Lpp, 0.05*maxArea)) - # Write plot call - Output.write("# Plot\n") - Output.write("plot '%s' using 1:2 title 'Transversal areas' axes x1y1 with lines style 1, \\\n" % (self.dataFile)) - Output.write(" '%s' using 3:4 title 'FP' axes x1y1 with lines style 2, \\\n" % (self.dataFile)) - Output.write(" '%s' using 5:6 title 'AP' axes x1y1 with lines style 2\n" % (self.dataFile)) - # Close file - self.layoutFile = filename - Output.close() - return False - - def execute(self): - """ Calls pyxplot in order to plot an save an image. - @return True if error happens. - """ - filename = self.path + 'areas' - comm = "pyxplot %s" % (self.layoutFile) - if os.system(comm): - msg = Translator.translate("Can't execute pyxplot. Maybe is not installed?\n") - FreeCAD.Console.PrintError(msg) - msg = Translator.translate("Plot will not generated\n") - FreeCAD.Console.PrintError(msg) - return True - comm = "gs -r300 -dEPSCrop -dTextAlphaBits=4 -sDEVICE=png16m -sOutputFile=%s.png -dBATCH -dNOPAUSE %s.eps" % (filename,filename) - if os.system(comm): - msg = Translator.translate("Can't execute ghostscript. Maybe is not installed?\n") - FreeCAD.Console.PrintError(msg) - msg = Translator.translate("Generated image will not converted to png\n") - FreeCAD.Console.PrintError(msg) - return True - return False diff --git a/src/Mod/Ship/shipAreasCurve/PlotAux.py b/src/Mod/Ship/shipAreasCurve/PlotAux.py new file mode 100644 index 000000000..42699539f --- /dev/null +++ b/src/Mod/Ship/shipAreasCurve/PlotAux.py @@ -0,0 +1,185 @@ +#*************************************************************************** +#* * +#* Copyright (c) 2011, 2012 * +#* Jose Luis Cercos Pita * +#* * +#* This program is free software; you can redistribute it and/or modify * +#* it under the terms of the GNU Lesser General Public License (LGPL) * +#* as published by the Free Software Foundation; either version 2 of * +#* the License, or (at your option) any later version. * +#* for detail see the LICENCE text file. * +#* * +#* 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 Library General Public License for more details. * +#* * +#* You should have received a copy of the GNU Library General Public * +#* License along with this program; if not, write to the Free Software * +#* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * +#* USA * +#* * +#*************************************************************************** + +import os +# Qt library +from PyQt4 import QtGui,QtCore +# FreeCAD modules +import FreeCAD,FreeCADGui +from FreeCAD import Base +import Image, ImageGui +# FreeCADShip modules +from shipUtils import Paths + +header = """ ################################################################# + + ##### #### ### #### ##### # # ### #### + # # # # # # # # # # # # + # ## #### #### # # # # # # # # # # # + #### # # # # # # # ##### # # ## ## ##### # #### + # # #### #### # # # # # # # # # # + # # # # # # # # # # # # # # + # # #### #### ### # # #### ##### # # ### # + + ################################################################# +""" + +class Plot(object): + def __init__(self, x, y, disp, xcb, ship): + """ Constructor. performs plot and show it. + @param x X coordinates. + @param y Transversal areas. + @param disp Ship displacement. + @param xcb Bouyancy center length. + @param ship Active ship instance. + """ + # Try to plot + self.plot(x,y,disp,xcb,ship) + # Save data + if self.createDirectory(): + return + if self.saveData(x,y,ship): + return + + def plot(self, x, y, disp, xcb, ship): + """ Perform areas curve plot. + @param x X coordinates. + @param y Transversal areas. + @param disp Ship displacement. + @param xcb Bouyancy center length. + @param ship Active ship instance. + @return True if error happens. + """ + # Create plot + try: + import Plot + plt = Plot.figure('Areas curve') + except ImportError: + msg = QtGui.QApplication.translate("ship_console", "Plot module is disabled, can't perform plot", + None,QtGui.QApplication.UnicodeUTF8) + FreeCAD.Console.PrintWarning(msg + '\n') + return True + # Plot areas curve + areas = Plot.plot(x,y,r'Transversal areas') + areas.line.set_linestyle('-') + areas.line.set_linewidth(2.0) + areas.line.set_color((0.0, 0.0, 0.0)) + # Get perpendiculars data + Lpp = ship.Length + FPx = 0.5*Lpp + APx = -0.5*Lpp + maxArea = max(y) + # Plot perpendiculars + FP = Plot.plot([FPx,FPx], [0.0,maxArea]) + FP.line.set_linestyle('-') + FP.line.set_linewidth(1.0) + FP.line.set_color((0.0, 0.0, 0.0)) + AP = Plot.plot([APx,APx], [0.0,maxArea]) + AP.line.set_linestyle('-') + AP.line.set_linewidth(1.0) + AP.line.set_color((0.0, 0.0, 0.0)) + # Add annotations for prependiculars + ax = Plot.axes() + ax.annotate('AP', xy=(APx+0.01*Lpp, 0.01*maxArea), size=15) + ax.annotate('AP', xy=(APx+0.01*Lpp, 0.95*maxArea), size=15) + ax.annotate('FP', xy=(FPx+0.01*Lpp, 0.01*maxArea), size=15) + ax.annotate('FP', xy=(FPx+0.01*Lpp, 0.95*maxArea), size=15) + # Add some additional data + addInfo = r"""$XCB = %g \; \mathrm{m}$ +$Area_{max} = %g \; \mathrm{m}^2$ +$\bigtriangleup = %g \; \mathrm{tons}$""" % (xcb,maxArea,disp) + ax.text(0.0, 0.01*maxArea, addInfo, + verticalalignment='bottom',horizontalalignment='center', fontsize=20) + # Write axes titles + Plot.xlabel(r'$x \; \mathrm{m}$') + Plot.ylabel(r'$Area \; \mathrm{m}^2$') + ax.xaxis.label.set_fontsize(20) + ax.yaxis.label.set_fontsize(20) + # Show grid + Plot.grid(True) + # End + plt.update() + return False + + def createDirectory(self): + """ Create needed folder to write data. + @return True if error happens. + """ + self.path = FreeCAD.ConfigGet("UserAppData") + "ShipOutput/" + if not os.path.exists(self.path): + os.makedirs(self.path) + if not os.path.exists(self.path): + msg = QtGui.QApplication.translate("ship_console", "Can't create folder", + None,QtGui.QApplication.UnicodeUTF8) + FreeCAD.Console.PrintError(msg + ':\n\t' + "\'"+ self.path + "\'\n") + return True + return False + + def saveData(self,x,y,ship): + """ Write data file. + @param x X coordinates. + @param y Transversal areas. + @param ship Active ship instance. + @return True if error happens. + """ + # Open the file + filename = self.path + 'areas.dat' + try: + Output = open(filename, "w") + except IOError: + msg = QtGui.QApplication.translate("ship_console", "Can't write to file", + None,QtGui.QApplication.UnicodeUTF8) + FreeCAD.Console.PrintError(msg + ':\n\t' + "\'"+ filename + "\'\n") + return True + # Print header + Output.write(header) + Output.write(" #\n") + Output.write(" # File automatically exported by FreeCAD-Ship\n") + Output.write(" # This file contains transversal areas data, filled with following columns:\n") + Output.write(" # 1: X coordiante [m]\n") + Output.write(" # 2: Transversal area [m2]\n") + Output.write(" # 3: X FP coordinate [m]\n") + Output.write(" # 4: Y FP coordinate (bounds in order to draw it)\n") + Output.write(" # 3: X AP coordinate [m]\n") + Output.write(" # 4: Y AP coordinate (bounds in order to draw it)\n") + Output.write(" #\n") + Output.write(" #################################################################\n") + # Get perpendiculars data + Lpp = ship.Length + FPx = 0.5*Lpp + APx = -0.5*Lpp + maxArea = max(y) + # Print data + string = "%f %f %f %f %f %f\n" % (x[0], y[0], FPx, 0.0, APx, 0.0) + Output.write(string) + for i in range(1, len(x)): + string = "%f %f %f %f %f %f\n" % (x[i], y[i], FPx, maxArea, APx, maxArea) + Output.write(string) + # Close file + Output.close() + self.dataFile = filename + msg = QtGui.QApplication.translate("ship_console", "Data saved", + None,QtGui.QApplication.UnicodeUTF8) + FreeCAD.Console.PrintMessage(msg + ':\n\t' + "\'"+ self.dataFile + "\'\n") + return False + diff --git a/src/Mod/Ship/shipAreasCurve/Preview.py b/src/Mod/Ship/shipAreasCurve/Preview.py index 6af80580d..4cd17bf92 100644 --- a/src/Mod/Ship/shipAreasCurve/Preview.py +++ b/src/Mod/Ship/shipAreasCurve/Preview.py @@ -1,24 +1,24 @@ #*************************************************************************** -#* * -#* Copyright (c) 2011, 2012 * -#* Jose Luis Cercos Pita * -#* * +#* * +#* Copyright (c) 2011, 2012 * +#* Jose Luis Cercos Pita * +#* * #* This program is free software; you can redistribute it and/or modify * -#* it under the terms of the GNU Lesser General Public License (LGPL) * -#* as published by the Free Software Foundation; either version 2 of * -#* the License, or (at your option) any later version. * -#* for detail see the LICENCE text file. * -#* * -#* 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 Library General Public License for more details. * -#* * -#* You should have received a copy of the GNU Library General Public * +#* it under the terms of the GNU Lesser General Public License (LGPL) * +#* as published by the Free Software Foundation; either version 2 of * +#* the License, or (at your option) any later version. * +#* for detail see the LICENCE text file. * +#* * +#* 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 Library General Public License for more details. * +#* * +#* You should have received a copy of the GNU Library General Public * #* License along with this program; if not, write to the Free Software * #* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * -#* USA * -#* * +#* USA * +#* * #*************************************************************************** # FreeCAD modules @@ -26,53 +26,53 @@ import FreeCAD,FreeCADGui from FreeCAD import Base import Part # FreeCADShip modules -from shipUtils import Paths, Translator +from shipUtils import Paths class Preview(object): - def __init__(self): - """ Constructor. - """ - self.reinit() + def __init__(self): + """ Constructor. + """ + self.reinit() - def reinit(self): - """ Reinitializate drawer. - """ - self.obj = None - self.clean() + def reinit(self): + """ Reinitializate drawer. + """ + self.obj = None + self.clean() - def update(self, draft, trim, ship): - """ Update free surface 3D view - @param traft Draft. - @param trim Trim in degrees. - """ - # Destroy old object if exist - self.clean() - # Set free surface bounds - bbox = ship.Shape.BoundBox - L = 1.5 * bbox.XLength - B = 3.0 * bbox.YLength - # Create plane - x = - 0.5 * L - y = - 0.5 * B - point = Base.Vector(x,y,0.0) - plane = Part.makePlane(L,B, point, Base.Vector(0,0,1)) - # Set position - plane.rotate(Base.Vector(0,0,0), Base.Vector(0,1,0), trim) - plane.translate(Base.Vector(0,0,draft)) - # Create the FreeCAD object - Part.show(plane) - objs = FreeCAD.ActiveDocument.Objects - self.obj = objs[len(objs)-1] - self.obj.Label = 'FreeSurface' - # Set properties of object - guiObj = FreeCADGui.ActiveDocument.getObject(self.obj.Name) - guiObj.ShapeColor = (0.4,0.8,0.85) - guiObj.Transparency = 50 + def update(self, draft, trim, ship): + """ Update free surface 3D view + @param traft Draft. + @param trim Trim in degrees. + """ + # Destroy old object if exist + self.clean() + # Set free surface bounds + bbox = ship.Shape.BoundBox + L = 1.5 * bbox.XLength + B = 3.0 * bbox.YLength + # Create plane + x = - 0.5 * L + y = - 0.5 * B + point = Base.Vector(x,y,0.0) + plane = Part.makePlane(L,B, point, Base.Vector(0,0,1)) + # Set position + plane.rotate(Base.Vector(0,0,0), Base.Vector(0,1,0), trim) + plane.translate(Base.Vector(0,0,draft)) + # Create the FreeCAD object + Part.show(plane) + objs = FreeCAD.ActiveDocument.Objects + self.obj = objs[len(objs)-1] + self.obj.Label = 'FreeSurface' + # Set properties of object + guiObj = FreeCADGui.ActiveDocument.getObject(self.obj.Name) + guiObj.ShapeColor = (0.4,0.8,0.85) + guiObj.Transparency = 50 - def clean(self): - """ Erase all annotations from screen. - """ - if not self.obj: - return - FreeCAD.ActiveDocument.removeObject(self.obj.Name) - self.obj=None + def clean(self): + """ Erase all annotations from screen. + """ + if not self.obj: + return + FreeCAD.ActiveDocument.removeObject(self.obj.Name) + self.obj=None diff --git a/src/Mod/Ship/shipAreasCurve/TaskPanel.py b/src/Mod/Ship/shipAreasCurve/TaskPanel.py index e027f5f9e..258f487b7 100644 --- a/src/Mod/Ship/shipAreasCurve/TaskPanel.py +++ b/src/Mod/Ship/shipAreasCurve/TaskPanel.py @@ -1,24 +1,24 @@ #*************************************************************************** -#* * -#* Copyright (c) 2011, 2012 * -#* Jose Luis Cercos Pita * -#* * +#* * +#* Copyright (c) 2011, 2012 * +#* Jose Luis Cercos Pita * +#* * #* This program is free software; you can redistribute it and/or modify * -#* it under the terms of the GNU Lesser General Public License (LGPL) * -#* as published by the Free Software Foundation; either version 2 of * -#* the License, or (at your option) any later version. * -#* for detail see the LICENCE text file. * -#* * -#* 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 Library General Public License for more details. * -#* * -#* You should have received a copy of the GNU Library General Public * +#* it under the terms of the GNU Lesser General Public License (LGPL) * +#* as published by the Free Software Foundation; either version 2 of * +#* the License, or (at your option) any later version. * +#* for detail see the LICENCE text file. * +#* * +#* 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 Library General Public License for more details. * +#* * +#* You should have received a copy of the GNU Library General Public * #* License along with this program; if not, write to the Free Software * #* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * -#* USA * -#* * +#* USA * +#* * #*************************************************************************** import math @@ -28,207 +28,218 @@ import FreeCADGui as Gui # Qt library from PyQt4 import QtGui,QtCore # Module -import Preview, Plot +import Preview, PlotAux import Instance -from shipUtils import Paths, Translator +from shipUtils import Paths from shipHydrostatics import Tools as Hydrostatics class TaskPanel: - def __init__(self): - self.ui = Paths.modulePath() + "/shipAreasCurve/TaskPanel.ui" - self.preview = Preview.Preview() - self.ship = None + def __init__(self): + self.ui = Paths.modulePath() + "/shipAreasCurve/TaskPanel.ui" + self.preview = Preview.Preview() + self.ship = None - def accept(self): - if not self.ship: - return False - self.save() - # Plot data - data = Hydrostatics.displacement(self.ship,self.form.draft.value(),0.0,self.form.trim.value()) - disp = data[0] - xcb = data[1].x - data = Hydrostatics.areas(self.ship,self.form.draft.value(),0.0,self.form.trim.value()) - x = [] - y = [] - for i in range(0,len(data)): - x.append(data[i][0]) - y.append(data[i][1]) - Plot.Plot(x,y,disp,xcb, self.ship) - self.preview.clean() - return True + def accept(self): + if not self.ship: + return False + self.save() + # Plot data + data = Hydrostatics.displacement(self.ship,self.form.draft.value(),0.0,self.form.trim.value()) + disp = data[0] + xcb = data[1].x + data = Hydrostatics.areas(self.ship,self.form.draft.value(),0.0,self.form.trim.value()) + x = [] + y = [] + for i in range(0,len(data)): + x.append(data[i][0]) + y.append(data[i][1]) + PlotAux.Plot(x,y,disp,xcb, self.ship) + self.preview.clean() + return True - def reject(self): - self.preview.clean() - return True + def reject(self): + self.preview.clean() + return True - def clicked(self, index): - pass + def clicked(self, index): + pass - def open(self): - pass + def open(self): + pass - def needsFullSpace(self): - return True + def needsFullSpace(self): + return True - def isAllowedAlterSelection(self): - return False + def isAllowedAlterSelection(self): + return False - def isAllowedAlterView(self): - return True + def isAllowedAlterView(self): + return True - def isAllowedAlterDocument(self): - return False + def isAllowedAlterDocument(self): + return False - def helpRequested(self): - pass + def helpRequested(self): + pass - def setupUi(self): - mw = self.getMainWindow() - form = mw.findChild(QtGui.QWidget, "TaskPanel") - form.draft = form.findChild(QtGui.QDoubleSpinBox, "Draft") - form.trim = form.findChild(QtGui.QDoubleSpinBox, "Trim") - form.output = form.findChild(QtGui.QTextEdit, "OutputData") - form.doc = QtGui.QTextDocument(form.output) - self.form = form - # Initial values - if self.initValues(): - return True - self.retranslateUi() - # Connect Signals and Slots - QtCore.QObject.connect(form.draft, QtCore.SIGNAL("valueChanged(double)"), self.onData) - QtCore.QObject.connect(form.trim, QtCore.SIGNAL("valueChanged(double)"), self.onData) + def setupUi(self): + mw = self.getMainWindow() + form = mw.findChild(QtGui.QWidget, "TaskPanel") + form.draft = form.findChild(QtGui.QDoubleSpinBox, "Draft") + form.trim = form.findChild(QtGui.QDoubleSpinBox, "Trim") + form.output = form.findChild(QtGui.QTextEdit, "OutputData") + form.doc = QtGui.QTextDocument(form.output) + self.form = form + # Initial values + if self.initValues(): + return True + self.retranslateUi() + # Connect Signals and Slots + QtCore.QObject.connect(form.draft, QtCore.SIGNAL("valueChanged(double)"), self.onData) + QtCore.QObject.connect(form.trim, QtCore.SIGNAL("valueChanged(double)"), self.onData) - def getMainWindow(self): - "returns the main window" - # using QtGui.qApp.activeWindow() isn't very reliable because if another - # widget than the mainwindow is active (e.g. a dialog) the wrong widget is - # returned - toplevel = QtGui.qApp.topLevelWidgets() - for i in toplevel: - if i.metaObject().className() == "Gui::MainWindow": - return i - raise Exception("No main window found") + def getMainWindow(self): + "returns the main window" + # using QtGui.qApp.activeWindow() isn't very reliable because if another + # widget than the mainwindow is active (e.g. a dialog) the wrong widget is + # returned + toplevel = QtGui.qApp.topLevelWidgets() + for i in toplevel: + if i.metaObject().className() == "Gui::MainWindow": + return i + raise Exception("No main window found") - def initValues(self): - """ Set initial values for fields - """ - # Get objects - selObjs = Gui.Selection.getSelection() - if not selObjs: - msg = Translator.translate("Ship instance must be selected (no object selected)\n") - App.Console.PrintError(msg) - return True - for i in range(0,len(selObjs)): - obj = selObjs[i] - # Test if is a ship instance - props = obj.PropertiesList - try: - props.index("IsShip") - except ValueError: - continue - if obj.IsShip: - # Test if another ship already selected - if self.ship: - msg = Translator.translate("More than one ship selected (extra ship will be neglected)\n") - App.Console.PrintWarning(msg) - break - self.ship = obj - # Test if any valid ship was selected - if not self.ship: - msg = Translator.translate("Ship instance must be selected (no valid ship found at selected objects)\n") - App.Console.PrintError(msg) - return True - # Get bounds - bbox = self.ship.Shape.BoundBox - self.form.draft.setMaximum(bbox.ZMax) - self.form.draft.setMinimum(bbox.ZMin) - self.form.draft.setValue(self.ship.Draft) - # Try to use saved values - props = self.ship.PropertiesList - flag = True - try: - props.index("AreaCurveDraft") - except ValueError: - flag = False - if flag: - self.form.draft.setValue(self.ship.AreaCurveDraft) - flag = True - try: - props.index("AreaCurveTrim") - except ValueError: - flag = False - if flag: - self.form.trim.setValue(self.ship.AreaCurveTrim) - # Update GUI - self.preview.update(self.form.draft.value(), self.form.trim.value(), self.ship) - self.onUpdate() - msg = Translator.translate("Ready to work\n") - App.Console.PrintMessage(msg) - return False + def initValues(self): + """ Set initial values for fields + """ + # Get objects + selObjs = Gui.Selection.getSelection() + if not selObjs: + msg = QtGui.QApplication.translate("ship_console", "Ship instance must be selected (no object selected)", + None,QtGui.QApplication.UnicodeUTF8) + App.Console.PrintError(msg + '\n') + return True + for i in range(0,len(selObjs)): + obj = selObjs[i] + # Test if is a ship instance + props = obj.PropertiesList + try: + props.index("IsShip") + except ValueError: + continue + if obj.IsShip: + # Test if another ship already selected + if self.ship: + msg = QtGui.QApplication.translate("ship_console", "More than one ship selected (extra ships will be neglected)", + None,QtGui.QApplication.UnicodeUTF8) + App.Console.PrintWarning(msg + '\n') + break + self.ship = obj + # Test if any valid ship was selected + if not self.ship: + msg = QtGui.QApplication.translate("ship_console", + "Ship instance must be selected (no valid ship found at selected objects)", + None,QtGui.QApplication.UnicodeUTF8) + App.Console.PrintError(msg + '\n') + return True + # Get bounds + bbox = self.ship.Shape.BoundBox + self.form.draft.setMaximum(bbox.ZMax) + self.form.draft.setMinimum(bbox.ZMin) + self.form.draft.setValue(self.ship.Draft) + # Try to use saved values + props = self.ship.PropertiesList + flag = True + try: + props.index("AreaCurveDraft") + except ValueError: + flag = False + if flag: + self.form.draft.setValue(self.ship.AreaCurveDraft) + flag = True + try: + props.index("AreaCurveTrim") + except ValueError: + flag = False + if flag: + self.form.trim.setValue(self.ship.AreaCurveTrim) + # Update GUI + self.preview.update(self.form.draft.value(), self.form.trim.value(), self.ship) + self.onUpdate() + return False - def retranslateUi(self): - """ Set user interface locale strings. - """ - self.form.setWindowTitle(Translator.translate("Plot transversal areas curve")) - self.form.findChild(QtGui.QLabel, "DraftLabel").setText(Translator.translate("Draft")) - self.form.findChild(QtGui.QLabel, "TrimLabel").setText(Translator.translate("Trim")) + def retranslateUi(self): + """ Set user interface locale strings. + """ + self.form.setWindowTitle(QtGui.QApplication.translate("ship_areas","Plot transversal areas curve", + None,QtGui.QApplication.UnicodeUTF8)) + self.form.findChild(QtGui.QLabel, "DraftLabel").setText(QtGui.QApplication.translate("ship_areas","Draft", + None,QtGui.QApplication.UnicodeUTF8)) + self.form.findChild(QtGui.QLabel, "TrimLabel").setText(QtGui.QApplication.translate("ship_areas","Trim", + None,QtGui.QApplication.UnicodeUTF8)) - def onData(self, value): - """ Method called when input data is changed. - @param value Changed value. - """ - if not self.ship: - return - self.onUpdate() - self.preview.update(self.form.draft.value(), self.form.trim.value(), self.ship) + def onData(self, value): + """ Method called when input data is changed. + @param value Changed value. + """ + if not self.ship: + return + self.onUpdate() + self.preview.update(self.form.draft.value(), self.form.trim.value(), self.ship) - def onUpdate(self): - """ Method called when update data request. - """ - if not self.ship: - return - # Calculate drafts - angle = math.radians(self.form.trim.value()) - L = self.ship.Length - draftAP = self.form.draft.value() + 0.5*L*math.tan(angle) - if draftAP < 0.0: - draftAP = 0.0 - draftFP = self.form.draft.value() - 0.5*L*math.tan(angle) - if draftFP < 0.0: - draftFP = 0.0 - # Calculate hydrostatics involved - data = Hydrostatics.displacement(self.ship,self.form.draft.value(),0.0,self.form.trim.value()) - # Prepare the string in html format - string = 'L = %g [m]
' % (self.ship.Length) - string = string + 'B = %g [m]
' % (self.ship.Beam) - string = string + 'T = %g [m]


' % (self.form.draft.value()) - string = string + 'Trim = %g [degrees]
' % (self.form.trim.value()) - string = string + 'TAP = %g [m]
' % (draftAP) - string = string + 'TFP = %g [m]
' % (draftFP) - string = string + Translator.translate('Displacement') + ' = %g [ton]
' % (data[0]) - string = string + 'XCB = %g [m]' % (data[1].x) - # Set the document - self.form.output.setHtml(string) + def onUpdate(self): + """ Method called when update data request. + """ + if not self.ship: + return + # Calculate drafts + angle = math.radians(self.form.trim.value()) + L = self.ship.Length + draftAP = self.form.draft.value() + 0.5*L*math.tan(angle) + if draftAP < 0.0: + draftAP = 0.0 + draftFP = self.form.draft.value() - 0.5*L*math.tan(angle) + if draftFP < 0.0: + draftFP = 0.0 + # Calculate hydrostatics involved + data = Hydrostatics.displacement(self.ship,self.form.draft.value(),0.0,self.form.trim.value()) + # Prepare the string in html format + string = 'L = %g [m]
' % (self.ship.Length) + string = string + 'B = %g [m]
' % (self.ship.Beam) + string = string + 'T = %g [m]
' % (self.form.draft.value()) + string = string + 'Trim = %g [degrees]
' % (self.form.trim.value()) + string = string + 'TAP = %g [m]
' % (draftAP) + string = string + 'TFP = %g [m]
' % (draftFP) + dispText = QtGui.QApplication.translate("ship_areas",'Displacement', + None,QtGui.QApplication.UnicodeUTF8) + string = string + dispText + ' = %g [ton]
' % (data[0]) + string = string + 'XCB = %g [m]' % (data[1].x) + # Set the document + self.form.output.setHtml(string) - def save(self): - """ Saves data into ship instance. - """ - props = self.ship.PropertiesList - try: - props.index("AreaCurveDraft") - except ValueError: - self.ship.addProperty("App::PropertyFloat","AreaCurveDraft","Ship", str(Translator.translate("Areas curve draft selected [m]"))) - self.ship.AreaCurveDraft = self.form.draft.value() - try: - props.index("AreaCurveTrim") - except ValueError: - self.ship.addProperty("App::PropertyFloat","AreaCurveTrim","Ship", str(Translator.translate("Areas curve trim selected [m]"))) - self.ship.AreaCurveTrim = self.form.trim.value() + def save(self): + """ Saves data into ship instance. + """ + props = self.ship.PropertiesList + try: + props.index("AreaCurveDraft") + except ValueError: + tooltip = str(QtGui.QApplication.translate("ship_areas","Areas curve tool draft selected [m]", + None,QtGui.QApplication.UnicodeUTF8)) + self.ship.addProperty("App::PropertyFloat","AreaCurveDraft","Ship", tooltip) + self.ship.AreaCurveDraft = self.form.draft.value() + try: + props.index("AreaCurveTrim") + except ValueError: + tooltip = str(QtGui.QApplication.translate("ship_areas","Areas curve tool trim selected", + None,QtGui.QApplication.UnicodeUTF8)) + self.ship.addProperty("App::PropertyFloat","AreaCurveTrim","Ship", tooltip) + self.ship.AreaCurveTrim = self.form.trim.value() def createTask(): - panel = TaskPanel() - Gui.Control.showDialog(panel) - if panel.setupUi(): - Gui.Control.closeDialog(panel) - return None - return panel + panel = TaskPanel() + Gui.Control.showDialog(panel) + if panel.setupUi(): + Gui.Control.closeDialog(panel) + return None + return panel diff --git a/src/Mod/Ship/shipAreasCurve/TaskPanel.ui b/src/Mod/Ship/shipAreasCurve/TaskPanel.ui index 8e0356185..efed908cd 100644 --- a/src/Mod/Ship/shipAreasCurve/TaskPanel.ui +++ b/src/Mod/Ship/shipAreasCurve/TaskPanel.ui @@ -11,19 +11,51 @@ - Create new ship + Transversal areas curve - - + + + Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse + + + + + + + + + 0 + 0 + + Draft - + + + + + 0 + 0 + + + + + 16777215 + 16777215 + + + + m + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter @@ -36,31 +68,20 @@ - - - - - 24 - 16777215 - - - - m - - - - - - - - + + + + 0 + 0 + + Trim - + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter @@ -76,11 +97,17 @@ - + + + + 0 + 0 + + - 24 + 16777215 16777215 @@ -91,13 +118,6 @@ - - - - Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse - - - diff --git a/src/Mod/Ship/shipAreasCurve/__init__.py b/src/Mod/Ship/shipAreasCurve/__init__.py index cbfb57d75..021390940 100644 --- a/src/Mod/Ship/shipAreasCurve/__init__.py +++ b/src/Mod/Ship/shipAreasCurve/__init__.py @@ -1,24 +1,24 @@ #*************************************************************************** -#* * -#* Copyright (c) 2011, 2012 * -#* Jose Luis Cercos Pita * -#* * +#* * +#* Copyright (c) 2011, 2012 * +#* Jose Luis Cercos Pita * +#* * #* This program is free software; you can redistribute it and/or modify * -#* it under the terms of the GNU Lesser General Public License (LGPL) * -#* as published by the Free Software Foundation; either version 2 of * -#* the License, or (at your option) any later version. * -#* for detail see the LICENCE text file. * -#* * -#* 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 Library General Public License for more details. * -#* * -#* You should have received a copy of the GNU Library General Public * +#* it under the terms of the GNU Lesser General Public License (LGPL) * +#* as published by the Free Software Foundation; either version 2 of * +#* the License, or (at your option) any later version. * +#* for detail see the LICENCE text file. * +#* * +#* 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 Library General Public License for more details. * +#* * +#* You should have received a copy of the GNU Library General Public * #* License along with this program; if not, write to the Free Software * #* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * -#* USA * -#* * +#* USA * +#* * #*************************************************************************** # FreeCAD modules @@ -32,5 +32,5 @@ from PyQt4 import QtGui,QtCore import TaskPanel def load(): - """ Loads the tool """ - TaskPanel.createTask() + """ Loads the tool """ + TaskPanel.createTask() diff --git a/src/Mod/Ship/shipCreateShip/Preview.py b/src/Mod/Ship/shipCreateShip/Preview.py index 72f601432..60a61dec1 100644 --- a/src/Mod/Ship/shipCreateShip/Preview.py +++ b/src/Mod/Ship/shipCreateShip/Preview.py @@ -1,130 +1,142 @@ #*************************************************************************** -#* * -#* Copyright (c) 2011, 2012 * -#* Jose Luis Cercos Pita * -#* * +#* * +#* Copyright (c) 2011, 2012 * +#* Jose Luis Cercos Pita * +#* * #* This program is free software; you can redistribute it and/or modify * -#* it under the terms of the GNU Lesser General Public License (LGPL) * -#* as published by the Free Software Foundation; either version 2 of * -#* the License, or (at your option) any later version. * -#* for detail see the LICENCE text file. * -#* * -#* 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 Library General Public License for more details. * -#* * -#* You should have received a copy of the GNU Library General Public * +#* it under the terms of the GNU Lesser General Public License (LGPL) * +#* as published by the Free Software Foundation; either version 2 of * +#* the License, or (at your option) any later version. * +#* for detail see the LICENCE text file. * +#* * +#* 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 Library General Public License for more details. * +#* * +#* You should have received a copy of the GNU Library General Public * #* License along with this program; if not, write to the Free Software * #* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * -#* USA * -#* * +#* USA * +#* * #*************************************************************************** # FreeCAD modules import FreeCAD,FreeCADGui from FreeCAD import Base import Part +# Qt library +from PyQt4 import QtGui,QtCore # FreeCADShip modules -from shipUtils import Paths, Translator +from shipUtils import Paths class Preview(object): - def __init__(self): - """ Constructor. - """ - self.baseLine = None - self.baseLineLabel = None - self.reinit() + def __init__(self): + """ Constructor. + """ + self.baseLine = None + self.baseLineLabel = None + self.reinit() - def reinit(self): - """ Reinitializate drawer. - """ - self.clean() + def reinit(self): + """ Reinitializate drawer. + """ + self.clean() - def update(self, L, B, T): - """ Update the 3D view printing annotations. - @param L Ship length. - @param B Ship beam. - @param T Ship draft. - """ - # Destroy all previous entities - self.clean() - # Draw base line - xStart = -0.6*L; - xEnd = 0.6*L; - baseLine = Part.makeLine((xStart,0,0),(xEnd,0,0)) - Part.show(baseLine) - objs = FreeCAD.ActiveDocument.Objects - self.baseLine = objs[len(objs)-1] - self.baseLine.Label = 'BaseLine' - self.baseLineLabel = DrawText('BaseLineText', str(Translator.translate('Base line')), Base.Vector(xEnd,0,0)) - # Draw free surface - fsLine = Part.makeLine((xStart,0,T),(xEnd,0,T)) - Part.show(fsLine) - objs = FreeCAD.ActiveDocument.Objects - self.fsLine = objs[len(objs)-1] - self.fsLine.Label = 'FreeSurface' - self.fsLineLabel = DrawText('FSText', str(Translator.translate('Free surface')), Base.Vector(xEnd,0,T)) - # Draw forward perpendicular - zStart = -0.1*T - zEnd = 1.1*T - fpLine = Part.makeLine((0.5*L,0,zStart),(0.5*L,0,zEnd)) - Part.show(fpLine) - objs = FreeCAD.ActiveDocument.Objects - self.fpLine = objs[len(objs)-1] - self.fpLine.Label = 'ForwardPerpendicular' - self.fpLineLabel = DrawText('FPText', str(Translator.translate('Forward perpendicular')), Base.Vector(0.5*L,0,zEnd)) - # Draw after perpendicular - apLine = Part.makeLine((-0.5*L,0,zStart),(-0.5*L,0,zEnd)) - Part.show(apLine) - objs = FreeCAD.ActiveDocument.Objects - self.apLine = objs[len(objs)-1] - self.apLine.Label = 'AfterPerpendicular' - self.apLineLabel = DrawText('APText', str(Translator.translate('After perpendicular')), Base.Vector(-0.5*L,0,zEnd)) - # Draw amin frame - amLine = Part.makeLine((0,-0.5*B,zStart),(0,-0.5*B,zEnd)) - Part.show(amLine) - objs = FreeCAD.ActiveDocument.Objects - self.amLine = objs[len(objs)-1] - self.amLine.Label = 'AminFrame' - self.amLineLabel = DrawText('AMText', str(Translator.translate('Amin frame')), Base.Vector(0,-0.5*B,zEnd)) - - def clean(self): - """ Erase all annotations from screen. - """ - if not self.baseLine: - return - FreeCAD.ActiveDocument.removeObject(self.baseLine.Name) - FreeCAD.ActiveDocument.removeObject(self.baseLineLabel.Name) - FreeCAD.ActiveDocument.removeObject(self.fsLine.Name) - FreeCAD.ActiveDocument.removeObject(self.fsLineLabel.Name) - FreeCAD.ActiveDocument.removeObject(self.fpLine.Name) - FreeCAD.ActiveDocument.removeObject(self.fpLineLabel.Name) - FreeCAD.ActiveDocument.removeObject(self.apLine.Name) - FreeCAD.ActiveDocument.removeObject(self.apLineLabel.Name) - FreeCAD.ActiveDocument.removeObject(self.amLine.Name) - FreeCAD.ActiveDocument.removeObject(self.amLineLabel.Name) + def update(self, L, B, T): + """ Update the 3D view printing annotations. + @param L Ship length. + @param B Ship beam. + @param T Ship draft. + """ + # Destroy all previous entities + self.clean() + # Draw base line + xStart = -0.6*L; + xEnd = 0.6*L; + baseLine = Part.makeLine((xStart,0,0),(xEnd,0,0)) + Part.show(baseLine) + objs = FreeCAD.ActiveDocument.Objects + self.baseLine = objs[len(objs)-1] + self.baseLine.Label = 'BaseLine' + text = str(QtGui.QApplication.translate("ship_create","Base line", + None,QtGui.QApplication.UnicodeUTF8)) + self.baseLineLabel = DrawText('BaseLineText', text, Base.Vector(xEnd,0,0)) + # Draw free surface + fsLine = Part.makeLine((xStart,0,T),(xEnd,0,T)) + Part.show(fsLine) + objs = FreeCAD.ActiveDocument.Objects + self.fsLine = objs[len(objs)-1] + self.fsLine.Label = 'FreeSurface' + text = str(QtGui.QApplication.translate("ship_create","Free surface", + None,QtGui.QApplication.UnicodeUTF8)) + self.fsLineLabel = DrawText('FSText', text, Base.Vector(xEnd,0,T)) + # Draw forward perpendicular + zStart = -0.1*T + zEnd = 1.1*T + fpLine = Part.makeLine((0.5*L,0,zStart),(0.5*L,0,zEnd)) + Part.show(fpLine) + objs = FreeCAD.ActiveDocument.Objects + self.fpLine = objs[len(objs)-1] + self.fpLine.Label = 'ForwardPerpendicular' + text = str(QtGui.QApplication.translate("ship_create","Forward perpendicular", + None,QtGui.QApplication.UnicodeUTF8)) + self.fpLineLabel = DrawText('FPText', text, Base.Vector(0.5*L,0,zEnd)) + # Draw after perpendicular + apLine = Part.makeLine((-0.5*L,0,zStart),(-0.5*L,0,zEnd)) + Part.show(apLine) + objs = FreeCAD.ActiveDocument.Objects + self.apLine = objs[len(objs)-1] + self.apLine.Label = 'AfterPerpendicular' + text = str(QtGui.QApplication.translate("ship_create","After perpendicular", + None,QtGui.QApplication.UnicodeUTF8)) + self.apLineLabel = DrawText('APText', text, Base.Vector(-0.5*L,0,zEnd)) + # Draw amin frame + amLine = Part.makeLine((0,-0.5*B,zStart),(0,-0.5*B,zEnd)) + Part.show(amLine) + objs = FreeCAD.ActiveDocument.Objects + self.amLine = objs[len(objs)-1] + self.amLine.Label = 'AminFrame' + text = str(QtGui.QApplication.translate("ship_create","Main frame", + None,QtGui.QApplication.UnicodeUTF8)) + self.amLineLabel = DrawText('AMText', text, Base.Vector(0,-0.5*B,zEnd)) + + def clean(self): + """ Erase all annotations from screen. + """ + if not self.baseLine: + return + FreeCAD.ActiveDocument.removeObject(self.baseLine.Name) + FreeCAD.ActiveDocument.removeObject(self.baseLineLabel.Name) + FreeCAD.ActiveDocument.removeObject(self.fsLine.Name) + FreeCAD.ActiveDocument.removeObject(self.fsLineLabel.Name) + FreeCAD.ActiveDocument.removeObject(self.fpLine.Name) + FreeCAD.ActiveDocument.removeObject(self.fpLineLabel.Name) + FreeCAD.ActiveDocument.removeObject(self.apLine.Name) + FreeCAD.ActiveDocument.removeObject(self.apLineLabel.Name) + FreeCAD.ActiveDocument.removeObject(self.amLine.Name) + FreeCAD.ActiveDocument.removeObject(self.amLineLabel.Name) def DrawText(name, string, position, displayMode="Screen", angle=0.0, justification="Left", colour=(0.00,0.00,0.00), size=12): - """ Draws a text in a desired position. - @param name Name of the object - @param string Text to draw (recommended format u'') - @param position Point to draw the text - @param angle Counter clockwise rotation of text - @param justification Alignement of the text ("Left", "Right" or "Center") - @param colour Colour of the text - @param size Font size - @return FreeCAD annotation object - """ - # Create the object - text = FreeCAD.ActiveDocument.addObject("App::Annotation",name) - # Set the text - text.LabelText = [string, u''] - # Set the options - text.Position = position - FreeCADGui.ActiveDocument.getObject(text.Name).Rotation = angle - FreeCADGui.ActiveDocument.getObject(text.Name).Justification = justification - FreeCADGui.ActiveDocument.getObject(text.Name).FontSize = size - FreeCADGui.ActiveDocument.getObject(text.Name).TextColor = colour - FreeCADGui.ActiveDocument.getObject(text.Name).DisplayMode = displayMode - return FreeCAD.ActiveDocument.getObject(text.Name) + """ Draws a text in a desired position. + @param name Name of the object + @param string Text to draw (recommended format u'') + @param position Point to draw the text + @param angle Counter clockwise rotation of text + @param justification Alignement of the text ("Left", "Right" or "Center") + @param colour Colour of the text + @param size Font size + @return FreeCAD annotation object + """ + # Create the object + text = FreeCAD.ActiveDocument.addObject("App::Annotation",name) + # Set the text + text.LabelText = [string, u''] + # Set the options + text.Position = position + FreeCADGui.ActiveDocument.getObject(text.Name).Rotation = angle + FreeCADGui.ActiveDocument.getObject(text.Name).Justification = justification + FreeCADGui.ActiveDocument.getObject(text.Name).FontSize = size + FreeCADGui.ActiveDocument.getObject(text.Name).TextColor = colour + FreeCADGui.ActiveDocument.getObject(text.Name).DisplayMode = displayMode + return FreeCAD.ActiveDocument.getObject(text.Name) diff --git a/src/Mod/Ship/shipCreateShip/TaskPanel.py b/src/Mod/Ship/shipCreateShip/TaskPanel.py index de2676450..a92770759 100644 --- a/src/Mod/Ship/shipCreateShip/TaskPanel.py +++ b/src/Mod/Ship/shipCreateShip/TaskPanel.py @@ -1,24 +1,24 @@ #*************************************************************************** -#* * -#* Copyright (c) 2011, 2012 * -#* Jose Luis Cercos Pita * -#* * +#* * +#* Copyright (c) 2011, 2012 * +#* Jose Luis Cercos Pita * +#* * #* This program is free software; you can redistribute it and/or modify * -#* it under the terms of the GNU Lesser General Public License (LGPL) * -#* as published by the Free Software Foundation; either version 2 of * -#* the License, or (at your option) any later version. * -#* for detail see the LICENCE text file. * -#* * -#* 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 Library General Public License for more details. * -#* * -#* You should have received a copy of the GNU Library General Public * +#* it under the terms of the GNU Lesser General Public License (LGPL) * +#* as published by the Free Software Foundation; either version 2 of * +#* the License, or (at your option) any later version. * +#* for detail see the LICENCE text file. * +#* * +#* 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 Library General Public License for more details. * +#* * +#* You should have received a copy of the GNU Library General Public * #* License along with this program; if not, write to the Free Software * #* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * -#* USA * -#* * +#* USA * +#* * #*************************************************************************** # FreeCAD modules @@ -29,192 +29,202 @@ from PyQt4 import QtGui,QtCore # Module import Preview import Instance -from shipUtils import Paths, Translator +from shipUtils import Paths class TaskPanel: - def __init__(self): - self.ui = Paths.modulePath() + "/shipCreateShip/TaskPanel.ui" - self.preview = Preview.Preview() + def __init__(self): + self.ui = Paths.modulePath() + "/shipCreateShip/TaskPanel.ui" + self.preview = Preview.Preview() - def accept(self): - self.preview.clean() - # Create new ship instance - obj = App.ActiveDocument.addObject("Part::FeaturePython","Ship") - ship = Instance.Ship(obj, self.solids) - Instance.ViewProviderShip(obj.ViewObject) - # Set main dimensions - obj.Length = self.form.length.value() - obj.Beam = self.form.beam.value() - obj.Draft = self.form.draft.value() - # Discretize it - App.ActiveDocument.recompute() - return True + def accept(self): + self.preview.clean() + # Create new ship instance + obj = App.ActiveDocument.addObject("Part::FeaturePython","Ship") + ship = Instance.Ship(obj, self.solids) + Instance.ViewProviderShip(obj.ViewObject) + # Set main dimensions + obj.Length = self.form.length.value() + obj.Beam = self.form.beam.value() + obj.Draft = self.form.draft.value() + # Discretize it + App.ActiveDocument.recompute() + return True - def reject(self): - self.preview.clean() - return True + def reject(self): + self.preview.clean() + return True - def clicked(self, index): - pass + def clicked(self, index): + pass - def open(self): - pass + def open(self): + pass - def needsFullSpace(self): - return True + def needsFullSpace(self): + return True - def isAllowedAlterSelection(self): - return False + def isAllowedAlterSelection(self): + return False - def isAllowedAlterView(self): - return True + def isAllowedAlterView(self): + return True - def isAllowedAlterDocument(self): - return False + def isAllowedAlterDocument(self): + return False - def helpRequested(self): - pass + def helpRequested(self): + pass - def setupUi(self): - mw = self.getMainWindow() - form = mw.findChild(QtGui.QWidget, "TaskPanel") - form.length = form.findChild(QtGui.QDoubleSpinBox, "Length") - form.beam = form.findChild(QtGui.QDoubleSpinBox, "Beam") - form.draft = form.findChild(QtGui.QDoubleSpinBox, "Draft") - form.mainLogo = form.findChild(QtGui.QLabel, "MainLogo") - iconPath = Paths.iconsPath() + "/Ico.xpm" - form.mainLogo.setPixmap(QtGui.QPixmap(iconPath)) - self.form = form - # Initial values - if self.initValues(): - return True - self.retranslateUi() - self.preview.update(self.L, self.B, self.T) - # Connect Signals and Slots - QtCore.QObject.connect(form.length, QtCore.SIGNAL("valueChanged(double)"), self.onData) - QtCore.QObject.connect(form.beam, QtCore.SIGNAL("valueChanged(double)"), self.onData) - QtCore.QObject.connect(form.draft, QtCore.SIGNAL("valueChanged(double)"), self.onData) + def setupUi(self): + mw = self.getMainWindow() + form = mw.findChild(QtGui.QWidget, "TaskPanel") + form.length = form.findChild(QtGui.QDoubleSpinBox, "Length") + form.beam = form.findChild(QtGui.QDoubleSpinBox, "Beam") + form.draft = form.findChild(QtGui.QDoubleSpinBox, "Draft") + form.mainLogo = form.findChild(QtGui.QLabel, "MainLogo") + iconPath = Paths.iconsPath() + "/Ico.xpm" + form.mainLogo.setPixmap(QtGui.QPixmap(iconPath)) + self.form = form + # Initial values + if self.initValues(): + return True + self.retranslateUi() + self.preview.update(self.L, self.B, self.T) + # Connect Signals and Slots + QtCore.QObject.connect(form.length, QtCore.SIGNAL("valueChanged(double)"), self.onData) + QtCore.QObject.connect(form.beam, QtCore.SIGNAL("valueChanged(double)"), self.onData) + QtCore.QObject.connect(form.draft, QtCore.SIGNAL("valueChanged(double)"), self.onData) - def getMainWindow(self): - "returns the main window" - # using QtGui.qApp.activeWindow() isn't very reliable because if another - # widget than the mainwindow is active (e.g. a dialog) the wrong widget is - # returned - toplevel = QtGui.qApp.topLevelWidgets() - for i in toplevel: - if i.metaObject().className() == "Gui::MainWindow": - return i - raise Exception("No main window found") + def getMainWindow(self): + "returns the main window" + # using QtGui.qApp.activeWindow() isn't very reliable because if another + # widget than the mainwindow is active (e.g. a dialog) the wrong widget is + # returned + toplevel = QtGui.qApp.topLevelWidgets() + for i in toplevel: + if i.metaObject().className() == "Gui::MainWindow": + return i + raise Exception("No main window found") - def initValues(self): - """ Set initial values for fields - """ - # Get objects - self.solids = None - selObjs = Gui.Selection.getSelection() - if not selObjs: - msg = Translator.translate("Ship objects can only be created on top of hull geometry (any object selected).\n") - App.Console.PrintError(msg) - msg = Translator.translate("Please create or load a ship hull geometry before using this tool.\n") - App.Console.PrintError(msg) - return True - self.solids = [] - for i in range(0, len(selObjs)): - solids = self.getSolids(selObjs[i]) - for j in range(0, len(solids)): - self.solids.append(solids[j]) - if not self.solids: - msg = Translator.translate("Ship objects can only be created on top of hull geometry (no solid found at selected objects).\n") - App.Console.PrintError(msg) - msg = Translator.translate("Please create or load a ship hull geometry before using this tool\n") - App.Console.PrintError(msg) - return True - # Get bounds - bounds = [0.0, 0.0, 0.0] - bbox = self.solids[0].BoundBox - minX = bbox.XMin - maxX = bbox.XMax - minY = bbox.YMin - maxY = bbox.YMax - minZ = bbox.ZMin - maxZ = bbox.ZMax - for i in range(1,len(self.solids)): - bbox = self.solids[i].BoundBox - if minX > bbox.XMin: - minX = bbox.XMin - if maxX < bbox.XMax: - maxX = bbox.XMax - if minY > bbox.YMin: - minY = bbox.YMin - if maxY < bbox.YMax: - maxY = bbox.YMax - if minZ > bbox.ZMin: - minZ = bbox.ZMin - if maxZ < bbox.ZMax: - maxZ = bbox.ZMax - bounds[0] = maxX - minX - bounds[1] = max(maxY - minY, abs(maxY), abs(minY)) - bounds[2] = maxZ - minZ - # Set UI fields - self.form.length.setMaximum(bounds[0]) - self.form.length.setMinimum(0.001) - self.form.length.setValue(bounds[0]) - self.L = bounds[0] - self.form.beam.setMaximum(bounds[1]) - self.form.beam.setMinimum(0.001) - self.form.beam.setValue(bounds[1]) - self.B = bounds[1] - self.form.draft.setMaximum(bounds[2]) - self.form.draft.setMinimum(0.001) - self.form.draft.setValue(0.5*bounds[2]) - self.T = 0.5*bounds[2] - msg = Translator.translate("Ready to work\n") - App.Console.PrintMessage(msg) - return False + def initValues(self): + """ Set initial values for fields + """ + # Get objects + self.solids = None + selObjs = Gui.Selection.getSelection() + if not selObjs: + msg = QtGui.QApplication.translate("ship_console", + "Ship objects can only be created on top of hull geometry (any object selected)", + None,QtGui.QApplication.UnicodeUTF8) + App.Console.PrintError(msg + '\n') + msg = QtGui.QApplication.translate("ship_console", + "Please create or load a ship hull geometry before using this tool", + None,QtGui.QApplication.UnicodeUTF8) + App.Console.PrintError(msg + '\n') + return True + self.solids = [] + for i in range(0, len(selObjs)): + solids = self.getSolids(selObjs[i]) + for j in range(0, len(solids)): + self.solids.append(solids[j]) + if not self.solids: + msg = QtGui.QApplication.translate("ship_console", + "Ship objects can only be created on top of hull geometry (no solid found at selected objects)", + None,QtGui.QApplication.UnicodeUTF8) + App.Console.PrintError(msg + '\n') + msg = QtGui.QApplication.translate("ship_console", + "Please create or load a ship hull geometry before using this tool", + None,QtGui.QApplication.UnicodeUTF8) + App.Console.PrintError(msg + '\n') + return True + # Get bounds + bounds = [0.0, 0.0, 0.0] + bbox = self.solids[0].BoundBox + minX = bbox.XMin + maxX = bbox.XMax + minY = bbox.YMin + maxY = bbox.YMax + minZ = bbox.ZMin + maxZ = bbox.ZMax + for i in range(1,len(self.solids)): + bbox = self.solids[i].BoundBox + if minX > bbox.XMin: + minX = bbox.XMin + if maxX < bbox.XMax: + maxX = bbox.XMax + if minY > bbox.YMin: + minY = bbox.YMin + if maxY < bbox.YMax: + maxY = bbox.YMax + if minZ > bbox.ZMin: + minZ = bbox.ZMin + if maxZ < bbox.ZMax: + maxZ = bbox.ZMax + bounds[0] = maxX - minX + bounds[1] = max(maxY - minY, abs(maxY), abs(minY)) + bounds[2] = maxZ - minZ + # Set UI fields + self.form.length.setMaximum(bounds[0]) + self.form.length.setMinimum(0.001) + self.form.length.setValue(bounds[0]) + self.L = bounds[0] + self.form.beam.setMaximum(bounds[1]) + self.form.beam.setMinimum(0.001) + self.form.beam.setValue(bounds[1]) + self.B = bounds[1] + self.form.draft.setMaximum(bounds[2]) + self.form.draft.setMinimum(0.001) + self.form.draft.setValue(0.5*bounds[2]) + self.T = 0.5*bounds[2] + return False - def retranslateUi(self): - """ Set user interface locale strings. - """ - self.form.setWindowTitle(Translator.translate("Create a new ship")) - self.form.findChild(QtGui.QLabel, "LengthLabel").setText(Translator.translate("Length")) - self.form.findChild(QtGui.QLabel, "BeamLabel").setText(Translator.translate("Beam")) - self.form.findChild(QtGui.QLabel, "DraftLabel").setText(Translator.translate("Draft")) + def retranslateUi(self): + """ Set user interface locale strings. + """ + self.form.setWindowTitle(QtGui.QApplication.translate("ship_create","Create a new ship", + None,QtGui.QApplication.UnicodeUTF8)) + self.form.findChild(QtGui.QLabel, "LengthLabel").setText(QtGui.QApplication.translate("ship_create","Length", + None,QtGui.QApplication.UnicodeUTF8)) + self.form.findChild(QtGui.QLabel, "BeamLabel").setText(QtGui.QApplication.translate("ship_create","Breadth", + None,QtGui.QApplication.UnicodeUTF8)) + self.form.findChild(QtGui.QLabel, "DraftLabel").setText(QtGui.QApplication.translate("ship_create","Draft", + None,QtGui.QApplication.UnicodeUTF8)) - def onData(self, value): - """ Method called when ship data is changed. - Annotations must be showed. - @param value Changed value. - """ - self.L = self.form.length.value() - self.B = self.form.beam.value() - self.T = self.form.draft.value() - self.preview.update(self.L, self.B, self.T) + def onData(self, value): + """ Method called when ship data is changed. + Annotations must be showed. + @param value Changed value. + """ + self.L = self.form.length.value() + self.B = self.form.beam.value() + self.T = self.form.draft.value() + self.preview.update(self.L, self.B, self.T) - def getSolids(self, obj): - """ Returns object solids (list of them) - @param obj Object to extract solids. - @return Solids. None if errors happens - """ - if not obj: - return None - if obj.isDerivedFrom('Part::Feature'): - # get shape - shape = obj.Shape - if not shape: - return None - obj = shape - if not obj.isDerivedFrom('Part::TopoShape'): - return None - # get face - solids = obj.Solids - if not solids: - return None - return solids + def getSolids(self, obj): + """ Returns object solids (list of them) + @param obj Object to extract solids. + @return Solids. None if errors happens + """ + if not obj: + return None + if obj.isDerivedFrom('Part::Feature'): + # get shape + shape = obj.Shape + if not shape: + return None + obj = shape + if not obj.isDerivedFrom('Part::TopoShape'): + return None + # get face + solids = obj.Solids + if not solids: + return None + return solids def createTask(): - panel = TaskPanel() - Gui.Control.showDialog(panel) - if panel.setupUi(): - Gui.Control.closeDialog(panel) - return None - return panel + panel = TaskPanel() + Gui.Control.showDialog(panel) + if panel.setupUi(): + Gui.Control.closeDialog(panel) + return None + return panel diff --git a/src/Mod/Ship/shipCreateShip/TaskPanel.ui b/src/Mod/Ship/shipCreateShip/TaskPanel.ui index 5cd6a79b6..117e9324d 100644 --- a/src/Mod/Ship/shipCreateShip/TaskPanel.ui +++ b/src/Mod/Ship/shipCreateShip/TaskPanel.ui @@ -68,126 +68,120 @@ false - - - - 0 - 20 - 241 - 141 - - - - - 6 - - - QLayout::SetDefaultConstraint - - - - - QLayout::SetDefaultConstraint - - - 10 - - - 0 - - - 10 - - - 0 - - - - - Length - - - - - - - 3 - - - 0.010000000000000 - - - - - - - - - 10 - - - 0 - - - 10 - - - 0 - - - - - Beam - - - - - - - 3 - - - 0.010000000000000 - - - - - - - - - 10 - - - 0 - - - 10 - - - 0 - - - - - Draft - - - - - - - 3 - - - 0.010000000000000 - - - - - - - + + + + + 6 + + + QLayout::SetDefaultConstraint + + + + + QLayout::SetDefaultConstraint + + + 10 + + + 0 + + + 10 + + + 0 + + + + + Length + + + + + + + 3 + + + 0.010000000000000 + + + + + + + + + 10 + + + 0 + + + 10 + + + 0 + + + + + Beam + + + + + + + 3 + + + 0.010000000000000 + + + + + + + + + 10 + + + 0 + + + 10 + + + 0 + + + + + Draft + + + + + + + 3 + + + 0.010000000000000 + + + + + + + + diff --git a/src/Mod/Ship/shipCreateShip/__init__.py b/src/Mod/Ship/shipCreateShip/__init__.py index cbfb57d75..021390940 100644 --- a/src/Mod/Ship/shipCreateShip/__init__.py +++ b/src/Mod/Ship/shipCreateShip/__init__.py @@ -1,24 +1,24 @@ #*************************************************************************** -#* * -#* Copyright (c) 2011, 2012 * -#* Jose Luis Cercos Pita * -#* * +#* * +#* Copyright (c) 2011, 2012 * +#* Jose Luis Cercos Pita * +#* * #* This program is free software; you can redistribute it and/or modify * -#* it under the terms of the GNU Lesser General Public License (LGPL) * -#* as published by the Free Software Foundation; either version 2 of * -#* the License, or (at your option) any later version. * -#* for detail see the LICENCE text file. * -#* * -#* 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 Library General Public License for more details. * -#* * -#* You should have received a copy of the GNU Library General Public * +#* it under the terms of the GNU Lesser General Public License (LGPL) * +#* as published by the Free Software Foundation; either version 2 of * +#* the License, or (at your option) any later version. * +#* for detail see the LICENCE text file. * +#* * +#* 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 Library General Public License for more details. * +#* * +#* You should have received a copy of the GNU Library General Public * #* License along with this program; if not, write to the Free Software * #* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * -#* USA * -#* * +#* USA * +#* * #*************************************************************************** # FreeCAD modules @@ -32,5 +32,5 @@ from PyQt4 import QtGui,QtCore import TaskPanel def load(): - """ Loads the tool """ - TaskPanel.createTask() + """ Loads the tool """ + TaskPanel.createTask() diff --git a/src/Mod/Ship/shipHydrostatics/Plot.py b/src/Mod/Ship/shipHydrostatics/Plot.py deleted file mode 100644 index d209bbf59..000000000 --- a/src/Mod/Ship/shipHydrostatics/Plot.py +++ /dev/null @@ -1,345 +0,0 @@ -#*************************************************************************** -#* * -#* Copyright (c) 2011, 2012 * -#* Jose Luis Cercos Pita * -#* * -#* This program is free software; you can redistribute it and/or modify * -#* it under the terms of the GNU Lesser General Public License (LGPL) * -#* as published by the Free Software Foundation; either version 2 of * -#* the License, or (at your option) any later version. * -#* for detail see the LICENCE text file. * -#* * -#* 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 Library General Public License for more details. * -#* * -#* You should have received a copy of the GNU Library General Public * -#* License along with this program; if not, write to the Free Software * -#* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * -#* USA * -#* * -#*************************************************************************** - -import os -import math -# FreeCAD modules -import FreeCAD,FreeCADGui -from FreeCAD import Base, Vector -import Part, Image, ImageGui -# FreeCADShip modules -from shipUtils import Paths, Translator -import Tools - -header = """ ################################################################# - - ##### #### ### #### ##### # # ### #### - # # # # # # # # # # # # - # ## #### #### # # # # # # # # # # # - #### # # # # # # # ##### # # ## ## ##### # #### - # # #### #### # # # # # # # # # # - # # # # # # # # # # # # # # - # # #### #### ### # # #### ##### # # ### # - - ################################################################# -""" - -class Plot(object): - def __init__(self, ship, trim, drafts): - """ Constructor. performs plot and show it (Using pyxplot). - @param ship Selected ship instance - @param trim Trim in degrees. - @param drafts List of drafts to be performed. - """ - if self.createDirectory(): - return - if self.saveData(ship, trim, drafts): - return - if self.saveLayout(trim): - return - if self.execute(): - return - ImageGui.open(self.path + 'volume.png') - ImageGui.open(self.path + 'stability.png') - ImageGui.open(self.path + 'coeffs.png') - - def createDirectory(self): - """ Create needed folder to write data and scripts. - @return True if error happens. - """ - self.path = FreeCAD.ConfigGet("UserAppData") + "ShipOutput/" - if not os.path.exists(self.path): - os.makedirs(self.path) - if not os.path.exists(self.path): - msg = Translator.translate("Can't create '" + self.path + "' folder.\n") - FreeCAD.Console.PrintError(msg) - return False - - def saveData(self, ship, trim, drafts): - """ Write data file. - @param ship Selected ship instance - @param trim Trim in degrees. - @param drafts List of drafts to be performed. - @return True if error happens. - """ - # Open the file - filename = self.path + 'hydrostatics.dat' - try: - Output = open(filename, "w") - except IOError: - msg = Translator.translate("Can't write '" + filename + "' file.\n") - FreeCAD.Console.PrintError(msg) - return True - # Print header - Output.write(header) - Output.write(" #\n") - Output.write(" # File automatically exported by FreeCAD-Ship\n") - Output.write(" # This file contains transversal areas data, filled with following columns:\n") - Output.write(" # 1: Ship displacement [ton]\n") - Output.write(" # 2: Draft [m]\n") - Output.write(" # 3: Wetted surface [m2]\n") - Output.write(" # 4: 1cm triming ship moment [ton m]\n") - Output.write(" # 5: Bouyance center x coordinate\n") - Output.write(" # 6: Floating area\n") - Output.write(" # 7: KBt\n") - Output.write(" # 8: BMt\n") - Output.write(" # 9: Cb (block coefficient)\n") - Output.write(" # 10: Cf (Floating coefficient)\n") - Output.write(" # 11: Cm (Main frame coefficient)\n") - Output.write(" #\n") - Output.write(" #################################################################\n") - # Get external faces - faces = self.externalFaces(ship.Shape) - if len(faces) == 0: - msg = Translator.translate("Can't detect external faces from ship object.\n") - FreeCAD.Console.PrintError(msg) - else: - faces = Part.makeShell(faces) - # Print data - FreeCAD.Console.PrintMessage("Computing hydrostatics...\n") - for i in range(0,len(drafts)): - FreeCAD.Console.PrintMessage("\t%d / %d\n" % (i+1, len(drafts))) - draft = drafts[i] - point = Tools.Point(ship,faces,draft,trim) - string = "%f %f %f %f %f %f %f %f %f %f %f\n" % (point.disp, point.draft, point.wet, point.mom, point.xcb, point.farea, point.KBt, point.BMt, point.Cb, point.Cf, point.Cm) - Output.write(string) - # Close file - Output.close() - self.dataFile = filename - msg = Translator.translate("Data saved at '" + self.dataFile + "'.\n") - FreeCAD.Console.PrintMessage(msg) - return False - - def saveLayout(self, trim): - """ Prints the pyxplot layout. - @param trim Trim in degrees. - @return True if error happens. - """ - filename = self.path + 'volume.pyxplot' - # Open the file - try: - Output = open(filename, "w") - except IOError: - msg = Translator.translate("Can't write '" + filename + "' file.\n") - FreeCAD.Console.PrintError(msg) - return True - # Write header - Output.write(header) - Output.write(" #\n") - Output.write(" # File automatically exported by FreeCAD-Ship\n") - Output.write(" # This file contains a script to plot transversal areas curve.\n") - Output.write(" # To use it execute:\n") - Output.write(" #\n") - Output.write(" # pyxplot %s\n" % (filename)) - Output.write(" #\n") - Output.write(" #################################################################\n") - # Write general options for hydrostatics - Output.write("set numeric display latex\n") - Output.write("set output '%s'\n" % (self.path + 'volume.eps')) - Output.write("set title '$trim$ = %g [degrees]'\n" % (trim)) - Output.write("set key below\n") - Output.write("set grid\n") - # Configure axis - Output.write("# Y axis\n") - Output.write("set ylabel '$\\bigtriangleup$ / $\\mathrm{ton}$'\n") - Output.write("set ytic\n") - Output.write("# X axis\n") - Output.write("set xlabel '$Draft$ / $\\mathrm{m}$'\n") - Output.write("set xtic\n") - Output.write("set x2label '\\textit{Wetted area} / $\\mathrm{m}^2$'\n") - Output.write("set x2tic\n") - Output.write("set x3label '\\textit{1cm trim moment} / $\\mathrm{ton} \\times \\mathrm{m}$'\n") - Output.write("set x3tic\n") - Output.write("set x4label '$XCB$ / $\\mathrm{m}$'\n") - Output.write("set x4tic\n") - Output.write("set axis x2 top\n") - Output.write("set axis x4 top\n") - Output.write("# Line styles\n") - Output.write("set style 1 line linetype 1 linewidth 1 colour rgb (0):(0):(0)\n") - Output.write("set style 2 line linetype 1 linewidth 1 colour rgb (1):(0):(0)\n") - Output.write("set style 3 line linetype 1 linewidth 1 colour rgb (0):(0):(1)\n") - Output.write("set style 4 line linetype 1 linewidth 1 colour rgb (0.1):(0.5):(0.1)\n") - # Write plot call - Output.write("# Plot\n") - Output.write("plot '%s' using 2:1 title 'Draft' axes x1y1 with lines style 1, \\\n" % (self.dataFile)) - Output.write(" '' using 3:1 title 'Wetted area' axes x2y1 with lines style 2, \\\n") - Output.write(" '' using 4:1 title '1cm trim moment' axes x3y1 with lines style 3, \\\n") - Output.write(" '' using 5:1 title 'XCB' axes x4y1 with lines style 4\n") - # Prepare second plot - Output.write("set output '%s'\n" % (self.path + 'stability.eps')) - Output.write("# X axis\n") - Output.write("set x2label '\\textit{Floating area} / $\\mathrm{m}^2$'\n") - Output.write("set x2tic\n") - Output.write("set x3label '$KB_{T}$ / $\\mathrm{m}$'\n") - Output.write("set x3tic\n") - Output.write("set x4label '$BM_{T}$ / $\\mathrm{m}$'\n") - Output.write("set x4tic\n") - # Write plot call - Output.write("# Plot\n") - Output.write("plot '%s' using 2:1 title 'Draft' axes x1y1 with lines style 1, \\\n" % (self.dataFile)) - Output.write(" '' using 6:1 title 'Floating area' axes x2y1 with lines style 2, \\\n") - Output.write(" '' using 7:1 title '$KB_{T}$' axes x3y1 with lines style 3, \\\n") - Output.write(" '' using 8:1 title '$BM_{T}$' axes x4y1 with lines style 4\n") - # Prepare third plot - Output.write("set output '%s'\n" % (self.path + 'coeffs.eps')) - Output.write("# X axis\n") - Output.write("set x2label '$C_{B}$'\n") - Output.write("set x2tic\n") - Output.write("set x3label '$C_{F}$'\n") - Output.write("set x3tic\n") - Output.write("set x4label '$C_{M}$'\n") - Output.write("set x4tic\n") - # Write plot call - Output.write("# Plot\n") - Output.write("plot '%s' using 2:1 title 'Draft' axes x1y1 with lines style 1, \\\n" % (self.dataFile)) - Output.write(" '' using 9:1 title '$C_{B}$' axes x2y1 with lines style 2, \\\n") - Output.write(" '' using 10:1 title '$C_{F}$' axes x3y1 with lines style 3, \\\n") - Output.write(" '' using 11:1 title '$C_{M}$' axes x4y1 with lines style 4\n") - # Close file - self.layoutFile = filename - Output.close() - return False - - def execute(self): - """ Calls pyxplot in order to plot an save an image. - @return True if error happens. - """ - # Plot - filename = self.path + 'volume' - comm = "pyxplot %s" % (self.layoutFile) - if os.system(comm): - msg = Translator.translate("Can't execute pyxplot. Maybe is not installed?\n") - FreeCAD.Console.PrintError(msg) - msg = Translator.translate("Plot will not generated\n") - FreeCAD.Console.PrintError(msg) - return True - # Convert volume image - comm = "gs -r300 -dEPSCrop -dTextAlphaBits=4 -sDEVICE=png16m -sOutputFile=%s.png -dBATCH -dNOPAUSE %s.eps" % (filename,filename) - if os.system(comm): - msg = Translator.translate("Can't execute ghostscript. Maybe is not installed?\n") - FreeCAD.Console.PrintError(msg) - msg = Translator.translate("Generated image will not converted to png\n") - FreeCAD.Console.PrintError(msg) - return True - # Convert stability image - filename = self.path + 'stability' - comm = "gs -r300 -dEPSCrop -dTextAlphaBits=4 -sDEVICE=png16m -sOutputFile=%s.png -dBATCH -dNOPAUSE %s.eps" % (filename,filename) - if os.system(comm): - msg = Translator.translate("Can't execute ghostscript. Maybe is not installed?\n") - FreeCAD.Console.PrintError(msg) - msg = Translator.translate("Generated image will not converted to png\n") - FreeCAD.Console.PrintError(msg) - return True - # Convert coefficients image - filename = self.path + 'coeffs' - comm = "gs -r300 -dEPSCrop -dTextAlphaBits=4 -sDEVICE=png16m -sOutputFile=%s.png -dBATCH -dNOPAUSE %s.eps" % (filename,filename) - if os.system(comm): - msg = Translator.translate("Can't execute ghostscript. Maybe is not installed?\n") - FreeCAD.Console.PrintError(msg) - msg = Translator.translate("Generated image will not converted to png\n") - FreeCAD.Console.PrintError(msg) - return True - return False - - def lineFaceSection(self,line,surface): - """ Returns the point of section of a line with a face - @param line Line object, that can be a curve. - @param surface Surface object (must be a Part::Shape) - @return Section points array, [] if line don't cut surface - """ - # Get initial data - result = [] - vertexes = line.Vertexes - nVertex = len(vertexes) - # Perform the cut - section = line.cut(surface) - # Filter all old points - points = section.Vertexes - return points - - def externalFaces(self, shape): - """ Returns detected external faces. - @param shape Shape where external faces wanted. - @return List of external faces detected. - """ - result = [] - faces = shape.Faces - bbox = shape.BoundBox - L = bbox.XMax - bbox.XMin - B = bbox.YMax - bbox.YMin - T = bbox.ZMax - bbox.ZMin - dist = math.sqrt(L*L + B*B + T*T) - FreeCAD.Console.PrintMessage("Computing external faces...\n") - # Valid/unvalid faces detection loop - for i in range(0,len(faces)): - FreeCAD.Console.PrintMessage("\t%d / %d\n" % (i+1, len(faces))) - f = faces[i] - # Create a line normal to surface at middle point - u = 0.0 - v = 0.0 - try: - surf = f.Surface - u = 0.5*(surf.getUKnots()[0]+surf.getUKnots()[-1]) - v = 0.5*(surf.getVKnots()[0]+surf.getVKnots()[-1]) - except: - cog = f.CenterOfMass - [u,v] = f.Surface.parameter(cog) - p0 = f.valueAt(u,v) - try: - n = f.normalAt(u,v).normalize() - except: - continue - p1 = p0 + n.multiply(1.5*dist) - line = Part.makeLine(p0, p1) - # Look for faces in front of this - nPoints = 0 - for j in range(0,len(faces)): - f2 = faces[j] - section = self.lineFaceSection(line, f2) - if len(section) <= 2: - continue - # Add points discarding start and end - nPoints = nPoints + len(section) - 2 - # In order to avoid special directions we can modify line - # normal a little bit. - angle = 5 - line.rotate(p0,Vector(1,0,0),angle) - line.rotate(p0,Vector(0,1,0),angle) - line.rotate(p0,Vector(0,0,1),angle) - nPoints2 = 0 - for j in range(0,len(faces)): - if i == j: - continue - f2 = faces[j] - section = self.lineFaceSection(line, f2) - if len(section) <= 2: - continue - # Add points discarding start and end - nPoints2 = nPoints + len(section) - 2 - # If the number of intersection points is pair, is a - # external face. So if we found an odd points intersection, - # face must be discarded. - if (nPoints % 2) or (nPoints2 % 2): - continue - result.append(f) - return result diff --git a/src/Mod/Ship/shipHydrostatics/PlotAux.py b/src/Mod/Ship/shipHydrostatics/PlotAux.py new file mode 100644 index 000000000..316bed13e --- /dev/null +++ b/src/Mod/Ship/shipHydrostatics/PlotAux.py @@ -0,0 +1,478 @@ +#*************************************************************************** +#* * +#* Copyright (c) 2011, 2012 * +#* Jose Luis Cercos Pita * +#* * +#* This program is free software; you can redistribute it and/or modify * +#* it under the terms of the GNU Lesser General Public License (LGPL) * +#* as published by the Free Software Foundation; either version 2 of * +#* the License, or (at your option) any later version. * +#* for detail see the LICENCE text file. * +#* * +#* 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 Library General Public License for more details. * +#* * +#* You should have received a copy of the GNU Library General Public * +#* License along with this program; if not, write to the Free Software * +#* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * +#* USA * +#* * +#*************************************************************************** + +import os +import math +# Qt library +from PyQt4 import QtGui,QtCore +# FreeCAD modules +import FreeCAD,FreeCADGui +from FreeCAD import Base, Vector +import Part, Image, ImageGui +# FreeCADShip modules +from shipUtils import Paths +import Tools + +header = """ ################################################################# + + ##### #### ### #### ##### # # ### #### + # # # # # # # # # # # # + # ## #### #### # # # # # # # # # # # + #### # # # # # # # ##### # # ## ## ##### # #### + # # #### #### # # # # # # # # # # + # # # # # # # # # # # # # # + # # #### #### ### # # #### ##### # # ### # + + ################################################################# +""" + +class Plot(object): + def __init__(self, ship, trim, drafts): + """ Constructor. performs plot and show it (Using pyxplot). + @param ship Selected ship instance + @param trim Trim in degrees. + @param drafts List of drafts to be performed. + """ + # Compute data + # Get external faces + faces = self.externalFaces(ship.Shape) + if len(faces) == 0: + msg = QtGui.QApplication.translate("ship_console", "Can't detect external faces from ship object", + None,QtGui.QApplication.UnicodeUTF8) + FreeCAD.Console.PrintError(msg + '\n') + return + else: + faces = Part.makeShell(faces) + # Print data + msg = QtGui.QApplication.translate("ship_console", "Computing hydrostatics", + None,QtGui.QApplication.UnicodeUTF8) + FreeCAD.Console.PrintMessage(msg + '...\n') + self.points = [] + for i in range(0,len(drafts)): + FreeCAD.Console.PrintMessage("\t%d / %d\n" % (i+1, len(drafts))) + draft = drafts[i] + point = Tools.Point(ship,faces,draft,trim) + self.points.append(point) + # Try to plot + self.plotVolume() + self.plotStability() + self.plotCoeffs() + # Save data + if self.createDirectory(): + return + if self.saveData(ship, trim, drafts): + return + + def plotVolume(self): + """ Perform volumetric hydrostatics. + @return True if error happens. + """ + # Create plot + try: + import Plot + plt = Plot.figure('Volume') + except ImportError: + msg = QtGui.QApplication.translate("ship_console", "Plot module is disabled, can't perform plot", + None,QtGui.QApplication.UnicodeUTF8) + FreeCAD.Console.PrintWarning(msg + '\n') + return True + # Generate sets of axes + Plot.grid(True) + for i in range(0,3): + ax = Plot.addNewAxes() + # Y axes can be moved to right + ax.yaxis.tick_right() + ax.spines['right'].set_color((0.0,0.0,0.0)) + ax.spines['left'].set_color('none') + ax.yaxis.set_ticks_position('right') + ax.yaxis.set_label_position('right') + # And X axes moved down with an offset + for loc, spine in ax.spines.iteritems(): + if loc in ['bottom', 'top']: + spine.set_position(('outward',(i+1)*35)) + Plot.grid(True) + # Setup data + disp = [] + draft = [] + warea = [] + t1cm = [] + xcb = [] + for i in range(0,len(self.points)): + disp.append(self.points[i].disp) + draft.append(self.points[i].draft) + warea.append(self.points[i].wet) + t1cm.append(self.points[i].mom) + xcb.append(self.points[i].xcb) + # Set plot size + axes = Plot.axesList() + for ax in axes: + ax.set_position([0.1, 0.2, 0.8, 0.75]) + # Plot curves + plt.axes = axes[0] + serie = Plot.plot(draft,disp,r'$T$') + serie.line.set_linestyle('-') + serie.line.set_linewidth(2.0) + serie.line.set_color((0.0,0.0,0.0)) + Plot.xlabel(r'$T \; \mathrm{m}$') + Plot.ylabel(r'$\bigtriangleup \; \mathrm{tons}$') + plt.axes.xaxis.label.set_fontsize(15) + plt.axes.yaxis.label.set_fontsize(15) + plt.axes = axes[1] + serie = Plot.plot(warea,disp,r'Wetted area') + serie.line.set_linestyle('-') + serie.line.set_linewidth(2.0) + serie.line.set_color((1.0,0.0,0.0)) + Plot.xlabel(r'$Wetted \; area \; \mathrm{m}^2$') + Plot.ylabel(r'$\bigtriangleup \; \mathrm{tons}$') + plt.axes.xaxis.label.set_fontsize(15) + plt.axes.yaxis.label.set_fontsize(15) + plt.axes = axes[2] + serie = Plot.plot(t1cm,disp,r'Moment to trim 1cm') + serie.line.set_linestyle('-') + serie.line.set_linewidth(2.0) + serie.line.set_color((0.0,0.0,1.0)) + Plot.xlabel(r'$Moment \; to \; trim \; 1 \mathrm{cm} \; \mathrm{tons} \; \times \; \mathrm{m}$') + plt.axes.xaxis.label.set_fontsize(15) + plt.axes.yaxis.label.set_fontsize(15) + plt.axes = axes[3] + serie = Plot.plot(xcb,disp,r'$XCB$') + serie.line.set_linestyle('-') + serie.line.set_linewidth(2.0) + serie.line.set_color((0.2,0.8,0.2)) + Plot.xlabel(r'$XCB \; \mathrm{m}$') + plt.axes.xaxis.label.set_fontsize(15) + plt.axes.yaxis.label.set_fontsize(15) + # Show legend + Plot.legend(True) + # End + plt.update() + return False + + def plotStability(self): + """ Perform stability hydrostatics. + @return True if error happens. + """ + # Create plot + try: + import Plot + plt = Plot.figure('Stability') + except ImportError: + return True + # Generate sets of axes + Plot.grid(True) + for i in range(0,3): + ax = Plot.addNewAxes() + # Y axes can be moved to right + ax.yaxis.tick_right() + ax.spines['right'].set_color((0.0,0.0,0.0)) + ax.spines['left'].set_color('none') + ax.yaxis.set_ticks_position('right') + ax.yaxis.set_label_position('right') + # And X axes moved down with an offset + for loc, spine in ax.spines.iteritems(): + if loc in ['bottom', 'top']: + spine.set_position(('outward',(i+1)*35)) + Plot.grid(True) + # Setup data + disp = [] + draft = [] + farea = [] + kbt = [] + bmt = [] + for i in range(0,len(self.points)): + disp.append(self.points[i].disp) + draft.append(self.points[i].draft) + farea.append(self.points[i].farea) + kbt.append(self.points[i].KBt) + bmt.append(self.points[i].BMt) + # Set plot size + axes = Plot.axesList() + for ax in axes: + ax.set_position([0.1, 0.2, 0.8, 0.75]) + # Plot curves + plt.axes = axes[0] + serie = Plot.plot(draft,disp,r'$T$') + serie.line.set_linestyle('-') + serie.line.set_linewidth(2.0) + serie.line.set_color((0.0,0.0,0.0)) + Plot.xlabel(r'$T \; \mathrm{m}$') + Plot.ylabel(r'$\bigtriangleup \; \mathrm{tons}$') + plt.axes.xaxis.label.set_fontsize(15) + plt.axes.yaxis.label.set_fontsize(15) + plt.axes = axes[1] + serie = Plot.plot(farea,disp,r'Floating area') + serie.line.set_linestyle('-') + serie.line.set_linewidth(2.0) + serie.line.set_color((1.0,0.0,0.0)) + Plot.xlabel(r'$Floating \; area \; \mathrm{m}^2$') + Plot.ylabel(r'$\bigtriangleup \; \mathrm{tons}$') + plt.axes.xaxis.label.set_fontsize(15) + plt.axes.yaxis.label.set_fontsize(15) + plt.axes = axes[2] + serie = Plot.plot(kbt,disp,r'$KB_T$') + serie.line.set_linestyle('-') + serie.line.set_linewidth(2.0) + serie.line.set_color((0.0,0.0,1.0)) + Plot.xlabel(r'$KB_T \; \mathrm{m}$') + plt.axes.xaxis.label.set_fontsize(15) + plt.axes.yaxis.label.set_fontsize(15) + plt.axes = axes[3] + serie = Plot.plot(bmt,disp,r'$BM_T$') + serie.line.set_linestyle('-') + serie.line.set_linewidth(2.0) + serie.line.set_color((0.2,0.8,0.2)) + Plot.xlabel(r'$BM_T \; \mathrm{m}$') + plt.axes.xaxis.label.set_fontsize(15) + plt.axes.yaxis.label.set_fontsize(15) + # Show legend + Plot.legend(True) + # End + plt.update() + return False + + def plotCoeffs(self): + """ Perform stability hydrostatics. + @return True if error happens. + """ + # Create plot + try: + import Plot + plt = Plot.figure('Coefficients') + except ImportError: + return True + # Generate sets of axes + Plot.grid(True) + for i in range(0,3): + ax = Plot.addNewAxes() + # Y axes can be moved to right + ax.yaxis.tick_right() + ax.spines['right'].set_color((0.0,0.0,0.0)) + ax.spines['left'].set_color('none') + ax.yaxis.set_ticks_position('right') + ax.yaxis.set_label_position('right') + # And X axes moved down with an offset + for loc, spine in ax.spines.iteritems(): + if loc in ['bottom', 'top']: + spine.set_position(('outward',(i+1)*40)) + Plot.grid(True) + # Setup data + disp = [] + draft = [] + cb = [] + cf = [] + cm = [] + for i in range(0,len(self.points)): + disp.append(self.points[i].disp) + draft.append(self.points[i].draft) + cb.append(self.points[i].Cb) + cf.append(self.points[i].Cf) + cm.append(self.points[i].Cm) + # Set plot size + axes = Plot.axesList() + for ax in axes: + ax.set_position([0.1, 0.2, 0.8, 0.75]) + # Plot curves + plt.axes = axes[0] + serie = Plot.plot(draft,disp,r'$T$') + serie.line.set_linestyle('-') + serie.line.set_linewidth(2.0) + serie.line.set_color((0.0,0.0,0.0)) + Plot.xlabel(r'$T \; \mathrm{m}$') + Plot.ylabel(r'$\bigtriangleup \; \mathrm{tons}$') + plt.axes.xaxis.label.set_fontsize(15) + plt.axes.yaxis.label.set_fontsize(15) + plt.axes = axes[1] + serie = Plot.plot(cb,disp,r'$Cb$') + serie.line.set_linestyle('-') + serie.line.set_linewidth(2.0) + serie.line.set_color((1.0,0.0,0.0)) + Plot.xlabel(r'$Cb$ (Block coefficient)') + Plot.ylabel(r'$\bigtriangleup \; \mathrm{tons}$') + plt.axes.xaxis.label.set_fontsize(15) + plt.axes.yaxis.label.set_fontsize(15) + plt.axes = axes[2] + serie = Plot.plot(cf,disp,r'$Cf$') + serie.line.set_linestyle('-') + serie.line.set_linewidth(2.0) + serie.line.set_color((0.0,0.0,1.0)) + Plot.xlabel(r'$Cf$ (floating area coefficient)') + plt.axes.xaxis.label.set_fontsize(15) + plt.axes.yaxis.label.set_fontsize(15) + plt.axes = axes[3] + serie = Plot.plot(cm,disp,r'$Cm$') + serie.line.set_linestyle('-') + serie.line.set_linewidth(2.0) + serie.line.set_color((0.2,0.8,0.2)) + Plot.xlabel(r'$Cm$ (Main section coefficient)') + plt.axes.xaxis.label.set_fontsize(15) + plt.axes.yaxis.label.set_fontsize(15) + # Show legend + Plot.legend(True) + # End + plt.update() + return False + + def createDirectory(self): + """ Create needed folder to write data and scripts. + @return True if error happens. + """ + self.path = FreeCAD.ConfigGet("UserAppData") + "ShipOutput/" + if not os.path.exists(self.path): + os.makedirs(self.path) + if not os.path.exists(self.path): + msg = QtGui.QApplication.translate("ship_console", "Can't create folder", + None,QtGui.QApplication.UnicodeUTF8) + FreeCAD.Console.PrintError(msg + ':\n\t' + "\'"+ self.path + "\'\n") + return False + + def saveData(self, ship, trim, drafts): + """ Write data file. + @param ship Selected ship instance + @param trim Trim in degrees. + @param drafts List of drafts to be performed. + @return True if error happens. + """ + # Open the file + filename = self.path + 'hydrostatics.dat' + try: + Output = open(filename, "w") + except IOError: + msg = QtGui.QApplication.translate("ship_console", "Can't write to file", + None,QtGui.QApplication.UnicodeUTF8) + FreeCAD.Console.PrintError(msg + ':\n\t' + "\'"+ filename + "\'\n") + return True + # Print header + Output.write(header) + Output.write(" #\n") + Output.write(" # File automatically exported by FreeCAD-Ship\n") + Output.write(" # This file contains transversal areas data, filled with following columns:\n") + Output.write(" # 1: Ship displacement [ton]\n") + Output.write(" # 2: Draft [m]\n") + Output.write(" # 3: Wetted surface [m2]\n") + Output.write(" # 4: 1cm triming ship moment [ton m]\n") + Output.write(" # 5: Bouyance center x coordinate\n") + Output.write(" # 6: Floating area\n") + Output.write(" # 7: KBt\n") + Output.write(" # 8: BMt\n") + Output.write(" # 9: Cb (block coefficient)\n") + Output.write(" # 10: Cf (Floating coefficient)\n") + Output.write(" # 11: Cm (Main frame coefficient)\n") + Output.write(" #\n") + Output.write(" #################################################################\n") + # Print data + for i in range(0,len(drafts)): + point = self.points[i] + string = "%f %f %f %f %f %f %f %f %f %f %f\n" % (point.disp, point.draft, point.wet, point.mom, point.xcb, point.farea, point.KBt, point.BMt, point.Cb, point.Cf, point.Cm) + Output.write(string) + # Close file + Output.close() + self.dataFile = filename + msg = QtGui.QApplication.translate("ship_console", "Data saved", + None,QtGui.QApplication.UnicodeUTF8) + FreeCAD.Console.PrintMessage(msg + ':\n\t' + "\'"+ self.dataFile + "\'\n") + return False + + def lineFaceSection(self,line,surface): + """ Returns the point of section of a line with a face + @param line Line object, that can be a curve. + @param surface Surface object (must be a Part::Shape) + @return Section points array, [] if line don't cut surface + """ + # Get initial data + result = [] + vertexes = line.Vertexes + nVertex = len(vertexes) + # Perform the cut + section = line.cut(surface) + # Filter all old points + points = section.Vertexes + return points + + def externalFaces(self, shape): + """ Returns detected external faces. + @param shape Shape where external faces wanted. + @return List of external faces detected. + """ + result = [] + faces = shape.Faces + bbox = shape.BoundBox + L = bbox.XMax - bbox.XMin + B = bbox.YMax - bbox.YMin + T = bbox.ZMax - bbox.ZMin + dist = math.sqrt(L*L + B*B + T*T) + msg = QtGui.QApplication.translate("ship_console", "Computing external faces", + None,QtGui.QApplication.UnicodeUTF8) + FreeCAD.Console.PrintMessage(msg + '...\n') + # Valid/unvalid faces detection loop + for i in range(0,len(faces)): + FreeCAD.Console.PrintMessage("\t%d / %d\n" % (i+1, len(faces))) + f = faces[i] + # Create a line normal to surface at middle point + u = 0.0 + v = 0.0 + try: + surf = f.Surface + u = 0.5*(surf.getUKnots()[0]+surf.getUKnots()[-1]) + v = 0.5*(surf.getVKnots()[0]+surf.getVKnots()[-1]) + except: + cog = f.CenterOfMass + [u,v] = f.Surface.parameter(cog) + p0 = f.valueAt(u,v) + try: + n = f.normalAt(u,v).normalize() + except: + continue + p1 = p0 + n.multiply(1.5*dist) + line = Part.makeLine(p0, p1) + # Look for faces in front of this + nPoints = 0 + for j in range(0,len(faces)): + f2 = faces[j] + section = self.lineFaceSection(line, f2) + if len(section) <= 2: + continue + # Add points discarding start and end + nPoints = nPoints + len(section) - 2 + # In order to avoid special directions we can modify line + # normal a little bit. + angle = 5 + line.rotate(p0,Vector(1,0,0),angle) + line.rotate(p0,Vector(0,1,0),angle) + line.rotate(p0,Vector(0,0,1),angle) + nPoints2 = 0 + for j in range(0,len(faces)): + if i == j: + continue + f2 = faces[j] + section = self.lineFaceSection(line, f2) + if len(section) <= 2: + continue + # Add points discarding start and end + nPoints2 = nPoints + len(section) - 2 + # If the number of intersection points is pair, is a + # external face. So if we found an odd points intersection, + # face must be discarded. + if (nPoints % 2) or (nPoints2 % 2): + continue + result.append(f) + return result diff --git a/src/Mod/Ship/shipHydrostatics/TaskPanel.py b/src/Mod/Ship/shipHydrostatics/TaskPanel.py index b5398690e..bc5e2d967 100644 --- a/src/Mod/Ship/shipHydrostatics/TaskPanel.py +++ b/src/Mod/Ship/shipHydrostatics/TaskPanel.py @@ -1,24 +1,24 @@ #*************************************************************************** -#* * -#* Copyright (c) 2011, 2012 * -#* Jose Luis Cercos Pita * -#* * +#* * +#* Copyright (c) 2011, 2012 * +#* Jose Luis Cercos Pita * +#* * #* This program is free software; you can redistribute it and/or modify * -#* it under the terms of the GNU Lesser General Public License (LGPL) * -#* as published by the Free Software Foundation; either version 2 of * -#* the License, or (at your option) any later version. * -#* for detail see the LICENCE text file. * -#* * -#* 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 Library General Public License for more details. * -#* * -#* You should have received a copy of the GNU Library General Public * +#* it under the terms of the GNU Lesser General Public License (LGPL) * +#* as published by the Free Software Foundation; either version 2 of * +#* the License, or (at your option) any later version. * +#* for detail see the LICENCE text file. * +#* * +#* 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 Library General Public License for more details. * +#* * +#* You should have received a copy of the GNU Library General Public * #* License along with this program; if not, write to the Free Software * #* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * -#* USA * -#* * +#* USA * +#* * #*************************************************************************** import math @@ -28,202 +28,217 @@ import FreeCADGui as Gui # Qt library from PyQt4 import QtGui,QtCore # Module -import Plot +import PlotAux import Instance -from shipUtils import Paths, Translator +from shipUtils import Paths import Tools class TaskPanel: - def __init__(self): - self.ui = Paths.modulePath() + "/shipHydrostatics/TaskPanel.ui" - self.ship = None + def __init__(self): + self.ui = Paths.modulePath() + "/shipHydrostatics/TaskPanel.ui" + self.ship = None - def accept(self): - if not self.ship: - return False - self.save() - draft = self.form.minDraft.value() - drafts = [draft] - dDraft = (self.form.maxDraft.value() - self.form.minDraft.value())/(self.form.nDraft.value()-1) - for i in range(1,self.form.nDraft.value()): - draft = draft + dDraft - drafts.append(draft) - Plot.Plot(self.ship, self.form.trim.value(), drafts) - return True + def accept(self): + if not self.ship: + return False + self.save() + draft = self.form.minDraft.value() + drafts = [draft] + dDraft = (self.form.maxDraft.value() - self.form.minDraft.value())/(self.form.nDraft.value()-1) + for i in range(1,self.form.nDraft.value()): + draft = draft + dDraft + drafts.append(draft) + PlotAux.Plot(self.ship, self.form.trim.value(), drafts) + return True - def reject(self): - return True + def reject(self): + return True - def clicked(self, index): - pass + def clicked(self, index): + pass - def open(self): - pass + def open(self): + pass - def needsFullSpace(self): - return True + def needsFullSpace(self): + return True - def isAllowedAlterSelection(self): - return False + def isAllowedAlterSelection(self): + return False - def isAllowedAlterView(self): - return True + def isAllowedAlterView(self): + return True - def isAllowedAlterDocument(self): - return False + def isAllowedAlterDocument(self): + return False - def helpRequested(self): - pass + def helpRequested(self): + pass - def setupUi(self): - mw = self.getMainWindow() - form = mw.findChild(QtGui.QWidget, "TaskPanel") - form.trim = form.findChild(QtGui.QDoubleSpinBox, "Trim") - form.minDraft = form.findChild(QtGui.QDoubleSpinBox, "MinDraft") - form.maxDraft = form.findChild(QtGui.QDoubleSpinBox, "MaxDraft") - form.nDraft = form.findChild(QtGui.QSpinBox, "NDraft") - self.form = form - # Initial values - if self.initValues(): - return True - self.retranslateUi() - # Connect Signals and Slots - QtCore.QObject.connect(form.trim, QtCore.SIGNAL("valueChanged(double)"), self.onData) - QtCore.QObject.connect(form.minDraft, QtCore.SIGNAL("valueChanged(double)"), self.onData) - QtCore.QObject.connect(form.maxDraft, QtCore.SIGNAL("valueChanged(double)"), self.onData) + def setupUi(self): + mw = self.getMainWindow() + form = mw.findChild(QtGui.QWidget, "TaskPanel") + form.trim = form.findChild(QtGui.QDoubleSpinBox, "Trim") + form.minDraft = form.findChild(QtGui.QDoubleSpinBox, "MinDraft") + form.maxDraft = form.findChild(QtGui.QDoubleSpinBox, "MaxDraft") + form.nDraft = form.findChild(QtGui.QSpinBox, "NDraft") + self.form = form + # Initial values + if self.initValues(): + return True + self.retranslateUi() + # Connect Signals and Slots + QtCore.QObject.connect(form.trim, QtCore.SIGNAL("valueChanged(double)"), self.onData) + QtCore.QObject.connect(form.minDraft, QtCore.SIGNAL("valueChanged(double)"), self.onData) + QtCore.QObject.connect(form.maxDraft, QtCore.SIGNAL("valueChanged(double)"), self.onData) - def getMainWindow(self): - "returns the main window" - # using QtGui.qApp.activeWindow() isn't very reliable because if another - # widget than the mainwindow is active (e.g. a dialog) the wrong widget is - # returned - toplevel = QtGui.qApp.topLevelWidgets() - for i in toplevel: - if i.metaObject().className() == "Gui::MainWindow": - return i - raise Exception("No main window found") + def getMainWindow(self): + "returns the main window" + # using QtGui.qApp.activeWindow() isn't very reliable because if another + # widget than the mainwindow is active (e.g. a dialog) the wrong widget is + # returned + toplevel = QtGui.qApp.topLevelWidgets() + for i in toplevel: + if i.metaObject().className() == "Gui::MainWindow": + return i + raise Exception("No main window found") - def initValues(self): - """ Set initial values for fields - """ - # Get objects - selObjs = Gui.Selection.getSelection() - if not selObjs: - msg = Translator.translate("Ship instance must be selected (no object selected)\n") - App.Console.PrintError(msg) - return True - for i in range(0,len(selObjs)): - obj = selObjs[i] - # Test if is a ship instance - props = obj.PropertiesList - try: - props.index("IsShip") - except ValueError: - continue - if obj.IsShip: - # Test if another ship already selected - if self.ship: - msg = Translator.translate("More than one ship selected (extra ship will be neglected)\n") - App.Console.PrintWarning(msg) - break - self.ship = obj - # Test if any valid ship was selected - if not self.ship: - msg = Translator.translate("Ship instance must be selected (no valid ship found at selected objects)\n") - App.Console.PrintError(msg) - return True - # Get bounds - bbox = self.ship.Shape.BoundBox - # Set trim - flag = True - try: - props.index("HydrostaticsTrim") - except ValueError: - flag = False - if flag: - self.form.trim.setValue(self.ship.HydrostaticsTrim) - # Set drafts - self.form.maxDraft.setValue(1.1*self.ship.Draft) - self.form.minDraft.setValue(0.9*self.ship.Draft) - # Try to use saved values - props = self.ship.PropertiesList - flag = True - try: - props.index("HydrostaticsMinDraft") - except ValueError: - flag = False - if flag: - self.form.minDraft.setValue(self.ship.HydrostaticsMinDraft) - flag = True - try: - props.index("HydrostaticsMaxDraft") - except ValueError: - flag = False - if flag: - self.form.maxDraft.setValue(self.ship.HydrostaticsMaxDraft) - self.form.maxDraft.setMaximum(bbox.ZMax) - self.form.minDraft.setMinimum(bbox.ZMin) - self.form.maxDraft.setMinimum(self.form.minDraft.value()) - self.form.minDraft.setMaximum(self.form.maxDraft.value()) - flag = True - try: - props.index("HydrostaticsNDraft") - except ValueError: - flag = False - if flag: - self.form.nDraft.setValue(self.ship.HydrostaticsNDraft) - # Update GUI - msg = Translator.translate("Ready to work\n") - App.Console.PrintMessage(msg) - return False + def initValues(self): + """ Set initial values for fields + """ + # Get objects + selObjs = Gui.Selection.getSelection() + if not selObjs: + msg = QtGui.QApplication.translate("ship_console", "Ship instance must be selected (no object selected)", + None,QtGui.QApplication.UnicodeUTF8) + App.Console.PrintError(msg + '\n') + return True + for i in range(0,len(selObjs)): + obj = selObjs[i] + # Test if is a ship instance + props = obj.PropertiesList + try: + props.index("IsShip") + except ValueError: + continue + if obj.IsShip: + # Test if another ship already selected + if self.ship: + msg = QtGui.QApplication.translate("ship_console", "More than one ship selected (extra ships will be neglected)", + None,QtGui.QApplication.UnicodeUTF8) + App.Console.PrintWarning(msg + '\n') + break + self.ship = obj + # Test if any valid ship was selected + if not self.ship: + msg = QtGui.QApplication.translate("ship_console", + "Ship instance must be selected (no valid ship found at selected objects)", + None,QtGui.QApplication.UnicodeUTF8) + App.Console.PrintError(msg + '\n') + return True + # Get bounds + bbox = self.ship.Shape.BoundBox + # Set trim + flag = True + try: + props.index("HydrostaticsTrim") + except ValueError: + flag = False + if flag: + self.form.trim.setValue(self.ship.HydrostaticsTrim) + # Set drafts + self.form.maxDraft.setValue(1.1*self.ship.Draft) + self.form.minDraft.setValue(0.9*self.ship.Draft) + # Try to use saved values + props = self.ship.PropertiesList + flag = True + try: + props.index("HydrostaticsMinDraft") + except ValueError: + flag = False + if flag: + self.form.minDraft.setValue(self.ship.HydrostaticsMinDraft) + flag = True + try: + props.index("HydrostaticsMaxDraft") + except ValueError: + flag = False + if flag: + self.form.maxDraft.setValue(self.ship.HydrostaticsMaxDraft) + self.form.maxDraft.setMaximum(bbox.ZMax) + self.form.minDraft.setMinimum(bbox.ZMin) + self.form.maxDraft.setMinimum(self.form.minDraft.value()) + self.form.minDraft.setMaximum(self.form.maxDraft.value()) + flag = True + try: + props.index("HydrostaticsNDraft") + except ValueError: + flag = False + if flag: + self.form.nDraft.setValue(self.ship.HydrostaticsNDraft) + # Update GUI + return False - def retranslateUi(self): - """ Set user interface locale strings. - """ - self.form.setWindowTitle(Translator.translate("Plot hydrostatics")) - self.form.findChild(QtGui.QLabel, "TrimLabel").setText(Translator.translate("Trim")) - self.form.findChild(QtGui.QLabel, "MinDraftLabel").setText(Translator.translate("Minimum draft")) - self.form.findChild(QtGui.QLabel, "MaxDraftLabel").setText(Translator.translate("Maximum draft")) - self.form.findChild(QtGui.QLabel, "NDraftLabel").setText(Translator.translate("Number of points")) + def retranslateUi(self): + """ Set user interface locale strings. + """ + self.form.setWindowTitle(QtGui.QApplication.translate("ship_hydrostatic","Plot hydrostatics", + None,QtGui.QApplication.UnicodeUTF8)) + self.form.findChild(QtGui.QLabel, "TrimLabel").setText(QtGui.QApplication.translate("ship_hydrostatic","Trim", + None,QtGui.QApplication.UnicodeUTF8)) + self.form.findChild(QtGui.QLabel, "MinDraftLabel").setText(QtGui.QApplication.translate("ship_hydrostatic","Minimum draft", + None,QtGui.QApplication.UnicodeUTF8)) + self.form.findChild(QtGui.QLabel, "MaxDraftLabel").setText(QtGui.QApplication.translate("ship_hydrostatic","Maximum draft", + None,QtGui.QApplication.UnicodeUTF8)) + self.form.findChild(QtGui.QLabel, "NDraftLabel").setText(QtGui.QApplication.translate("ship_hydrostatic","Number of points", + None,QtGui.QApplication.UnicodeUTF8)) - def onData(self, value): - """ Method called when input data is changed. - @param value Changed value. - """ - if not self.ship: - return - self.form.maxDraft.setMinimum(self.form.minDraft.value()) - self.form.minDraft.setMaximum(self.form.maxDraft.value()) + def onData(self, value): + """ Method called when input data is changed. + @param value Changed value. + """ + if not self.ship: + return + self.form.maxDraft.setMinimum(self.form.minDraft.value()) + self.form.minDraft.setMaximum(self.form.maxDraft.value()) - def save(self): - """ Saves data into ship instance. - """ - props = self.ship.PropertiesList - try: - props.index("HydrostaticsTrim") - except ValueError: - self.ship.addProperty("App::PropertyFloat","HydrostaticsTrim","Ship", str(Translator.translate("Hydrostatics trim selected [m]"))) - self.ship.HydrostaticsTrim = self.form.trim.value() - try: - props.index("HydrostaticsMinDraft") - except ValueError: - self.ship.addProperty("App::PropertyFloat","HydrostaticsMinDraft","Ship", str(Translator.translate("Hydrostatics minimum draft selected [m]"))) - self.ship.HydrostaticsMinDraft = self.form.minDraft.value() - try: - props.index("HydrostaticsMaxDraft") - except ValueError: - self.ship.addProperty("App::PropertyFloat","HydrostaticsMaxDraft","Ship", str(Translator.translate("Hydrostatics maximum draft selected [m]"))) - self.ship.HydrostaticsMaxDraft = self.form.maxDraft.value() - try: - props.index("HydrostaticsNDraft") - except ValueError: - self.ship.addProperty("App::PropertyInteger","HydrostaticsNDraft","Ship", str(Translator.translate("Hydrostatics number of points selected [m]"))) - self.ship.HydrostaticsNDraft = self.form.nDraft.value() + def save(self): + """ Saves data into ship instance. + """ + props = self.ship.PropertiesList + try: + props.index("HydrostaticsTrim") + except ValueError: + tooltip = str(QtGui.QApplication.translate("ship_hydrostatic","Hydrostatics tool trim selected", + None,QtGui.QApplication.UnicodeUTF8)) + self.ship.addProperty("App::PropertyFloat","HydrostaticsTrim","Ship", tooltip) + self.ship.HydrostaticsTrim = self.form.trim.value() + try: + props.index("HydrostaticsMinDraft") + except ValueError: + tooltip = str(QtGui.QApplication.translate("ship_hydrostatic","Hydrostatics tool minimum draft selected [m]", + None,QtGui.QApplication.UnicodeUTF8)) + self.ship.addProperty("App::PropertyFloat","HydrostaticsMinDraft","Ship", tooltip) + self.ship.HydrostaticsMinDraft = self.form.minDraft.value() + try: + props.index("HydrostaticsMaxDraft") + except ValueError: + tooltip = str(QtGui.QApplication.translate("ship_hydrostatic","Hydrostatics tool maximum draft selected [m]", + None,QtGui.QApplication.UnicodeUTF8)) + self.ship.addProperty("App::PropertyFloat","HydrostaticsMaxDraft","Ship", tooltip) + self.ship.HydrostaticsMaxDraft = self.form.maxDraft.value() + try: + props.index("HydrostaticsNDraft") + except ValueError: + tooltip = str(QtGui.QApplication.translate("ship_hydrostatic","Hydrostatics tool number of points selected", + None,QtGui.QApplication.UnicodeUTF8)) + self.ship.addProperty("App::PropertyInteger","HydrostaticsNDraft","Ship", tooltip) + self.ship.HydrostaticsNDraft = self.form.nDraft.value() def createTask(): - panel = TaskPanel() - Gui.Control.showDialog(panel) - if panel.setupUi(): - Gui.Control.closeDialog(panel) - return None - return panel + panel = TaskPanel() + Gui.Control.showDialog(panel) + if panel.setupUi(): + Gui.Control.closeDialog(panel) + return None + return panel diff --git a/src/Mod/Ship/shipHydrostatics/TaskPanel.ui b/src/Mod/Ship/shipHydrostatics/TaskPanel.ui index 23367df69..8542a7ab1 100644 --- a/src/Mod/Ship/shipHydrostatics/TaskPanel.ui +++ b/src/Mod/Ship/shipHydrostatics/TaskPanel.ui @@ -17,7 +17,7 @@ - Create new ship + Plot Hydrostatics @@ -25,7 +25,7 @@ - + 0 0 @@ -53,9 +53,15 @@ + + + 0 + 0 + + - 24 + 16777215 16777215 @@ -77,131 +83,125 @@ Drafts - - - - 9 - 19 - 231 - 181 - - - - - QLayout::SetDefaultConstraint - - - - - - 0 - 0 - - - - Minimum draft - - - - - - - 3 - - - 0.010000000000000 - - - - - - - - 0 - 0 - - - - Maximum draft - - - - - - - - 0 - 0 - - - - 3 - - - 0.010000000000000 - - - - - - - - 0 - 0 - - - - Number of points - - - - - - - - 0 - 0 - - - - m - - - - - - - - 0 - 0 - - - - m - - - - - - - - 0 - 0 - - - - 2 - - - 9999 - - - 11 - - - - - + + + + + QLayout::SetDefaultConstraint + + + + + + 0 + 0 + + + + m + + + + + + + + 0 + 0 + + + + Number of points + + + + + + + + 0 + 0 + + + + Minimum draft + + + + + + + + 0 + 0 + + + + m + + + + + + + + 0 + 0 + + + + 2 + + + 9999 + + + 11 + + + + + + + + 0 + 0 + + + + 3 + + + 0.010000000000000 + + + + + + + 3 + + + 0.010000000000000 + + + + + + + + 0 + 0 + + + + Maximum draft + + + + + + diff --git a/src/Mod/Ship/shipHydrostatics/Tools.py b/src/Mod/Ship/shipHydrostatics/Tools.py index a42c9b774..8e4faab28 100644 --- a/src/Mod/Ship/shipHydrostatics/Tools.py +++ b/src/Mod/Ship/shipHydrostatics/Tools.py @@ -1,24 +1,24 @@ #*************************************************************************** -#* * -#* Copyright (c) 2011, 2012 * -#* Jose Luis Cercos Pita * -#* * +#* * +#* Copyright (c) 2011, 2012 * +#* Jose Luis Cercos Pita * +#* * #* This program is free software; you can redistribute it and/or modify * -#* it under the terms of the GNU Lesser General Public License (LGPL) * -#* as published by the Free Software Foundation; either version 2 of * -#* the License, or (at your option) any later version. * -#* for detail see the LICENCE text file. * -#* * -#* 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 Library General Public License for more details. * -#* * -#* You should have received a copy of the GNU Library General Public * +#* it under the terms of the GNU Lesser General Public License (LGPL) * +#* as published by the Free Software Foundation; either version 2 of * +#* the License, or (at your option) any later version. * +#* for detail see the LICENCE text file. * +#* * +#* 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 Library General Public License for more details. * +#* * +#* You should have received a copy of the GNU Library General Public * #* License along with this program; if not, write to the Free Software * #* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * -#* USA * -#* * +#* USA * +#* * #*************************************************************************** import math @@ -32,393 +32,393 @@ import Instance from shipUtils import Math def areas(ship, draft, roll=0.0, trim=0.0, yaw=0.0, n=30): - """ Compute ship transversal areas. - @param ship Ship instance. - @param draft Ship draft. - @param roll Ship roll angle. - @param trim Ship trim angle. - @param yaw Ship yaw angle. Ussually you don't want to use this - value. - @param n Number of sections to perform. - @return Transversal areas (every area value is composed by x - coordinate and computed area) - """ - if n < 2: - return [] - # We will take a duplicate of ship shape in order to place it - shape = ship.Shape.copy() - shape.translate(Vector(0.0,0.0,-draft)) - # Rotations composition is Roll->Trim->Yaw - shape.rotate(Vector(0.0,0.0,0.0), Vector(1.0,0.0,0.0), roll) - shape.rotate(Vector(0.0,0.0,0.0), Vector(0.0,-1.0,0.0), trim) - shape.rotate(Vector(0.0,0.0,0.0), Vector(0.0,0.0,1.0), yaw) - # Now we need to know the x range of values - bbox = shape.BoundBox - xmin = bbox.XMin - xmax = bbox.XMax - dx = (xmax - xmin) / (n-1.0) - # First area is equal to zero. - areas = [[xmin, 0.0]] - # Since we need face entities, in order to compute sections we will - # create boxes with front face at transversal area position, - # compute solid common, divide by faces, and preserve only desired - # ones. - App.Console.PrintMessage("Computing transversal areas...\n") - App.Console.PrintMessage("Some Inventor representation errors can be shown, ignore it please.\n") - for i in range(1,n-1): - App.Console.PrintMessage("%d / %d\n" % (i, n-2)) - x = xmin + i*dx - area = 0.0 - # Create the box - L = xmax - xmin - B = bbox.YMax - bbox.YMin - p = Vector(-1.5*L, -1.5*B, bbox.ZMin - 1.0) - box = Part.makeBox(1.5*L + x, 3.0*B, - bbox.ZMin + 1.0, p) - # Compute common part with ship - for s in shape.Solids: - # Get solids intersection - try: - common = box.common(s) - except: - continue - if common.Volume == 0.0: - continue - # Recompute object adding it to the scene, when we have - # computed desired data we can remove it. - try: - Part.show(common) - except: - continue - # Divide by faces and compute only section placed ones - faces = common.Faces - for f in faces: - faceBounds = f.BoundBox - # Orientation filter - if faceBounds.XMax - faceBounds.XMin > 0.00001: - continue - # Place filter - if abs(faceBounds.XMax - x) > 0.00001: - continue - # Valid face, compute area - area = area + f.Area - # Destroy last object generated - App.ActiveDocument.removeObject(App.ActiveDocument.Objects[-1].Name) - # Append transversal area - areas.append([x, area]) - # Last area is equal to zero - areas.append([xmax, 0.0]) - App.Console.PrintMessage("Done!\n") - return areas + """ Compute ship transversal areas. + @param ship Ship instance. + @param draft Ship draft. + @param roll Ship roll angle. + @param trim Ship trim angle. + @param yaw Ship yaw angle. Ussually you don't want to use this + value. + @param n Number of sections to perform. + @return Transversal areas (every area value is composed by x + coordinate and computed area) + """ + if n < 2: + return [] + # We will take a duplicate of ship shape in order to place it + shape = ship.Shape.copy() + shape.translate(Vector(0.0,0.0,-draft)) + # Rotations composition is Roll->Trim->Yaw + shape.rotate(Vector(0.0,0.0,0.0), Vector(1.0,0.0,0.0), roll) + shape.rotate(Vector(0.0,0.0,0.0), Vector(0.0,-1.0,0.0), trim) + shape.rotate(Vector(0.0,0.0,0.0), Vector(0.0,0.0,1.0), yaw) + # Now we need to know the x range of values + bbox = shape.BoundBox + xmin = bbox.XMin + xmax = bbox.XMax + dx = (xmax - xmin) / (n-1.0) + # First area is equal to zero. + areas = [[xmin, 0.0]] + # Since we need face entities, in order to compute sections we will + # create boxes with front face at transversal area position, + # compute solid common, divide by faces, and preserve only desired + # ones. + App.Console.PrintMessage("Computing transversal areas...\n") + App.Console.PrintMessage("Some Inventor representation errors can be shown, ignore it please.\n") + for i in range(1,n-1): + App.Console.PrintMessage("%d / %d\n" % (i, n-2)) + x = xmin + i*dx + area = 0.0 + # Create the box + L = xmax - xmin + B = bbox.YMax - bbox.YMin + p = Vector(-1.5*L, -1.5*B, bbox.ZMin - 1.0) + box = Part.makeBox(1.5*L + x, 3.0*B, - bbox.ZMin + 1.0, p) + # Compute common part with ship + for s in shape.Solids: + # Get solids intersection + try: + common = box.common(s) + except: + continue + if common.Volume == 0.0: + continue + # Recompute object adding it to the scene, when we have + # computed desired data we can remove it. + try: + Part.show(common) + except: + continue + # Divide by faces and compute only section placed ones + faces = common.Faces + for f in faces: + faceBounds = f.BoundBox + # Orientation filter + if faceBounds.XMax - faceBounds.XMin > 0.00001: + continue + # Place filter + if abs(faceBounds.XMax - x) > 0.00001: + continue + # Valid face, compute area + area = area + f.Area + # Destroy last object generated + App.ActiveDocument.removeObject(App.ActiveDocument.Objects[-1].Name) + # Append transversal area + areas.append([x, area]) + # Last area is equal to zero + areas.append([xmax, 0.0]) + App.Console.PrintMessage("Done!\n") + return areas def displacement(ship, draft, roll=0.0, trim=0.0, yaw=0.0): - """ Compute ship displacement. - @param ship Ship instance. - @param draft Ship draft. - @param roll Ship roll angle. - @param trim Ship trim angle. - @param yaw Ship yaw angle. Ussually you don't want to use this - value. - @return [disp, B, Cb], \n - disp = Ship displacement [ton]. - B = Bouyance center [m]. - Cb = Block coefficient. - @note Bouyance center will returned as FreeCAD.Vector class. - @note Returned Bouyance center is in non modified ship coordinates - """ - # We will take a duplicate of ship shape in order to place it - shape = ship.Shape.copy() - shape.translate(Vector(0.0,0.0,-draft)) - # Rotations composition is Roll->Trim->Yaw - shape.rotate(Vector(0.0,0.0,0.0), Vector(1.0,0.0,0.0), roll) - shape.rotate(Vector(0.0,0.0,0.0), Vector(0.0,-1.0,0.0), trim) - shape.rotate(Vector(0.0,0.0,0.0), Vector(0.0,0.0,1.0), yaw) - # Now we need to know box dimensions - bbox = shape.BoundBox - xmin = bbox.XMin - xmax = bbox.XMax - # Create the box - L = xmax - xmin - B = bbox.YMax - bbox.YMin - p = Vector(-1.5*L, -1.5*B, bbox.ZMin - 1.0) - box = Part.makeBox(3.0*L, 3.0*B, -bbox.ZMin + 1.0, p) - vol = 0.0 - cog = Vector() - for solid in shape.Solids: - # Compute common part with ship - try: - common = box.common(solid) - except: - continue - # Get data - vol = vol + common.Volume - for s in common.Solids: - sCoG = s.CenterOfMass - cog.x = cog.x + sCoG.x*s.Volume - cog.y = cog.y + sCoG.y*s.Volume - cog.z = cog.z + sCoG.z*s.Volume - cog.x = cog.x / vol - cog.y = cog.y / vol - cog.z = cog.z / vol - Vol = L*B*abs(bbox.ZMin) - # Undo transformations - B = Vector() - B.x = cog.x*math.cos(math.radians(-yaw)) - cog.y*math.sin(math.radians(-yaw)) - B.y = cog.x*math.sin(math.radians(-yaw)) + cog.y*math.cos(math.radians(-yaw)) - B.z = cog.z - cog.x = B.x*math.cos(math.radians(-trim)) - B.z*math.sin(math.radians(-trim)) - cog.y = B.y - cog.z = B.x*math.sin(math.radians(-trim)) + B.z*math.cos(math.radians(-trim)) - B.x = cog.x - B.y = cog.y*math.cos(math.radians(-roll)) - cog.z*math.sin(math.radians(-roll)) - B.z = cog.y*math.sin(math.radians(-roll)) + cog.z*math.cos(math.radians(-roll)) - B.z = B.z + draft - # Return data - dens = 1.025 # [tons/m3], salt water - return [dens*vol, B, vol/Vol] + """ Compute ship displacement. + @param ship Ship instance. + @param draft Ship draft. + @param roll Ship roll angle. + @param trim Ship trim angle. + @param yaw Ship yaw angle. Ussually you don't want to use this + value. + @return [disp, B, Cb], \n + disp = Ship displacement [ton]. + B = Bouyance center [m]. + Cb = Block coefficient. + @note Bouyance center will returned as FreeCAD.Vector class. + @note Returned Bouyance center is in non modified ship coordinates + """ + # We will take a duplicate of ship shape in order to place it + shape = ship.Shape.copy() + shape.translate(Vector(0.0,0.0,-draft)) + # Rotations composition is Roll->Trim->Yaw + shape.rotate(Vector(0.0,0.0,0.0), Vector(1.0,0.0,0.0), roll) + shape.rotate(Vector(0.0,0.0,0.0), Vector(0.0,-1.0,0.0), trim) + shape.rotate(Vector(0.0,0.0,0.0), Vector(0.0,0.0,1.0), yaw) + # Now we need to know box dimensions + bbox = shape.BoundBox + xmin = bbox.XMin + xmax = bbox.XMax + # Create the box + L = xmax - xmin + B = bbox.YMax - bbox.YMin + p = Vector(-1.5*L, -1.5*B, bbox.ZMin - 1.0) + box = Part.makeBox(3.0*L, 3.0*B, -bbox.ZMin + 1.0, p) + vol = 0.0 + cog = Vector() + for solid in shape.Solids: + # Compute common part with ship + try: + common = box.common(solid) + except: + continue + # Get data + vol = vol + common.Volume + for s in common.Solids: + sCoG = s.CenterOfMass + cog.x = cog.x + sCoG.x*s.Volume + cog.y = cog.y + sCoG.y*s.Volume + cog.z = cog.z + sCoG.z*s.Volume + cog.x = cog.x / vol + cog.y = cog.y / vol + cog.z = cog.z / vol + Vol = L*B*abs(bbox.ZMin) + # Undo transformations + B = Vector() + B.x = cog.x*math.cos(math.radians(-yaw)) - cog.y*math.sin(math.radians(-yaw)) + B.y = cog.x*math.sin(math.radians(-yaw)) + cog.y*math.cos(math.radians(-yaw)) + B.z = cog.z + cog.x = B.x*math.cos(math.radians(-trim)) - B.z*math.sin(math.radians(-trim)) + cog.y = B.y + cog.z = B.x*math.sin(math.radians(-trim)) + B.z*math.cos(math.radians(-trim)) + B.x = cog.x + B.y = cog.y*math.cos(math.radians(-roll)) - cog.z*math.sin(math.radians(-roll)) + B.z = cog.y*math.sin(math.radians(-roll)) + cog.z*math.cos(math.radians(-roll)) + B.z = B.z + draft + # Return data + dens = 1.025 # [tons/m3], salt water + return [dens*vol, B, vol/Vol] def wettedArea(shape, draft, trim): - """ Calculate wetted ship area. - @param shape Ship external faces instance. - @param draft Draft. - @param trim Trim in degrees. - @return Wetted ship area. - """ - area = 0.0 - nObjects = 0 - # We will take a duplicate of ship shape in order to place it - shape = shape.copy() - shape.translate(Vector(0.0,0.0,-draft)) - shape.rotate(Vector(0.0,0.0,0.0), Vector(0.0,-1.0,0.0), trim) - # Now we need to know the x range of values - bbox = shape.BoundBox - xmin = bbox.XMin - xmax = bbox.XMax - # Create the box - L = xmax - xmin - B = bbox.YMax - bbox.YMin - p = Vector(-1.5*L, -1.5*B, bbox.ZMin - 1.0) - box = Part.makeBox(3.0*L, 3.0*B, - bbox.ZMin + 1.0, p) - # Compute common part with ship - for f in shape.Faces: - # Get solids intersection - try: - common = box.common(f) - except: - continue - area = area + common.Area - return area + """ Calculate wetted ship area. + @param shape Ship external faces instance. + @param draft Draft. + @param trim Trim in degrees. + @return Wetted ship area. + """ + area = 0.0 + nObjects = 0 + # We will take a duplicate of ship shape in order to place it + shape = shape.copy() + shape.translate(Vector(0.0,0.0,-draft)) + shape.rotate(Vector(0.0,0.0,0.0), Vector(0.0,-1.0,0.0), trim) + # Now we need to know the x range of values + bbox = shape.BoundBox + xmin = bbox.XMin + xmax = bbox.XMax + # Create the box + L = xmax - xmin + B = bbox.YMax - bbox.YMin + p = Vector(-1.5*L, -1.5*B, bbox.ZMin - 1.0) + box = Part.makeBox(3.0*L, 3.0*B, - bbox.ZMin + 1.0, p) + # Compute common part with ship + for f in shape.Faces: + # Get solids intersection + try: + common = box.common(f) + except: + continue + area = area + common.Area + return area def moment(ship, draft, trim, disp, xcb): - """ Calculate triming 1cm ship moment. - @param ship Selected ship instance - @param draft Draft. - @param trim Trim in degrees. - @param disp Displacement at selected draft and trim. - @param xcb Bouyance center at selected draft and trim. - @return Moment to trim ship 1cm (ton m). - @note Moment is positive when produce positive trim. - """ - factor = 10.0 - angle = factor*math.degrees(math.atan2(0.01,0.5*ship.Length)) - newTrim = trim + angle - data = displacement(ship,draft,0.0,newTrim,0.0) - mom0 = -disp*xcb - mom1 = -data[0]*data[1].x - return (mom1 - mom0) / factor + """ Calculate triming 1cm ship moment. + @param ship Selected ship instance + @param draft Draft. + @param trim Trim in degrees. + @param disp Displacement at selected draft and trim. + @param xcb Bouyance center at selected draft and trim. + @return Moment to trim ship 1cm (ton m). + @note Moment is positive when produce positive trim. + """ + factor = 10.0 + angle = factor*math.degrees(math.atan2(0.01,0.5*ship.Length)) + newTrim = trim + angle + data = displacement(ship,draft,0.0,newTrim,0.0) + mom0 = -disp*xcb + mom1 = -data[0]*data[1].x + return (mom1 - mom0) / factor def FloatingArea(ship, draft, trim): - """ Calculate ship floating area. - @param ship Selected ship instance - @param draft Draft. - @param trim Trim in degrees. - @return Ship floating area, and floating coefficient. - """ - area = 0.0 - cf = 0.0 - maxX = 0.0 - minX = 0.0 - maxY = 0.0 - minY = 0.0 - # We will take a duplicate of ship shape in order to place it - shape = ship.Shape.copy() - shape.translate(Vector(0.0,0.0,-draft)) - shape.rotate(Vector(0.0,0.0,0.0), Vector(0.0,-1.0,0.0), trim) - # Now we need to know the x range of values - bbox = shape.BoundBox - xmin = bbox.XMin - xmax = bbox.XMax - # Create the box - L = xmax - xmin - B = bbox.YMax - bbox.YMin - p = Vector(-1.5*L, -1.5*B, bbox.ZMin - 1.0) - box = Part.makeBox(3.0*L, 3.0*B, - bbox.ZMin + 1.0, p) - # Compute common part with ship - for s in shape.Solids: - # Get solids intersection - try: - common = box.common(s) - except: - continue - if common.Volume == 0.0: - continue - # Recompute object adding it to the scene, when we have - # computed desired data we can remove it. - try: - Part.show(common) - except: - continue - # Divide by faces and compute only section placed ones - faces = common.Faces - for f in faces: - faceBounds = f.BoundBox - # Orientation filter - if faceBounds.ZMax - faceBounds.ZMin > 0.00001: - continue - # Place filter - if abs(faceBounds.ZMax) > 0.00001: - continue - # Valid face, compute area - area = area + f.Area - maxX = max(maxX, faceBounds.XMax) - minX = min(minX, faceBounds.XMin) - maxY = max(maxY, faceBounds.YMax) - minY = min(minY, faceBounds.YMin) - # Destroy last object generated - App.ActiveDocument.removeObject(App.ActiveDocument.Objects[-1].Name) - dx = maxX - minX - dy = maxY - minY - if dx*dy > 0.0: - cf = area / (dx*dy) - return [area, cf] + """ Calculate ship floating area. + @param ship Selected ship instance + @param draft Draft. + @param trim Trim in degrees. + @return Ship floating area, and floating coefficient. + """ + area = 0.0 + cf = 0.0 + maxX = 0.0 + minX = 0.0 + maxY = 0.0 + minY = 0.0 + # We will take a duplicate of ship shape in order to place it + shape = ship.Shape.copy() + shape.translate(Vector(0.0,0.0,-draft)) + shape.rotate(Vector(0.0,0.0,0.0), Vector(0.0,-1.0,0.0), trim) + # Now we need to know the x range of values + bbox = shape.BoundBox + xmin = bbox.XMin + xmax = bbox.XMax + # Create the box + L = xmax - xmin + B = bbox.YMax - bbox.YMin + p = Vector(-1.5*L, -1.5*B, bbox.ZMin - 1.0) + box = Part.makeBox(3.0*L, 3.0*B, - bbox.ZMin + 1.0, p) + # Compute common part with ship + for s in shape.Solids: + # Get solids intersection + try: + common = box.common(s) + except: + continue + if common.Volume == 0.0: + continue + # Recompute object adding it to the scene, when we have + # computed desired data we can remove it. + try: + Part.show(common) + except: + continue + # Divide by faces and compute only section placed ones + faces = common.Faces + for f in faces: + faceBounds = f.BoundBox + # Orientation filter + if faceBounds.ZMax - faceBounds.ZMin > 0.00001: + continue + # Place filter + if abs(faceBounds.ZMax) > 0.00001: + continue + # Valid face, compute area + area = area + f.Area + maxX = max(maxX, faceBounds.XMax) + minX = min(minX, faceBounds.XMin) + maxY = max(maxY, faceBounds.YMax) + minY = min(minY, faceBounds.YMin) + # Destroy last object generated + App.ActiveDocument.removeObject(App.ActiveDocument.Objects[-1].Name) + dx = maxX - minX + dy = maxY - minY + if dx*dy > 0.0: + cf = area / (dx*dy) + return [area, cf] def BMT(ship, draft, trim=0.0): - """ Calculate ship Bouyance center transversal distance. - @param ship Ship instance. - @param draft Ship draft. - @param trim Ship trim angle. - @return BM Bouyance to metacenter height [m]. - """ - nRoll = 2 - maxRoll = 7.0 - B0 = displacement(ship,draft,0.0,trim,0.0)[1] - BM = 0.0 - for i in range(0,nRoll): - roll = (maxRoll/nRoll)*(i+1) - B1 = displacement(ship,draft,roll,trim,0.0)[1] - # * M - # / \ - # / \ BM ==|> BM = (BB/2) / sin(alpha/2) - # / \ - # *-------* - # BB - BB = [B1.y - B0.y, B1.z - B0.z] - BB = math.sqrt(BB[0]*BB[0] + BB[1]*BB[1]) - BM = BM + 0.5*BB/math.sin(math.radians(0.5*roll)) / nRoll # nRoll is the weight function - return BM + """ Calculate ship Bouyance center transversal distance. + @param ship Ship instance. + @param draft Ship draft. + @param trim Ship trim angle. + @return BM Bouyance to metacenter height [m]. + """ + nRoll = 2 + maxRoll = 7.0 + B0 = displacement(ship,draft,0.0,trim,0.0)[1] + BM = 0.0 + for i in range(0,nRoll): + roll = (maxRoll/nRoll)*(i+1) + B1 = displacement(ship,draft,roll,trim,0.0)[1] + # * M + # / \ + # / \ BM ==|> BM = (BB/2) / sin(alpha/2) + # / \ + # *-------* + # BB + BB = [B1.y - B0.y, B1.z - B0.z] + BB = math.sqrt(BB[0]*BB[0] + BB[1]*BB[1]) + BM = BM + 0.5*BB/math.sin(math.radians(0.5*roll)) / nRoll # nRoll is the weight function + return BM def mainFrameCoeff(ship, draft): - """ Calculate main frame coefficient. - @param ship Selected ship instance - @param draft Draft. - @return Main frame coefficient - """ - cm = 0.0 - maxY = 0.0 - minY = 0.0 - # We will take a duplicate of ship shape in order to place it - shape = ship.Shape.copy() - shape.translate(Vector(0.0,0.0,-draft)) - x = 0.0 - area = 0.0 - # Now we need to know the x range of values - bbox = shape.BoundBox - xmin = bbox.XMin - xmax = bbox.XMax - # Create the box - L = xmax - xmin - B = bbox.YMax - bbox.YMin - p = Vector(-1.5*L, -1.5*B, bbox.ZMin - 1.0) - box = Part.makeBox(1.5*L + x, 3.0*B, - bbox.ZMin + 1.0, p) - # Compute common part with ship - for s in shape.Solids: - # Get solids intersection - try: - common = box.common(s) - except: - continue - if common.Volume == 0.0: - continue - # Recompute object adding it to the scene, when we have - # computed desired data we can remove it. - try: - Part.show(common) - except: - continue - # Divide by faces and compute only section placed ones - faces = common.Faces - for f in faces: - faceBounds = f.BoundBox - # Orientation filter - if faceBounds.XMax - faceBounds.XMin > 0.00001: - continue - # Place filter - if abs(faceBounds.XMax - x) > 0.00001: - continue - # Valid face, compute area - area = area + f.Area - maxY = max(maxY, faceBounds.YMax) - minY = max(minY, faceBounds.YMin) - # Destroy last object generated - App.ActiveDocument.removeObject(App.ActiveDocument.Objects[-1].Name) - dy = maxY - minY - if dy*draft > 0.0: - cm = area / (dy*draft) - return cm + """ Calculate main frame coefficient. + @param ship Selected ship instance + @param draft Draft. + @return Main frame coefficient + """ + cm = 0.0 + maxY = 0.0 + minY = 0.0 + # We will take a duplicate of ship shape in order to place it + shape = ship.Shape.copy() + shape.translate(Vector(0.0,0.0,-draft)) + x = 0.0 + area = 0.0 + # Now we need to know the x range of values + bbox = shape.BoundBox + xmin = bbox.XMin + xmax = bbox.XMax + # Create the box + L = xmax - xmin + B = bbox.YMax - bbox.YMin + p = Vector(-1.5*L, -1.5*B, bbox.ZMin - 1.0) + box = Part.makeBox(1.5*L + x, 3.0*B, - bbox.ZMin + 1.0, p) + # Compute common part with ship + for s in shape.Solids: + # Get solids intersection + try: + common = box.common(s) + except: + continue + if common.Volume == 0.0: + continue + # Recompute object adding it to the scene, when we have + # computed desired data we can remove it. + try: + Part.show(common) + except: + continue + # Divide by faces and compute only section placed ones + faces = common.Faces + for f in faces: + faceBounds = f.BoundBox + # Orientation filter + if faceBounds.XMax - faceBounds.XMin > 0.00001: + continue + # Place filter + if abs(faceBounds.XMax - x) > 0.00001: + continue + # Valid face, compute area + area = area + f.Area + maxY = max(maxY, faceBounds.YMax) + minY = max(minY, faceBounds.YMin) + # Destroy last object generated + App.ActiveDocument.removeObject(App.ActiveDocument.Objects[-1].Name) + dy = maxY - minY + if dy*draft > 0.0: + cm = area / (dy*draft) + return cm class Point: - """ Hydrostatics point, that conatins: \n - draft Ship draft [m]. \n - trim Ship trim [deg]. \n - disp Ship displacement [ton]. \n - xcb Bouyance center X coordinate [m]. - wet Wetted ship area [m2]. - mom Triming 1cm ship moment [ton m]. - farea Floating area [m2]. - KBt Transversal KB height [m]. - BMt Transversal BM height [m]. - Cb Block coefficient. - Cf Floating coefficient. - Cm Main frame coefficient. - @note Moment is positive when produce positive trim. - """ - def __init__(self, ship, faces, draft, trim): - """ Use all hydrostatics tools to define a hydrostatics - point. - @param ship Selected ship instance - @param faces Ship external faces - @param draft Draft. - @param trim Trim in degrees. - """ - # Hydrostatics computation - dispData = displacement(ship,draft,0.0,trim,0.0) - if not faces: - wet = 0.0 - else: - wet = wettedArea(faces,draft,trim) - mom = moment(ship,draft,trim,dispData[0],dispData[1].x) - farea = FloatingArea(ship,draft,trim) - bm = BMT(ship,draft,trim) - cm = mainFrameCoeff(ship,draft) - # Store final data - self.draft = draft - self.trim = trim - self.disp = dispData[0] - self.xcb = dispData[1].x - self.wet = wet - self.farea = farea[0] - self.mom = mom - self.KBt = dispData[1].z - self.BMt = bm - self.Cb = dispData[2] - self.Cf = farea[1] - self.Cm = cm + """ Hydrostatics point, that conatins: \n + draft Ship draft [m]. \n + trim Ship trim [deg]. \n + disp Ship displacement [ton]. \n + xcb Bouyance center X coordinate [m]. + wet Wetted ship area [m2]. + mom Triming 1cm ship moment [ton m]. + farea Floating area [m2]. + KBt Transversal KB height [m]. + BMt Transversal BM height [m]. + Cb Block coefficient. + Cf Floating coefficient. + Cm Main frame coefficient. + @note Moment is positive when produce positive trim. + """ + def __init__(self, ship, faces, draft, trim): + """ Use all hydrostatics tools to define a hydrostatics + point. + @param ship Selected ship instance + @param faces Ship external faces + @param draft Draft. + @param trim Trim in degrees. + """ + # Hydrostatics computation + dispData = displacement(ship,draft,0.0,trim,0.0) + if not faces: + wet = 0.0 + else: + wet = wettedArea(faces,draft,trim) + mom = moment(ship,draft,trim,dispData[0],dispData[1].x) + farea = FloatingArea(ship,draft,trim) + bm = BMT(ship,draft,trim) + cm = mainFrameCoeff(ship,draft) + # Store final data + self.draft = draft + self.trim = trim + self.disp = dispData[0] + self.xcb = dispData[1].x + self.wet = wet + self.farea = farea[0] + self.mom = mom + self.KBt = dispData[1].z + self.BMt = bm + self.Cb = dispData[2] + self.Cf = farea[1] + self.Cm = cm diff --git a/src/Mod/Ship/shipHydrostatics/__init__.py b/src/Mod/Ship/shipHydrostatics/__init__.py index 5b9a3c477..50a43c8a6 100644 --- a/src/Mod/Ship/shipHydrostatics/__init__.py +++ b/src/Mod/Ship/shipHydrostatics/__init__.py @@ -1,24 +1,24 @@ #*************************************************************************** -#* * -#* Copyright (c) 2011, 2012 * -#* Jose Luis Cercos Pita * -#* * +#* * +#* Copyright (c) 2011, 2012 * +#* Jose Luis Cercos Pita * +#* * #* This program is free software; you can redistribute it and/or modify * -#* it under the terms of the GNU Lesser General Public License (LGPL) * -#* as published by the Free Software Foundation; either version 2 of * -#* the License, or (at your option) any later version. * -#* for detail see the LICENCE text file. * -#* * -#* 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 Library General Public License for more details. * -#* * -#* You should have received a copy of the GNU Library General Public * +#* it under the terms of the GNU Lesser General Public License (LGPL) * +#* as published by the Free Software Foundation; either version 2 of * +#* the License, or (at your option) any later version. * +#* for detail see the LICENCE text file. * +#* * +#* 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 Library General Public License for more details. * +#* * +#* You should have received a copy of the GNU Library General Public * #* License along with this program; if not, write to the Free Software * #* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * -#* USA * -#* * +#* USA * +#* * #*************************************************************************** @@ -33,5 +33,5 @@ from PyQt4 import QtGui,QtCore import TaskPanel def load(): - """ Loads the tool """ - TaskPanel.createTask() + """ Loads the tool """ + TaskPanel.createTask() diff --git a/src/Mod/Ship/shipLoadExample/TaskPanel.py b/src/Mod/Ship/shipLoadExample/TaskPanel.py index b325a9236..9c463c99b 100644 --- a/src/Mod/Ship/shipLoadExample/TaskPanel.py +++ b/src/Mod/Ship/shipLoadExample/TaskPanel.py @@ -1,24 +1,24 @@ #*************************************************************************** -#* * -#* Copyright (c) 2011, 2012 * -#* Jose Luis Cercos Pita * -#* * +#* * +#* Copyright (c) 2011, 2012 * +#* Jose Luis Cercos Pita * +#* * #* This program is free software; you can redistribute it and/or modify * -#* it under the terms of the GNU Lesser General Public License (LGPL) * -#* as published by the Free Software Foundation; either version 2 of * -#* the License, or (at your option) any later version. * -#* for detail see the LICENCE text file. * -#* * -#* 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 Library General Public License for more details. * -#* * -#* You should have received a copy of the GNU Library General Public * +#* it under the terms of the GNU Lesser General Public License (LGPL) * +#* as published by the Free Software Foundation; either version 2 of * +#* the License, or (at your option) any later version. * +#* for detail see the LICENCE text file. * +#* * +#* 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 Library General Public License for more details. * +#* * +#* You should have received a copy of the GNU Library General Public * #* License along with this program; if not, write to the Free Software * #* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * -#* USA * -#* * +#* USA * +#* * #*************************************************************************** # FreeCAD modules @@ -27,79 +27,82 @@ import FreeCADGui as Gui # Qt library from PyQt4 import QtGui,QtCore # Module -from shipUtils import Paths, Translator +from shipUtils import Paths class TaskPanel: - def __init__(self): - self.ui = Paths.modulePath() + "/shipLoadExample/TaskPanel.ui" + def __init__(self): + self.ui = Paths.modulePath() + "/shipLoadExample/TaskPanel.ui" - def accept(self): - path = Paths.modulePath() + "/Examples/" - if(self.form.ship.currentIndex() == 0): # s60 from Iowa University - App.open(path + "s60.fcstd") - elif(self.form.ship.currentIndex() == 1): # Wigley canonical ship - App.open(path + "wigley.fcstd") - elif(self.form.ship.currentIndex() == 2): # s60 (Katamaran) - App.open(path + "s60_katamaran.fcstd") - elif(self.form.ship.currentIndex() == 2): # Wigley (Katamaran) - App.open(path + "wigley_katamaran.fcstd") - return True + def accept(self): + path = Paths.modulePath() + "/resources/examples/" + if(self.form.ship.currentIndex() == 0): # s60 from Iowa University + App.open(path + "s60.fcstd") + elif(self.form.ship.currentIndex() == 1): # Wigley canonical ship + App.open(path + "wigley.fcstd") + elif(self.form.ship.currentIndex() == 2): # s60 (Katamaran) + App.open(path + "s60_katamaran.fcstd") + elif(self.form.ship.currentIndex() == 2): # Wigley (Katamaran) + App.open(path + "wigley_katamaran.fcstd") + return True - def reject(self): - return True + def reject(self): + return True - def clicked(self, index): - pass + def clicked(self, index): + pass - def open(self): - pass + def open(self): + pass - def needsFullSpace(self): - return True + def needsFullSpace(self): + return True - def isAllowedAlterSelection(self): - return False + def isAllowedAlterSelection(self): + return False - def isAllowedAlterView(self): - return True + def isAllowedAlterView(self): + return True - def isAllowedAlterDocument(self): - return False + def isAllowedAlterDocument(self): + return False - def helpRequested(self): - pass + def helpRequested(self): + pass - def setupUi(self): - mw = self.getMainWindow() - form = mw.findChild(QtGui.QWidget, "TaskPanel") - form.ship = form.findChild(QtGui.QComboBox, "Ship") - form.mainLogo = form.findChild(QtGui.QLabel, "MainLogo") - iconPath = Paths.iconsPath() + "/Ico.xpm" - form.mainLogo.setPixmap(QtGui.QPixmap(iconPath)) - self.form = form - self.retranslateUi() + def setupUi(self): + mw = self.getMainWindow() + form = mw.findChild(QtGui.QWidget, "TaskPanel") + form.ship = form.findChild(QtGui.QComboBox, "Ship") + form.mainLogo = form.findChild(QtGui.QLabel, "MainLogo") + iconPath = Paths.iconsPath() + "/Ico.xpm" + form.mainLogo.setPixmap(QtGui.QPixmap(iconPath)) + self.form = form + self.retranslateUi() - def getMainWindow(self): - "returns the main window" - # using QtGui.qApp.activeWindow() isn't very reliable because if another - # widget than the mainwindow is active (e.g. a dialog) the wrong widget is - # returned - toplevel = QtGui.qApp.topLevelWidgets() - for i in toplevel: - if i.metaObject().className() == "Gui::MainWindow": - return i - raise Exception("No main window found") + def getMainWindow(self): + "returns the main window" + # using QtGui.qApp.activeWindow() isn't very reliable because if another + # widget than the mainwindow is active (e.g. a dialog) the wrong widget is + # returned + toplevel = QtGui.qApp.topLevelWidgets() + for i in toplevel: + if i.metaObject().className() == "Gui::MainWindow": + return i + raise Exception("No main window found") - def retranslateUi(self): - """ Set user interface locale strings. - """ - self.form.setWindowTitle(Translator.translate("Load example ship")) - self.form.findChild(QtGui.QGroupBox, "ShipSelectionBox").setTitle(Translator.translate("Select ship example geometry")) + def retranslateUi(self): + """ Set user interface locale strings. + """ + self.form.setWindowTitle(QtGui.QApplication.translate("ship_load","Load example ship", + None,QtGui.QApplication.UnicodeUTF8)) + self.form.findChild(QtGui.QGroupBox, "ShipSelectionBox").setTitle(QtGui.QApplication.translate("ship_load", + "Select ship example geometry", + None,QtGui.QApplication.UnicodeUTF8)) def createTask(): - panel = TaskPanel() - Gui.Control.showDialog(panel) - if panel.setupUi(): - Gui.Control.closeDialog(panel) - return None - return panel + panel = TaskPanel() + Gui.Control.showDialog(panel) + if panel.setupUi(): + Gui.Control.closeDialog(panel) + return None + return panel diff --git a/src/Mod/Ship/shipLoadExample/TaskPanel.ui b/src/Mod/Ship/shipLoadExample/TaskPanel.ui index 19a2c8da9..299c174fa 100644 --- a/src/Mod/Ship/shipLoadExample/TaskPanel.ui +++ b/src/Mod/Ship/shipLoadExample/TaskPanel.ui @@ -62,58 +62,52 @@ Select ship example geometry - - - - 0 - 20 - 241 - 101 - - - - - - - - Series 60 from Iowa University + + + + + + + + Series 60 from Iowa University + + + + + Wigley canonical ship + + + + + Series 60 (Katamaran) + + + + + Wigley (Katamaran) + + + + + + + + Qt::Vertical - - - - Wigley canonical ship + + QSizePolicy::Fixed - - - - Series 60 (Katamaran) + + + 20 + 20 + - - - - Wigley (Katamaran) - - - - - - - - Qt::Vertical - - - QSizePolicy::Fixed - - - - 20 - 20 - - - - - - + + + + + diff --git a/src/Mod/Ship/shipLoadExample/__init__.py b/src/Mod/Ship/shipLoadExample/__init__.py index cbfb57d75..021390940 100644 --- a/src/Mod/Ship/shipLoadExample/__init__.py +++ b/src/Mod/Ship/shipLoadExample/__init__.py @@ -1,24 +1,24 @@ #*************************************************************************** -#* * -#* Copyright (c) 2011, 2012 * -#* Jose Luis Cercos Pita * -#* * +#* * +#* Copyright (c) 2011, 2012 * +#* Jose Luis Cercos Pita * +#* * #* This program is free software; you can redistribute it and/or modify * -#* it under the terms of the GNU Lesser General Public License (LGPL) * -#* as published by the Free Software Foundation; either version 2 of * -#* the License, or (at your option) any later version. * -#* for detail see the LICENCE text file. * -#* * -#* 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 Library General Public License for more details. * -#* * -#* You should have received a copy of the GNU Library General Public * +#* it under the terms of the GNU Lesser General Public License (LGPL) * +#* as published by the Free Software Foundation; either version 2 of * +#* the License, or (at your option) any later version. * +#* for detail see the LICENCE text file. * +#* * +#* 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 Library General Public License for more details. * +#* * +#* You should have received a copy of the GNU Library General Public * #* License along with this program; if not, write to the Free Software * #* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * -#* USA * -#* * +#* USA * +#* * #*************************************************************************** # FreeCAD modules @@ -32,5 +32,5 @@ from PyQt4 import QtGui,QtCore import TaskPanel def load(): - """ Loads the tool """ - TaskPanel.createTask() + """ Loads the tool """ + TaskPanel.createTask() diff --git a/src/Mod/Ship/shipOutlineDraw/Plot.py b/src/Mod/Ship/shipOutlineDraw/Plot.py index 7715540da..919fc8720 100644 --- a/src/Mod/Ship/shipOutlineDraw/Plot.py +++ b/src/Mod/Ship/shipOutlineDraw/Plot.py @@ -1,124 +1,127 @@ #*************************************************************************** -#* * -#* Copyright (c) 2011, 2012 * -#* Jose Luis Cercos Pita * -#* * +#* * +#* Copyright (c) 2011, 2012 * +#* Jose Luis Cercos Pita * +#* * #* This program is free software; you can redistribute it and/or modify * -#* it under the terms of the GNU Lesser General Public License (LGPL) * -#* as published by the Free Software Foundation; either version 2 of * -#* the License, or (at your option) any later version. * -#* for detail see the LICENCE text file. * -#* * -#* 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 Library General Public License for more details. * -#* * -#* You should have received a copy of the GNU Library General Public * +#* it under the terms of the GNU Lesser General Public License (LGPL) * +#* as published by the Free Software Foundation; either version 2 of * +#* the License, or (at your option) any later version. * +#* for detail see the LICENCE text file. * +#* * +#* 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 Library General Public License for more details. * +#* * +#* You should have received a copy of the GNU Library General Public * #* License along with this program; if not, write to the Free Software * #* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * -#* USA * -#* * +#* USA * +#* * #*************************************************************************** +# Qt library +from PyQt4 import QtGui,QtCore # FreeCAD modules import FreeCAD,FreeCADGui from FreeCAD import Base, Vector import Part # FreeCADShip modules -from shipUtils import Paths, Translator +from shipUtils import Paths def Plot(scale, sections, shape): - """ Creates the outline draw. - @param scale Plane scale (format 1:scale) - @param sections Sections computed. - @param shape Ship surfaces shell - @return plotted object (DocumentObject) - """ - msg = Translator.translate('Performing plot (Scale 1:%d)...\n' % (scale)) - FreeCAD.Console.PrintMessage(msg) - scale = 1000.0 / scale - # Take positions - bounds = [0.0, 0.0, 0.0] - bbox = shape.BoundBox - bounds[0] = bbox.XLength - bounds[1] = bbox.YLength - bounds[2] = bbox.ZLength - xTot = scale*bounds[1] + 32.0 + scale*bounds[0] - yTot = scale*bounds[2] + 32.0 + scale*bounds[1] - xMid = 210.0 - yMid = 185.0 - x0 = xMid - 0.5*xTot - y0 = 297.0 - yMid - 0.5*yTot # 297 = A3_width - # Get border - edges = getEdges([shape]) - border = edges[0] - for i in range(0,len(edges)): - border = border.oldFuse(edges[i]) # Only group objects, don't try to build more complex entities - border = border.oldFuse(edges[i].mirror(Vector(0.0, 0.0, 0.0),Vector(0.0, 1.0, 0.0))) - # Fuse sections & borders - # obj = sections.oldFuse(border) - obj = border.oldFuse(sections) - # Send to 3D view - Part.show(obj) - objs = FreeCAD.ActiveDocument.Objects - obj = objs[len(objs)-1] - # Create a new plane - FreeCAD.ActiveDocument.addObject('Drawing::FeaturePage','OutlineDrawPlot') - FreeCAD.ActiveDocument.OutlineDrawPlot.Template = FreeCAD.getResourceDir()+'Mod/Drawing/Templates/A3_Landscape.svg' - # Side view - FreeCAD.ActiveDocument.addObject('Drawing::FeatureViewPart','OutlineDrawSideView') - FreeCAD.ActiveDocument.OutlineDrawSideView.Source = obj - FreeCAD.ActiveDocument.OutlineDrawSideView.Direction = (1.0,0.0,0.0) - FreeCAD.ActiveDocument.OutlineDrawSideView.Rotation = -90.0 - FreeCAD.ActiveDocument.OutlineDrawSideView.Scale = scale - FreeCAD.ActiveDocument.OutlineDrawSideView.X = 420.0 - x0 - 0.5*scale*bounds[1] # 420 = A3_height - FreeCAD.ActiveDocument.OutlineDrawSideView.Y = y0 + 0.5*scale*bounds[2] - FreeCAD.ActiveDocument.OutlineDrawPlot.addObject(FreeCAD.ActiveDocument.OutlineDrawSideView) - # Front view - FreeCAD.ActiveDocument.addObject('Drawing::FeatureViewPart','OutlineDrawFrontView') - FreeCAD.ActiveDocument.OutlineDrawFrontView.Source = obj - FreeCAD.ActiveDocument.OutlineDrawFrontView.Direction = (0.0,1.0,0.0) - FreeCAD.ActiveDocument.OutlineDrawFrontView.Rotation = -90.0 - FreeCAD.ActiveDocument.OutlineDrawFrontView.Scale = scale - FreeCAD.ActiveDocument.OutlineDrawFrontView.X = 420.0 - x0 - scale*bounds[1] - 32 - 0.5*scale*bounds[0] - FreeCAD.ActiveDocument.OutlineDrawFrontView.Y = y0 + 0.5*scale*bounds[2] - FreeCAD.ActiveDocument.OutlineDrawPlot.addObject(FreeCAD.ActiveDocument.OutlineDrawFrontView) - # Up view - FreeCAD.ActiveDocument.addObject('Drawing::FeatureViewPart','OutlineDrawUpView') - FreeCAD.ActiveDocument.OutlineDrawUpView.Source = obj - FreeCAD.ActiveDocument.OutlineDrawUpView.Direction = (0.0,0.0,1.0) - FreeCAD.ActiveDocument.OutlineDrawUpView.Scale = scale - FreeCAD.ActiveDocument.OutlineDrawUpView.X = 420.0 - x0 - scale*bounds[1] - 32 - 0.5*scale*bounds[0] - FreeCAD.ActiveDocument.OutlineDrawUpView.Y = y0 + scale*bounds[2] + 32 - FreeCAD.ActiveDocument.OutlineDrawPlot.addObject(FreeCAD.ActiveDocument.OutlineDrawUpView) - FreeCAD.ActiveDocument.recompute() - return obj + """ Creates the outline draw. + @param scale Plane scale (format 1:scale) + @param sections Sections computed. + @param shape Ship surfaces shell + @return plotted object (DocumentObject) + """ + msg = QtGui.QApplication.translate("ship_console", "Performing plot", + None,QtGui.QApplication.UnicodeUTF8) + FreeCAD.Console.PrintMessage(msg + ' (1:%d)...\n' % (scale)) + scale = 1000.0 / scale + # Take positions + bounds = [0.0, 0.0, 0.0] + bbox = shape.BoundBox + bounds[0] = bbox.XLength + bounds[1] = bbox.YLength + bounds[2] = bbox.ZLength + xTot = scale*bounds[1] + 32.0 + scale*bounds[0] + yTot = scale*bounds[2] + 32.0 + scale*bounds[1] + xMid = 210.0 + yMid = 185.0 + x0 = xMid - 0.5*xTot + y0 = 297.0 - yMid - 0.5*yTot # 297 = A3_width + # Get border + edges = getEdges([shape]) + border = edges[0] + for i in range(0,len(edges)): + border = border.oldFuse(edges[i]) # Only group objects, don't try to build more complex entities + border = border.oldFuse(edges[i].mirror(Vector(0.0, 0.0, 0.0),Vector(0.0, 1.0, 0.0))) + # Fuse sections & borders + # obj = sections.oldFuse(border) + obj = border.oldFuse(sections) + # Send to 3D view + Part.show(obj) + objs = FreeCAD.ActiveDocument.Objects + obj = objs[len(objs)-1] + # Create a new plane + FreeCAD.ActiveDocument.addObject('Drawing::FeaturePage','OutlineDrawPlot') + FreeCAD.ActiveDocument.OutlineDrawPlot.Template = FreeCAD.getResourceDir()+'Mod/Drawing/Templates/A3_Landscape.svg' + # Side view + FreeCAD.ActiveDocument.addObject('Drawing::FeatureViewPart','OutlineDrawSideView') + FreeCAD.ActiveDocument.OutlineDrawSideView.Source = obj + FreeCAD.ActiveDocument.OutlineDrawSideView.Direction = (1.0,0.0,0.0) + FreeCAD.ActiveDocument.OutlineDrawSideView.Rotation = -90.0 + FreeCAD.ActiveDocument.OutlineDrawSideView.Scale = scale + FreeCAD.ActiveDocument.OutlineDrawSideView.X = 420.0 - x0 - 0.5*scale*bounds[1] # 420 = A3_height + FreeCAD.ActiveDocument.OutlineDrawSideView.Y = y0 + 0.5*scale*bounds[2] + FreeCAD.ActiveDocument.OutlineDrawPlot.addObject(FreeCAD.ActiveDocument.OutlineDrawSideView) + # Front view + FreeCAD.ActiveDocument.addObject('Drawing::FeatureViewPart','OutlineDrawFrontView') + FreeCAD.ActiveDocument.OutlineDrawFrontView.Source = obj + FreeCAD.ActiveDocument.OutlineDrawFrontView.Direction = (0.0,1.0,0.0) + FreeCAD.ActiveDocument.OutlineDrawFrontView.Rotation = -90.0 + FreeCAD.ActiveDocument.OutlineDrawFrontView.Scale = scale + FreeCAD.ActiveDocument.OutlineDrawFrontView.X = 420.0 - x0 - scale*bounds[1] - 32 - 0.5*scale*bounds[0] + FreeCAD.ActiveDocument.OutlineDrawFrontView.Y = y0 + 0.5*scale*bounds[2] + FreeCAD.ActiveDocument.OutlineDrawPlot.addObject(FreeCAD.ActiveDocument.OutlineDrawFrontView) + # Up view + FreeCAD.ActiveDocument.addObject('Drawing::FeatureViewPart','OutlineDrawUpView') + FreeCAD.ActiveDocument.OutlineDrawUpView.Source = obj + FreeCAD.ActiveDocument.OutlineDrawUpView.Direction = (0.0,0.0,1.0) + FreeCAD.ActiveDocument.OutlineDrawUpView.Scale = scale + FreeCAD.ActiveDocument.OutlineDrawUpView.X = 420.0 - x0 - scale*bounds[1] - 32 - 0.5*scale*bounds[0] + FreeCAD.ActiveDocument.OutlineDrawUpView.Y = y0 + scale*bounds[2] + 32 + FreeCAD.ActiveDocument.OutlineDrawPlot.addObject(FreeCAD.ActiveDocument.OutlineDrawUpView) + FreeCAD.ActiveDocument.recompute() + return obj def getEdges(objs=None): - """ Returns object edges (list of them) - @param objs Object to get the faces, none if selected - object may used. - @return Selected edges. None if errors happens - """ - edges = [] - if not objs: - objs = FreeCADGui.Selection.getSelection() - if not objs: - return None - for i in range(0, len(objs)): - obj = objs[i] - if obj.isDerivedFrom('Part::Feature'): - # get shape - shape = obj.Shape - if not shape: - return None - obj = shape - if not obj.isDerivedFrom('Part::TopoShape'): - return None - objEdges = obj.Edges - if not objEdges: - continue - for j in range(0, len(objEdges)): - edges.append(objEdges[j]) - return edges + """ Returns object edges (list of them) + @param objs Object to get the faces, none if selected + object may used. + @return Selected edges. None if errors happens + """ + edges = [] + if not objs: + objs = FreeCADGui.Selection.getSelection() + if not objs: + return None + for i in range(0, len(objs)): + obj = objs[i] + if obj.isDerivedFrom('Part::Feature'): + # get shape + shape = obj.Shape + if not shape: + return None + obj = shape + if not obj.isDerivedFrom('Part::TopoShape'): + return None + objEdges = obj.Edges + if not objEdges: + continue + for j in range(0, len(objEdges)): + edges.append(objEdges[j]) + return edges diff --git a/src/Mod/Ship/shipOutlineDraw/Preview.py b/src/Mod/Ship/shipOutlineDraw/Preview.py index a1ccb2012..3897912b7 100644 --- a/src/Mod/Ship/shipOutlineDraw/Preview.py +++ b/src/Mod/Ship/shipOutlineDraw/Preview.py @@ -1,146 +1,151 @@ #*************************************************************************** -#* * -#* Copyright (c) 2011, 2012 * -#* Jose Luis Cercos Pita * -#* * +#* * +#* Copyright (c) 2011, 2012 * +#* Jose Luis Cercos Pita * +#* * #* This program is free software; you can redistribute it and/or modify * -#* it under the terms of the GNU Lesser General Public License (LGPL) * -#* as published by the Free Software Foundation; either version 2 of * -#* the License, or (at your option) any later version. * -#* for detail see the LICENCE text file. * -#* * -#* 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 Library General Public License for more details. * -#* * -#* You should have received a copy of the GNU Library General Public * +#* it under the terms of the GNU Lesser General Public License (LGPL) * +#* as published by the Free Software Foundation; either version 2 of * +#* the License, or (at your option) any later version. * +#* for detail see the LICENCE text file. * +#* * +#* 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 Library General Public License for more details. * +#* * +#* You should have received a copy of the GNU Library General Public * #* License along with this program; if not, write to the Free Software * #* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * -#* USA * -#* * +#* USA * +#* * #*************************************************************************** +# Qt library +from PyQt4 import QtGui,QtCore # FreeCAD modules import FreeCAD,FreeCADGui from FreeCAD import Base, Vector import Part # FreeCADShip modules -from shipUtils import Paths, Translator +from shipUtils import Paths class Preview(object): - def __init__(self): - """ Constructor. - """ - self.obj = None - self.reinit() + def __init__(self): + """ Constructor. + """ + self.obj = None + self.reinit() - def reinit(self): - """ Reinitializate drawer. - """ - self.clean() + def reinit(self): + """ Reinitializate drawer. + """ + self.clean() - def update(self, L, B, T, sectionsL, sectionsB, sectionsT, shape): - """ Update the 3D view printing annotations. - @param L Ship Lpp. - @param B Ship beam. - @param T Ship draft. - @param sectionsL Transversal sections. - @param sectionsB Longitudinal sections. - @param sectionsT Water lines. - @param shape Ship surfaces shell - @return Sections object. None if errors happens. - """ - FreeCAD.Console.PrintMessage(Translator.translate('Computing sections...\n')) - # Destroy all previous entities - self.clean() - # Receive data - nL = len(sectionsL) - nB = len(sectionsB) - nT = len(sectionsT) - if not (nL or nB or nT): - return None - # Found sections - sections = [] - for i in range(0,nL): - pos = sectionsL[i] - # Cut ship - section = shape.slice(Vector(1.0,0.0,0.0), pos) - for j in range(0,len(section)): - edges = section[j].Edges - # We have 3 cases, - # * when section is before midship, then only starboard section will be considered - # * When section is midship, then all section must be preserved - # * When section is after midship, then only board will be considered - if pos > 0.01: - # Look for edges at the wrong side and delete it - for k in range(len(edges)-1,-1,-1): - edge = edges[k] - bbox = edge.BoundBox - if bbox.YMin < -0.001: - del edges[k] - elif pos < -0.01: - # Look for edges at the wrong side and delete it - for k in range(len(edges)-1,-1,-1): - edge = edges[k] - bbox = edge.BoundBox - if bbox.YMax > 0.001: - del edges[k] - sections.extend(edges) - for i in range(0,nB): - pos = sectionsB[i] - section = shape.slice(Vector(0.0,1.0,0.0), pos) - for j in range(0,len(section)): - edges = section[j].Edges - # Longitudinal sections will preserve board and starboard ever. Since we take from one side, - # we nned to mirror it. - section[j] = section[j].mirror(Vector(0.0, 0.0, 0.0),Vector(0.0, 1.0, 0.0)) - edges2 = section[j].Edges - sections.extend(edges) - sections.extend(edges2) - for i in range(0,nT): - pos = sectionsT[i] - section = shape.slice(Vector(0.0,0.0,1.0), pos) - for j in range(0,len(section)): - edges = section[j].Edges - # We have 3 cases, - # * when section is below draft, then only board section will be considered - # * When section is draft, then all section must be preserved - # * When section is above draft, then only starboard will be considered - if pos > T + 0.01: - # Look for edges at the wrong side and delete it - for k in range(len(edges)-1,-1,-1): - edge = edges[k] - bbox = edge.BoundBox - if bbox.YMax > 0.001: - del edges[k] - elif pos < T - 0.01: - # Look for edges at the wrong side and delete it - for k in range(len(edges)-1,-1,-1): - edge = edges[k] - bbox = edge.BoundBox - if bbox.YMin < -0.001: - del edges[k] - sections.extend(edges) - # Convert all BSplines into a shape - if not sections: - msg = Translator.translate('Any valid ship section found') - FreeCAD.Console.PrintWarning(msg) - return - obj = sections[0] - for i in range(1,len(sections)): - obj = obj.oldFuse(sections[i]) # Only group the edges, don't try to build more complex entities - # Create the representable object - Part.show(obj) - objs = FreeCAD.ActiveDocument.Objects - self.obj = objs[len(objs)-1] - self.obj.Label = 'OutlineDraw' - return self.obj - - def clean(self): - """ Erase all annotations from screen. - """ - if not self.obj: - return - FreeCAD.ActiveDocument.removeObject(self.obj.Name) - self.obj = None + def update(self, L, B, T, sectionsL, sectionsB, sectionsT, shape): + """ Update the 3D view printing annotations. + @param L Ship Lpp. + @param B Ship beam. + @param T Ship draft. + @param sectionsL Transversal sections. + @param sectionsB Longitudinal sections. + @param sectionsT Water lines. + @param shape Ship surfaces shell + @return Sections object. None if errors happens. + """ + msg = QtGui.QApplication.translate("ship_console", "Computing sections", + None,QtGui.QApplication.UnicodeUTF8) + FreeCAD.Console.PrintMessage(msg + '...\n') + # Destroy all previous entities + self.clean() + # Receive data + nL = len(sectionsL) + nB = len(sectionsB) + nT = len(sectionsT) + if not (nL or nB or nT): + return None + # Found sections + sections = [] + for i in range(0,nL): + pos = sectionsL[i] + # Cut ship + section = shape.slice(Vector(1.0,0.0,0.0), pos) + for j in range(0,len(section)): + edges = section[j].Edges + # We have 3 cases, + # * when section is before midship, then only starboard section will be considered + # * When section is midship, then all section must be preserved + # * When section is after midship, then only board will be considered + if pos > 0.01: + # Look for edges at the wrong side and delete it + for k in range(len(edges)-1,-1,-1): + edge = edges[k] + bbox = edge.BoundBox + if bbox.YMin < -0.001: + del edges[k] + elif pos < -0.01: + # Look for edges at the wrong side and delete it + for k in range(len(edges)-1,-1,-1): + edge = edges[k] + bbox = edge.BoundBox + if bbox.YMax > 0.001: + del edges[k] + sections.extend(edges) + for i in range(0,nB): + pos = sectionsB[i] + section = shape.slice(Vector(0.0,1.0,0.0), pos) + for j in range(0,len(section)): + edges = section[j].Edges + # Longitudinal sections will preserve board and starboard ever. Since we take from one side, + # we nned to mirror it. + section[j] = section[j].mirror(Vector(0.0, 0.0, 0.0),Vector(0.0, 1.0, 0.0)) + edges2 = section[j].Edges + sections.extend(edges) + sections.extend(edges2) + for i in range(0,nT): + pos = sectionsT[i] + section = shape.slice(Vector(0.0,0.0,1.0), pos) + for j in range(0,len(section)): + edges = section[j].Edges + # We have 3 cases, + # * when section is below draft, then only board section will be considered + # * When section is draft, then all section must be preserved + # * When section is above draft, then only starboard will be considered + if pos > T + 0.01: + # Look for edges at the wrong side and delete it + for k in range(len(edges)-1,-1,-1): + edge = edges[k] + bbox = edge.BoundBox + if bbox.YMax > 0.001: + del edges[k] + elif pos < T - 0.01: + # Look for edges at the wrong side and delete it + for k in range(len(edges)-1,-1,-1): + edge = edges[k] + bbox = edge.BoundBox + if bbox.YMin < -0.001: + del edges[k] + sections.extend(edges) + # Convert all BSplines into a shape + if not sections: + msg = QtGui.QApplication.translate("ship_console", "Any valid ship section found", + None,QtGui.QApplication.UnicodeUTF8) + FreeCAD.Console.PrintWarning(msg + '\n') + return + obj = sections[0] + for i in range(1,len(sections)): + obj = obj.oldFuse(sections[i]) # Only group the edges, don't try to build more complex entities + # Create the representable object + Part.show(obj) + objs = FreeCAD.ActiveDocument.Objects + self.obj = objs[len(objs)-1] + self.obj.Label = 'OutlineDraw' + return self.obj + + def clean(self): + """ Erase all annotations from screen. + """ + if not self.obj: + return + FreeCAD.ActiveDocument.removeObject(self.obj.Name) + self.obj = None diff --git a/src/Mod/Ship/shipOutlineDraw/TaskPanel.py b/src/Mod/Ship/shipOutlineDraw/TaskPanel.py index 393e11ea8..239b21a00 100644 --- a/src/Mod/Ship/shipOutlineDraw/TaskPanel.py +++ b/src/Mod/Ship/shipOutlineDraw/TaskPanel.py @@ -1,24 +1,24 @@ #*************************************************************************** -#* * -#* Copyright (c) 2011, 2012 * -#* Jose Luis Cercos Pita * -#* * +#* * +#* Copyright (c) 2011, 2012 * +#* Jose Luis Cercos Pita * +#* * #* This program is free software; you can redistribute it and/or modify * -#* it under the terms of the GNU Lesser General Public License (LGPL) * -#* as published by the Free Software Foundation; either version 2 of * -#* the License, or (at your option) any later version. * -#* for detail see the LICENCE text file. * -#* * -#* 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 Library General Public License for more details. * -#* * -#* You should have received a copy of the GNU Library General Public * +#* it under the terms of the GNU Lesser General Public License (LGPL) * +#* as published by the Free Software Foundation; either version 2 of * +#* the License, or (at your option) any later version. * +#* for detail see the LICENCE text file. * +#* * +#* 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 Library General Public License for more details. * +#* * +#* You should have received a copy of the GNU Library General Public * #* License along with this program; if not, write to the Free Software * #* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * -#* USA * -#* * +#* USA * +#* * #*************************************************************************** # FreeCAD modules @@ -29,320 +29,345 @@ from PyQt4 import QtGui,QtCore # Module import Preview, Plot import Instance -from shipUtils import Paths, Translator +from shipUtils import Paths class TaskPanel: - def __init__(self): - self.ui = Paths.modulePath() + "/shipOutlineDraw/TaskPanel.ui" - self.ship = None - self.skip = False - self.LSections = [] - self.BSections = [] - self.TSections = [] - self.obj = None - self.preview = Preview.Preview() + def __init__(self): + self.ui = Paths.modulePath() + "/shipOutlineDraw/TaskPanel.ui" + self.ship = None + self.skip = False + self.LSections = [] + self.BSections = [] + self.TSections = [] + self.obj = None + self.preview = Preview.Preview() - def accept(self): - self.saveSections() - self.obj = Plot.Plot(self.form.scale.value(), self.obj.Shape, self.ship.Shape) - self.preview.clean() - self.obj.Label = 'OutlineDraw' - return True + def accept(self): + self.saveSections() + self.obj = Plot.Plot(self.form.scale.value(), self.obj.Shape, self.ship.Shape) + self.preview.clean() + self.obj.Label = 'OutlineDraw' + return True - def reject(self): - self.preview.clean() - return True + def reject(self): + self.preview.clean() + return True - def clicked(self, index): - pass + def clicked(self, index): + pass - def open(self): - pass + def open(self): + pass - def needsFullSpace(self): - return True + def needsFullSpace(self): + return True - def isAllowedAlterSelection(self): - return False + def isAllowedAlterSelection(self): + return False - def isAllowedAlterView(self): - return True + def isAllowedAlterView(self): + return True - def isAllowedAlterDocument(self): - return False + def isAllowedAlterDocument(self): + return False - def helpRequested(self): - pass + def helpRequested(self): + pass - def setupUi(self): - mw = self.getMainWindow() - form = mw.findChild(QtGui.QWidget, "TaskPanel") - form.sections = form.findChild(QtGui.QTableWidget, "Sections") - try: - form.sections.setInputMethodHints(QtCore.Qt.ImhFormattedNumbersOnly) - except: - msg = Translator.translate("QtCore.Qt.ImhFormattedNumbersOnly not supported, will not used.\n") - App.Console.PrintWarning(msg) - form.sectionType = form.findChild(QtGui.QComboBox, "SectionType") - form.deleteButton = form.findChild(QtGui.QPushButton, "DeleteButton") - form.nSections = form.findChild(QtGui.QSpinBox, "NSections") - form.createButton = form.findChild(QtGui.QPushButton, "CreateButton") - form.scale = form.findChild(QtGui.QSpinBox, "Scale") - self.form = form - # Initial values - if self.initValues(): - return True - self.retranslateUi() - self.obj = self.preview.update(self.ship.Length, self.ship.Beam, self.ship.Draft, self.LSections,self.BSections,self.TSections, self.ship.Shape) - # Connect Signals and Slots - QtCore.QObject.connect(form.sectionType,QtCore.SIGNAL("activated(QString)"),self.onSectionType) - QtCore.QObject.connect(form.sections,QtCore.SIGNAL("cellChanged(int,int)"),self.onTableItem); - QtCore.QObject.connect(form.deleteButton,QtCore.SIGNAL("pressed()"),self.onDeleteButton) - QtCore.QObject.connect(form.createButton,QtCore.SIGNAL("pressed()"),self.onCreateButton) + def setupUi(self): + mw = self.getMainWindow() + form = mw.findChild(QtGui.QWidget, "TaskPanel") + form.sections = form.findChild(QtGui.QTableWidget, "Sections") + try: + form.sections.setInputMethodHints(QtCore.Qt.ImhFormattedNumbersOnly) + hasImhFormattedNumbersOnly = True + except: + hasImhFormattedNumbersOnly = False + form.sectionType = form.findChild(QtGui.QComboBox, "SectionType") + form.deleteButton = form.findChild(QtGui.QPushButton, "DeleteButton") + form.nSections = form.findChild(QtGui.QSpinBox, "NSections") + form.createButton = form.findChild(QtGui.QPushButton, "CreateButton") + form.scale = form.findChild(QtGui.QSpinBox, "Scale") + self.form = form + # Initial values + if self.initValues(): + return True + self.retranslateUi() + self.obj = self.preview.update(self.ship.Length, self.ship.Beam, self.ship.Draft, self.LSections,self.BSections,self.TSections, self.ship.Shape) + # Connect Signals and Slots + QtCore.QObject.connect(form.sectionType,QtCore.SIGNAL("activated(QString)"),self.onSectionType) + QtCore.QObject.connect(form.sections,QtCore.SIGNAL("cellChanged(int,int)"),self.onTableItem); + QtCore.QObject.connect(form.deleteButton,QtCore.SIGNAL("pressed()"),self.onDeleteButton) + QtCore.QObject.connect(form.createButton,QtCore.SIGNAL("pressed()"),self.onCreateButton) - def getMainWindow(self): - "returns the main window" - # using QtGui.qApp.activeWindow() isn't very reliable because if another - # widget than the mainwindow is active (e.g. a dialog) the wrong widget is - # returned - toplevel = QtGui.qApp.topLevelWidgets() - for i in toplevel: - if i.metaObject().className() == "Gui::MainWindow": - return i - raise Exception("No main window found") + def getMainWindow(self): + "returns the main window" + # using QtGui.qApp.activeWindow() isn't very reliable because if another + # widget than the mainwindow is active (e.g. a dialog) the wrong widget is + # returned + toplevel = QtGui.qApp.topLevelWidgets() + for i in toplevel: + if i.metaObject().className() == "Gui::MainWindow": + return i + raise Exception("No main window found") - def initValues(self): - """ Set initial values for fields - """ - # Get selected objects - selObjs = Gui.Selection.getSelection() - if not selObjs: - msg = Translator.translate("Ship instance must be selected (no object selected)\n") - App.Console.PrintError(msg) - return True - for i in range(0,len(selObjs)): - obj = selObjs[i] - # Test if is a ship instance - props = obj.PropertiesList - try: - props.index("IsShip") - except ValueError: - continue - if obj.IsShip: - # Test if another ship already selected - if self.ship: - msg = Translator.translate("More than one ship selected (extra ship will be neglected)\n") - App.Console.PrintWarning(msg) - break - self.ship = obj - # Test if any valid ship was selected - if not self.ship: - msg = Translator.translate("Ship instance must be selected (no valid ship found at selected objects)\n") - App.Console.PrintError(msg) - return True - # Load sections (if exist) - self.loadSections() - msg = Translator.translate("Ready to work\n") - App.Console.PrintMessage(msg) - return False + def initValues(self): + """ Set initial values for fields + """ + # Get selected objects + selObjs = Gui.Selection.getSelection() + if not selObjs: + msg = QtGui.QApplication.translate("ship_console", + "Ship instance must be selected (no object selected)", + None,QtGui.QApplication.UnicodeUTF8) + App.Console.PrintError(msg + '\n') + return True + for i in range(0,len(selObjs)): + obj = selObjs[i] + # Test if is a ship instance + props = obj.PropertiesList + try: + props.index("IsShip") + except ValueError: + continue + if obj.IsShip: + # Test if another ship already selected + if self.ship: + msg = QtGui.QApplication.translate("ship_console", + "More than one ship selected (extra ships will be neglected)", + None,QtGui.QApplication.UnicodeUTF8) + App.Console.PrintWarning(msg + '\n') + break + self.ship = obj + # Test if any valid ship was selected + if not self.ship: + msg = QtGui.QApplication.translate("ship_console", + "Ship instance must be selected (no valid ship found at selected objects)", + None,QtGui.QApplication.UnicodeUTF8) + App.Console.PrintError(msg + '\n') + return True + # Load sections (if exist) + self.loadSections() + return False - def retranslateUi(self): - """ Set user interface locale strings. - """ - self.form.setWindowTitle(Translator.translate("Outline draw")) - self.form.findChild(QtGui.QGroupBox, "AutoCreateBox").setTitle(Translator.translate("Auto create")) - self.form.findChild(QtGui.QGroupBox, "ScaleBox").setTitle(Translator.translate("Scale")) - self.form.findChild(QtGui.QPushButton, "DeleteButton").setText(Translator.translate("Delete all sections")) - self.form.findChild(QtGui.QPushButton, "CreateButton").setText(Translator.translate("Create sections")) - self.form.findChild(QtGui.QComboBox, "SectionType").setItemText(0, Translator.translate("Transversal")) - self.form.findChild(QtGui.QComboBox, "SectionType").setItemText(1, Translator.translate("Longitudinal")) - self.form.findChild(QtGui.QComboBox, "SectionType").setItemText(2, Translator.translate("Water lines")) + def retranslateUi(self): + """ Set user interface locale strings. + """ + self.form.setWindowTitle(QtGui.QApplication.translate("ship_outline","Outline draw", + None,QtGui.QApplication.UnicodeUTF8)) + self.form.findChild(QtGui.QGroupBox, "AutoCreateBox").setTitle(QtGui.QApplication.translate("ship_outline","Auto create", + None,QtGui.QApplication.UnicodeUTF8)) + self.form.findChild(QtGui.QGroupBox, "ScaleBox").setTitle(QtGui.QApplication.translate("ship_outline","Scale", + None,QtGui.QApplication.UnicodeUTF8)) + self.form.findChild(QtGui.QPushButton, "DeleteButton").setText(QtGui.QApplication.translate("ship_outline", + "Delete all sections", + None,QtGui.QApplication.UnicodeUTF8)) + self.form.findChild(QtGui.QPushButton, "CreateButton").setText(QtGui.QApplication.translate("ship_outline", + "Create sections", + None,QtGui.QApplication.UnicodeUTF8)) + self.form.findChild(QtGui.QComboBox, "SectionType").setItemText(0, QtGui.QApplication.translate("ship_outline", + "Transversal", + None,QtGui.QApplication.UnicodeUTF8)) + self.form.findChild(QtGui.QComboBox, "SectionType").setItemText(1, QtGui.QApplication.translate("ship_outline", + "Longitudinal", + None,QtGui.QApplication.UnicodeUTF8)) + self.form.findChild(QtGui.QComboBox, "SectionType").setItemText(2, QtGui.QApplication.translate("ship_outline", + "Water lines", + None,QtGui.QApplication.UnicodeUTF8)) - def onSectionType(self): - """ Function called when the section type is changed. - """ - # Search section type - ID = self.form.sectionType.currentIndex() - self.setSectionType(ID) + def onSectionType(self): + """ Function called when the section type is changed. + """ + # Search section type + ID = self.form.sectionType.currentIndex() + self.setSectionType(ID) - def setSectionType(self, ID): - """ Function that set the type section related table. - @param ID Id of the section to set: \n - 0 = Transversal sections \n - 1 = Longitudinal sections \n - 2 = Water lines - """ - SectionList = [] - if ID == 0: - SectionList = self.LSections[:] - elif ID == 1: - SectionList = self.BSections[:] - elif ID == 2: - SectionList = self.TSections[:] - nRow = len(SectionList) - self.form.sections.clearContents() - self.form.sections.setRowCount(nRow+1) - if not nRow: - self.obj = self.preview.update(self.ship.Length, self.ship.Beam, self.ship.Draft, self.LSections,self.BSections,self.TSections, self.ship.Shape) - return - self.skip = True # Avoid recursive call to OnItem - for i in range(0,nRow): - if i == nRow-1: - self.skip = False - string = '%f' % (SectionList[i]) - item = QtGui.QTableWidgetItem(string) - self.form.sections.setItem(i,0,item) + def setSectionType(self, ID): + """ Function that set the type section related table. + @param ID Id of the section to set: \n + 0 = Transversal sections \n + 1 = Longitudinal sections \n + 2 = Water lines + """ + SectionList = [] + if ID == 0: + SectionList = self.LSections[:] + elif ID == 1: + SectionList = self.BSections[:] + elif ID == 2: + SectionList = self.TSections[:] + nRow = len(SectionList) + self.form.sections.clearContents() + self.form.sections.setRowCount(nRow+1) + if not nRow: + self.obj = self.preview.update(self.ship.Length, self.ship.Beam, self.ship.Draft, self.LSections,self.BSections,self.TSections, self.ship.Shape) + return + self.skip = True # Avoid recursive call to OnItem + for i in range(0,nRow): + if i == nRow-1: + self.skip = False + string = '%f' % (SectionList[i]) + item = QtGui.QTableWidgetItem(string) + self.form.sections.setItem(i,0,item) - def onTableItem(self, row, column): - """ Function called when an item of table is changed. - @param row Changed item row - @param column Changed item column - """ - if self.skip: - return - # Ensure that exist one empty item at least - nRow = self.form.sections.rowCount() - item = self.form.sections.item(nRow-1,0) - if item : - if(item.text() != ''): - self.form.sections.setRowCount(nRow+1) - # Ensure that new item is a number - ID = self.form.sectionType.currentIndex() - if ID == 0: - SectionList = self.LSections[:] - elif ID == 1: - SectionList = self.BSections[:] - elif ID == 2: - SectionList = self.TSections[:] - item = self.form.sections.item(row,column) - (number,flag) = item.text().toFloat() - if not flag: - if len(SectionList) > nRow-1: - number = SectionList[nRow-1] - else: - number = 0.0 - string = '%f' % (number) - item.setText(string) - # Regenerate the list - SectionList = [] - for i in range(0,nRow): - item = self.form.sections.item(i,0) - if item: - (number,flag) = item.text().toFloat() - SectionList.append(number) - # Paste it into the class list - ID = self.form.sectionType.currentIndex() - if ID == 0: - self.LSections = SectionList[:] - elif ID == 1: - self.BSections = SectionList[:] - elif ID == 2: - self.TSections = SectionList[:] - self.obj = self.preview.update(self.ship.Length, self.ship.Beam, self.ship.Draft, self.LSections,self.BSections,self.TSections, self.ship.Shape) - - def onDeleteButton(self): - """ Function called when the delete button is pressed. - All sections mustt be erased - """ - self.form.sections.clearContents() - self.form.sections.setRowCount(1) - # Clear active list - ID = self.form.sectionType.currentIndex() - if ID == 0: - self.LSections = [] - elif ID == 1: - self.BSections = [] - elif ID == 2: - self.TSections = [] - self.setSectionType(ID) - - def onCreateButton(self): - """ Function called when create button is pressed. - Several sections must be added to list - """ - # Recolect data - nSections = self.form.nSections.value() - SectionList = [] - L = 0.0 - ID = self.form.sectionType.currentIndex() - if ID == 0: - L = self.ship.Length - d = L / (nSections-1) # Distance between sections - start = - L/2.0 # Ship must have 0.0 at coordinates origin - elif ID == 1: - L = -0.5*self.ship.Beam # Ship must be in y<0.0 - d = L / (nSections+1.0) # Distance between sections - start = d - elif ID == 2: - L = self.ship.Draft - d = L / (nSections) # Distance between sections - start = d - # Calculate sections - for i in range(0,nSections): - sec = i*d + start - SectionList.append(sec) - # Paste into class table - if ID == 0: - self.LSections = SectionList[:] - elif ID == 1: - self.BSections = SectionList[:] - elif ID == 2: - self.TSections = SectionList[:] - # Print the table - self.setSectionType(ID) + def onTableItem(self, row, column): + """ Function called when an item of table is changed. + @param row Changed item row + @param column Changed item column + """ + if self.skip: + return + # Ensure that exist one empty item at least + nRow = self.form.sections.rowCount() + item = self.form.sections.item(nRow-1,0) + if item : + if(item.text() != ''): + self.form.sections.setRowCount(nRow+1) + # Ensure that new item is a number + ID = self.form.sectionType.currentIndex() + if ID == 0: + SectionList = self.LSections[:] + elif ID == 1: + SectionList = self.BSections[:] + elif ID == 2: + SectionList = self.TSections[:] + item = self.form.sections.item(row,column) + (number,flag) = item.text().toFloat() + if not flag: + if len(SectionList) > nRow-1: + number = SectionList[nRow-1] + else: + number = 0.0 + string = '%f' % (number) + item.setText(string) + # Regenerate the list + SectionList = [] + for i in range(0,nRow): + item = self.form.sections.item(i,0) + if item: + (number,flag) = item.text().toFloat() + SectionList.append(number) + # Paste it into the class list + ID = self.form.sectionType.currentIndex() + if ID == 0: + self.LSections = SectionList[:] + elif ID == 1: + self.BSections = SectionList[:] + elif ID == 2: + self.TSections = SectionList[:] + self.obj = self.preview.update(self.ship.Length, self.ship.Beam, self.ship.Draft, self.LSections,self.BSections,self.TSections, self.ship.Shape) + + def onDeleteButton(self): + """ Function called when the delete button is pressed. + All sections mustt be erased + """ + self.form.sections.clearContents() + self.form.sections.setRowCount(1) + # Clear active list + ID = self.form.sectionType.currentIndex() + if ID == 0: + self.LSections = [] + elif ID == 1: + self.BSections = [] + elif ID == 2: + self.TSections = [] + self.setSectionType(ID) + + def onCreateButton(self): + """ Function called when create button is pressed. + Several sections must be added to list + """ + # Recolect data + nSections = self.form.nSections.value() + SectionList = [] + L = 0.0 + ID = self.form.sectionType.currentIndex() + if ID == 0: + L = self.ship.Length + d = L / (nSections-1) # Distance between sections + start = - L/2.0 # Ship must have 0.0 at coordinates origin + elif ID == 1: + L = -0.5*self.ship.Beam # Ship must be in y<0.0 + d = L / (nSections+1.0) # Distance between sections + start = d + elif ID == 2: + L = self.ship.Draft + d = L / (nSections) # Distance between sections + start = d + # Calculate sections + for i in range(0,nSections): + sec = i*d + start + SectionList.append(sec) + # Paste into class table + if ID == 0: + self.LSections = SectionList[:] + elif ID == 1: + self.BSections = SectionList[:] + elif ID == 2: + self.TSections = SectionList[:] + # Print the table + self.setSectionType(ID) - def loadSections(self): - """ Loads from ship object previously selected sections. - """ - # Load sections - props = self.ship.PropertiesList - flag=True - try: - props.index("LSections") - except ValueError: - flag=False - if flag: - self.LSections = self.ship.LSections[:] - self.BSections = self.ship.BSections[:] - self.TSections = self.ship.TSections[:] - # Load scale too - flag=True - try: - props.index("PlotScale") - except ValueError: - flag=False - if flag: - self.form.scale.setValue(self.ship.PlotScale) - # Set UI - self.setSectionType(self.form.sectionType.currentIndex()) + def loadSections(self): + """ Loads from ship object previously selected sections. + """ + # Load sections + props = self.ship.PropertiesList + flag=True + try: + props.index("LSections") + except ValueError: + flag=False + if flag: + self.LSections = self.ship.LSections[:] + self.BSections = self.ship.BSections[:] + self.TSections = self.ship.TSections[:] + # Load scale too + flag=True + try: + props.index("PlotScale") + except ValueError: + flag=False + if flag: + self.form.scale.setValue(self.ship.PlotScale) + # Set UI + self.setSectionType(self.form.sectionType.currentIndex()) - def saveSections(self): - """ Save selected sections into ship object. - """ - # Test if previous section have been created - props = self.ship.PropertiesList - try: - props.index("LSections") - except ValueError: - # Create new sections list - self.ship.addProperty("App::PropertyFloatList","LSections","Ship", str(Translator.translate("Transversal sections position [m]"))).LSections=[] - self.ship.addProperty("App::PropertyFloatList","BSections","Ship", str(Translator.translate("Longitudinal sections position [m]"))).BSections=[] - self.ship.addProperty("App::PropertyFloatList","TSections","Ship", str(Translator.translate("Water lines position [m]"))).TSections=[] - # Save sections - self.ship.LSections = self.LSections[:] - self.ship.BSections = self.BSections[:] - self.ship.TSections = self.TSections[:] - # Save also scale - try: - props.index("PlotScale") - except ValueError: - self.ship.addProperty("App::PropertyInteger","PlotScale","Ship", str(Translator.translate("Plot scale (1:scale format)"))).PlotScale=250 - self.ship.PlotScale = self.form.scale.value() + def saveSections(self): + """ Save selected sections into ship object. + """ + # Test if previous section have been created + props = self.ship.PropertiesList + try: + props.index("LSections") + except ValueError: + # Create new sections list + tooltip = str(QtGui.QApplication.translate("ship_outline","Transversal sections position [m]", + None,QtGui.QApplication.UnicodeUTF8)) + self.ship.addProperty("App::PropertyFloatList","LSections","Ship", tooltip).LSections=[] + tooltip = str(QtGui.QApplication.translate("ship_outline","Longitudinal sections position [m]", + None,QtGui.QApplication.UnicodeUTF8)) + self.ship.addProperty("App::PropertyFloatList","BSections","Ship", tooltip).BSections=[] + tooltip = str(QtGui.QApplication.translate("ship_outline","Water lines position [m]", + None,QtGui.QApplication.UnicodeUTF8)) + self.ship.addProperty("App::PropertyFloatList","TSections","Ship", tooltip).TSections=[] + # Save sections + self.ship.LSections = self.LSections[:] + self.ship.BSections = self.BSections[:] + self.ship.TSections = self.TSections[:] + # Save also scale + try: + props.index("PlotScale") + except ValueError: + tooltip = str(QtGui.QApplication.translate("ship_outline","Plot scale (1:scale format)", + None,QtGui.QApplication.UnicodeUTF8)) + self.ship.addProperty("App::PropertyInteger","PlotScale","Ship", tooltip).PlotScale=250 + self.ship.PlotScale = self.form.scale.value() def createTask(): - panel = TaskPanel() - Gui.Control.showDialog(panel) - if panel.setupUi(): - Gui.Control.closeDialog(panel) - return None - return panel + panel = TaskPanel() + Gui.Control.showDialog(panel) + if panel.setupUi(): + Gui.Control.closeDialog(panel) + return None + return panel diff --git a/src/Mod/Ship/shipOutlineDraw/TaskPanel.ui b/src/Mod/Ship/shipOutlineDraw/TaskPanel.ui index 0d41cbda2..9d6f67ad9 100644 --- a/src/Mod/Ship/shipOutlineDraw/TaskPanel.ui +++ b/src/Mod/Ship/shipOutlineDraw/TaskPanel.ui @@ -6,7 +6,7 @@ 0 0 - 298 + 316 402 @@ -20,10 +20,16 @@ 0 - QLayout::SetMinimumSize + QLayout::SetDefaultConstraint + + + 0 + 0 + + 142 @@ -32,7 +38,7 @@ - 160 + 16777215 32 @@ -61,6 +67,12 @@ + + + 0 + 0 + + 142 @@ -69,7 +81,7 @@ - 160 + 16777215 32 @@ -80,9 +92,15 @@ + + + 0 + 0 + + - 142 + 0 256 @@ -95,53 +113,71 @@ Auto create - - - - 0 - 30 - 142 - 27 - - - - - 142 - 24 - - - - - 160 - 32 - - - - - - - 0 - 70 - 142 - 27 - - - - - 142 - 24 - - - - - 160 - 32 - - - - Create sections - - + + + + + + 0 + 0 + + + + + 142 + 24 + + + + + 16777215 + 32 + + + + + + + + + 0 + 0 + + + + + 142 + 24 + + + + + 16777215 + 32 + + + + Create sections + + + + + + + Qt::Vertical + + + QSizePolicy::Fixed + + + + 20 + 140 + + + + + @@ -156,6 +192,12 @@ + + + 0 + 0 + + 128 @@ -164,7 +206,7 @@ - 128 + 16777215 16777215 @@ -199,75 +241,69 @@ - 128 + 0 72 - 256 + 16777215 96 Plane scale - - - - 0 - 30 - 251 - 41 - - - - - - - - 16 - 16 - - - - - 32 - 16777215 - - - - 1: - - - Qt::AlignCenter - - - - - - - - 0 - 16 - - - - 1 - - - 1000000 - - - 50 - - - 250 - - - - - + + + + + + + + 16 + 16 + + + + + 32 + 16777215 + + + + 1: + + + Qt::AlignCenter + + + + + + + + 0 + 16 + + + + 1 + + + 1000000 + + + 50 + + + 250 + + + + + + diff --git a/src/Mod/Ship/shipOutlineDraw/__init__.py b/src/Mod/Ship/shipOutlineDraw/__init__.py index cbfb57d75..021390940 100644 --- a/src/Mod/Ship/shipOutlineDraw/__init__.py +++ b/src/Mod/Ship/shipOutlineDraw/__init__.py @@ -1,24 +1,24 @@ #*************************************************************************** -#* * -#* Copyright (c) 2011, 2012 * -#* Jose Luis Cercos Pita * -#* * +#* * +#* Copyright (c) 2011, 2012 * +#* Jose Luis Cercos Pita * +#* * #* This program is free software; you can redistribute it and/or modify * -#* it under the terms of the GNU Lesser General Public License (LGPL) * -#* as published by the Free Software Foundation; either version 2 of * -#* the License, or (at your option) any later version. * -#* for detail see the LICENCE text file. * -#* * -#* 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 Library General Public License for more details. * -#* * -#* You should have received a copy of the GNU Library General Public * +#* it under the terms of the GNU Lesser General Public License (LGPL) * +#* as published by the Free Software Foundation; either version 2 of * +#* the License, or (at your option) any later version. * +#* for detail see the LICENCE text file. * +#* * +#* 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 Library General Public License for more details. * +#* * +#* You should have received a copy of the GNU Library General Public * #* License along with this program; if not, write to the Free Software * #* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * -#* USA * -#* * +#* USA * +#* * #*************************************************************************** # FreeCAD modules @@ -32,5 +32,5 @@ from PyQt4 import QtGui,QtCore import TaskPanel def load(): - """ Loads the tool """ - TaskPanel.createTask() + """ Loads the tool """ + TaskPanel.createTask() diff --git a/src/Mod/Ship/shipUtils/Math.py b/src/Mod/Ship/shipUtils/Math.py index 018467c58..6b89a5279 100644 --- a/src/Mod/Ship/shipUtils/Math.py +++ b/src/Mod/Ship/shipUtils/Math.py @@ -1,57 +1,57 @@ #*************************************************************************** -#* * -#* Copyright (c) 2011, 2012 * -#* Jose Luis Cercos Pita * -#* * +#* * +#* Copyright (c) 2011, 2012 * +#* Jose Luis Cercos Pita * +#* * #* This program is free software; you can redistribute it and/or modify * -#* it under the terms of the GNU Lesser General Public License (LGPL) * -#* as published by the Free Software Foundation; either version 2 of * -#* the License, or (at your option) any later version. * -#* for detail see the LICENCE text file. * -#* * -#* 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 Library General Public License for more details. * -#* * -#* You should have received a copy of the GNU Library General Public * +#* it under the terms of the GNU Lesser General Public License (LGPL) * +#* as published by the Free Software Foundation; either version 2 of * +#* the License, or (at your option) any later version. * +#* for detail see the LICENCE text file. * +#* * +#* 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 Library General Public License for more details. * +#* * +#* You should have received a copy of the GNU Library General Public * #* License along with this program; if not, write to the Free Software * #* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * -#* USA * -#* * +#* USA * +#* * #*************************************************************************** def isAprox(a,b,tol=0.000001): - """returns if a value is into (b-tol,b+tol) - @param a Value to compare. - @param b Center of valid interval - @param tol Radius of valid interval - @return True if a is into (b-tol,b+tol), False otherwise - """ - if (a < b+abs(tol)) and (a > b-abs(tol)): - return True - return False + """returns if a value is into (b-tol,b+tol) + @param a Value to compare. + @param b Center of valid interval + @param tol Radius of valid interval + @return True if a is into (b-tol,b+tol), False otherwise + """ + if (a < b+abs(tol)) and (a > b-abs(tol)): + return True + return False def isSamePoint(a,b,tol=0.000001): - """returns if two points are the same with a provided tolerance - @param a Point to compare. - @param b Reference point. - @param tol Radius of valid interval - @return True if twice point are the same, False otherwise - @note FreeCAD::Base::Vector types must be provided - """ - if isAprox(a.x,b.x,tol) and isAprox(a.y,b.y,tol) and isAprox(a.z,b.z,tol): - return True - return False + """returns if two points are the same with a provided tolerance + @param a Point to compare. + @param b Reference point. + @param tol Radius of valid interval + @return True if twice point are the same, False otherwise + @note FreeCAD::Base::Vector types must be provided + """ + if isAprox(a.x,b.x,tol) and isAprox(a.y,b.y,tol) and isAprox(a.z,b.z,tol): + return True + return False def isSameVertex(a,b,tol=0.0001): - """returns if two points are the same with a provided tolerance - @param a Point to compare. - @param b Reference point. - @param tol Radius of valid interval - @return True if twice point are the same, False otherwise - @note FreeCAD::Part::Vertex types must be provided - """ - if isAprox(a.X,b.X,tol) and isAprox(a.Y,b.Y,tol) and isAprox(a.Z,b.Z,tol): - return True - return False + """returns if two points are the same with a provided tolerance + @param a Point to compare. + @param b Reference point. + @param tol Radius of valid interval + @return True if twice point are the same, False otherwise + @note FreeCAD::Part::Vertex types must be provided + """ + if isAprox(a.X,b.X,tol) and isAprox(a.Y,b.Y,tol) and isAprox(a.Z,b.Z,tol): + return True + return False diff --git a/src/Mod/Ship/shipUtils/Paths.py b/src/Mod/Ship/shipUtils/Paths.py index 0ea1168ea..e9798b50a 100644 --- a/src/Mod/Ship/shipUtils/Paths.py +++ b/src/Mod/Ship/shipUtils/Paths.py @@ -1,55 +1,55 @@ #*************************************************************************** -#* * -#* Copyright (c) 2011, 2012 * -#* Jose Luis Cercos Pita * -#* * +#* * +#* Copyright (c) 2011, 2012 * +#* Jose Luis Cercos Pita * +#* * #* This program is free software; you can redistribute it and/or modify * -#* it under the terms of the GNU Lesser General Public License (LGPL) * -#* as published by the Free Software Foundation; either version 2 of * -#* the License, or (at your option) any later version. * -#* for detail see the LICENCE text file. * -#* * -#* 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 Library General Public License for more details. * -#* * -#* You should have received a copy of the GNU Library General Public * +#* it under the terms of the GNU Lesser General Public License (LGPL) * +#* as published by the Free Software Foundation; either version 2 of * +#* the License, or (at your option) any later version. * +#* for detail see the LICENCE text file. * +#* * +#* 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 Library General Public License for more details. * +#* * +#* You should have received a copy of the GNU Library General Public * #* License along with this program; if not, write to the Free Software * #* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * -#* USA * -#* * +#* USA * +#* * #*************************************************************************** import FreeCAD, FreeCADGui, os def modulePath(): - """returns the current Ship design module path - @return Module path""" - path1 = FreeCAD.ConfigGet("AppHomePath") + "Mod/Ship" - path2 = FreeCAD.ConfigGet("UserAppData") + "Mod/Ship" - if os.path.exists(path2): - return path2 - else: - return path1 + """returns the current Ship design module path + @return Module path""" + path1 = FreeCAD.ConfigGet("AppHomePath") + "Mod/Ship" + path2 = FreeCAD.ConfigGet("UserAppData") + "Mod/Ship" + if os.path.exists(path2): + return path2 + else: + return path1 def iconsPath(): - """returns the current Ship design module icons path - @return Icons path""" - path = modulePath() + "/Icons" - return path + """returns the current Ship design module icons path + @return Icons path""" + path = modulePath() + "/resources/icons" + return path def getPathFromFile(fileName): - """ Gets the directory path from a file name - @param fileName Name of the file - @return Directory path. - """ - if not fileName: - return '' - i = 1 - try: - while 1: - i = fileName.index("/", i+1) - except ValueError: - pass - return fileName[0:i+1] + """ Gets the directory path from a file name + @param fileName Name of the file + @return Directory path. + """ + if not fileName: + return '' + i = 1 + try: + while 1: + i = fileName.index("/", i+1) + except ValueError: + pass + return fileName[0:i+1] diff --git a/src/Mod/Ship/shipUtils/Translator.py b/src/Mod/Ship/shipUtils/Translator.py deleted file mode 100644 index 1fe7f61e8..000000000 --- a/src/Mod/Ship/shipUtils/Translator.py +++ /dev/null @@ -1,30 +0,0 @@ -#*************************************************************************** -#* * -#* Copyright (c) 2011, 2012 * -#* Jose Luis Cercos Pita * -#* * -#* This program is free software; you can redistribute it and/or modify * -#* it under the terms of the GNU Lesser General Public License (LGPL) * -#* as published by the Free Software Foundation; either version 2 of * -#* the License, or (at your option) any later version. * -#* for detail see the LICENCE text file. * -#* * -#* 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 Library General Public License for more details. * -#* * -#* You should have received a copy of the GNU Library General Public * -#* License along with this program; if not, write to the Free Software * -#* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * -#* USA * -#* * -#*************************************************************************** - -import FreeCAD, FreeCADGui, os -from PyQt4 import QtCore,QtGui - -def translate(text,context="ship"): - "convenience function for Qt translator" - return QtGui.QApplication.translate(context, text, None, - QtGui.QApplication.UnicodeUTF8) diff --git a/src/Mod/Ship/simCreate/TaskPanel.py b/src/Mod/Ship/simCreate/TaskPanel.py index 38ea00b96..7e200532b 100644 --- a/src/Mod/Ship/simCreate/TaskPanel.py +++ b/src/Mod/Ship/simCreate/TaskPanel.py @@ -1,24 +1,24 @@ #*************************************************************************** -#* * -#* Copyright (c) 2011, 2012 * -#* Jose Luis Cercos Pita * -#* * +#* * +#* Copyright (c) 2011, 2012 * +#* Jose Luis Cercos Pita * +#* * #* This program is free software; you can redistribute it and/or modify * -#* it under the terms of the GNU Lesser General Public License (LGPL) * -#* as published by the Free Software Foundation; either version 2 of * -#* the License, or (at your option) any later version. * -#* for detail see the LICENCE text file. * -#* * -#* 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 Library General Public License for more details. * -#* * -#* You should have received a copy of the GNU Library General Public * +#* it under the terms of the GNU Lesser General Public License (LGPL) * +#* as published by the Free Software Foundation; either version 2 of * +#* the License, or (at your option) any later version. * +#* for detail see the LICENCE text file. * +#* * +#* 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 Library General Public License for more details. * +#* * +#* You should have received a copy of the GNU Library General Public * #* License along with this program; if not, write to the Free Software * #* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * -#* USA * -#* * +#* USA * +#* * #*************************************************************************** # FreeCAD modules @@ -28,150 +28,158 @@ import FreeCADGui as Gui from PyQt4 import QtGui,QtCore # Module import SimInstance -from shipUtils import Paths, Translator +from shipUtils import Paths class TaskPanel: - def __init__(self): - self.ui = Paths.modulePath() + "/simCreate/TaskPanel.ui" + def __init__(self): + self.ui = Paths.modulePath() + "/simCreate/TaskPanel.ui" - def accept(self): - form = self.form - # Read waves data - w = [] - for i in range(0,form.waves.rowCount() - 1): - item = form.waves.item(i,0) - A = item.text().toFloat()[0] - item = form.waves.item(i,1) - T = item.text().toFloat()[0] - item = form.waves.item(i,2) - phi = item.text().toFloat()[0] - item = form.waves.item(i,3) - head = item.text().toFloat()[0] - w.append([A,T,phi,head]) - obj = App.ActiveDocument.addObject("Part::FeaturePython","ShipSimulation") - sim = SimInstance.ShipSimulation(obj, - [form.length.value(), form.beam.value(), form.n.value()], - w) - SimInstance.ViewProviderShipSimulation(obj.ViewObject) - return True + def accept(self): + form = self.form + # Read waves data + w = [] + for i in range(0,form.waves.rowCount() - 1): + item = form.waves.item(i,0) + A = item.text().toFloat()[0] + item = form.waves.item(i,1) + T = item.text().toFloat()[0] + item = form.waves.item(i,2) + phi = item.text().toFloat()[0] + item = form.waves.item(i,3) + head = item.text().toFloat()[0] + w.append([A,T,phi,head]) + obj = App.ActiveDocument.addObject("Part::FeaturePython","ShipSimulation") + sim = SimInstance.ShipSimulation(obj, + [form.length.value(), form.beam.value(), form.n.value()], + w) + SimInstance.ViewProviderShipSimulation(obj.ViewObject) + return True - def reject(self): - return True + def reject(self): + return True - def clicked(self, index): - pass + def clicked(self, index): + pass - def open(self): - pass + def open(self): + pass - def needsFullSpace(self): - return True + def needsFullSpace(self): + return True - def isAllowedAlterSelection(self): - return False + def isAllowedAlterSelection(self): + return False - def isAllowedAlterView(self): - return True + def isAllowedAlterView(self): + return True - def isAllowedAlterDocument(self): - return False + def isAllowedAlterDocument(self): + return False - def helpRequested(self): - pass + def helpRequested(self): + pass - def setupUi(self): - mw = self.getMainWindow() - form = mw.findChild(QtGui.QWidget, "TaskPanel") - form.length = form.findChild(QtGui.QDoubleSpinBox, "Length") - form.beam = form.findChild(QtGui.QDoubleSpinBox, "Beam") - form.n = form.findChild(QtGui.QSpinBox, "N") - form.waves = form.findChild(QtGui.QTableWidget, "Waves") - self.form = form - # Initial values - if self.initValues(): - return True - self.retranslateUi() - # Connect Signals and Slots - QtCore.QObject.connect(form.length, QtCore.SIGNAL("valueChanged(double)"), self.onFS) - QtCore.QObject.connect(form.beam, QtCore.SIGNAL("valueChanged(double)"), self.onFS) - QtCore.QObject.connect(form.n, QtCore.SIGNAL("valueChanged(int)"), self.onFS) - QtCore.QObject.connect(form.waves,QtCore.SIGNAL("cellChanged(int,int)"),self.onWaves); + def setupUi(self): + mw = self.getMainWindow() + form = mw.findChild(QtGui.QWidget, "TaskPanel") + form.length = form.findChild(QtGui.QDoubleSpinBox, "Length") + form.beam = form.findChild(QtGui.QDoubleSpinBox, "Beam") + form.n = form.findChild(QtGui.QSpinBox, "N") + form.waves = form.findChild(QtGui.QTableWidget, "Waves") + self.form = form + # Initial values + if self.initValues(): + return True + self.retranslateUi() + # Connect Signals and Slots + QtCore.QObject.connect(form.length, QtCore.SIGNAL("valueChanged(double)"), self.onFS) + QtCore.QObject.connect(form.beam, QtCore.SIGNAL("valueChanged(double)"), self.onFS) + QtCore.QObject.connect(form.n, QtCore.SIGNAL("valueChanged(int)"), self.onFS) + QtCore.QObject.connect(form.waves,QtCore.SIGNAL("cellChanged(int,int)"),self.onWaves); - def getMainWindow(self): - "returns the main window" - # using QtGui.qApp.activeWindow() isn't very reliable because if another - # widget than the mainwindow is active (e.g. a dialog) the wrong widget is - # returned - toplevel = QtGui.qApp.topLevelWidgets() - for i in toplevel: - if i.metaObject().className() == "Gui::MainWindow": - return i - raise Exception("No main window found") + def getMainWindow(self): + "returns the main window" + # using QtGui.qApp.activeWindow() isn't very reliable because if another + # widget than the mainwindow is active (e.g. a dialog) the wrong widget is + # returned + toplevel = QtGui.qApp.topLevelWidgets() + for i in toplevel: + if i.metaObject().className() == "Gui::MainWindow": + return i + raise Exception("No main window found") - def initValues(self): - """ Set initial values for fields - """ - msg = Translator.translate("Ready to work\n") - App.Console.PrintMessage(msg) - return False + def initValues(self): + """ Set initial values for fields + """ + return False - def retranslateUi(self): - """ Set user interface locale strings. - """ - self.form.setWindowTitle(Translator.translate("Create a new ship simulation")) - self.form.findChild(QtGui.QGroupBox, "FSDataBox").setTitle(Translator.translate("Free surface")) - self.form.findChild(QtGui.QLabel, "LengthLabel").setText(Translator.translate("Length")) - self.form.findChild(QtGui.QLabel, "BeamLabel").setText(Translator.translate("Beam")) - self.form.findChild(QtGui.QLabel, "NLabel").setText(Translator.translate("Number of points")) - self.form.findChild(QtGui.QGroupBox, "WavesDataBox").setTitle(Translator.translate("Waves")) - labels = [] - labels.append(Translator.translate("Amplitude") + " [m]") - labels.append(Translator.translate("Period") + " [s]") - labels.append(Translator.translate("Phase") + " [rad]") - labels.append(Translator.translate("Heading") + " [deg]") - self.form.waves.setHorizontalHeaderLabels(labels) + def retranslateUi(self): + """ Set user interface locale strings. + """ + self.form.setWindowTitle(QtGui.QApplication.translate("shipsim_create","Create a new ship simulation", + None,QtGui.QApplication.UnicodeUTF8)) + self.form.findChild(QtGui.QGroupBox, "FSDataBox").setTitle(QtGui.QApplication.translate("shipsim_create","Free surface", + None,QtGui.QApplication.UnicodeUTF8)) + self.form.findChild(QtGui.QLabel, "LengthLabel").setText(QtGui.QApplication.translate("shipsim_create","Length", + None,QtGui.QApplication.UnicodeUTF8)) + self.form.findChild(QtGui.QLabel, "BeamLabel").setText(QtGui.QApplication.translate("shipsim_create","Breadth", + None,QtGui.QApplication.UnicodeUTF8)) + self.form.findChild(QtGui.QLabel, "NLabel").setText(QtGui.QApplication.translate("shipsim_create","Number of points", + None,QtGui.QApplication.UnicodeUTF8)) + self.form.findChild(QtGui.QGroupBox, "WavesDataBox").setTitle(QtGui.QApplication.translate("shipsim_create","Waves", + None,QtGui.QApplication.UnicodeUTF8)) + labels = [] + labels.append(QtGui.QApplication.translate("shipsim_create","Amplitude", + None,QtGui.QApplication.UnicodeUTF8) + " [m]") + labels.append(QtGui.QApplication.translate("shipsim_create","Period", + None,QtGui.QApplication.UnicodeUTF8) + " [s]") + labels.append(QtGui.QApplication.translate("shipsim_create","Phase", + None,QtGui.QApplication.UnicodeUTF8) + " [rad]") + labels.append(QtGui.QApplication.translate("shipsim_create","Heading", + None,QtGui.QApplication.UnicodeUTF8) + " [deg]") + self.form.waves.setHorizontalHeaderLabels(labels) - def onFS(self, value): - """ Method called when free surface data is changed. - @param value Changed value. - """ - pass + def onFS(self, value): + """ Method called when free surface data is changed. + @param value Changed value. + """ + pass - def onWaves(self, row, column): - """ Method called when waves data is changed. - @param row Affected row. - @param col Affected column. - """ - item = self.form.waves.item(row,column) - # Row deletion - if column == 0: - if not item.text(): - self.form.waves.removeRow(row) - # Ensure that exist one empty item at the end - nRow = self.form.waves.rowCount() - if not nRow: - self.form.waves.setRowCount(1) - else: - last = self.form.waves.item(nRow-1,0) - if last: - if(last.text() != ''): - self.form.waves.setRowCount(nRow+1) - # Fields must be numbers - for i in range(0,self.form.waves.rowCount()-1): # Avoid last row - for j in range(0,self.form.waves.columnCount()): # Avoid name column - item = self.form.waves.item(i,j) - if not item: - item = QtGui.QTableWidgetItem('0.0') - self.form.waves.setItem(i,j,item) - continue - (number,flag) = item.text().toFloat() - if not flag: - item.setText('0.0') + def onWaves(self, row, column): + """ Method called when waves data is changed. + @param row Affected row. + @param col Affected column. + """ + item = self.form.waves.item(row,column) + # Row deletion + if column == 0: + if not item.text(): + self.form.waves.removeRow(row) + # Ensure that exist one empty item at the end + nRow = self.form.waves.rowCount() + if not nRow: + self.form.waves.setRowCount(1) + else: + last = self.form.waves.item(nRow-1,0) + if last: + if(last.text() != ''): + self.form.waves.setRowCount(nRow+1) + # Fields must be numbers + for i in range(0,self.form.waves.rowCount()-1): # Avoid last row + for j in range(0,self.form.waves.columnCount()): # Avoid name column + item = self.form.waves.item(i,j) + if not item: + item = QtGui.QTableWidgetItem('0.0') + self.form.waves.setItem(i,j,item) + continue + (number,flag) = item.text().toFloat() + if not flag: + item.setText('0.0') def createTask(): - panel = TaskPanel() - Gui.Control.showDialog(panel) - if panel.setupUi(): - Gui.Control.closeDialog(panel) - return None - return panel + panel = TaskPanel() + Gui.Control.showDialog(panel) + if panel.setupUi(): + Gui.Control.closeDialog(panel) + return None + return panel diff --git a/src/Mod/Ship/simCreate/__init__.py b/src/Mod/Ship/simCreate/__init__.py index cbfb57d75..021390940 100644 --- a/src/Mod/Ship/simCreate/__init__.py +++ b/src/Mod/Ship/simCreate/__init__.py @@ -1,24 +1,24 @@ #*************************************************************************** -#* * -#* Copyright (c) 2011, 2012 * -#* Jose Luis Cercos Pita * -#* * +#* * +#* Copyright (c) 2011, 2012 * +#* Jose Luis Cercos Pita * +#* * #* This program is free software; you can redistribute it and/or modify * -#* it under the terms of the GNU Lesser General Public License (LGPL) * -#* as published by the Free Software Foundation; either version 2 of * -#* the License, or (at your option) any later version. * -#* for detail see the LICENCE text file. * -#* * -#* 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 Library General Public License for more details. * -#* * -#* You should have received a copy of the GNU Library General Public * +#* it under the terms of the GNU Lesser General Public License (LGPL) * +#* as published by the Free Software Foundation; either version 2 of * +#* the License, or (at your option) any later version. * +#* for detail see the LICENCE text file. * +#* * +#* 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 Library General Public License for more details. * +#* * +#* You should have received a copy of the GNU Library General Public * #* License along with this program; if not, write to the Free Software * #* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * -#* USA * -#* * +#* USA * +#* * #*************************************************************************** # FreeCAD modules @@ -32,5 +32,5 @@ from PyQt4 import QtGui,QtCore import TaskPanel def load(): - """ Loads the tool """ - TaskPanel.createTask() + """ Loads the tool """ + TaskPanel.createTask() diff --git a/src/Mod/Ship/simPost/TaskPanel.py b/src/Mod/Ship/simPost/TaskPanel.py index 9c6ca53c3..a607c7147 100644 --- a/src/Mod/Ship/simPost/TaskPanel.py +++ b/src/Mod/Ship/simPost/TaskPanel.py @@ -1,24 +1,24 @@ #*************************************************************************** -#* * -#* Copyright (c) 2011, 2012 * -#* Jose Luis Cercos Pita * -#* * +#* * +#* Copyright (c) 2011, 2012 * +#* Jose Luis Cercos Pita * +#* * #* This program is free software; you can redistribute it and/or modify * -#* it under the terms of the GNU Lesser General Public License (LGPL) * -#* as published by the Free Software Foundation; either version 2 of * -#* the License, or (at your option) any later version. * -#* for detail see the LICENCE text file. * -#* * -#* 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 Library General Public License for more details. * -#* * -#* You should have received a copy of the GNU Library General Public * +#* it under the terms of the GNU Lesser General Public License (LGPL) * +#* as published by the Free Software Foundation; either version 2 of * +#* the License, or (at your option) any later version. * +#* for detail see the LICENCE text file. * +#* * +#* 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 Library General Public License for more details. * +#* * +#* You should have received a copy of the GNU Library General Public * #* License along with this program; if not, write to the Free Software * #* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * -#* USA * -#* * +#* USA * +#* * #*************************************************************************** # FreeCAD modules @@ -30,127 +30,127 @@ from PyQt4 import QtGui,QtCore import pyopencl as cl # Module import SimInstance -from shipUtils import Paths, Translator +from shipUtils import Paths from simRun import Simulation Sim = Simulation.FreeCADShipSimulation -# from Simulation import FreeCADShipSimulation as Sim class TaskPanel: - def __init__(self): - self.ui = Paths.modulePath() + "/simPost/TaskPanel.ui" + def __init__(self): + self.ui = Paths.modulePath() + "/simPost/TaskPanel.ui" - def accept(self): - return True + def accept(self): + return True - def reject(self): - return True + def reject(self): + return True - def clicked(self, index): - pass + def clicked(self, index): + pass - def open(self): - pass + def open(self): + pass - def needsFullSpace(self): - return True + def needsFullSpace(self): + return True - def isAllowedAlterSelection(self): - return False + def isAllowedAlterSelection(self): + return False - def isAllowedAlterView(self): - return True + def isAllowedAlterView(self): + return True - def isAllowedAlterDocument(self): - return False + def isAllowedAlterDocument(self): + return False - def helpRequested(self): - pass + def helpRequested(self): + pass - def setupUi(self): - mw = self.getMainWindow() - form = mw.findChild(QtGui.QWidget, "TaskPanel") - form.time = form.findChild(QtGui.QLabel, "TimeLabel") - form.first = form.findChild(QtGui.QPushButton, "First") - form.prev = form.findChild(QtGui.QPushButton, "Prev") - form.now = form.findChild(QtGui.QPushButton, "Now") - form.next = form.findChild(QtGui.QPushButton, "Next") - form.last = form.findChild(QtGui.QPushButton, "Last") - self.form = form - # Initial values - if self.initValues(): - return True - self.retranslateUi() - # Connect Signals and Slots - QtCore.QObject.connect(form.first, QtCore.SIGNAL("pressed()"), self.onFirst) - QtCore.QObject.connect(form.prev, QtCore.SIGNAL("pressed()"), self.onPrev) - QtCore.QObject.connect(form.now, QtCore.SIGNAL("pressed()"), self.onNow) - QtCore.QObject.connect(form.next, QtCore.SIGNAL("pressed()"), self.onNext) - QtCore.QObject.connect(form.last, QtCore.SIGNAL("pressed()"), self.onLast) + def setupUi(self): + mw = self.getMainWindow() + form = mw.findChild(QtGui.QWidget, "TaskPanel") + form.time = form.findChild(QtGui.QLabel, "TimeLabel") + form.first = form.findChild(QtGui.QPushButton, "First") + form.prev = form.findChild(QtGui.QPushButton, "Prev") + form.now = form.findChild(QtGui.QPushButton, "Now") + form.next = form.findChild(QtGui.QPushButton, "Next") + form.last = form.findChild(QtGui.QPushButton, "Last") + self.form = form + # Initial values + if self.initValues(): + return True + self.retranslateUi() + # Connect Signals and Slots + QtCore.QObject.connect(form.first, QtCore.SIGNAL("pressed()"), self.onFirst) + QtCore.QObject.connect(form.prev, QtCore.SIGNAL("pressed()"), self.onPrev) + QtCore.QObject.connect(form.now, QtCore.SIGNAL("pressed()"), self.onNow) + QtCore.QObject.connect(form.next, QtCore.SIGNAL("pressed()"), self.onNext) + QtCore.QObject.connect(form.last, QtCore.SIGNAL("pressed()"), self.onLast) - def getMainWindow(self): - "returns the main window" - # using QtGui.qApp.activeWindow() isn't very reliable because if another - # widget than the mainwindow is active (e.g. a dialog) the wrong widget is - # returned - toplevel = QtGui.qApp.topLevelWidgets() - for i in toplevel: - if i.metaObject().className() == "Gui::MainWindow": - return i - raise Exception("No main window found") + def getMainWindow(self): + "returns the main window" + # using QtGui.qApp.activeWindow() isn't very reliable because if another + # widget than the mainwindow is active (e.g. a dialog) the wrong widget is + # returned + toplevel = QtGui.qApp.topLevelWidgets() + for i in toplevel: + if i.metaObject().className() == "Gui::MainWindow": + return i + raise Exception("No main window found") - def initValues(self): - """ Set initial values for fields - """ - msg = Translator.translate("Ready to work\n") - App.Console.PrintMessage(msg) - return False + def initValues(self): + """ Set initial values for fields + """ + return False - def retranslateUi(self): - """ Set user interface locale strings. - """ - self.form.setWindowTitle(Translator.translate("Track simulation")) - self.form.findChild(QtGui.QPushButton, "Now").setText(Translator.translate("Now")) + def retranslateUi(self): + """ Set user interface locale strings. + """ + self.form.setWindowTitle(QtGui.QApplication.translate("shipsim_track","Track simulation", + None,QtGui.QApplication.UnicodeUTF8)) + self.form.findChild(QtGui.QPushButton, "Now").setText(QtGui.QApplication.translate("shipsim_track","Now", + None,QtGui.QApplication.UnicodeUTF8)) - def onFirst(self): - """ Called when first frame button is pressed. - """ + def onFirst(self): + """ Called when first frame button is pressed. + """ - def onPrev(self): - """ Called when previous frame button is pressed. - """ + def onPrev(self): + """ Called when previous frame button is pressed. + """ - def onNow(self): - """ Called when actual frame button is pressed. - """ - sim = Sim() - pos = sim.sim.FS_Position[:] - nx = sim.FS['Nx'] - ny = sim.FS['Ny'] - for i in range(0, nx): - for j in range(0, ny): - pos[i*ny+j].z = float(sim.FS['pos'][i,j][2]) - sim.sim.FS_Position = pos[:] - App.ActiveDocument.recompute() - self.form.time.setText("t = %g s" % (sim.t)) + def onNow(self): + """ Called when actual frame button is pressed. + """ + sim = Sim() + pos = sim.sim.FS_Position[:] + nx = sim.FS['Nx'] + ny = sim.FS['Ny'] + for i in range(0, nx): + for j in range(0, ny): + pos[i*ny+j].z = float(sim.FS['pos'][i,j][2]) + sim.sim.FS_Position = pos[:] + App.ActiveDocument.recompute() + self.form.time.setText("t = %g s" % (sim.t)) - def onNext(self): - """ Called when next frame button is pressed. - """ + def onNext(self): + """ Called when next frame button is pressed. + """ - def onLast(self): - """ Called when last frame button is pressed. - """ + def onLast(self): + """ Called when last frame button is pressed. + """ def createTask(): - try: - simulator = Sim() - except: - msg = Translator.translate("Can't find any active simulation!\n") - App.Console.PrintError(msg) - return - panel = TaskPanel() - Gui.Control.showDialog(panel) - if panel.setupUi(): - Gui.Control.closeDialog(panel) - return None - return panel + try: + simulator = Sim() + except: + msg = QtGui.QApplication.translate("ship_console", "Can't find any active simulation", + None,QtGui.QApplication.UnicodeUTF8) + App.Console.PrintError(msg + '\n') + return + panel = TaskPanel() + Gui.Control.showDialog(panel) + if panel.setupUi(): + Gui.Control.closeDialog(panel) + return None + return panel diff --git a/src/Mod/Ship/simPost/__init__.py b/src/Mod/Ship/simPost/__init__.py index 64c597c02..b153dc051 100644 --- a/src/Mod/Ship/simPost/__init__.py +++ b/src/Mod/Ship/simPost/__init__.py @@ -1,24 +1,24 @@ #*************************************************************************** -#* * -#* Copyright (c) 2011, 2012 * -#* Jose Luis Cercos Pita * -#* * +#* * +#* Copyright (c) 2011, 2012 * +#* Jose Luis Cercos Pita * +#* * #* This program is free software; you can redistribute it and/or modify * -#* it under the terms of the GNU Lesser General Public License (LGPL) * -#* as published by the Free Software Foundation; either version 2 of * -#* the License, or (at your option) any later version. * -#* for detail see the LICENCE text file. * -#* * -#* 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 Library General Public License for more details. * -#* * -#* You should have received a copy of the GNU Library General Public * +#* it under the terms of the GNU Lesser General Public License (LGPL) * +#* as published by the Free Software Foundation; either version 2 of * +#* the License, or (at your option) any later version. * +#* for detail see the LICENCE text file. * +#* * +#* 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 Library General Public License for more details. * +#* * +#* You should have received a copy of the GNU Library General Public * #* License along with this program; if not, write to the Free Software * #* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * -#* USA * -#* * +#* USA * +#* * #*************************************************************************** # FreeCAD modules @@ -32,9 +32,9 @@ from PyQt4 import QtGui,QtCore import TaskPanel def load(): - """ Loads the tool """ - TaskPanel.createTask() + """ Loads the tool """ + TaskPanel.createTask() def stop(): - """ Stops the simulation """ - TaskPanel.stopSimulation() + """ Stops the simulation """ + TaskPanel.stopSimulation() diff --git a/src/Mod/Ship/simRun/Simulation.py b/src/Mod/Ship/simRun/Simulation.py index aa8373df8..06773fc4e 100644 --- a/src/Mod/Ship/simRun/Simulation.py +++ b/src/Mod/Ship/simRun/Simulation.py @@ -1,29 +1,32 @@ #*************************************************************************** -#* * -#* Copyright (c) 2011, 2012 * -#* Jose Luis Cercos Pita * -#* * +#* * +#* Copyright (c) 2011, 2012 * +#* Jose Luis Cercos Pita * +#* * #* This program is free software; you can redistribute it and/or modify * -#* it under the terms of the GNU Lesser General Public License (LGPL) * -#* as published by the Free Software Foundation; either version 2 of * -#* the License, or (at your option) any later version. * -#* for detail see the LICENCE text file. * -#* * -#* 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 Library General Public License for more details. * -#* * -#* You should have received a copy of the GNU Library General Public * +#* it under the terms of the GNU Lesser General Public License (LGPL) * +#* as published by the Free Software Foundation; either version 2 of * +#* the License, or (at your option) any later version. * +#* for detail see the LICENCE text file. * +#* * +#* 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 Library General Public License for more details. * +#* * +#* You should have received a copy of the GNU Library General Public * #* License along with this program; if not, write to the Free Software * #* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * -#* USA * -#* * +#* USA * +#* * #*************************************************************************** from math import * import threading +# Qt library +from PyQt4 import QtGui,QtCore + # pyOpenCL import pyopencl as cl import numpy as np @@ -34,96 +37,101 @@ from FreeCAD import Base, Vector import Part # Ship design module -from shipUtils import Paths, Translator, Math +from shipUtils import Paths, Math class Singleton(type): - def __init__(cls, name, bases, dct): - cls.__instance = None - type.__init__(cls, name, bases, dct) + def __init__(cls, name, bases, dct): + cls.__instance = None + type.__init__(cls, name, bases, dct) - def __call__(cls, *args, **kw): - if cls.__instance is None: - cls.__instance = type.__call__(cls, *args,**kw) - return cls.__instance + def __call__(cls, *args, **kw): + if cls.__instance is None: + cls.__instance = type.__call__(cls, *args,**kw) + return cls.__instance class FreeCADShipSimulation(threading.Thread): - __metaclass__ = Singleton - def __init__ (self, device, endTime, output, simInstance, FSmesh, waves): - """ Thread constructor. - @param device Device to use. - @param endTime Maximum simulation time. - @param output [Rate,Type] Output rate, Type=0 if FPS, 1 if IPF. - @param simInstance Simulaation instance. - @param FSmesh Free surface mesh faces. - @param waves Waves parameters (A,T,phi,heading) - """ - threading.Thread.__init__(self) - # Setup as stopped - self.active = False - # Build OpenCL context and command queue - self.device = device - if self.device == None: # Can't use OpenCL - self.context = None - self.queue = None - else: - self.context = cl.Context(devices=[self.device]) - self.queue = cl.CommandQueue(self.context) - # Storage data - self.endTime = endTime - self.output = output - self.sim = simInstance - self.FSmesh = FSmesh - self.waves = waves - - def run(self): - """ Runs the simulation. - """ - self.active = True - # Simulation stuff - if self.device == None: - from Sim import * - else: - from clSim import * - msg = Translator.translate("\t[Sim]: Initializating...\n") - FreeCAD.Console.PrintMessage(msg) - init = simInitialization(self.FSmesh,self.waves,self.context,self.queue) - matGen = simMatrixGen(self.context,self.queue) - solver = simComputeSources(self.context,self.queue) - fsEvol = simFSEvolution(self.context,self.queue) - A = init.A - FS = init.fs - waves = init.waves - dt = init.dt - self.t = 0.0 - self.FS = FS - nx = FS['Nx'] - ny = FS['Ny'] - msg = Translator.translate("\t[Sim]: Iterating...\n") - FreeCAD.Console.PrintMessage(msg) - while self.active and self.t < self.endTime: - msg = Translator.translate("\t\t[Sim]: Generating linear system matrix...\n") - FreeCAD.Console.PrintMessage(msg) - matGen.execute(FS, A) - msg = Translator.translate("\t\t[Sim]: Solving linear systems...\n") - FreeCAD.Console.PrintMessage(msg) - solver.execute(FS, A) - msg = Translator.translate("\t\t[Sim]: Time integrating...\n") - FreeCAD.Console.PrintMessage(msg) - fsEvol.execute(FS, waves, dt, self.t) - self.t = self.t + dt - FreeCAD.Console.PrintMessage('t = %g s\n' % (self.t)) - # Set thread as stopped (and prepare it to restarting) - self.active = False - threading.Event().set() - threading.Thread.__init__(self) + __metaclass__ = Singleton + def __init__ (self, device, endTime, output, simInstance, FSmesh, waves): + """ Thread constructor. + @param device Device to use. + @param endTime Maximum simulation time. + @param output [Rate,Type] Output rate, Type=0 if FPS, 1 if IPF. + @param simInstance Simulaation instance. + @param FSmesh Free surface mesh faces. + @param waves Waves parameters (A,T,phi,heading) + """ + threading.Thread.__init__(self) + # Setup as stopped + self.active = False + # Build OpenCL context and command queue + self.device = device + if self.device == None: # Can't use OpenCL + self.context = None + self.queue = None + else: + self.context = cl.Context(devices=[self.device]) + self.queue = cl.CommandQueue(self.context) + # Storage data + self.endTime = endTime + self.output = output + self.sim = simInstance + self.FSmesh = FSmesh + self.waves = waves + + def run(self): + """ Runs the simulation. + """ + self.active = True + # Simulation stuff + if self.device == None: + from Sim import * + else: + from clSim import * + msg = QtGui.QApplication.translate("ship_console","Initializating", + None,QtGui.QApplication.UnicodeUTF8) + FreeCAD.Console.PrintMessage("\t[Sim]: " + msg + "...\n") + init = simInitialization(self.FSmesh,self.waves,self.context,self.queue) + matGen = simMatrixGen(self.context,self.queue) + solver = simComputeSources(self.context,self.queue) + fsEvol = simFSEvolution(self.context,self.queue) + A = init.A + FS = init.fs + waves = init.waves + dt = init.dt + self.t = 0.0 + self.FS = FS + nx = FS['Nx'] + ny = FS['Ny'] + msg = QtGui.QApplication.translate("ship_console","Iterating", + None,QtGui.QApplication.UnicodeUTF8) + FreeCAD.Console.PrintMessage("\t[Sim]: " + msg + "...\n") + while self.active and self.t < self.endTime: + msg = QtGui.QApplication.translate("ship_console","Generating linear system matrix", + None,QtGui.QApplication.UnicodeUTF8) + FreeCAD.Console.PrintMessage("\t\t[Sim]: " + msg + "...\n") + matGen.execute(FS, A) + msg = QtGui.QApplication.translate("ship_console","Solving linear systems", + None,QtGui.QApplication.UnicodeUTF8) + FreeCAD.Console.PrintMessage("\t\t[Sim]: " + msg + "...\n") + solver.execute(FS, A) + msg = QtGui.QApplication.translate("ship_console","Time integrating", + None,QtGui.QApplication.UnicodeUTF8) + FreeCAD.Console.PrintMessage("\t\t[Sim]: " + msg + "...\n") + fsEvol.execute(FS, waves, dt, self.t) + self.t = self.t + dt + FreeCAD.Console.PrintMessage('\t[Sim]: t = %g s\n' % (self.t)) + # Set thread as stopped (and prepare it to restarting) + self.active = False + threading.Event().set() + threading.Thread.__init__(self) - def stop(self): - """ Call to stop execution. - """ - self.active = False - - def isRunning(self): - """ Report thread state - @return True if thread is running, False otherwise. - """ - return self.active + def stop(self): + """ Call to stop execution. + """ + self.active = False + + def isRunning(self): + """ Report thread state + @return True if thread is running, False otherwise. + """ + return self.active diff --git a/src/Mod/Ship/simRun/TaskPanel.py b/src/Mod/Ship/simRun/TaskPanel.py index 58faa2b2d..628347458 100644 --- a/src/Mod/Ship/simRun/TaskPanel.py +++ b/src/Mod/Ship/simRun/TaskPanel.py @@ -1,24 +1,24 @@ #*************************************************************************** -#* * -#* Copyright (c) 2011, 2012 * -#* Jose Luis Cercos Pita * -#* * +#* * +#* Copyright (c) 2011, 2012 * +#* Jose Luis Cercos Pita * +#* * #* This program is free software; you can redistribute it and/or modify * -#* it under the terms of the GNU Lesser General Public License (LGPL) * -#* as published by the Free Software Foundation; either version 2 of * -#* the License, or (at your option) any later version. * -#* for detail see the LICENCE text file. * -#* * -#* 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 Library General Public License for more details. * -#* * -#* You should have received a copy of the GNU Library General Public * +#* it under the terms of the GNU Lesser General Public License (LGPL) * +#* as published by the Free Software Foundation; either version 2 of * +#* the License, or (at your option) any later version. * +#* for detail see the LICENCE text file. * +#* * +#* 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 Library General Public License for more details. * +#* * +#* You should have received a copy of the GNU Library General Public * #* License along with this program; if not, write to the Free Software * #* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * -#* USA * -#* * +#* USA * +#* * #*************************************************************************** # FreeCAD modules @@ -30,175 +30,189 @@ from PyQt4 import QtGui,QtCore import pyopencl as cl # Module import SimInstance -from shipUtils import Paths, Translator +from shipUtils import Paths from Simulation import FreeCADShipSimulation as Sim import time class TaskPanel: - def __init__(self): - self.ui = Paths.modulePath() + "/simRun/TaskPanel.ui" - self.sim = False + def __init__(self): + self.ui = Paths.modulePath() + "/simRun/TaskPanel.ui" + self.sim = False - def accept(self): - msg = Translator.translate("Building data...\n") - App.Console.PrintMessage(msg) - # Get GUI data - endTime = self.form.time.value() - output = [] - output.append(self.form.output.value()) - output.append(self.form.outputType.currentIndex()) - devId = self.form.device.currentIndex() - 1 # First is not OpenCL - # Get OpenCL device - device = None - count = 0 - platforms = cl.get_platforms() - for p in platforms: - devs = p.get_devices() - for d in devs: - if count == devId: - device = d - count = count + 1 - # Get free surfaces data - FSMesh = SimInstance.FSMesh(self.sim) - wData = self.sim.Waves - wDir = self.sim.Waves_Dir - waves = [] - for i in range(0,len(wData)): - waves.append([wData[i].x, wData[i].y, wData[i].z, wDir[i]]) - msg = Translator.translate("Launching simulation...\n") - App.Console.PrintMessage(msg) - # Build simulation thread - simulator = Sim(device, endTime, output, self.sim, FSMesh, waves) - simulator.start() - msg = Translator.translate("Done!\n") - App.Console.PrintMessage(msg) - return True + def accept(self): + msg = QtGui.QApplication.translate("ship_console","Building data", + None,QtGui.QApplication.UnicodeUTF8) + App.Console.PrintMessage(msg + "...\n") + # Get GUI data + endTime = self.form.time.value() + output = [] + output.append(self.form.output.value()) + output.append(self.form.outputType.currentIndex()) + devId = self.form.device.currentIndex() - 1 # First is not OpenCL + # Get OpenCL device + device = None + count = 0 + platforms = cl.get_platforms() + for p in platforms: + devs = p.get_devices() + for d in devs: + if count == devId: + device = d + count = count + 1 + # Get free surfaces data + FSMesh = SimInstance.FSMesh(self.sim) + wData = self.sim.Waves + wDir = self.sim.Waves_Dir + waves = [] + for i in range(0,len(wData)): + waves.append([wData[i].x, wData[i].y, wData[i].z, wDir[i]]) + msg = QtGui.QApplication.translate("ship_console","Launching simulation", + None,QtGui.QApplication.UnicodeUTF8) + App.Console.PrintMessage(msg + "...\n") + # Build simulation thread + simulator = Sim(device, endTime, output, self.sim, FSMesh, waves) + simulator.start() + msg = QtGui.QApplication.translate("ship_console","Done", + None,QtGui.QApplication.UnicodeUTF8) + App.Console.PrintMessage(msg + "!\n") + return True - def reject(self): - return True + def reject(self): + return True - def clicked(self, index): - pass + def clicked(self, index): + pass - def open(self): - pass + def open(self): + pass - def needsFullSpace(self): - return True + def needsFullSpace(self): + return True - def isAllowedAlterSelection(self): - return False + def isAllowedAlterSelection(self): + return False - def isAllowedAlterView(self): - return True + def isAllowedAlterView(self): + return True - def isAllowedAlterDocument(self): - return False + def isAllowedAlterDocument(self): + return False - def helpRequested(self): - pass + def helpRequested(self): + pass - def setupUi(self): - mw = self.getMainWindow() - form = mw.findChild(QtGui.QWidget, "TaskPanel") - form.time = form.findChild(QtGui.QDoubleSpinBox, "SimTime") - form.output = form.findChild(QtGui.QDoubleSpinBox, "Output") - form.outputType = form.findChild(QtGui.QComboBox, "OutputType") - form.device = form.findChild(QtGui.QComboBox, "Device") - self.form = form - # Initial values - if self.initValues(): - return True - self.retranslateUi() - # Connect Signals and Slots - # QtCore.QObject.connect(form.time, QtCore.SIGNAL("valueChanged(double)"), self.onData) + def setupUi(self): + mw = self.getMainWindow() + form = mw.findChild(QtGui.QWidget, "TaskPanel") + form.time = form.findChild(QtGui.QDoubleSpinBox, "SimTime") + form.output = form.findChild(QtGui.QDoubleSpinBox, "Output") + form.outputType = form.findChild(QtGui.QComboBox, "OutputType") + form.device = form.findChild(QtGui.QComboBox, "Device") + self.form = form + # Initial values + if self.initValues(): + return True + self.retranslateUi() + # Connect Signals and Slots + # QtCore.QObject.connect(form.time, QtCore.SIGNAL("valueChanged(double)"), self.onData) - def getMainWindow(self): - "returns the main window" - # using QtGui.qApp.activeWindow() isn't very reliable because if another - # widget than the mainwindow is active (e.g. a dialog) the wrong widget is - # returned - toplevel = QtGui.qApp.topLevelWidgets() - for i in toplevel: - if i.metaObject().className() == "Gui::MainWindow": - return i - raise Exception("No main window found") + def getMainWindow(self): + "returns the main window" + # using QtGui.qApp.activeWindow() isn't very reliable because if another + # widget than the mainwindow is active (e.g. a dialog) the wrong widget is + # returned + toplevel = QtGui.qApp.topLevelWidgets() + for i in toplevel: + if i.metaObject().className() == "Gui::MainWindow": + return i + raise Exception("No main window found") - def initValues(self): - """ Set initial values for fields - """ - # Get objects - selObjs = Gui.Selection.getSelection() - if not selObjs: - msg = Translator.translate("Ship simulation instance must be selected (no object selected)\n") - App.Console.PrintError(msg) - return True - for i in range(0,len(selObjs)): - obj = selObjs[i] - # Test if is a ship instance - props = obj.PropertiesList - try: - props.index("IsShipSimulation") - except ValueError: - continue - if obj.IsShipSimulation: - # Test if another ship already selected - if self.sim: - msg = Translator.translate("More than one ship simulation selected (extra simulations will be neglected)\n") - App.Console.PrintWarning(msg) - break - self.sim = obj - # Test if any valid ship was selected - if not self.sim: - msg = Translator.translate("Ship simulation instance must be selected (no valid simulation found at selected objects)\n") - App.Console.PrintError(msg) - return True - # Get the list of devices - self.form.device.addItem("CPU based version (No OpenCL)") - devices = [] - platforms = cl.get_platforms() - for p in platforms: - devs = p.get_devices() - for d in devs: - devices.append([p,d]) - dname = d.get_info(cl.device_info.NAME) - pname = p.get_info(cl.platform_info.NAME) - self.form.device.addItem(dname + " (" + pname + ")") - if not len(devices): - msg = Translator.translate("Can't find OpenCL devices\n") - App.Console.PrintWarning(msg) - msg = Translator.translate("Ready to work\n") - App.Console.PrintMessage(msg) - return False + def initValues(self): + """ Set initial values for fields + """ + # Get objects + selObjs = Gui.Selection.getSelection() + if not selObjs: + msg = QtGui.QApplication.translate("ship_console", "Ship simulation instance must be selected (no object selected)", + None,QtGui.QApplication.UnicodeUTF8) + App.Console.PrintError(msg + '\n') + return True + for i in range(0,len(selObjs)): + obj = selObjs[i] + # Test if is a ship instance + props = obj.PropertiesList + try: + props.index("IsShipSimulation") + except ValueError: + continue + if obj.IsShipSimulation: + # Test if another ship already selected + if self.sim: + msg = QtGui.QApplication.translate("ship_console", + "More than one ship simulation selected (extra simulations will be neglected)", + None,QtGui.QApplication.UnicodeUTF8) + App.Console.PrintWarning(msg + '\n') + break + self.sim = obj + # Test if any valid ship was selected + if not self.sim: + msg = QtGui.QApplication.translate("ship_console", + "Ship simulation instance must be selected (no valid simulation found at selected objects)", + None,QtGui.QApplication.UnicodeUTF8) + App.Console.PrintError(msg + '\n') + return True + # Get the list of devices + self.form.device.addItem("CPU based version (No OpenCL)") + devices = [] + platforms = cl.get_platforms() + for p in platforms: + devs = p.get_devices() + for d in devs: + devices.append([p,d]) + dname = d.get_info(cl.device_info.NAME) + pname = p.get_info(cl.platform_info.NAME) + self.form.device.addItem(dname + " (" + pname + ")") + if not len(devices): + msg = QtGui.QApplication.translate("ship_console", "Can't find OpenCL devices", + None,QtGui.QApplication.UnicodeUTF8) + App.Console.PrintWarning(msg + '\n') + return False - def retranslateUi(self): - """ Set user interface locale strings. - """ - self.form.setWindowTitle(Translator.translate("Run the simulation")) - self.form.findChild(QtGui.QLabel, "SimTimeLabel").setText(Translator.translate("Simulation time")) - self.form.findChild(QtGui.QLabel, "OutputLabel").setText(Translator.translate("Output")) - self.form.findChild(QtGui.QLabel, "DeviceLabel").setText(Translator.translate("OpenCL device")) + def retranslateUi(self): + """ Set user interface locale strings. + """ + self.form.setWindowTitle(QtGui.QApplication.translate("shipsim_stop","Run the simulation", + None,QtGui.QApplication.UnicodeUTF8)) + self.form.findChild(QtGui.QLabel, "SimTimeLabel").setText(QtGui.QApplication.translate("shipsim_stop","Simulation time", + None,QtGui.QApplication.UnicodeUTF8)) + self.form.findChild(QtGui.QLabel, "OutputLabel").setText(QtGui.QApplication.translate("shipsim_stop","Output", + None,QtGui.QApplication.UnicodeUTF8)) + self.form.findChild(QtGui.QLabel, "DeviceLabel").setText(QtGui.QApplication.translate("shipsim_stop","OpenCL device", + None,QtGui.QApplication.UnicodeUTF8)) def createTask(): - panel = TaskPanel() - Gui.Control.showDialog(panel) - if panel.setupUi(): - Gui.Control.closeDialog(panel) - return None - return panel + panel = TaskPanel() + Gui.Control.showDialog(panel) + if panel.setupUi(): + Gui.Control.closeDialog(panel) + return None + return panel def stopSimulation(): - try: - simulator = Sim() - if not simulator.isRunning(): - msg = Translator.translate("Simulation already stopped\n") - App.Console.PrintWarning(msg) - return - except: - msg = Translator.translate("Any active simulation to stop!\n") - App.Console.PrintError(msg) - return - simulator.stop() - msg = Translator.translate("Simulation will stop at the end of actual iteration\n") - App.Console.PrintMessage(msg) + try: + simulator = Sim() + if not simulator.isRunning(): + msg = QtGui.QApplication.translate("ship_console", "Simulation already stopped", + None,QtGui.QApplication.UnicodeUTF8) + App.Console.PrintWarning(msg + '\n') + return + except: + msg = QtGui.QApplication.translate("ship_console", "Any active simulation to stop", + None,QtGui.QApplication.UnicodeUTF8) + App.Console.PrintError(msg + '\n') + return + simulator.stop() + msg = QtGui.QApplication.translate("ship_console", "Simulation will stop at the end of actual iteration", + None,QtGui.QApplication.UnicodeUTF8) + App.Console.PrintMessage(msg + '\n') diff --git a/src/Mod/Ship/simRun/__init__.py b/src/Mod/Ship/simRun/__init__.py index 64c597c02..b153dc051 100644 --- a/src/Mod/Ship/simRun/__init__.py +++ b/src/Mod/Ship/simRun/__init__.py @@ -1,24 +1,24 @@ #*************************************************************************** -#* * -#* Copyright (c) 2011, 2012 * -#* Jose Luis Cercos Pita * -#* * +#* * +#* Copyright (c) 2011, 2012 * +#* Jose Luis Cercos Pita * +#* * #* This program is free software; you can redistribute it and/or modify * -#* it under the terms of the GNU Lesser General Public License (LGPL) * -#* as published by the Free Software Foundation; either version 2 of * -#* the License, or (at your option) any later version. * -#* for detail see the LICENCE text file. * -#* * -#* 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 Library General Public License for more details. * -#* * -#* You should have received a copy of the GNU Library General Public * +#* it under the terms of the GNU Lesser General Public License (LGPL) * +#* as published by the Free Software Foundation; either version 2 of * +#* the License, or (at your option) any later version. * +#* for detail see the LICENCE text file. * +#* * +#* 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 Library General Public License for more details. * +#* * +#* You should have received a copy of the GNU Library General Public * #* License along with this program; if not, write to the Free Software * #* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * -#* USA * -#* * +#* USA * +#* * #*************************************************************************** # FreeCAD modules @@ -32,9 +32,9 @@ from PyQt4 import QtGui,QtCore import TaskPanel def load(): - """ Loads the tool """ - TaskPanel.createTask() + """ Loads the tool """ + TaskPanel.createTask() def stop(): - """ Stops the simulation """ - TaskPanel.stopSimulation() + """ Stops the simulation """ + TaskPanel.stopSimulation() diff --git a/src/Mod/Ship/tankCreateTank/TaskPanel.py b/src/Mod/Ship/tankCreateTank/TaskPanel.py index 15305ca90..e03f897d9 100644 --- a/src/Mod/Ship/tankCreateTank/TaskPanel.py +++ b/src/Mod/Ship/tankCreateTank/TaskPanel.py @@ -1,24 +1,24 @@ #*************************************************************************** -#* * -#* Copyright (c) 2011, 2012 * -#* Jose Luis Cercos Pita * -#* * +#* * +#* Copyright (c) 2011, 2012 * +#* Jose Luis Cercos Pita * +#* * #* This program is free software; you can redistribute it and/or modify * -#* it under the terms of the GNU Lesser General Public License (LGPL) * -#* as published by the Free Software Foundation; either version 2 of * -#* the License, or (at your option) any later version. * -#* for detail see the LICENCE text file. * -#* * -#* 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 Library General Public License for more details. * -#* * -#* You should have received a copy of the GNU Library General Public * +#* it under the terms of the GNU Lesser General Public License (LGPL) * +#* as published by the Free Software Foundation; either version 2 of * +#* the License, or (at your option) any later version. * +#* for detail see the LICENCE text file. * +#* * +#* 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 Library General Public License for more details. * +#* * +#* You should have received a copy of the GNU Library General Public * #* License along with this program; if not, write to the Free Software * #* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * -#* USA * -#* * +#* USA * +#* * #*************************************************************************** # FreeCAD modules @@ -29,140 +29,148 @@ import Part from PyQt4 import QtGui,QtCore # Module from TankInstance import * -from shipUtils import Paths, Translator +from shipUtils import Paths class TaskPanel: - def __init__(self): - self.ui = Paths.modulePath() + "/tankCreateTank/TaskPanel.ui" + def __init__(self): + self.ui = Paths.modulePath() + "/tankCreateTank/TaskPanel.ui" - def accept(self): - # Create new ship instance - obj = App.ActiveDocument.addObject("Part::FeaturePython","Tank") - ShipTank(obj, self.solid, self.form.level.value(), self.form.dens.value()) - if not obj.IsShipTank: - msg = Translator.translate("Tank has not been created.\n") - App.Console.PrintError(msg) - ViewProviderShipTank(obj.ViewObject) - App.ActiveDocument.recompute() - return True + def accept(self): + # Create new ship instance + obj = App.ActiveDocument.addObject("Part::FeaturePython","Tank") + ShipTank(obj, self.solid, self.form.level.value(), self.form.dens.value()) + if not obj.IsShipTank: + msg = QtGui.QApplication.translate("ship_console", "Tank has not been created", + None,QtGui.QApplication.UnicodeUTF8) + App.Console.PrintError(msg + '\n') + ViewProviderShipTank(obj.ViewObject) + App.ActiveDocument.recompute() + return True - def reject(self): - return True + def reject(self): + return True - def clicked(self, index): - pass + def clicked(self, index): + pass - def open(self): - pass + def open(self): + pass - def needsFullSpace(self): - return True + def needsFullSpace(self): + return True - def isAllowedAlterSelection(self): - return False + def isAllowedAlterSelection(self): + return False - def isAllowedAlterView(self): - return True + def isAllowedAlterView(self): + return True - def isAllowedAlterDocument(self): - return False + def isAllowedAlterDocument(self): + return False - def helpRequested(self): - pass + def helpRequested(self): + pass - def setupUi(self): - mw = self.getMainWindow() - form = mw.findChild(QtGui.QWidget, "TaskPanel") - form.level = form.findChild(QtGui.QDoubleSpinBox, "Level") - form.dens = form.findChild(QtGui.QDoubleSpinBox, "Density") - self.form = form - # Initial values - if self.initValues(): - return True - self.retranslateUi() - # Connect Signals and Slots - QtCore.QObject.connect(form.level, QtCore.SIGNAL("valueChanged(double)"), self.onLevel) - QtCore.QObject.connect(form.dens , QtCore.SIGNAL("valueChanged(double)"), self.onDens) + def setupUi(self): + mw = self.getMainWindow() + form = mw.findChild(QtGui.QWidget, "TaskPanel") + form.level = form.findChild(QtGui.QDoubleSpinBox, "Level") + form.dens = form.findChild(QtGui.QDoubleSpinBox, "Density") + self.form = form + # Initial values + if self.initValues(): + return True + self.retranslateUi() + # Connect Signals and Slots + QtCore.QObject.connect(form.level, QtCore.SIGNAL("valueChanged(double)"), self.onLevel) + QtCore.QObject.connect(form.dens , QtCore.SIGNAL("valueChanged(double)"), self.onDens) - def getMainWindow(self): - "returns the main window" - # using QtGui.qApp.activeWindow() isn't very reliable because if another - # widget than the mainwindow is active (e.g. a dialog) the wrong widget is - # returned - toplevel = QtGui.qApp.topLevelWidgets() - for i in toplevel: - if i.metaObject().className() == "Gui::MainWindow": - return i - raise Exception("No main window found") + def getMainWindow(self): + "returns the main window" + # using QtGui.qApp.activeWindow() isn't very reliable because if another + # widget than the mainwindow is active (e.g. a dialog) the wrong widget is + # returned + toplevel = QtGui.qApp.topLevelWidgets() + for i in toplevel: + if i.metaObject().className() == "Gui::MainWindow": + return i + raise Exception("No main window found") - def initValues(self): - """ Get selected geometry. - @return False if sucessfully find valid geometry. - """ - self.solid = None - solids = [] - selObjs = Gui.Selection.getSelection() - if not selObjs: - msg = Translator.translate("Tank objects can only be created on top of structure geometry (no object selected).\n") - App.Console.PrintError(msg) - msg = Translator.translate("Please create a tank geometry before using this tool.\n") - App.Console.PrintError(msg) - return True - for i in range(0, len(selObjs)): - solid = selObjs[i] - if solid.isDerivedFrom('Part::Feature'): - # Get shape - shape = solid.Shape - if not shape: - continue - solid = shape - if not solid.isDerivedFrom('Part::TopoShape'): - return None - # Get shells - shells = solid.Shells - if not shells: - continue - # Build solids - for s in shells: - solids.append(Part.Solid(s)) - if not solids: - msg = Translator.translate("Ship objects can only be created on top of structure geometry (no solids can't be computed).\n") - App.Console.PrintError(msg) - msg = Translator.translate("Please create or download a tank geometry before using this tool\n") - App.Console.PrintError(msg) - return True - self.solid = Part.CompSolid(solids) - msg = Translator.translate("Ready to work\n") - App.Console.PrintMessage(msg) - return False + def initValues(self): + """ Get selected geometry. + @return False if sucessfully find valid geometry. + """ + self.solid = None + solids = [] + selObjs = Gui.Selection.getSelection() + if not selObjs: + msg = QtGui.QApplication.translate("ship_console", + "Tank objects can only be created on top of structure geometry (no object selected)", + None,QtGui.QApplication.UnicodeUTF8) + App.Console.PrintError(msg + '\n') + msg = QtGui.QApplication.translate("ship_console", + "Please create a tank geometry before using this tool", + None,QtGui.QApplication.UnicodeUTF8) + App.Console.PrintError(msg + '\n') + return True + for i in range(0, len(selObjs)): + solid = selObjs[i] + if solid.isDerivedFrom('Part::Feature'): + # Get shape + shape = solid.Shape + if not shape: + continue + solid = shape + if not solid.isDerivedFrom('Part::TopoShape'): + return None + # Get shells + shells = solid.Shells + if not shells: + continue + # Build solids + for s in shells: + solids.append(Part.Solid(s)) + if not solids: + msg = QtGui.QApplication.translate("ship_console", + "Tank objects can only be created on top of structure geometry (no solids can't be computed)", + None,QtGui.QApplication.UnicodeUTF8) + App.Console.PrintError(msg + '\n') + msg = QtGui.QApplication.translate("ship_console", + "Please create a tank geometry before using this tool", + None,QtGui.QApplication.UnicodeUTF8) + App.Console.PrintError(msg + '\n') + return True + self.solid = Part.CompSolid(solids) + return False - def retranslateUi(self): - """ Set user interface locale strings. - """ - self.form.setWindowTitle(Translator.translate("Create a new tank")) - name = Translator.translate("Filling level") + " (%)" - self.form.findChild(QtGui.QLabel, "LevelLabel").setText(name) - name = '\n' - name = name + Translator.translate("Density") - name = name + '(kg/m3)' - self.form.findChild(QtGui.QLabel, "DensityLabel").setText(name) + def retranslateUi(self): + """ Set user interface locale strings. + """ + self.form.setWindowTitle(QtGui.QApplication.translate("shiptank_create","Create a new tank", + None,QtGui.QApplication.UnicodeUTF8)) + name = QtGui.QApplication.translate("shiptank_create","Filling level", None,QtGui.QApplication.UnicodeUTF8) + " (%)" + self.form.findChild(QtGui.QLabel, "LevelLabel").setText(name) + name = '\n' + name = name + QtGui.QApplication.translate("shiptank_create","Fluid density", None,QtGui.QApplication.UnicodeUTF8) + name = name + '(kg/m3)' + self.form.findChild(QtGui.QLabel, "DensityLabel").setText(name) - def onLevel(self, value): - """ Method called when tank filling level has been modified. - @param value Changed value. - """ - pass + def onLevel(self, value): + """ Method called when tank filling level has been modified. + @param value Changed value. + """ + pass - def onDens(self, value): - """ Method called when fluid density has been modified. - @param value Changed value. - """ - pass + def onDens(self, value): + """ Method called when fluid density has been modified. + @param value Changed value. + """ + pass def createTask(): - panel = TaskPanel() - Gui.Control.showDialog(panel) - if panel.setupUi(): - Gui.Control.closeDialog(panel) - return None - return panel + panel = TaskPanel() + Gui.Control.showDialog(panel) + if panel.setupUi(): + Gui.Control.closeDialog(panel) + return None + return panel diff --git a/src/Mod/Ship/tankCreateTank/TaskPanel.ui b/src/Mod/Ship/tankCreateTank/TaskPanel.ui index 635af0090..a5c246863 100644 --- a/src/Mod/Ship/tankCreateTank/TaskPanel.ui +++ b/src/Mod/Ship/tankCreateTank/TaskPanel.ui @@ -15,124 +15,114 @@ - - - - - - 240 - 160 - - - - Fluid - - - false - - - - - 0 - 20 - 241 - 141 - + + + + 240 + 160 + + + + Fluid + + + false + + + + + + 6 - - - 6 - - - QLayout::SetDefaultConstraint - - - - - QLayout::SetDefaultConstraint - - - 10 - - - 0 - - - 10 - - - 0 - - - - - Filling level (%) - - - - - - - 1 - - - 100.000000000000000 - - - 1.000000000000000 - - - - - - - - - 10 - - - 0 - - - 10 - - - 0 - - - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> + + QLayout::SetDefaultConstraint + + + + + QLayout::SetDefaultConstraint + + + 10 + + + 0 + + + 10 + + + 0 + + + + + Filling level (%) + + + + + + + 1 + + + 100.000000000000000 + + + 1.000000000000000 + + + + + + + + + 10 + + + 0 + + + 10 + + + 0 + + + + + <!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:'Sans'; font-size:10pt; 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;">Density (kg/m<span style=" vertical-align:super;">3</span>)</p></body></html> - - - - - - - 1 - - - 1000000.000000000000000 - - - 10.000000000000000 - - - 998.000000000000000 - - - - - - - - - - + + + + + + + 1 + + + 1000000.000000000000000 + + + 10.000000000000000 + + + 998.000000000000000 + + + + + + + + + diff --git a/src/Mod/Ship/tankCreateTank/__init__.py b/src/Mod/Ship/tankCreateTank/__init__.py index cbfb57d75..021390940 100644 --- a/src/Mod/Ship/tankCreateTank/__init__.py +++ b/src/Mod/Ship/tankCreateTank/__init__.py @@ -1,24 +1,24 @@ #*************************************************************************** -#* * -#* Copyright (c) 2011, 2012 * -#* Jose Luis Cercos Pita * -#* * +#* * +#* Copyright (c) 2011, 2012 * +#* Jose Luis Cercos Pita * +#* * #* This program is free software; you can redistribute it and/or modify * -#* it under the terms of the GNU Lesser General Public License (LGPL) * -#* as published by the Free Software Foundation; either version 2 of * -#* the License, or (at your option) any later version. * -#* for detail see the LICENCE text file. * -#* * -#* 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 Library General Public License for more details. * -#* * -#* You should have received a copy of the GNU Library General Public * +#* it under the terms of the GNU Lesser General Public License (LGPL) * +#* as published by the Free Software Foundation; either version 2 of * +#* the License, or (at your option) any later version. * +#* for detail see the LICENCE text file. * +#* * +#* 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 Library General Public License for more details. * +#* * +#* You should have received a copy of the GNU Library General Public * #* License along with this program; if not, write to the Free Software * #* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * -#* USA * -#* * +#* USA * +#* * #*************************************************************************** # FreeCAD modules @@ -32,5 +32,5 @@ from PyQt4 import QtGui,QtCore import TaskPanel def load(): - """ Loads the tool """ - TaskPanel.createTask() + """ Loads the tool """ + TaskPanel.createTask() diff --git a/src/Mod/Ship/tankGZ/Plot.py b/src/Mod/Ship/tankGZ/Plot.py deleted file mode 100644 index 320f20185..000000000 --- a/src/Mod/Ship/tankGZ/Plot.py +++ /dev/null @@ -1,186 +0,0 @@ -#*************************************************************************** -#* * -#* Copyright (c) 2011, 2012 * -#* Jose Luis Cercos Pita * -#* * -#* This program is free software; you can redistribute it and/or modify * -#* it under the terms of the GNU Lesser General Public License (LGPL) * -#* as published by the Free Software Foundation; either version 2 of * -#* the License, or (at your option) any later version. * -#* for detail see the LICENCE text file. * -#* * -#* 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 Library General Public License for more details. * -#* * -#* You should have received a copy of the GNU Library General Public * -#* License along with this program; if not, write to the Free Software * -#* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * -#* USA * -#* * -#*************************************************************************** - -import os -# FreeCAD modules -import FreeCAD,FreeCADGui -from FreeCAD import Base -import Part, Image, ImageGui -# FreeCADShip modules -from shipUtils import Paths, Translator - -header = """ ################################################################# - - ##### #### ### #### ##### # # ### #### - # # # # # # # # # # # # - # ## #### #### # # # # # # # # # # # - #### # # # # # # # ##### # # ## ## ##### # #### - # # #### #### # # # # # # # # # # - # # # # # # # # # # # # # # - # # #### #### ### # # #### ##### # # ### # - - ################################################################# -""" - -class Plot(object): - def __init__(self, x, y, disp, draft, trim): - """ Constructor. performs plot and show it (Using pyxplot). - @param x Roll angles [deg]. - @param y GZ value [m]. - @param disp Ship displacement [tons]. - @param draft Ship draft [m]. - @param trim Ship trim angle [deg]. - """ - if self.createDirectory(): - return - if self.saveData(x,y): - return - if self.saveLayout(x,y, disp, draft, trim): - return - if self.execute(): - return - ImageGui.open(self.path + 'gz.png') - - def createDirectory(self): - """ Create needed folder to write data and scripts. - @return True if error happens. - """ - self.path = FreeCAD.ConfigGet("UserAppData") + "ShipOutput/" - if not os.path.exists(self.path): - os.makedirs(self.path) - if not os.path.exists(self.path): - msg = Translator.translate("Can't create '" + self.path + "' folder.\n") - FreeCAD.Console.PrintError(msg) - return False - - def saveData(self,x,y): - """ Write data file. - @param x Roll angles. - @param y GZ value. - @return True if error happens. - """ - # Open the file - filename = self.path + 'gz.dat' - try: - Output = open(filename, "w") - except IOError: - msg = Translator.translate("Can't write '" + filename + "' file.\n") - FreeCAD.Console.PrintError(msg) - return True - # Print header - Output.write(header) - Output.write(" #\n") - Output.write(" # File automatically exported by FreeCAD-Ship\n") - Output.write(" # This file contains transversal GZ stability parameter, filled with following columns:\n") - Output.write(" # 1: Roll angles [deg]\n") - Output.write(" # 2: GZ [m]\n") - Output.write(" #\n") - Output.write(" #################################################################\n") - # Print data - if len(x) < 2: - msg = Translator.translate("Not enough data to plot.\n") - FreeCAD.Console.PrintError(msg) - return True - for i in range(0, len(x)): - string = "%f %f\n" % (x[i], y[i]) - Output.write(string) - # Close file - Output.close() - self.dataFile = filename - msg = Translator.translate("Data saved at '" + self.dataFile + "'.\n") - FreeCAD.Console.PrintMessage(msg) - return False - - def saveLayout(self, x, y, disp, draft, trim): - """ Prints the data output. - @param x Roll angles. - @param y GZ value. - @param disp Ship displacement. - @param draft Ship draft. - @param trim Ship trim angle. - @return True if error happens. - """ - filename = self.path + 'gz.pyxplot' - # Open the file - try: - Output = open(filename, "w") - except IOError: - msg = Translator.translate("Can't write '" + filename + "' file.\n") - FreeCAD.Console.PrintError(msg) - return True - # Write header - Output.write(header) - Output.write(" #\n") - Output.write(" # File automatically exported by FreeCAD-Ship\n") - Output.write(" # This file contains a script to plot transversal GZ stability parameter.\n") - Output.write(" # To use it execute:\n") - Output.write(" #\n") - Output.write(" # pyxplot %s\n" % (filename)) - Output.write(" #\n") - Output.write(" #################################################################\n") - # Write general options for hydrostatics - Output.write("set numeric display latex\n") - Output.write("set output '%s'\n" % (self.path + 'gz.eps')) - Output.write("set nokey\n") - Output.write("set grid\n") - Output.write("# X axis\n") - Output.write("set xlabel '$roll$ / degrees'\n") - Output.write("set xtic\n") - Output.write("# Y axis\n") - Output.write("set ylabel '$GZ$ / m'\n") - Output.write("set ytic\n") - Output.write("# Line styles\n") - Output.write("set style 1 line linetype 1 linewidth 2 colour rgb (0):(0):(0)\n") - # Additional data - Output.write("# Additional data\n") - Output.write("set label (1) '$\\Delta = %g \\mathrm{tons}$' %f,%f\n" % (disp, x[0] + 0.65*(x[-1] - x[0]), min(y) + 0.95*(max(y)-min(y)))) - Output.write("set label (2) '$T = %g \\mathrm{m}$' %f,%f\n" % (draft, x[0] + 0.65*(x[-1] - x[0]), min(y) + 0.85*(max(y)-min(y)))) - Output.write("set label (3) '$Trim = %g^\\circ$' %f,%f\n" % (trim, x[0] + 0.65*(x[-1] - x[0]), min(y) + 0.75*(max(y)-min(y)))) - # Write plot call - Output.write("# Plot\n") - Output.write("plot '%s' using 1:2 title 'GZ' axes x1y1 with lines style 1\n" % (self.dataFile)) - # Close file - self.layoutFile = filename - Output.close() - return False - - def execute(self): - """ Calls pyxplot in order to plot an save an image. - @return True if error happens. - """ - filename = self.path + 'gz' - comm = "pyxplot %s" % (self.layoutFile) - if os.system(comm): - msg = Translator.translate("Can't execute pyxplot. Maybe is not installed?\n") - FreeCAD.Console.PrintError(msg) - msg = Translator.translate("Plot will not generated\n") - FreeCAD.Console.PrintError(msg) - return True - comm = "gs -r300 -dEPSCrop -dTextAlphaBits=4 -sDEVICE=png16m -sOutputFile=%s.png -dBATCH -dNOPAUSE %s.eps" % (filename,filename) - if os.system(comm): - msg = Translator.translate("Can't execute ghostscript. Maybe is not installed?\n") - FreeCAD.Console.PrintError(msg) - msg = Translator.translate("Generated image will not converted to png\n") - FreeCAD.Console.PrintError(msg) - return True - return False diff --git a/src/Mod/Ship/tankGZ/PlotAux.py b/src/Mod/Ship/tankGZ/PlotAux.py new file mode 100644 index 000000000..e74a8375f --- /dev/null +++ b/src/Mod/Ship/tankGZ/PlotAux.py @@ -0,0 +1,154 @@ +#*************************************************************************** +#* * +#* Copyright (c) 2011, 2012 * +#* Jose Luis Cercos Pita * +#* * +#* This program is free software; you can redistribute it and/or modify * +#* it under the terms of the GNU Lesser General Public License (LGPL) * +#* as published by the Free Software Foundation; either version 2 of * +#* the License, or (at your option) any later version. * +#* for detail see the LICENCE text file. * +#* * +#* 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 Library General Public License for more details. * +#* * +#* You should have received a copy of the GNU Library General Public * +#* License along with this program; if not, write to the Free Software * +#* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * +#* USA * +#* * +#*************************************************************************** + +import os +# Qt library +from PyQt4 import QtGui,QtCore +# FreeCAD modules +import FreeCAD,FreeCADGui +from FreeCAD import Base +import Part, Image, ImageGui +# FreeCADShip modules +from shipUtils import Paths + +header = """ ################################################################# + + ##### #### ### #### ##### # # ### #### + # # # # # # # # # # # # + # ## #### #### # # # # # # # # # # # + #### # # # # # # # ##### # # ## ## ##### # #### + # # #### #### # # # # # # # # # # + # # # # # # # # # # # # # # + # # #### #### ### # # #### ##### # # ### # + + ################################################################# +""" + +class Plot(object): + def __init__(self, x, y, disp, draft, trim): + """ Constructor. performs plot and show it (Using pyxplot). + @param x Roll angles [deg]. + @param y GZ value [m]. + @param disp Ship displacement [tons]. + @param draft Ship draft [m]. + @param trim Ship trim angle [deg]. + """ + # Try to plot + self.plot(x,y,disp,draft,trim) + # Save data + if self.createDirectory(): + return + if self.saveData(x,y): + return + + def plot(self, x, y, disp, draft, trim): + """ Perform GZ stability plot. + @param x X coordinates. + @param y Transversal areas. + @param disp Ship displacement [tons]. + @param draft Ship draft [m]. + @param trim Ship trim angle [deg]. + @return True if error happens. + """ + # Create plot + try: + import Plot + plt = Plot.figure('GZ') + except ImportError: + msg = QtGui.QApplication.translate("ship_console", "Plot module is disabled, can't perform plot", + None,QtGui.QApplication.UnicodeUTF8) + FreeCAD.Console.PrintWarning(msg + '\n') + return True + # Plot areas curve + gz = Plot.plot(x,y,r'GZ') + gz.line.set_linestyle('-') + gz.line.set_linewidth(3.0) + gz.line.set_color((0.0, 0.0, 0.0)) + # Add some additional data + ax = Plot.axes() + addInfo = r"""$\bigtriangleup = %g \; \mathrm{tons}$ +$T = %g \; \mathrm{m}$ +$Trim = %g^\circ$""" % (disp, draft, trim) + ax.text(x[-1] - 0.001*(x[-1] - x[0]), max(y) - 0.01*(max(y)-min(y)), addInfo, + verticalalignment='top',horizontalalignment='right', fontsize=20) + # Write axes titles + Plot.xlabel(r'$x \; \mathrm{m}$') + Plot.ylabel(r'$GZ \; \mathrm{m}$') + ax.xaxis.label.set_fontsize(20) + ax.yaxis.label.set_fontsize(20) + # Show grid + Plot.grid(True) + # End + plt.update() + return False + + def createDirectory(self): + """ Create needed folder to write data and scripts. + @return True if error happens. + """ + self.path = FreeCAD.ConfigGet("UserAppData") + "ShipOutput/" + if not os.path.exists(self.path): + os.makedirs(self.path) + if not os.path.exists(self.path): + msg = QtGui.QApplication.translate("ship_console", "Can't create folder", + None,QtGui.QApplication.UnicodeUTF8) + FreeCAD.Console.PrintError(msg + ':\n\t' + "\'"+ self.path + "\'\n") + return True + return False + + def saveData(self,x,y): + """ Write data file. + @param x Roll angles. + @param y GZ value. + @return True if error happens. + """ + # Open the file + filename = self.path + 'gz.dat' + try: + Output = open(filename, "w") + except IOError: + msg = QtGui.QApplication.translate("ship_console", "Can't write to file", + None,QtGui.QApplication.UnicodeUTF8) + FreeCAD.Console.PrintError(msg + ':\n\t' + "\'"+ filename + "\'\n") + return True + # Print header + Output.write(header) + Output.write(" #\n") + Output.write(" # File automatically exported by FreeCAD-Ship\n") + Output.write(" # This file contains transversal GZ stability parameter, filled with following columns:\n") + Output.write(" # 1: Roll angles [deg]\n") + Output.write(" # 2: GZ [m]\n") + Output.write(" #\n") + Output.write(" #################################################################\n") + # Print data + for i in range(0, len(x)): + string = "%f %f\n" % (x[i], y[i]) + Output.write(string) + # Close file + Output.close() + self.dataFile = filename + msg = QtGui.QApplication.translate("ship_console", "Data saved", + None,QtGui.QApplication.UnicodeUTF8) + FreeCAD.Console.PrintMessage(msg + ':\n\t' + "\'"+ self.dataFile + "\'\n") + return False + diff --git a/src/Mod/Ship/tankGZ/TaskPanel.py b/src/Mod/Ship/tankGZ/TaskPanel.py index a27b5a033..ce7943139 100644 --- a/src/Mod/Ship/tankGZ/TaskPanel.py +++ b/src/Mod/Ship/tankGZ/TaskPanel.py @@ -1,24 +1,24 @@ #*************************************************************************** -#* * -#* Copyright (c) 2011, 2012 * -#* Jose Luis Cercos Pita * -#* * +#* * +#* Copyright (c) 2011, 2012 * +#* Jose Luis Cercos Pita * +#* * #* This program is free software; you can redistribute it and/or modify * -#* it under the terms of the GNU Lesser General Public License (LGPL) * -#* as published by the Free Software Foundation; either version 2 of * -#* the License, or (at your option) any later version. * -#* for detail see the LICENCE text file. * -#* * -#* 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 Library General Public License for more details. * -#* * -#* You should have received a copy of the GNU Library General Public * +#* it under the terms of the GNU Lesser General Public License (LGPL) * +#* as published by the Free Software Foundation; either version 2 of * +#* the License, or (at your option) any later version. * +#* for detail see the LICENCE text file. * +#* * +#* 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 Library General Public License for more details. * +#* * +#* You should have received a copy of the GNU Library General Public * #* License along with this program; if not, write to the Free Software * #* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * -#* USA * -#* * +#* USA * +#* * #*************************************************************************** import math @@ -28,350 +28,377 @@ import FreeCADGui as Gui # Qt library from PyQt4 import QtGui,QtCore # Module -from Plot import * +import PlotAux from Instance import * from TankInstance import * -from shipUtils import Paths, Translator +from shipUtils import Paths from shipHydrostatics import Tools as Hydrostatics class TaskPanel: - def __init__(self): - self.ui = Paths.modulePath() + "/tankGZ/TaskPanel.ui" - self.ship = None - self.tanks = {} + def __init__(self): + self.ui = Paths.modulePath() + "/tankGZ/TaskPanel.ui" + self.ship = None + self.tanks = {} - def accept(self): - if not self.ship: - return False - # Get general data - disp = self.computeDisplacement() - draft = self.computeDraft(disp[0], self.form.trim.value()) - trim = self.form.trim.value() - # Get roll angles - roll0 = self.form.roll0.value() - roll1 = self.form.roll1.value() - nRoll = self.form.nRoll.value() - dRoll = (roll1 - roll0) / (nRoll - 1) - roll = [] - GZ = [] - msg = Translator.translate("Computing GZ...\n") - App.Console.PrintMessage(msg) - for i in range(0, nRoll): - App.Console.PrintMessage("\t%d/%d\n" % (i+1,nRoll)) - roll.append(i*dRoll) - GZ.append(self.computeGZ(draft[0], trim, roll[-1])) - Plot(roll, GZ, disp[0]/1000.0, draft[0], trim) - return True + def accept(self): + if not self.ship: + return False + # Get general data + disp = self.computeDisplacement() + draft = self.computeDraft(disp[0], self.form.trim.value()) + trim = self.form.trim.value() + # Get roll angles + roll0 = self.form.roll0.value() + roll1 = self.form.roll1.value() + nRoll = self.form.nRoll.value() + dRoll = (roll1 - roll0) / (nRoll - 1) + roll = [] + GZ = [] + msg = QtGui.QApplication.translate("ship_console","Computing GZ", + None,QtGui.QApplication.UnicodeUTF8) + App.Console.PrintMessage(msg + "...\n") + for i in range(0, nRoll): + App.Console.PrintMessage("\t%d/%d\n" % (i+1,nRoll)) + roll.append(i*dRoll) + GZ.append(self.computeGZ(draft[0], trim, roll[-1])) + PlotAux.Plot(roll, GZ, disp[0]/1000.0, draft[0], trim) + return True - def reject(self): - if not self.ship: - return False - return True + def reject(self): + if not self.ship: + return False + return True - def clicked(self, index): - pass + def clicked(self, index): + pass - def open(self): - pass + def open(self): + pass - def needsFullSpace(self): - return True + def needsFullSpace(self): + return True - def isAllowedAlterSelection(self): - return False + def isAllowedAlterSelection(self): + return False - def isAllowedAlterView(self): - return True + def isAllowedAlterView(self): + return True - def isAllowedAlterDocument(self): - return False + def isAllowedAlterDocument(self): + return False - def helpRequested(self): - pass + def helpRequested(self): + pass - def setupUi(self): - mw = self.getMainWindow() - form = mw.findChild(QtGui.QWidget, "TaskPanel") - form.tanks = form.findChild(QtGui.QListWidget, "Tanks") - form.disp = form.findChild(QtGui.QLabel, "DisplacementLabel") - form.draft = form.findChild(QtGui.QLabel, "DraftLabel") - form.update = form.findChild(QtGui.QPushButton, "UpdateData") - form.trim = form.findChild(QtGui.QDoubleSpinBox, "Trim") - form.autoTrim = form.findChild(QtGui.QPushButton, "TrimAutoCompute") - form.roll0 = form.findChild(QtGui.QDoubleSpinBox, "StartAngle") - form.roll1 = form.findChild(QtGui.QDoubleSpinBox, "EndAngle") - form.nRoll = form.findChild(QtGui.QSpinBox, "NAngle") - self.form = form - # Initial values - if self.initValues(): - return True - self.retranslateUi() - # Connect Signals and Slots - QtCore.QObject.connect(form.tanks,QtCore.SIGNAL("itemSelectionChanged()"),self.onTanksSelection) - QtCore.QObject.connect(form.update,QtCore.SIGNAL("pressed()"),self.onUpdate) - QtCore.QObject.connect(form.trim,QtCore.SIGNAL("valueChanged(double)"),self.onTrim) - QtCore.QObject.connect(form.autoTrim,QtCore.SIGNAL("pressed()"),self.onAutoTrim) - QtCore.QObject.connect(form.roll0,QtCore.SIGNAL("valueChanged(double)"),self.onRoll) - QtCore.QObject.connect(form.roll1,QtCore.SIGNAL("valueChanged(double)"),self.onRoll) - QtCore.QObject.connect(form.nRoll,QtCore.SIGNAL("valueChanged(int)"),self.onRoll) - return False + def setupUi(self): + mw = self.getMainWindow() + form = mw.findChild(QtGui.QWidget, "TaskPanel") + form.tanks = form.findChild(QtGui.QListWidget, "Tanks") + form.disp = form.findChild(QtGui.QLabel, "DisplacementLabel") + form.draft = form.findChild(QtGui.QLabel, "DraftLabel") + form.update = form.findChild(QtGui.QPushButton, "UpdateData") + form.trim = form.findChild(QtGui.QDoubleSpinBox, "Trim") + form.autoTrim = form.findChild(QtGui.QPushButton, "TrimAutoCompute") + form.roll0 = form.findChild(QtGui.QDoubleSpinBox, "StartAngle") + form.roll1 = form.findChild(QtGui.QDoubleSpinBox, "EndAngle") + form.nRoll = form.findChild(QtGui.QSpinBox, "NAngle") + self.form = form + # Initial values + if self.initValues(): + return True + self.retranslateUi() + # Connect Signals and Slots + QtCore.QObject.connect(form.tanks,QtCore.SIGNAL("itemSelectionChanged()"),self.onTanksSelection) + QtCore.QObject.connect(form.update,QtCore.SIGNAL("pressed()"),self.onUpdate) + QtCore.QObject.connect(form.trim,QtCore.SIGNAL("valueChanged(double)"),self.onTrim) + QtCore.QObject.connect(form.autoTrim,QtCore.SIGNAL("pressed()"),self.onAutoTrim) + QtCore.QObject.connect(form.roll0,QtCore.SIGNAL("valueChanged(double)"),self.onRoll) + QtCore.QObject.connect(form.roll1,QtCore.SIGNAL("valueChanged(double)"),self.onRoll) + QtCore.QObject.connect(form.nRoll,QtCore.SIGNAL("valueChanged(int)"),self.onRoll) + return False - def getMainWindow(self): - "returns the main window" - # using QtGui.qApp.activeWindow() isn't very reliable because if another - # widget than the mainwindow is active (e.g. a dialog) the wrong widget is - # returned - toplevel = QtGui.qApp.topLevelWidgets() - for i in toplevel: - if i.metaObject().className() == "Gui::MainWindow": - return i - raise Exception("No main window found") + def getMainWindow(self): + "returns the main window" + # using QtGui.qApp.activeWindow() isn't very reliable because if another + # widget than the mainwindow is active (e.g. a dialog) the wrong widget is + # returned + toplevel = QtGui.qApp.topLevelWidgets() + for i in toplevel: + if i.metaObject().className() == "Gui::MainWindow": + return i + raise Exception("No main window found") - def initValues(self): - """ Get selected geometry. - @return False if sucessfully values initialized. - """ - # Get selected objects - selObjs = FreeCADGui.Selection.getSelection() - if not selObjs: - msg = Translator.translate("Ship instance must be selected (no object selected)\n") - App.Console.PrintError(msg) - return True - for i in range(0,len(selObjs)): - obj = selObjs[i] - # Test if is a ship instance - props = obj.PropertiesList - try: - props.index("IsShip") - except ValueError: - continue - if obj.IsShip: - # Test if another ship already selected - if self.ship: - msg = Translator.translate("More than one ship selected (extra ship will be neglected)\n") - App.Console.PrintWarning(msg) - break - self.ship = obj - # Test if any valid ship was selected - if not self.ship: - msg = Translator.translate("Ship instance must be selected (no valid ship found at selected objects)\n") - App.Console.PrintError(msg) - return True - props = self.ship.PropertiesList - try: - props.index("WeightNames") - except: - msg = Translator.translate("Ship weights has not been set. You need to set weights before use this tool.\n") - App.Console.PrintError(msg) - return True - # Setup available tanks list - objs = App.ActiveDocument.Objects - iconPath = Paths.iconsPath() + "/Tank.xpm" - icon = QtGui.QIcon(QtGui.QPixmap(iconPath)) - for obj in objs: - # Try to get valid tank property - props = obj.PropertiesList - try: - props.index("IsShipTank") - except ValueError: - continue - if not obj.IsShipTank: - continue - # Add tank to list - name = obj.Name - label = obj.Label - tag = label + ' (' + name + ')' - self.tanks[tag] = name - # self.tanks.append([name, tag]) - item = QtGui.QListWidgetItem(tag) - item.setIcon(icon) - self.form.tanks.addItem(item) - msg = Translator.translate("Ready to work\n") - App.Console.PrintMessage(msg) - return False + def initValues(self): + """ Get selected geometry. + @return False if sucessfully values initialized. + """ + # Get selected objects + selObjs = FreeCADGui.Selection.getSelection() + if not selObjs: + msg = QtGui.QApplication.translate("ship_console","Ship instance must be selected (no object selected)", + None,QtGui.QApplication.UnicodeUTF8) + App.Console.PrintError(msg) + return True + for i in range(0,len(selObjs)): + obj = selObjs[i] + # Test if is a ship instance + props = obj.PropertiesList + try: + props.index("IsShip") + except ValueError: + continue + if obj.IsShip: + # Test if another ship already selected + if self.ship: + msg = QtGui.QApplication.translate("ship_console", + "More than one ship selected (extra ships will be neglected)", + None,QtGui.QApplication.UnicodeUTF8) + App.Console.PrintWarning(msg + '\n') + break + self.ship = obj + # Test if any valid ship was selected + if not self.ship: + msg = QtGui.QApplication.translate("ship_console", + "Ship instance must be selected (no valid ship found at selected objects)", + None,QtGui.QApplication.UnicodeUTF8) + App.Console.PrintError(msg + '\n') + return True + props = self.ship.PropertiesList + try: + props.index("WeightNames") + except: + msg = QtGui.QApplication.translate("ship_console", + "Ship weights has not been set. You need to set weights before use this tool", + None,QtGui.QApplication.UnicodeUTF8) + App.Console.PrintError(msg + '\n') + return True + # Setup available tanks list + objs = App.ActiveDocument.Objects + iconPath = Paths.iconsPath() + "/Tank.xpm" + icon = QtGui.QIcon(QtGui.QPixmap(iconPath)) + for obj in objs: + # Try to get valid tank property + props = obj.PropertiesList + try: + props.index("IsShipTank") + except ValueError: + continue + if not obj.IsShipTank: + continue + # Add tank to list + name = obj.Name + label = obj.Label + tag = label + ' (' + name + ')' + self.tanks[tag] = name + # self.tanks.append([name, tag]) + item = QtGui.QListWidgetItem(tag) + item.setIcon(icon) + self.form.tanks.addItem(item) + return False - def retranslateUi(self): - """ Set user interface locale strings. - """ - self.form.setWindowTitle(Translator.translate("GZ curve computation")) - self.form.findChild(QtGui.QGroupBox, "LoadConditionGroup").setTitle(Translator.translate("Loading condition.")) - self.form.findChild(QtGui.QGroupBox, "AnglesGroup").setTitle(Translator.translate("Roll angles.")) - self.form.findChild(QtGui.QLabel, "TrimLabel").setText(Translator.translate("Trim") + " [deg]") - self.form.findChild(QtGui.QLabel, "StartAngleLabel").setText(Translator.translate("Start") + " [deg]") - self.form.findChild(QtGui.QLabel, "EndAngleLabel").setText(Translator.translate("End") + " [deg]") - self.form.findChild(QtGui.QLabel, "NAngleLabel").setText(Translator.translate("Number of points")) - self.form.disp.setText(Translator.translate("Displacement = Press update to compute")) - self.form.draft.setText(Translator.translate("Draft = Press update to compute")) - self.form.update.setText(Translator.translate("Update displacement and draft")) + def retranslateUi(self): + """ Set user interface locale strings. + """ + self.form.findChild(QtGui.QLabel, "DraftLabel").setText(QtGui.QApplication.translate("shiptank_gz","Draft", + None,QtGui.QApplication.UnicodeUTF8)) - def onTanksSelection(self): - """ Called when tanks are selected or deselected. - """ - pass - - def onUpdate(self): - """ Called when update displacement and draft is requested. - """ - # Set displacement label - disp = self.computeDisplacement() - self.form.disp.setText(Translator.translate("Displacement") + ' = %g [kg]' % (disp[0])) - # Set draft label - draft = self.computeDraft(disp[0], self.form.trim.value()) - self.form.draft.setText(Translator.translate("Draft") + ' = %g [m]' % (draft[0])) - def onTrim(self, trim): - """ Called when trim angle value is changed. - @param trim Selected trim angle. - """ - self.onTanksSelection() - - def onAutoTrim(self): - """ Called when trim angle must be auto computed. - """ - # Start at null trim angle - trim = 0.0 - # Get center of gravity - disp = self.computeDisplacement(trim) - G = [disp[1], disp[2], disp[3]] - disp = disp[0] - # Get bouyancy center - draft = self.computeDraft(disp) - B = [draft[1].x, draft[1].y, draft[1].z] - draft = draft[0] - # Get stability initial condition - BG = [G[0]-B[0], G[1]-B[1], G[2]-B[2]] - x = BG[0]*math.cos(math.radians(trim)) - BG[2]*math.sin(math.radians(trim)) - y = BG[1] - z = BG[0]*math.sin(math.radians(trim)) + BG[2]*math.cos(math.radians(trim)) - var = math.degrees(math.atan2(x,z)) - # Iterate looking stability point - dVar = math.copysign(0.01, var) - while True: - if (dVar*var < 0.0) or (abs(var) < 0.1): - break - trim = trim - math.copysign(max(dVar, abs(var)/200.0), var) - # Get center of gravity - disp = self.computeDisplacement(trim) - G = [disp[1], disp[2], disp[3]] - disp = disp[0] - # Get bouyancy center - draft = self.computeDraft(disp, trim) - B = [draft[1].x, draft[1].y, draft[1].z] - draft = draft[0] - # Get stability initial condition - BG = [G[0]-B[0], G[1]-B[1], G[2]-B[2]] - x = BG[0]*math.cos(math.radians(trim)) - BG[2]*math.sin(math.radians(trim)) - y = BG[1] - z = BG[0]*math.sin(math.radians(trim)) + BG[2]*math.cos(math.radians(trim)) - var = math.degrees(math.atan2(x,z)) - self.form.trim.setValue(trim) + self.form.setWindowTitle(QtGui.QApplication.translate("shiptank_gz","GZ curve computation", + None,QtGui.QApplication.UnicodeUTF8)) + self.form.findChild(QtGui.QGroupBox, "LoadConditionGroup").setTitle(QtGui.QApplication.translate("shiptank_gz", + "Loading condition", + None,QtGui.QApplication.UnicodeUTF8)) + self.form.findChild(QtGui.QGroupBox, "AnglesGroup").setTitle(QtGui.QApplication.translate("shiptank_gz","Roll angles", + None,QtGui.QApplication.UnicodeUTF8)) + self.form.findChild(QtGui.QLabel, "TrimLabel").setText(QtGui.QApplication.translate("shiptank_gz","Trim", + None,QtGui.QApplication.UnicodeUTF8) + " [deg]") + self.form.findChild(QtGui.QLabel, "StartAngleLabel").setText(QtGui.QApplication.translate("shiptank_gz","Start", + None,QtGui.QApplication.UnicodeUTF8) + " [deg]") + self.form.findChild(QtGui.QLabel, "EndAngleLabel").setText(QtGui.QApplication.translate("shiptank_gz","End", + None,QtGui.QApplication.UnicodeUTF8) + " [deg]") + self.form.findChild(QtGui.QLabel, "NAngleLabel").setText(QtGui.QApplication.translate("shiptank_gz","Number of points", + None,QtGui.QApplication.UnicodeUTF8)) + self.form.disp.setText(QtGui.QApplication.translate("shiptank_gz","Displacement", + None,QtGui.QApplication.UnicodeUTF8) + ' = ' + \ + QtGui.QApplication.translate("shiptank_gz","Press update to compute", + None,QtGui.QApplication.UnicodeUTF8)) + self.form.draft.setText(QtGui.QApplication.translate("shiptank_gz","Draft", + None,QtGui.QApplication.UnicodeUTF8) + ' = ' + \ + QtGui.QApplication.translate("shiptank_gz","Press update to compute", + None,QtGui.QApplication.UnicodeUTF8)) + self.form.update.setText(QtGui.QApplication.translate("shiptank_gz","Update displacement and draft", + None,QtGui.QApplication.UnicodeUTF8)) - def onRoll(self, value): - """ Called when roll angles options are modified. - @param value Dummy changed value. - """ - roll0 = self.form.roll0.value() - self.form.roll1.setMinimum(roll0) - roll1 = self.form.roll1.value() - self.form.roll0.setMaximum(roll1) + def onTanksSelection(self): + """ Called when tanks are selected or deselected. + """ + pass + + def onUpdate(self): + """ Called when update displacement and draft is requested. + """ + # Set displacement label + disp = self.computeDisplacement() + self.form.disp.setText(QtGui.QApplication.translate("shiptank_gz","Displacement", + None,QtGui.QApplication.UnicodeUTF8) + ' = %g [kg]' % (disp[0])) + # Set draft label + draft = self.computeDraft(disp[0], self.form.trim.value()) + self.form.draft.setText(QtGui.QApplication.translate("shiptank_gz","Draft", + None,QtGui.QApplication.UnicodeUTF8) + ' = %g [m]' % (draft[0])) - def getTanks(self): - """ Get the selected tanks objects list. - @return Selected tanks list. - """ - items = self.form.tanks.selectedItems() - tanks = [] - for item in items: - tag = str(item.text()) - name = self.tanks[tag] - t = App.ActiveDocument.getObject(name) - if not t: - continue - tanks.append(t) - return tanks + def onTrim(self, trim): + """ Called when trim angle value is changed. + @param trim Selected trim angle. + """ + self.onTanksSelection() + + def onAutoTrim(self): + """ Called when trim angle must be auto computed. + """ + # Start at null trim angle + trim = 0.0 + # Get center of gravity + disp = self.computeDisplacement(trim) + G = [disp[1], disp[2], disp[3]] + disp = disp[0] + # Get bouyancy center + draft = self.computeDraft(disp) + B = [draft[1].x, draft[1].y, draft[1].z] + draft = draft[0] + # Get stability initial condition + BG = [G[0]-B[0], G[1]-B[1], G[2]-B[2]] + x = BG[0]*math.cos(math.radians(trim)) - BG[2]*math.sin(math.radians(trim)) + y = BG[1] + z = BG[0]*math.sin(math.radians(trim)) + BG[2]*math.cos(math.radians(trim)) + var = math.degrees(math.atan2(x,z)) + # Iterate looking stability point + dVar = math.copysign(0.01, var) + while True: + if (dVar*var < 0.0) or (abs(var) < 0.1): + break + trim = trim - math.copysign(max(dVar, abs(var)/200.0), var) + # Get center of gravity + disp = self.computeDisplacement(trim) + G = [disp[1], disp[2], disp[3]] + disp = disp[0] + # Get bouyancy center + draft = self.computeDraft(disp, trim) + B = [draft[1].x, draft[1].y, draft[1].z] + draft = draft[0] + # Get stability initial condition + BG = [G[0]-B[0], G[1]-B[1], G[2]-B[2]] + x = BG[0]*math.cos(math.radians(trim)) - BG[2]*math.sin(math.radians(trim)) + y = BG[1] + z = BG[0]*math.sin(math.radians(trim)) + BG[2]*math.cos(math.radians(trim)) + var = math.degrees(math.atan2(x,z)) + self.form.trim.setValue(trim) - def computeDisplacement(self, trim=0.0, roll=0.0): - """ Computes ship displacement. - @param trim Trim angle [degrees]. - @return Ship displacement and center of gravity. None if errors - detected. - @note Returned center of gravity is refered to ship attached - axis coordinates. - """ - if not self.ship: - return None - # Get ship structure weights - W = [0.0, 0.0, 0.0, 0.0] - sWeights = weights(self.ship) - for w in sWeights: - W[0] = W[0] + w[1] - W[1] = W[1] + w[1]*w[2][0] - W[2] = W[2] + w[1]*w[2][1] - W[3] = W[3] + w[1]*w[2][2] - # Get selected tanks weights - tanks = self.getTanks() - for t in tanks: - w = tankWeight(t, App.Base.Vector(roll,-trim,0.0)) - # Unrotate center of gravity - x = w[1]*math.cos(math.radians(-trim)) - w[3]*math.sin(math.radians(-trim)) - y = w[2] - z = w[1]*math.sin(math.radians(-trim)) + w[3]*math.cos(math.radians(-trim)) - w[1] = x - w[2] = y*math.cos(math.radians(-roll)) - z*math.sin(math.radians(-roll)) - w[3] = y*math.sin(math.radians(-roll)) + z*math.cos(math.radians(-roll)) - W[0] = W[0] + w[0] - W[1] = W[1] + w[0]*w[1] - W[2] = W[2] + w[0]*w[2] - W[3] = W[3] + w[0]*w[3] - return [W[0], W[1]/W[0], W[2]/W[0], W[3]/W[0]] + def onRoll(self, value): + """ Called when roll angles options are modified. + @param value Dummy changed value. + """ + roll0 = self.form.roll0.value() + self.form.roll1.setMinimum(roll0) + roll1 = self.form.roll1.value() + self.form.roll0.setMaximum(roll1) - def computeDraft(self, disp, trim=0.0): - """ Computes ship draft. - @param disp Ship displacement. - @param trim Trim angle [degrees]. - @return Ship draft, and bouyance center position. None if errors detected. - """ - if not self.ship: - return None - # Initial condition - dens = 1025 - bbox = self.ship.Shape.BoundBox - draft = bbox.ZMin - dx = bbox.XMax - bbox.XMin - dy = bbox.YMax - bbox.YMin - w = 0.0 - xcb = 0.0 - while(abs(disp - w)/disp > 0.01): - draft = draft + (disp - w) / (dens*dx*dy) - ww = Hydrostatics.displacement(self.ship, draft, 0.0, trim, 0.0) - w = 1000.0*ww[0] - B = ww[1] - return [draft,B] + def getTanks(self): + """ Get the selected tanks objects list. + @return Selected tanks list. + """ + items = self.form.tanks.selectedItems() + tanks = [] + for item in items: + tag = str(item.text()) + name = self.tanks[tag] + t = App.ActiveDocument.getObject(name) + if not t: + continue + tanks.append(t) + return tanks - def computeGZ(self, draft, trim, roll): - """ Compute GZ value. - @param draft Ship draft. - @param trim Ship trim angle [degrees]. - @param roll Ship roll angle [degrees]. - @return GZ value [m]. - """ - # Get center of gravity (x coordinate not relevant) - disp = self.computeDisplacement(trim, roll) - G = [disp[2], disp[3]] - disp = disp[0] - # Get bouyancy center (x coordinate not relevant) - disp = Hydrostatics.displacement(self.ship, draft, roll, trim, 0.0) - B = [disp[1].y, disp[1].z] - # GZ computation - BG = [G[0] - B[0], G[1] - B[1]] - y = BG[0]*math.cos(math.radians(roll)) - BG[1]*math.sin(math.radians(roll)) - z = BG[0]*math.sin(math.radians(roll)) + BG[1]*math.cos(math.radians(roll)) - return y + def computeDisplacement(self, trim=0.0, roll=0.0): + """ Computes ship displacement. + @param trim Trim angle [degrees]. + @return Ship displacement and center of gravity. None if errors + detected. + @note Returned center of gravity is refered to ship attached + axis coordinates. + """ + if not self.ship: + return None + # Get ship structure weights + W = [0.0, 0.0, 0.0, 0.0] + sWeights = weights(self.ship) + for w in sWeights: + W[0] = W[0] + w[1] + W[1] = W[1] + w[1]*w[2][0] + W[2] = W[2] + w[1]*w[2][1] + W[3] = W[3] + w[1]*w[2][2] + # Get selected tanks weights + tanks = self.getTanks() + for t in tanks: + w = tankWeight(t, App.Base.Vector(roll,-trim,0.0)) + # Unrotate center of gravity + x = w[1]*math.cos(math.radians(-trim)) - w[3]*math.sin(math.radians(-trim)) + y = w[2] + z = w[1]*math.sin(math.radians(-trim)) + w[3]*math.cos(math.radians(-trim)) + w[1] = x + w[2] = y*math.cos(math.radians(-roll)) - z*math.sin(math.radians(-roll)) + w[3] = y*math.sin(math.radians(-roll)) + z*math.cos(math.radians(-roll)) + W[0] = W[0] + w[0] + W[1] = W[1] + w[0]*w[1] + W[2] = W[2] + w[0]*w[2] + W[3] = W[3] + w[0]*w[3] + return [W[0], W[1]/W[0], W[2]/W[0], W[3]/W[0]] + + def computeDraft(self, disp, trim=0.0): + """ Computes ship draft. + @param disp Ship displacement. + @param trim Trim angle [degrees]. + @return Ship draft, and bouyance center position. None if errors detected. + """ + if not self.ship: + return None + # Initial condition + dens = 1025 + bbox = self.ship.Shape.BoundBox + draft = bbox.ZMin + dx = bbox.XMax - bbox.XMin + dy = bbox.YMax - bbox.YMin + w = 0.0 + xcb = 0.0 + while(abs(disp - w)/disp > 0.01): + draft = draft + (disp - w) / (dens*dx*dy) + ww = Hydrostatics.displacement(self.ship, draft, 0.0, trim, 0.0) + w = 1000.0*ww[0] + B = ww[1] + return [draft,B] + + def computeGZ(self, draft, trim, roll): + """ Compute GZ value. + @param draft Ship draft. + @param trim Ship trim angle [degrees]. + @param roll Ship roll angle [degrees]. + @return GZ value [m]. + """ + # Get center of gravity (x coordinate not relevant) + disp = self.computeDisplacement(trim, roll) + G = [disp[2], disp[3]] + disp = disp[0] + # Get bouyancy center (x coordinate not relevant) + disp = Hydrostatics.displacement(self.ship, draft, roll, trim, 0.0) + B = [disp[1].y, disp[1].z] + # GZ computation + BG = [G[0] - B[0], G[1] - B[1]] + y = BG[0]*math.cos(math.radians(roll)) - BG[1]*math.sin(math.radians(roll)) + z = BG[0]*math.sin(math.radians(roll)) + BG[1]*math.cos(math.radians(roll)) + return y def createTask(): - panel = TaskPanel() - Gui.Control.showDialog(panel) - if panel.setupUi(): - Gui.Control.closeDialog(panel) - return None - return panel + panel = TaskPanel() + Gui.Control.showDialog(panel) + if panel.setupUi(): + Gui.Control.closeDialog(panel) + return None + return panel diff --git a/src/Mod/Ship/tankGZ/TaskPanel.ui b/src/Mod/Ship/tankGZ/TaskPanel.ui index 6f2da22e2..49dfa031d 100644 --- a/src/Mod/Ship/tankGZ/TaskPanel.ui +++ b/src/Mod/Ship/tankGZ/TaskPanel.ui @@ -37,98 +37,92 @@ Loading condition - - - - 0 - 20 - 231 - 231 - - - - - - - QAbstractItemView::NoEditTriggers - - - QAbstractItemView::MultiSelection - - - - - - - Displacement = 0 [kg] - - - - - - - Draft = 0 [m] - - - - - - - Update displacement and draft - - - - - - - - - - 3 - 0 - - - - Trim [deg] - - - - - - - - 3 - 0 - - - - -45.000000000000000 - - - 45.000000000000000 - - - 0.100000000000000 - - - - - - - - 1 - 0 - - - - Auto - - - - - - - + + + + + + + QAbstractItemView::NoEditTriggers + + + QAbstractItemView::MultiSelection + + + + + + + Displacement = 0 [kg] + + + + + + + Draft = 0 [m] + + + + + + + Update displacement and draft + + + + + + + + + + 3 + 0 + + + + Trim [deg] + + + + + + + + 3 + 0 + + + + -45.000000000000000 + + + 45.000000000000000 + + + 0.100000000000000 + + + + + + + + 1 + 0 + + + + Auto + + + + + + + + @@ -142,75 +136,69 @@ Roll angles - - - - 0 - 20 - 231 - 101 - - - - - QLayout::SetMinimumSize - - - - - Start [deg] - - - - - - - End [deg] - - - - - - - Number of points - - - - - - - 0.000000000000000 - - - 90.000000000000000 - - - - - - - 180.000000000000000 - - - 45.000000000000000 - - - - - - - 2 - - - 10000 - - - 46 - - - - - + + + + + QLayout::SetMinimumSize + + + + + Start [deg] + + + + + + + End [deg] + + + + + + + Number of points + + + + + + + 0.000000000000000 + + + 90.000000000000000 + + + + + + + 180.000000000000000 + + + 45.000000000000000 + + + + + + + 2 + + + 10000 + + + 46 + + + + + + diff --git a/src/Mod/Ship/tankGZ/__init__.py b/src/Mod/Ship/tankGZ/__init__.py index cbfb57d75..021390940 100644 --- a/src/Mod/Ship/tankGZ/__init__.py +++ b/src/Mod/Ship/tankGZ/__init__.py @@ -1,24 +1,24 @@ #*************************************************************************** -#* * -#* Copyright (c) 2011, 2012 * -#* Jose Luis Cercos Pita * -#* * +#* * +#* Copyright (c) 2011, 2012 * +#* Jose Luis Cercos Pita * +#* * #* This program is free software; you can redistribute it and/or modify * -#* it under the terms of the GNU Lesser General Public License (LGPL) * -#* as published by the Free Software Foundation; either version 2 of * -#* the License, or (at your option) any later version. * -#* for detail see the LICENCE text file. * -#* * -#* 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 Library General Public License for more details. * -#* * -#* You should have received a copy of the GNU Library General Public * +#* it under the terms of the GNU Lesser General Public License (LGPL) * +#* as published by the Free Software Foundation; either version 2 of * +#* the License, or (at your option) any later version. * +#* for detail see the LICENCE text file. * +#* * +#* 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 Library General Public License for more details. * +#* * +#* You should have received a copy of the GNU Library General Public * #* License along with this program; if not, write to the Free Software * #* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * -#* USA * -#* * +#* USA * +#* * #*************************************************************************** # FreeCAD modules @@ -32,5 +32,5 @@ from PyQt4 import QtGui,QtCore import TaskPanel def load(): - """ Loads the tool """ - TaskPanel.createTask() + """ Loads the tool """ + TaskPanel.createTask() diff --git a/src/Mod/Ship/tankWeights/Preview.py b/src/Mod/Ship/tankWeights/Preview.py index 23bb7fae6..4a5b59fca 100644 --- a/src/Mod/Ship/tankWeights/Preview.py +++ b/src/Mod/Ship/tankWeights/Preview.py @@ -1,24 +1,24 @@ #*************************************************************************** -#* * -#* Copyright (c) 2011, 2012 * -#* Jose Luis Cercos Pita * -#* * +#* * +#* Copyright (c) 2011, 2012 * +#* Jose Luis Cercos Pita * +#* * #* This program is free software; you can redistribute it and/or modify * -#* it under the terms of the GNU Lesser General Public License (LGPL) * -#* as published by the Free Software Foundation; either version 2 of * -#* the License, or (at your option) any later version. * -#* for detail see the LICENCE text file. * -#* * -#* 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 Library General Public License for more details. * -#* * -#* You should have received a copy of the GNU Library General Public * +#* it under the terms of the GNU Lesser General Public License (LGPL) * +#* as published by the Free Software Foundation; either version 2 of * +#* the License, or (at your option) any later version. * +#* for detail see the LICENCE text file. * +#* * +#* 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 Library General Public License for more details. * +#* * +#* You should have received a copy of the GNU Library General Public * #* License along with this program; if not, write to the Free Software * #* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * -#* USA * -#* * +#* USA * +#* * #*************************************************************************** # FreeCAD modules @@ -26,81 +26,81 @@ import FreeCAD,FreeCADGui from FreeCAD import Base import Part # FreeCADShip modules -from shipUtils import Paths, Translator +from shipUtils import Paths class Preview(object): - def __init__(self): - """ Constructor. - """ - self.objects = [] + def __init__(self): + """ Constructor. + """ + self.objects = [] - def reinit(self): - """ Reinitializate drawer. - """ - self.clean() + def reinit(self): + """ Reinitializate drawer. + """ + self.clean() - def update(self, names, pos): - """ Update the 3D view printing annotations. - @param names Weight names. - @param pos Weight positions (FreeCAD::Base::Vector). - """ - # Destroy all previous entities - self.clean() - for i in range(0, len(names)): - # Draw gravity line - line = Part.makeLine((pos[i].x,pos[i].y,pos[i].z),(pos[i].x,pos[i].y,pos[i].z - 9.81)) - Part.show(line) - objs = FreeCAD.ActiveDocument.Objects - self.objects.append(objs[-1]) - objs[-1].Label = names[i] + 'Line' - # Draw circles - circle = Part.makeCircle(0.5, pos[i], Base.Vector(1.0,0.0,0.0)) - Part.show(circle) - objs = FreeCAD.ActiveDocument.Objects - self.objects.append(objs[-1]) - objs[-1].Label = names[i] + 'CircleX' - circle = Part.makeCircle(0.5, pos[i], Base.Vector(0.0,1.0,0.0)) - Part.show(circle) - objs = FreeCAD.ActiveDocument.Objects - self.objects.append(objs[-1]) - objs[-1].Label = names[i] + 'CircleY' - circle = Part.makeCircle(0.5, pos[i], Base.Vector(0.0,0.0,1.0)) - Part.show(circle) - objs = FreeCAD.ActiveDocument.Objects - self.objects.append(objs[-1]) - objs[-1].Label = names[i] + 'CircleZ' - # Draw annotation - self.objects.append(DrawText(names[i] + 'Text', names[i], Base.Vector(pos[i].x+1.0,pos[i].y,pos[i].z))) - - def clean(self): - """ Erase all annotations from screen. - """ - for i in range(0,len(self.objects)): - if not FreeCAD.ActiveDocument.getObject(self.objects[i].Name): - continue - FreeCAD.ActiveDocument.removeObject(self.objects[i].Name) - self.objects = [] + def update(self, names, pos): + """ Update the 3D view printing annotations. + @param names Weight names. + @param pos Weight positions (FreeCAD::Base::Vector). + """ + # Destroy all previous entities + self.clean() + for i in range(0, len(names)): + # Draw gravity line + line = Part.makeLine((pos[i].x,pos[i].y,pos[i].z),(pos[i].x,pos[i].y,pos[i].z - 9.81)) + Part.show(line) + objs = FreeCAD.ActiveDocument.Objects + self.objects.append(objs[-1]) + objs[-1].Label = names[i] + 'Line' + # Draw circles + circle = Part.makeCircle(0.5, pos[i], Base.Vector(1.0,0.0,0.0)) + Part.show(circle) + objs = FreeCAD.ActiveDocument.Objects + self.objects.append(objs[-1]) + objs[-1].Label = names[i] + 'CircleX' + circle = Part.makeCircle(0.5, pos[i], Base.Vector(0.0,1.0,0.0)) + Part.show(circle) + objs = FreeCAD.ActiveDocument.Objects + self.objects.append(objs[-1]) + objs[-1].Label = names[i] + 'CircleY' + circle = Part.makeCircle(0.5, pos[i], Base.Vector(0.0,0.0,1.0)) + Part.show(circle) + objs = FreeCAD.ActiveDocument.Objects + self.objects.append(objs[-1]) + objs[-1].Label = names[i] + 'CircleZ' + # Draw annotation + self.objects.append(DrawText(names[i] + 'Text', names[i], Base.Vector(pos[i].x+1.0,pos[i].y,pos[i].z))) + + def clean(self): + """ Erase all annotations from screen. + """ + for i in range(0,len(self.objects)): + if not FreeCAD.ActiveDocument.getObject(self.objects[i].Name): + continue + FreeCAD.ActiveDocument.removeObject(self.objects[i].Name) + self.objects = [] def DrawText(name, string, position, displayMode="Screen", angle=0.0, justification="Left", colour=(0.00,0.00,0.00), size=12): - """ Draws a text in a desired position. - @param name Name of the object - @param string Text to draw (recommended format u'') - @param position Point to draw the text - @param angle Counter clockwise rotation of text - @param justification Alignement of the text ("Left", "Right" or "Center") - @param colour Colour of the text - @param size Font size - @return FreeCAD annotation object - """ - # Create the object - text = FreeCAD.ActiveDocument.addObject("App::Annotation",name) - # Set the text - text.LabelText = [string, u''] - # Set the options - text.Position = position - FreeCADGui.ActiveDocument.getObject(text.Name).Rotation = angle - FreeCADGui.ActiveDocument.getObject(text.Name).Justification = justification - FreeCADGui.ActiveDocument.getObject(text.Name).FontSize = size - FreeCADGui.ActiveDocument.getObject(text.Name).TextColor = colour - FreeCADGui.ActiveDocument.getObject(text.Name).DisplayMode = displayMode - return FreeCAD.ActiveDocument.getObject(text.Name) + """ Draws a text in a desired position. + @param name Name of the object + @param string Text to draw (recommended format u'') + @param position Point to draw the text + @param angle Counter clockwise rotation of text + @param justification Alignement of the text ("Left", "Right" or "Center") + @param colour Colour of the text + @param size Font size + @return FreeCAD annotation object + """ + # Create the object + text = FreeCAD.ActiveDocument.addObject("App::Annotation",name) + # Set the text + text.LabelText = [string, u''] + # Set the options + text.Position = position + FreeCADGui.ActiveDocument.getObject(text.Name).Rotation = angle + FreeCADGui.ActiveDocument.getObject(text.Name).Justification = justification + FreeCADGui.ActiveDocument.getObject(text.Name).FontSize = size + FreeCADGui.ActiveDocument.getObject(text.Name).TextColor = colour + FreeCADGui.ActiveDocument.getObject(text.Name).DisplayMode = displayMode + return FreeCAD.ActiveDocument.getObject(text.Name) diff --git a/src/Mod/Ship/tankWeights/TaskPanel.py b/src/Mod/Ship/tankWeights/TaskPanel.py index a01f7c73c..7a336bfff 100644 --- a/src/Mod/Ship/tankWeights/TaskPanel.py +++ b/src/Mod/Ship/tankWeights/TaskPanel.py @@ -1,24 +1,24 @@ #*************************************************************************** -#* * -#* Copyright (c) 2011, 2012 * -#* Jose Luis Cercos Pita * -#* * +#* * +#* Copyright (c) 2011, 2012 * +#* Jose Luis Cercos Pita * +#* * #* This program is free software; you can redistribute it and/or modify * -#* it under the terms of the GNU Lesser General Public License (LGPL) * -#* as published by the Free Software Foundation; either version 2 of * -#* the License, or (at your option) any later version. * -#* for detail see the LICENCE text file. * -#* * -#* 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 Library General Public License for more details. * -#* * -#* You should have received a copy of the GNU Library General Public * +#* it under the terms of the GNU Lesser General Public License (LGPL) * +#* as published by the Free Software Foundation; either version 2 of * +#* the License, or (at your option) any later version. * +#* for detail see the LICENCE text file. * +#* * +#* 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 Library General Public License for more details. * +#* * +#* You should have received a copy of the GNU Library General Public * #* License along with this program; if not, write to the Free Software * #* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * -#* USA * -#* * +#* USA * +#* * #*************************************************************************** # FreeCAD modules @@ -29,218 +29,224 @@ from PyQt4 import QtGui,QtCore # Module import Preview from Instance import * -from shipUtils import Paths, Translator +from shipUtils import Paths class TaskPanel: - def __init__(self): - self.ui = Paths.modulePath() + "/tankWeights/TaskPanel.ui" - self.ship = None - self.preview = Preview.Preview() + def __init__(self): + self.ui = Paths.modulePath() + "/tankWeights/TaskPanel.ui" + self.ship = None + self.preview = Preview.Preview() - def accept(self): - self.preview.clean() - if not self.ship: - return False - # Setup lists - name = [] - mass = [] - pos = [] - for i in range(0,self.form.weights.rowCount() - 1): - item = self.form.weights.item(i,0) - name.append(item.text().__str__()) - item = self.form.weights.item(i,1) - mass.append(item.text().toFloat()[0]) - vec = [] - item = self.form.weights.item(i,2) - vec.append(item.text().toFloat()[0]) - item = self.form.weights.item(i,3) - vec.append(item.text().toFloat()[0]) - item = self.form.weights.item(i,4) - vec.append(item.text().toFloat()[0]) - pos.append(App.Base.Vector(vec[0],vec[1],vec[2])) - # Send to ship - self.ship.WeightNames = name[:] - self.ship.WeightMass = mass[:] - self.ship.WeightPos = pos[:] - return True + def accept(self): + self.preview.clean() + if not self.ship: + return False + # Setup lists + name = [] + mass = [] + pos = [] + for i in range(0,self.form.weights.rowCount() - 1): + item = self.form.weights.item(i,0) + name.append(item.text().__str__()) + item = self.form.weights.item(i,1) + mass.append(item.text().toFloat()[0]) + vec = [] + item = self.form.weights.item(i,2) + vec.append(item.text().toFloat()[0]) + item = self.form.weights.item(i,3) + vec.append(item.text().toFloat()[0]) + item = self.form.weights.item(i,4) + vec.append(item.text().toFloat()[0]) + pos.append(App.Base.Vector(vec[0],vec[1],vec[2])) + # Send to ship + self.ship.WeightNames = name[:] + self.ship.WeightMass = mass[:] + self.ship.WeightPos = pos[:] + return True - def reject(self): - self.preview.clean() - if not self.ship: - return False - return True + def reject(self): + self.preview.clean() + if not self.ship: + return False + return True - def clicked(self, index): - pass + def clicked(self, index): + pass - def open(self): - pass + def open(self): + pass - def needsFullSpace(self): - return True + def needsFullSpace(self): + return True - def isAllowedAlterSelection(self): - return False + def isAllowedAlterSelection(self): + return False - def isAllowedAlterView(self): - return True + def isAllowedAlterView(self): + return True - def isAllowedAlterDocument(self): - return False + def isAllowedAlterDocument(self): + return False - def helpRequested(self): - pass + def helpRequested(self): + pass - def setupUi(self): - mw = self.getMainWindow() - form = mw.findChild(QtGui.QWidget, "TaskPanel") - form.weights = form.findChild(QtGui.QTableWidget, "Weights") - self.form = form - # Initial values - if self.initValues(): - return True - self.retranslateUi() - # Connect Signals and Slots - QtCore.QObject.connect(form.weights,QtCore.SIGNAL("cellChanged(int,int)"),self.onTableItem); - # Update screen - name = [] - pos = [] - for i in range(0,self.form.weights.rowCount() - 1): - item = self.form.weights.item(i,0) - name.append(item.text().__str__()) - vec = [] - item = self.form.weights.item(i,2) - vec.append(item.text().toFloat()[0]) - item = self.form.weights.item(i,3) - vec.append(item.text().toFloat()[0]) - item = self.form.weights.item(i,4) - vec.append(item.text().toFloat()[0]) - pos.append(App.Base.Vector(vec[0],vec[1],vec[2])) - self.preview.update(name, pos) + def setupUi(self): + mw = self.getMainWindow() + form = mw.findChild(QtGui.QWidget, "TaskPanel") + form.weights = form.findChild(QtGui.QTableWidget, "Weights") + self.form = form + # Initial values + if self.initValues(): + return True + self.retranslateUi() + # Connect Signals and Slots + QtCore.QObject.connect(form.weights,QtCore.SIGNAL("cellChanged(int,int)"),self.onTableItem); + # Update screen + name = [] + pos = [] + for i in range(0,self.form.weights.rowCount() - 1): + item = self.form.weights.item(i,0) + name.append(item.text().__str__()) + vec = [] + item = self.form.weights.item(i,2) + vec.append(item.text().toFloat()[0]) + item = self.form.weights.item(i,3) + vec.append(item.text().toFloat()[0]) + item = self.form.weights.item(i,4) + vec.append(item.text().toFloat()[0]) + pos.append(App.Base.Vector(vec[0],vec[1],vec[2])) + self.preview.update(name, pos) - def getMainWindow(self): - "returns the main window" - # using QtGui.qApp.activeWindow() isn't very reliable because if another - # widget than the mainwindow is active (e.g. a dialog) the wrong widget is - # returned - toplevel = QtGui.qApp.topLevelWidgets() - for i in toplevel: - if i.metaObject().className() == "Gui::MainWindow": - return i - raise Exception("No main window found") + def getMainWindow(self): + "returns the main window" + # using QtGui.qApp.activeWindow() isn't very reliable because if another + # widget than the mainwindow is active (e.g. a dialog) the wrong widget is + # returned + toplevel = QtGui.qApp.topLevelWidgets() + for i in toplevel: + if i.metaObject().className() == "Gui::MainWindow": + return i + raise Exception("No main window found") - def initValues(self): - """ Get selected geometry. - @return False if sucessfully values initialized. - """ - # Get selected objects - selObjs = FreeCADGui.Selection.getSelection() - if not selObjs: - msg = Translator.translate("Ship instance must be selected (no object selected)\n") - App.Console.PrintError(msg) - return True - for i in range(0,len(selObjs)): - obj = selObjs[i] - # Test if is a ship instance - props = obj.PropertiesList - try: - props.index("IsShip") - except ValueError: - continue - if obj.IsShip: - # Test if another ship already selected - if self.ship: - msg = Translator.translate("More than one ship selected (extra ship will be neglected)\n") - App.Console.PrintWarning(msg) - break - self.ship = obj - # Test if any valid ship was selected - if not self.ship: - msg = Translator.translate("Ship instance must be selected (no valid ship found at selected objects)\n") - App.Console.PrintError(msg) - return True - # Get weights - w = weights(self.ship) - # Set the items - self.form.weights.setRowCount(len(w)+1) - for i in range(0,len(w)): - item = QtGui.QTableWidgetItem(w[i][0]) - self.form.weights.setItem(i,0,item) - string = '%g' % (w[i][1]) - item = QtGui.QTableWidgetItem(string) - self.form.weights.setItem(i,1,item) - string = '%g' % (w[i][2].x) - item = QtGui.QTableWidgetItem(string) - self.form.weights.setItem(i,2,item) - string = '%g' % (w[i][2].y) - item = QtGui.QTableWidgetItem(string) - self.form.weights.setItem(i,3,item) - string = '%g' % (w[i][2].z) - item = QtGui.QTableWidgetItem(string) - self.form.weights.setItem(i,4,item) - msg = Translator.translate("Ready to work\n") - App.Console.PrintMessage(msg) - return False + def initValues(self): + """ Get selected geometry. + @return False if sucessfully values initialized. + """ + # Get selected objects + selObjs = FreeCADGui.Selection.getSelection() + if not selObjs: + msg = QtGui.QApplication.translate("ship_console", "Ship instance must be selected (no object selected)", + None,QtGui.QApplication.UnicodeUTF8) + App.Console.PrintError(msg + '\n') + return True + for i in range(0,len(selObjs)): + obj = selObjs[i] + # Test if is a ship instance + props = obj.PropertiesList + try: + props.index("IsShip") + except ValueError: + continue + if obj.IsShip: + # Test if another ship already selected + if self.ship: + msg = QtGui.QApplication.translate("ship_console", + "More than one ship selected (extra ships will be neglected)", + None,QtGui.QApplication.UnicodeUTF8) + App.Console.PrintWarning(msg + '\n') + break + self.ship = obj + # Test if any valid ship was selected + if not self.ship: + msg = QtGui.QApplication.translate("ship_console", + "Ship instance must be selected (no valid ship found at selected objects)", + None,QtGui.QApplication.UnicodeUTF8) + App.Console.PrintError(msg + '\n') + return True + # Get weights + w = weights(self.ship) + # Set the items + self.form.weights.setRowCount(len(w)+1) + for i in range(0,len(w)): + item = QtGui.QTableWidgetItem(w[i][0]) + self.form.weights.setItem(i,0,item) + string = '%g' % (w[i][1]) + item = QtGui.QTableWidgetItem(string) + self.form.weights.setItem(i,1,item) + string = '%g' % (w[i][2].x) + item = QtGui.QTableWidgetItem(string) + self.form.weights.setItem(i,2,item) + string = '%g' % (w[i][2].y) + item = QtGui.QTableWidgetItem(string) + self.form.weights.setItem(i,3,item) + string = '%g' % (w[i][2].z) + item = QtGui.QTableWidgetItem(string) + self.form.weights.setItem(i,4,item) + return False - def retranslateUi(self): - """ Set user interface locale strings. - """ - self.form.setWindowTitle(Translator.translate("Set weights")) - labels = [] - labels.append(Translator.translate("Name")) - labels.append(Translator.translate("Mass") + " [kg]") - labels.append(QtCore.QString("g.x [m]")) - labels.append(QtCore.QString("g.y [m]")) - labels.append(QtCore.QString("g.z [m]")) - self.form.weights.setHorizontalHeaderLabels(labels) + def retranslateUi(self): + """ Set user interface locale strings. + """ + self.form.setWindowTitle(QtGui.QApplication.translate("shiptank_weights","Set weights", + None,QtGui.QApplication.UnicodeUTF8)) + labels = [] + labels.append(QtGui.QApplication.translate("shiptank_weights","Name", + None,QtGui.QApplication.UnicodeUTF8)) + labels.append(QtGui.QApplication.translate("shiptank_weights","Mass", + None,QtGui.QApplication.UnicodeUTF8) + " [kg]") + labels.append(QtCore.QString("g.x [m]")) + labels.append(QtCore.QString("g.y [m]")) + labels.append(QtCore.QString("g.z [m]")) + self.form.weights.setHorizontalHeaderLabels(labels) - def onTableItem(self, row, column): - """ Function called when an item of table is changed. - @param row Changed item row - @param column Changed item column - """ - item = self.form.weights.item(row,column) - # Row deletion - if column == 0: - if not item.text(): - self.form.weights.removeRow(row) - # Ensure that exist one empty item at the end - nRow = self.form.weights.rowCount() - last = self.form.weights.item(nRow-1,0) - if last: - if(last.text() != ''): - self.form.weights.setRowCount(nRow+1) - # Fields must be numbers - for i in range(0,self.form.weights.rowCount()-1): # Avoid last row - for j in range(1,self.form.weights.columnCount()): # Avoid name column - item = self.form.weights.item(i,j) - if not item: - item = QtGui.QTableWidgetItem('0.0') - self.form.weights.setItem(i,j,item) - continue - (number,flag) = item.text().toFloat() - if not flag: - item.setText('0.0') - # Update screen annotations - name = [] - pos = [] - for i in range(0,self.form.weights.rowCount() - 1): - item = self.form.weights.item(i,0) - name.append(item.text().__str__()) - vec = [] - item = self.form.weights.item(i,2) - vec.append(item.text().toFloat()[0]) - item = self.form.weights.item(i,3) - vec.append(item.text().toFloat()[0]) - item = self.form.weights.item(i,4) - vec.append(item.text().toFloat()[0]) - pos.append(App.Base.Vector(vec[0],vec[1],vec[2])) - self.preview.update(name, pos) + def onTableItem(self, row, column): + """ Function called when an item of table is changed. + @param row Changed item row + @param column Changed item column + """ + item = self.form.weights.item(row,column) + # Row deletion + if column == 0: + if not item.text(): + self.form.weights.removeRow(row) + # Ensure that exist one empty item at the end + nRow = self.form.weights.rowCount() + last = self.form.weights.item(nRow-1,0) + if last: + if(last.text() != ''): + self.form.weights.setRowCount(nRow+1) + # Fields must be numbers + for i in range(0,self.form.weights.rowCount()-1): # Avoid last row + for j in range(1,self.form.weights.columnCount()): # Avoid name column + item = self.form.weights.item(i,j) + if not item: + item = QtGui.QTableWidgetItem('0.0') + self.form.weights.setItem(i,j,item) + continue + (number,flag) = item.text().toFloat() + if not flag: + item.setText('0.0') + # Update screen annotations + name = [] + pos = [] + for i in range(0,self.form.weights.rowCount() - 1): + item = self.form.weights.item(i,0) + name.append(item.text().__str__()) + vec = [] + item = self.form.weights.item(i,2) + vec.append(item.text().toFloat()[0]) + item = self.form.weights.item(i,3) + vec.append(item.text().toFloat()[0]) + item = self.form.weights.item(i,4) + vec.append(item.text().toFloat()[0]) + pos.append(App.Base.Vector(vec[0],vec[1],vec[2])) + self.preview.update(name, pos) def createTask(): - panel = TaskPanel() - Gui.Control.showDialog(panel) - if panel.setupUi(): - Gui.Control.closeDialog(panel) - return None - return panel + panel = TaskPanel() + Gui.Control.showDialog(panel) + if panel.setupUi(): + Gui.Control.closeDialog(panel) + return None + return panel diff --git a/src/Mod/Ship/tankWeights/TaskPanel.ui b/src/Mod/Ship/tankWeights/TaskPanel.ui index 23dc4ff1b..5123b44ca 100644 --- a/src/Mod/Ship/tankWeights/TaskPanel.ui +++ b/src/Mod/Ship/tankWeights/TaskPanel.ui @@ -11,7 +11,7 @@ - Set wieghts + Set weights diff --git a/src/Mod/Ship/tankWeights/__init__.py b/src/Mod/Ship/tankWeights/__init__.py index cbfb57d75..021390940 100644 --- a/src/Mod/Ship/tankWeights/__init__.py +++ b/src/Mod/Ship/tankWeights/__init__.py @@ -1,24 +1,24 @@ #*************************************************************************** -#* * -#* Copyright (c) 2011, 2012 * -#* Jose Luis Cercos Pita * -#* * +#* * +#* Copyright (c) 2011, 2012 * +#* Jose Luis Cercos Pita * +#* * #* This program is free software; you can redistribute it and/or modify * -#* it under the terms of the GNU Lesser General Public License (LGPL) * -#* as published by the Free Software Foundation; either version 2 of * -#* the License, or (at your option) any later version. * -#* for detail see the LICENCE text file. * -#* * -#* 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 Library General Public License for more details. * -#* * -#* You should have received a copy of the GNU Library General Public * +#* it under the terms of the GNU Lesser General Public License (LGPL) * +#* as published by the Free Software Foundation; either version 2 of * +#* the License, or (at your option) any later version. * +#* for detail see the LICENCE text file. * +#* * +#* 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 Library General Public License for more details. * +#* * +#* You should have received a copy of the GNU Library General Public * #* License along with this program; if not, write to the Free Software * #* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * -#* USA * -#* * +#* USA * +#* * #*************************************************************************** # FreeCAD modules @@ -32,5 +32,5 @@ from PyQt4 import QtGui,QtCore import TaskPanel def load(): - """ Loads the tool """ - TaskPanel.createTask() + """ Loads the tool """ + TaskPanel.createTask() diff --git a/src/WindowsInstaller/FreeCAD.wxs b/src/WindowsInstaller/FreeCAD.wxs index 3194e5c57..4cb65dfd1 100644 --- a/src/WindowsInstaller/FreeCAD.wxs +++ b/src/WindowsInstaller/FreeCAD.wxs @@ -163,8 +163,10 @@ + + diff --git a/src/WindowsInstaller/ModShip.wxi b/src/WindowsInstaller/ModShip.wxi index 029fe06c3..17cff640b 100644 --- a/src/WindowsInstaller/ModShip.wxi +++ b/src/WindowsInstaller/ModShip.wxi @@ -29,38 +29,94 @@ + - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + @@ -77,7 +133,7 @@ - + @@ -155,7 +211,7 @@ - +