From 6b799b70bd0143cd3770da5d06a956efa1cf5a78 Mon Sep 17 00:00:00 2001 From: jp112sdl Date: Fri, 20 Aug 2021 14:06:13 +0200 Subject: [PATCH] add HB-GD-Sw1-THP-TS --- patchsource/www/config/stringtable_de.txt | 1 + .../js/lang/de/translate.lang.stringtable.js | 1 + .../js/lang/en/translate.lang.stringtable.js | 1 + patchsource/www/webui/webui.js | 7 + src/addon/devdb.csv | 1 + .../firmware/rftypes/hb-gd-sw1-thp-ts.xml | 713 ++++++++++++++++++ .../patch/common/stringtable_de.txt.patch | 3 +- .../translate.lang.stringtable.js.patch | 3 +- src/addon/patch/common/webui.js.patch | 23 +- .../img/devices/250/hb-gd-sw1-thp-ts.png | Bin 0 -> 10753 bytes .../img/devices/50/hb-gd-sw1-thp-ts_thumb.png | Bin 0 -> 2294 bytes 11 files changed, 743 insertions(+), 10 deletions(-) create mode 100644 src/addon/firmware/rftypes/hb-gd-sw1-thp-ts.xml create mode 100644 src/addon/www/config/img/devices/250/hb-gd-sw1-thp-ts.png create mode 100644 src/addon/www/config/img/devices/50/hb-gd-sw1-thp-ts_thumb.png diff --git a/patchsource/www/config/stringtable_de.txt b/patchsource/www/config/stringtable_de.txt index ed7d7225..8f8730b5 100755 --- a/patchsource/www/config/stringtable_de.txt +++ b/patchsource/www/config/stringtable_de.txt @@ -481,6 +481,7 @@ SIGNAL_LED|HB_LED_COUNT ${stringTableHbLedCount} TEMPERATURE_OFFSET_1 ${stringTableHbTemperatureOffset1} TEMPERATURE_OFFSET_2 ${stringTableHbTemperatureOffset2} UNI_PRESSURE ${stringTableUniPressure} +WEATHER|HUMIDITY_OFFSET ${stringTableHbHumidityOffset} WEATHER|ANEMOMETER_CALIBRATION_FACTOR ${stringTableWeatherAnemometerCalibrationFactor} WEATHER|ANEMOMETER_RADIUS ${stringTableWeatherAnemometerRadius} WEATHER|BATTERY_VOLTAGE ${stringTableWeatherBatteryVoltage} diff --git a/patchsource/www/webui/js/lang/de/translate.lang.stringtable.js b/patchsource/www/webui/js/lang/de/translate.lang.stringtable.js index 27111b9f..557b6253 100755 --- a/patchsource/www/webui/js/lang/de/translate.lang.stringtable.js +++ b/patchsource/www/webui/js/lang/de/translate.lang.stringtable.js @@ -308,6 +308,7 @@ jQuery.extend(true,langJSON, { "stringTableHbActiveHsvColor" : "Beleuchtung Betrieb", "stringTableHbTemperatureOffset1" : "Temperatur-Offset Sensor 1", "stringTableHbTemperatureOffset2" : "Temperatur-Offset Sensor 2", + "stringTableHbHumidityOffset" : "Luftfeuchte-Offset", "stringTableHbFlowrate" : "Durchflussrate", "stringTableHbFlowrateQFactor" : "Flow-Sensor Q-Faktor", "stringTableJPWNDCTRLRunningTimeBottomTop" : "Fahrzeit von vollst%E4ndiger Kippstellung nach geschlossen", diff --git a/patchsource/www/webui/js/lang/en/translate.lang.stringtable.js b/patchsource/www/webui/js/lang/en/translate.lang.stringtable.js index 7efd381f..b6212068 100755 --- a/patchsource/www/webui/js/lang/en/translate.lang.stringtable.js +++ b/patchsource/www/webui/js/lang/en/translate.lang.stringtable.js @@ -135,6 +135,7 @@ jQuery.extend(true,langJSON, { "stringTableWeatherGustSpeed" : "Gust-Speed", "stringTableHbWeaTransmitInterval" : "Transmit Interval", "stringTableHbWeaAltitude" : "Height Above Sea Level", + "stringTableHbHumidityOffset" : "humidity offset", "stringTableCharacteristicHalfConstant" : "half/constant power", "stringTableCharacteristicLevelLimit" : "Level limitation", "stringTableCharacteristicLinSquareType" : "Output characteristic", diff --git a/patchsource/www/webui/webui.js b/patchsource/www/webui/webui.js index 6bdca238..0d54b026 100755 --- a/patchsource/www/webui/webui.js +++ b/patchsource/www/webui/webui.js @@ -160,6 +160,12 @@ DEV_DESCRIPTION['HB-UNI-Sen-WEA']='universeller Wetterdatensensor'; DEV_PATHS['HB-UNI-Sen-WEA'] = new Object(); DEV_PATHS['HB-UNI-Sen-WEA']['50'] = '/config/img/devices/50/hb-uni-sen-wea_thumb.png'; DEV_PATHS['HB-UNI-Sen-WEA']['250'] = '/config/img/devices/250/hb-uni-sen-wea.png'; +DEV_HIGHLIGHT['HB-GD-Sw1-THP-TS'] = new Object(); +DEV_LIST.push('HB-GD-Sw1-THP-TS'); +DEV_DESCRIPTION['HB-GD-Sw1-THP-TS']='Garagentor-Aktor, Kontaktschnittstelle und T/H/P-Daten'; +DEV_PATHS['HB-GD-Sw1-THP-TS'] = new Object(); +DEV_PATHS['HB-GD-Sw1-THP-TS']['50'] = '/config/img/devices/50/hb-gd-sw1-thp-ts_thumb.png'; +DEV_PATHS['HB-GD-Sw1-THP-TS']['250'] = '/config/img/devices/250/hb-gd-sw1-thp-ts.png'; DEV_HIGHLIGHT['HB-UNI-Sen-VOLT'] = new Object(); DEV_LIST.push('HB-UNI-Sen-VOLT'); DEV_DESCRIPTION['HB-UNI-Sen-VOLT']='universeller Spannungsmesser'; @@ -4552,6 +4558,7 @@ elvST['JPWNDCTRL|REFERENCE_RUN_COUNTER'] = '${stringTableBlindRefRunCounter}'; elvST['SIGNAL_LED|HB_LED_COUNT'] = '${stringTableHbLedCount}'; elvST['TEMPERATURE_OFFSET_1'] = '${stringTableHbTemperatureOffset1}'; elvST['TEMPERATURE_OFFSET_2'] = '${stringTableHbTemperatureOffset2}'; +elvST['WEATHER|HUMIDITY_OFFSET'] = '${stringTableHbHumidityOffset}'; elvST['WEATHER|ANEMOMETER_CALIBRATION_FACTOR'] = '${stringTableWeatherAnemometerCalibrationFactor}'; elvST['WEATHER|ANEMOMETER_RADIUS'] = '${stringTableWeatherAnemometerRadius}'; elvST['WEATHER|CAP_MOIST_HIGH_VALUE'] = '${stringTableHbCapMoistHighValue}'; diff --git a/src/addon/devdb.csv b/src/addon/devdb.csv index 43dfc19e..1734531f 100644 --- a/src/addon/devdb.csv +++ b/src/addon/devdb.csv @@ -5,6 +5,7 @@ HB-DIS-EP-42BW-MAINS;hb-dis-ep-42bw-mains HB-DIS-EP-75BW;hb-dis-ep-75bw HB-DIS-EP-75BW-MAINS;hb-dis-ep-75bw-mains HB-ES-PMSw1-USB;hb-es-pmsw1-usb +HB-GD-Sw1-THP-TS;hb-gd-sw1-thp-ts HB-IBUT-8;hb-ibut-8 HB-IR-Rcv-RC;hb-ir-rcv-rc HB-LC-Bl1-FM-BAT;7_hm-lc-bl1-fm diff --git a/src/addon/firmware/rftypes/hb-gd-sw1-thp-ts.xml b/src/addon/firmware/rftypes/hb-gd-sw1-thp-ts.xml new file mode 100644 index 00000000..969501b7 --- /dev/null +++ b/src/addon/firmware/rftypes/hb-gd-sw1-thp-ts.xml @@ -0,0 +1,713 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/addon/patch/common/stringtable_de.txt.patch b/src/addon/patch/common/stringtable_de.txt.patch index a55cba92..2896e072 100644 --- a/src/addon/patch/common/stringtable_de.txt.patch +++ b/src/addon/patch/common/stringtable_de.txt.patch @@ -1,6 +1,6 @@ --- ./patchsource/www/config/stringtable_de.txt.orig +++ ./patchsource/www/config/stringtable_de.txt -@@ -275,6 +275,248 @@ +@@ -275,6 +275,249 @@ CAPACITIVE_FILLING_LEVEL_SENSOR|CONTROLTEXT_CALC_FILLINGLEVEL ${stringTableCapacitiveFillingSensorTextCalcFillingLevel} CAPACITIVE_FILLING_LEVEL_SENSOR|CONTROLTEXT_FILLINGLEVEL ${stringTableCapacitiveFillingSensorTextFillingLevel} CAPACITIVE_FILLING_LEVEL_SENSOR|FILLING_LEVEL ${stringTableCapacitiveFillingSensorFillingLevel} @@ -210,6 +210,7 @@ +TEMPERATURE_OFFSET_1 ${stringTableHbTemperatureOffset1} +TEMPERATURE_OFFSET_2 ${stringTableHbTemperatureOffset2} +UNI_PRESSURE ${stringTableUniPressure} ++WEATHER|HUMIDITY_OFFSET ${stringTableHbHumidityOffset} +WEATHER|ANEMOMETER_CALIBRATION_FACTOR ${stringTableWeatherAnemometerCalibrationFactor} +WEATHER|ANEMOMETER_RADIUS ${stringTableWeatherAnemometerRadius} +WEATHER|BATTERY_VOLTAGE ${stringTableWeatherBatteryVoltage} diff --git a/src/addon/patch/common/translate.lang.stringtable.js.patch b/src/addon/patch/common/translate.lang.stringtable.js.patch index 8b3b0b71..b42e64eb 100644 --- a/src/addon/patch/common/translate.lang.stringtable.js.patch +++ b/src/addon/patch/common/translate.lang.stringtable.js.patch @@ -1,6 +1,6 @@ --- ./patchsource/www/webui/js/lang/de/translate.lang.stringtable.js.orig +++ ./patchsource/www/webui/js/lang/de/translate.lang.stringtable.js -@@ -109,6 +109,209 @@ +@@ -109,6 +109,210 @@ "stringTableCharacteristicCrossfade" : "Crossfade", "stringTableCharacteristicDim2Hot" : "Dim2Hot", "stringTableCharacteristicDim2Warm" : "Dim2Warm", @@ -203,6 +203,7 @@ + "stringTableHbActiveHsvColor" : "Beleuchtung Betrieb", + "stringTableHbTemperatureOffset1" : "Temperatur-Offset Sensor 1", + "stringTableHbTemperatureOffset2" : "Temperatur-Offset Sensor 2", ++ "stringTableHbHumidityOffset" : "Luftfeuchte-Offset", + "stringTableHbFlowrate" : "Durchflussrate", + "stringTableHbFlowrateQFactor" : "Flow-Sensor Q-Faktor", + "stringTableJPWNDCTRLRunningTimeBottomTop" : "Fahrzeit von vollst%E4ndiger Kippstellung nach geschlossen", diff --git a/src/addon/patch/common/webui.js.patch b/src/addon/patch/common/webui.js.patch index 1cd6f278..d4ed2cde 100644 --- a/src/addon/patch/common/webui.js.patch +++ b/src/addon/patch/common/webui.js.patch @@ -1,6 +1,6 @@ --- ./patchsource/www/webui/webui.js.orig +++ ./patchsource/www/webui/webui.js -@@ -88,6 +88,522 @@ +@@ -88,6 +88,528 @@ DEV_PATHS["HM-RC-4-3"] = new Object(); DEV_PATHS["HM-RC-4-3"]["50"] = "/config/img/devices/50/84_hm-rc-4-x_thumb.png"; DEV_PATHS["HM-RC-4-3"]["250"] = "/config/img/devices/250/84_hm-rc-4-3.png"; @@ -76,6 +76,12 @@ +DEV_PATHS['HB-UNI-Sen-WEA'] = new Object(); +DEV_PATHS['HB-UNI-Sen-WEA']['50'] = '/config/img/devices/50/hb-uni-sen-wea_thumb.png'; +DEV_PATHS['HB-UNI-Sen-WEA']['250'] = '/config/img/devices/250/hb-uni-sen-wea.png'; ++DEV_HIGHLIGHT['HB-GD-Sw1-THP-TS'] = new Object(); ++DEV_LIST.push('HB-GD-Sw1-THP-TS'); ++DEV_DESCRIPTION['HB-GD-Sw1-THP-TS']='Garagentor-Aktor, Kontaktschnittstelle und T/H/P-Daten'; ++DEV_PATHS['HB-GD-Sw1-THP-TS'] = new Object(); ++DEV_PATHS['HB-GD-Sw1-THP-TS']['50'] = '/config/img/devices/50/hb-gd-sw1-thp-ts_thumb.png'; ++DEV_PATHS['HB-GD-Sw1-THP-TS']['250'] = '/config/img/devices/250/hb-gd-sw1-thp-ts.png'; +DEV_HIGHLIGHT['HB-UNI-Sen-VOLT'] = new Object(); +DEV_LIST.push('HB-UNI-Sen-VOLT'); +DEV_DESCRIPTION['HB-UNI-Sen-VOLT']='universeller Spannungsmesser'; @@ -523,7 +529,7 @@ DEV_HIGHLIGHT["HM-RC-4-3"] = new Object(); DEV_HIGHLIGHT["HM-RC-4-3"]["arrow_part1"] = [6, 0.312, 0.288, 0.416, 0.288, 0.012]; DEV_HIGHLIGHT["HM-RC-4-3"]["arrow_part2"] = [6, 0.312, 0.288, 0.352, 0.248, 0.012]; -@@ -3843,6 +4359,223 @@ +@@ -3843,6 +4365,224 @@ elvST['CAPACITIVE_FILLING_LEVEL_SENSOR|CASE_HIGH'] = '${stringTableCapacitiveFillingSensorCaseHeight}'; elvST['CAPACITIVE_FILLING_LEVEL_SENSOR|CASE_LENGTH'] = '${stringTableCapacitiveFillingSensorCaseLength}'; elvST['CAPACITIVE_FILLING_LEVEL_SENSOR|CASE_WIDTH'] = '${stringTableCapacitiveFillingSensorCaseWidth}'; @@ -720,6 +726,7 @@ +elvST['SIGNAL_LED|HB_LED_COUNT'] = '${stringTableHbLedCount}'; +elvST['TEMPERATURE_OFFSET_1'] = '${stringTableHbTemperatureOffset1}'; +elvST['TEMPERATURE_OFFSET_2'] = '${stringTableHbTemperatureOffset2}'; ++elvST['WEATHER|HUMIDITY_OFFSET'] = '${stringTableHbHumidityOffset}'; +elvST['WEATHER|ANEMOMETER_CALIBRATION_FACTOR'] = '${stringTableWeatherAnemometerCalibrationFactor}'; +elvST['WEATHER|ANEMOMETER_RADIUS'] = '${stringTableWeatherAnemometerRadius}'; +elvST['WEATHER|CAP_MOIST_HIGH_VALUE'] = '${stringTableHbCapMoistHighValue}'; @@ -747,7 +754,7 @@ elvST['CAPACITIVE_FILLING_LEVEL_SENSOR|CONTROLTEXT_CALC_FILLINGLEVEL'] = '${stringTableCapacitiveFillingSensorTextCalcFillingLevel}'; elvST['CAPACITIVE_FILLING_LEVEL_SENSOR|CONTROLTEXT_FILLINGLEVEL'] = '${stringTableCapacitiveFillingSensorTextFillingLevel}'; elvST['CAPACITIVE_FILLING_LEVEL_SENSOR|FILLING_LEVEL'] = '${stringTableCapacitiveFillingSensorFillingLevel}'; -@@ -13664,7 +14397,7 @@ +@@ -13664,7 +14404,7 @@ // Check each line if the free text mode is active. // If yes switch on the appropriate text input field // and set the variable freeTextActive to true @@ -756,7 +763,7 @@ var jLine = jQuery("#textSelect_" + line), jCellFreeText = jQuery("#cellFreeText_"+line); -@@ -13680,7 +14413,7 @@ +@@ -13680,7 +14420,7 @@ // If at least one line has an active free text mode // we have to activate the placeholder for the other lines and the header (color and icon are moving up) if (freeTextActive) { @@ -765,7 +772,7 @@ var jLine = jQuery("#textSelect_" + line), jPlaceHolder = jQuery("#placeHolder_"+line); -@@ -13692,7 +14425,7 @@ +@@ -13692,7 +14432,7 @@ } } else { jHeadFreeText.hide().css("display", "none"); @@ -774,7 +781,7 @@ jQuery("#placeHolder_"+line).hide().css("display", "none"); } } -@@ -23560,6 +24293,24 @@ +@@ -23560,6 +24300,24 @@ this.setWidth(400); this.setFile( "/pages/msg/setOUCFMMode.htm" ); break; @@ -799,7 +806,7 @@ case ID_SET_STATUS_DISPLAY: this.setTitle( translateKey("dialogEnterValue") /*"Wert eingeben" */); this.addToPostBody( 'string type = "'+this.type+'";' ); -@@ -24363,6 +25114,9 @@ +@@ -24363,6 +25121,9 @@ ID_AUTO_LOGIN_CONFIG = 1018; ID_PROGRAM_CHOOSER = 1019; ID_EDIT_SYSVAR = 1021; @@ -809,7 +816,7 @@ ID_CHOOSE_LED = 1022; ID_SET_OUCFM_MODE = 1023; ID_SET_STATUS_DISPLAY = 1024; -@@ -36863,7 +37617,15 @@ +@@ -36863,7 +37624,15 @@ SetParameters ($F('global_iface'), channel_address, 'CHANNEL_'+i); actions++; } diff --git a/src/addon/www/config/img/devices/250/hb-gd-sw1-thp-ts.png b/src/addon/www/config/img/devices/250/hb-gd-sw1-thp-ts.png new file mode 100644 index 0000000000000000000000000000000000000000..66d0229b50784f1d50cf8f7fab391f46da34d062 GIT binary patch literal 10753 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�(TUPreRyQ>I}=kb;>C@W>mC|*Hz&QqqG ziti&HN>lg-0oQ`uQ!3;vt-q1>YfS_Et&B*S&TcGT*OFlZO{Q`}A#M>K@9S+mF)@R_ z^-cqXG!c!@&y1c^MO@G!c75*Ee{O{D7v+qmH&^j2y}~Oh{I=aZe>hg#^r6*YGyTJL zY17=2%2ZHy!3|US#RG{@{-J3cM{FQ_bf5a%H-)vK?O^7$iYG2j)w8^&)z2B;BX*50 zIeX|h{r=C(&*;Kl7s@gOGXOq7-ro?6;`jxS}8>>8+$u5p#U_ zXz75r6(@3Bi0Osucg?Lh1EgT8b)|uOvCFDeaK^wsD7!Lsl%pN`N%` zY*HE+S}q95y+5xY`(`k!weLZFD5Qf1F@!?7x8Wfoe_^VqBr%PNyRF(whYKPYx-LJ5 zld3{*q`{XGY#8u?dPN*XyP|+elyxPVUP(q;rZVv^n8q@KN(aenbaq2Wq=b8=IixJN z+YyI`ZmYj8o1~V7SGaVe$@zkY!24z&7=O|+nSrGY2itBM=E(T8PK=fvikXyX>A-jd z;yk{@QNwYeo=tKwhZPJ$6mDc+{pCkay&ytC6>8y>gov4Z>#^I|8vuy&xevP4=klvWL7O zar+a93Q;pzguqdKAMUA49!q@st=H-ZS^V_mo|59T+Z#@@R`>HCY=R+p;u?+8F3&R4 zc&iAoSGfZ5mkk-oN8|KP+f)7GSp5U{C|apF|Gw%|A1&)vqvQs`Mo#~~uACu3XCa|k Wg5&2i3G=tN9@Uhz6|3Z}-u^G^m;P=5 literal 0 HcmV?d00001 diff --git a/src/addon/www/config/img/devices/50/hb-gd-sw1-thp-ts_thumb.png b/src/addon/www/config/img/devices/50/hb-gd-sw1-thp-ts_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..e682727926c6b50f61d542b16e8865b7f4d40fe8 GIT binary patch literal 2294 zcmZuydpwkR7k}o)7>Pmdn=x#)VFs_<8iR2ijB=;3ZeuVpX3UICYh-c>UA)vw$|cKA z7uV=Qo0?386k0{-LROSzS(K<=`wVTpyPx;>e9m*u?>yh{Ip_QP{qf}P_HtD~X`uiB zP$0WG`GDR`YDgLIz1c3O5p)o)k1GkN@6mY!Zi?tZ7*bc@>00B`3U{VP901zzz zu@(b>J4E|S>;o|cpkN*i+Ma9%0RN1M2fcK)fCjSHeR6U#j*$?@rA4smI2I=c%)=@m zUwc$Qzwpf}U|(Yp2Q2$LYk*FU?H0@h03A=MK~fUgs$l*548I^=5XIAm#$w_kqF9l1 z9G}USvH$|#1`L^WUId2Ej8EX&@NKbc2pce#rtw(J8iW^Tiw&ae#yGM#bc_Yg1ZRRJ zqA(Z?ffE&N2)=Ow zSAV_8Uv-@5TpEYL<}p|a7-`*zNLCWh7K@cO`m)yNmH%7r>u?0Hx{V`;9>HUA{8+4b z;y*8xfd41rGns&w%Kabt>u0-`1rL{q0-1kZ6cII9F})1{WUyo>2ftXv^J2<*e}C1E z9o^@GBXy52zRe-}osTeQR5)?J#tHd&r>BZEtw6UU|1zYR;7xzT%owcPY=aQ&DF`h!}O zw?VJ`YxjTv(U76)v*1*eI=qXTrR@`3-Aqzb%cMbHZAT~9%m?rNi539Fw5SIU8l}3k zqjBD+>{pDY%hM3tn<`D&h@91;#o8!+4$(8p4yo;<^f-o$l&QnT0|#>mM`e<_|S7?6WmGFlJxi!V=} zUks^Ufb{a?tSRE^Pjm>yC8u1-ZBt4=Hr#O`_M2JRk!Nn5CSd~C&dyhoN92-A)pRvX zmfoTzX#|m1un_qm=bp;)70Hr>o*w9a*S&ZtrMlZAY^!-)lvZDLD?jX#m$7j{;XSzKFjhyM z- zPoT@;VpY-nj%ihK!LZe{_#=$)q^9K``UuB52~gP<%tXL|q@n8H)cd+lhZ@7kmMO)J zt!Y7lZ_* zw^Ue-gv!R>4q+3!LW#0FDI*np(TN{ZNhf-{UTo`tOWdvW;cfd)4>0>DM($YN*B!eZ zI?yy?;kbcbXf4pb;D#J4o=d+~tyjCPSzfnm5}q!qV~F}gW>_m{)bmiKI|Yz&=a==B zek&7C+tTc)cV&VgT``$_!{?PYPPPdryC|fKAFm%uy!y)8`viSTNnf~SsLG|+`rN!g z18!;67q-l>wP%OdGHdt5>R#avv!K+j%f0d` zYT1I8d@4empUpIE-~Y!T&hinaO$JldIU}k*aD(sf7^{4sb=k{56VmkPt&B+@y z$L$aCo|JSb+^M;3QK1u9-n1lm?y;mbUS|AZ%KW+qMk6oMHNH+C%EE6nG}wYx1E^8i zVyhvJH)pl6VY>(M8EE|CxE_uq@JHU|1KM^?I{dO|ehU01qKX%yL>*0L>F#p`)qh6TJL zzwFQazOSgoCP6#!smzL8+kt&G@f%}hVXh0#Dvo;8#p}LVemoQr=8$oota5kowA$N)Z3;%?6rDH# literal 0 HcmV?d00001