Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Error/Bug
  4. Alias auf Shelly - unerwartete Änderung des Aliastyps

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    2.0k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    927

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

Alias auf Shelly - unerwartete Änderung des Aliastyps

Geplant Angeheftet Gesperrt Verschoben Error/Bug
aliasshellysblockly
40 Beiträge 3 Kommentatoren 3.4k Aufrufe 2 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • I ioMas

    @iomas
    Kleiner Nachtrag das neustarten des Scriptes (nicht des adapters) ändert daran leider auc nichts

    I Offline
    I Offline
    ioMas
    schrieb am zuletzt editiert von
    #7

    @iomas
    Nachtrag 2, In der Adminoberfläche macht es keinen Unterschied ob ich konvertiere oder nicht in beiden Fällen wird entsprechend true oder false angezeigt, habe mich dennoch entschieden es wieder auf val=='on' zu setzen da das mit meiner Logik irgendwie mehr entspricht :?

    1 Antwort Letzte Antwort
    0
    • I ioMas

      @paul53
      Meinst du im Alias die Zeile 15 leeren "read": "val=='on'",?
      Im Admin Adapter stet dann direkt val, das kann man wohl nicht löschen.
      ich habe das jetzt mal getestet: allerdings ohne den javascriptadapter neu zu starten, ich hätte da ein anderes Ergebnis erwartet aber das folgende ist passiert:

      #case normal durch bewegungsmelder
      19:32:50.355	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 0: Bewegung
      19:32:50.357	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 0.1: Hinweise: Typ:boolean Wert ist: false
      19:32:50.357	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 1: erkanntfalse
      19:32:50.358	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 2: Licht ist aus
      19:32:50.361	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 3: kleiner Schwellwert->Licht anschalten
      19:33:22.338	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 0: Bewegung
      19:33:22.339	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 1: nicht erkannt
      19:33:50.366	debug	javascript.0 (783) script.js.EG.kueche.beweg2: X: Licht ausschalten
      
      #case durch beweg an durch manuelles schalten ausgeschaltet
      19:33:53.270	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 0: Bewegung
      19:33:53.270	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 0.1: Hinweise: Typ:boolean Wert ist: false
      19:33:53.271	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 1: erkanntfalse
      19:33:53.271	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 2: Licht ist aus
      19:33:53.272	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 3: kleiner Schwellwert->Licht anschalten
      19:34:25.254	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 0: Bewegung
      19:34:25.255	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 1: nicht erkannt
      19:34:53.274	debug	javascript.0 (783) script.js.EG.kueche.beweg2: X: Licht ausschalten
      19:35:36.111	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 0: Bewegung
      19:35:36.113	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 0.1: Hinweise: Typ:string Wert ist: off
      19:35:36.114	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 0.5: Bugfix wrong typestring Wert ist: off
      19:35:36.114	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 0.5b: aus
      19:35:36.115	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 1: erkanntfalse
      19:35:36.115	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 2: Licht ist aus
      19:35:36.117	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 3: kleiner Schwellwert->Licht anschalten
      19:36:08.093	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 0: Bewegung
      19:36:08.094	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 1: nicht erkannt
      19:36:36.122	debug	javascript.0 (783) script.js.EG.kueche.beweg2: X: Licht ausschalten
      

      das verhalten hat sich nicht geändert :? soll ich den js adapter einmal neu starten?

      paul53P Offline
      paul53P Offline
      paul53
      schrieb am zuletzt editiert von
      #8

      @iomas sagte: soll ich den js adapter einmal neu starten?

      Der Alias wird im js-controller verarbeitet.

      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

      I 1 Antwort Letzte Antwort
      0
      • paul53P paul53

        @iomas sagte: soll ich den js adapter einmal neu starten?

        Der Alias wird im js-controller verarbeitet.

        I Offline
        I Offline
        ioMas
        schrieb am zuletzt editiert von
        #9

        @paul53
        habe die readfunktionalität noch einmal entfernt und auch den js adapter neu gestartet leider mit gleichem Ergebnis.

        paul53P 1 Antwort Letzte Antwort
        0
        • I ioMas

          @paul53
          habe die readfunktionalität noch einmal entfernt und auch den js adapter neu gestartet leider mit gleichem Ergebnis.

          paul53P Offline
          paul53P Offline
          paul53
          schrieb am zuletzt editiert von
          #10

          @iomas sagte: js adapter neu gestartet

          Starte mal ioBroker neu.

          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

          I 1 Antwort Letzte Antwort
          0
          • paul53P paul53

            @iomas sagte: js adapter neu gestartet

            Starte mal ioBroker neu.

            I Offline
            I Offline
            ioMas
            schrieb am zuletzt editiert von
            #11

            @paul53
            hat leider nichts gebracht :(

            paul53P 1 Antwort Letzte Antwort
            0
            • I ioMas

              @paul53
              hat leider nichts gebracht :(

              paul53P Offline
              paul53P Offline
              paul53
              schrieb am zuletzt editiert von paul53
              #12

              @iomas sagte: hat leider nichts gebracht

              Noch ein Versuch: Ändere die Rolle des Alias in "switch".

              Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
              Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

              I 1 Antwort Letzte Antwort
              0
              • paul53P paul53

                @iomas sagte: hat leider nichts gebracht

                Noch ein Versuch: Ändere die Rolle des Alias in "switch".

                I Offline
                I Offline
                ioMas
                schrieb am zuletzt editiert von
                #13

                @paul53
                habe die Rolle in switch geändert leider bleibt es dabei, es wird ein string draus.

                paul53P 1 Antwort Letzte Antwort
                0
                • I ioMas

                  @paul53
                  habe die Rolle in switch geändert leider bleibt es dabei, es wird ein string draus.

                  paul53P Offline
                  paul53P Offline
                  paul53
                  schrieb am zuletzt editiert von
                  #14

                  @iomas sagte: bleibt es dabei, es wird ein string draus.

                  Mal InfluxDB auf dem Alias deaktiviert?

                  Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                  Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                  I 1 Antwort Letzte Antwort
                  0
                  • paul53P paul53

                    @iomas sagte: bleibt es dabei, es wird ein string draus.

                    Mal InfluxDB auf dem Alias deaktiviert?

                    I Offline
                    I Offline
                    ioMas
                    schrieb am zuletzt editiert von
                    #15

                    @paul53
                    InfluxDB abschalten hat leider keinen Einfluß auf das beschriebene Verhalten.

                    paul53P 1 Antwort Letzte Antwort
                    0
                    • I ioMas

                      @paul53
                      InfluxDB abschalten hat leider keinen Einfluß auf das beschriebene Verhalten.

                      paul53P Offline
                      paul53P Offline
                      paul53
                      schrieb am zuletzt editiert von paul53
                      #16

                      @iomas
                      Ich habe den Javascript-Code mal zum Testen übernommen, zwei Aliase und zwei MQTT-Datenpunkte erstellt und getestet: Ich erhalte immer nur:

                      0.1: Hinweise: Typ:boolean Wert ist: false
                      

                      oder true. Mit welchem Ablauf erscheint?

                      0.1: Hinweise: Typ:string Wert ist: off
                      

                      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                      1 Antwort Letzte Antwort
                      1
                      • I Offline
                        I Offline
                        ioMas
                        schrieb am zuletzt editiert von ioMas
                        #17

                        @paul53
                        Dieser erscheint wenn ich den shelly über die app frühzeitig ausschalte, also Licht geht an, ich schalte per App oder phsyikalisch den Schalter aus. Wenn danach erneut der Bewegungsmelder aktiviert wird, dann kommt es zu besagtem Wechsel des Typs.

                        paul53P 1 Antwort Letzte Antwort
                        0
                        • I ioMas

                          @paul53
                          Dieser erscheint wenn ich den shelly über die app frühzeitig ausschalte, also Licht geht an, ich schalte per App oder phsyikalisch den Schalter aus. Wenn danach erneut der Bewegungsmelder aktiviert wird, dann kommt es zu besagtem Wechsel des Typs.

                          paul53P Offline
                          paul53P Offline
                          paul53
                          schrieb am zuletzt editiert von paul53
                          #18

                          @iomas sagte in Alias auf Shelly - unerwartete Änderung des Aliastyps:

                          Licht geht an, ich schalte per App oder phsyikalisch den Schalter aus. Wenn danach erneut der Bewegungsmelder aktiviert wird

                          Habe ich mal nachgestellt:

                          16:49:48.115	info	javascript.1 (2077) script.js.common.Neuer_Test: 0: Bewegung
                          16:49:48.116	info	javascript.1 (2077) script.js.common.Neuer_Test: 0.1: Hinweise: Typ:boolean Wert ist: false
                          16:49:48.116	info	javascript.1 (2077) script.js.common.Neuer_Test: 1: erkanntfalse
                          16:49:48.117	info	javascript.1 (2077) script.js.common.Neuer_Test: 2: Licht ist aus
                          16:49:48.117	info	javascript.1 (2077) script.js.common.Neuer_Test: 3: kleiner Schwellwert->Licht anschalten
                          16:49:48.248	info	javascript.1 (2077) script.js.common.Neuer_Test: Alias: true, Ack: true, Skript: script.js.common.Shelly1
                          16:50:00.164	info	javascript.1 (2077) script.js.common.Neuer_Test: Alias: false, Ack: true, Skript: script.js.common.Shelly1
                          16:50:48.117	info	javascript.1 (2077) script.js.common.Neuer_Test: X: Licht ausschalten
                          16:50:48.176	info	javascript.1 (2077) script.js.common.Neuer_Test: Alias: false, Ack: true, Skript: script.js.common.Shelly1
                          16:51:02.813	info	javascript.1 (2077) script.js.common.Neuer_Test: 0: Bewegung
                          16:51:02.813	info	javascript.1 (2077) script.js.common.Neuer_Test: 0.1: Hinweise: Typ:boolean Wert ist: false
                          16:51:02.813	info	javascript.1 (2077) script.js.common.Neuer_Test: 1: erkanntfalse
                          16:51:02.813	info	javascript.1 (2077) script.js.common.Neuer_Test: 2: Licht ist aus
                          16:51:02.813	info	javascript.1 (2077) script.js.common.Neuer_Test: 3: kleiner Schwellwert->Licht anschalten
                          16:51:02.886	info	javascript.1 (2077) script.js.common.Neuer_Test: Alias: true, Ack: true, Skript: script.js.common.Shelly1
                          16:52:02.817	info	javascript.1 (2077) script.js.common.Neuer_Test: X: Licht ausschalten
                          16:52:02.916	info	javascript.1 (2077) script.js.common.Neuer_Test: Alias: false, Ack: true, Skript: script.js.common.Shelly1
                          

                          Der zusätzliche Log-Eintrag kommt aus dem Debug-Log auf dem Alias:

                          on({id: idLichtSchalter}, function(dp) {
                              log('Alias: ' + dp.state.val + ', Ack: ' + dp.state.ack + ', Skript: ' + dp.state.c);
                          });
                          

                          Was mir auffällt: Der Debug-Trigger liefert stets "Ack: true", d.h. auf das ursprüngliche Setzen mit ack = false reagiert der Trigger nicht. Allerdings reagiert das MQTT-Kommando:

                          17:25:49.123	info	javascript.1 (2077) script.js.common.Neuer_Test: X: Licht ausschalten
                          17:25:49.127	info	javascript.1 (2077) script.js.common.Neuer_Test: MQTT Command: off, Ack: false
                          17:25:49.180	info	javascript.1 (2077) script.js.common.Neuer_Test: Alias: false, Ack: true, Skript: script.js.common.Shelly1
                          

                          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                          I 2 Antworten Letzte Antwort
                          0
                          • paul53P paul53

                            @iomas sagte in Alias auf Shelly - unerwartete Änderung des Aliastyps:

                            Licht geht an, ich schalte per App oder phsyikalisch den Schalter aus. Wenn danach erneut der Bewegungsmelder aktiviert wird

                            Habe ich mal nachgestellt:

                            16:49:48.115	info	javascript.1 (2077) script.js.common.Neuer_Test: 0: Bewegung
                            16:49:48.116	info	javascript.1 (2077) script.js.common.Neuer_Test: 0.1: Hinweise: Typ:boolean Wert ist: false
                            16:49:48.116	info	javascript.1 (2077) script.js.common.Neuer_Test: 1: erkanntfalse
                            16:49:48.117	info	javascript.1 (2077) script.js.common.Neuer_Test: 2: Licht ist aus
                            16:49:48.117	info	javascript.1 (2077) script.js.common.Neuer_Test: 3: kleiner Schwellwert->Licht anschalten
                            16:49:48.248	info	javascript.1 (2077) script.js.common.Neuer_Test: Alias: true, Ack: true, Skript: script.js.common.Shelly1
                            16:50:00.164	info	javascript.1 (2077) script.js.common.Neuer_Test: Alias: false, Ack: true, Skript: script.js.common.Shelly1
                            16:50:48.117	info	javascript.1 (2077) script.js.common.Neuer_Test: X: Licht ausschalten
                            16:50:48.176	info	javascript.1 (2077) script.js.common.Neuer_Test: Alias: false, Ack: true, Skript: script.js.common.Shelly1
                            16:51:02.813	info	javascript.1 (2077) script.js.common.Neuer_Test: 0: Bewegung
                            16:51:02.813	info	javascript.1 (2077) script.js.common.Neuer_Test: 0.1: Hinweise: Typ:boolean Wert ist: false
                            16:51:02.813	info	javascript.1 (2077) script.js.common.Neuer_Test: 1: erkanntfalse
                            16:51:02.813	info	javascript.1 (2077) script.js.common.Neuer_Test: 2: Licht ist aus
                            16:51:02.813	info	javascript.1 (2077) script.js.common.Neuer_Test: 3: kleiner Schwellwert->Licht anschalten
                            16:51:02.886	info	javascript.1 (2077) script.js.common.Neuer_Test: Alias: true, Ack: true, Skript: script.js.common.Shelly1
                            16:52:02.817	info	javascript.1 (2077) script.js.common.Neuer_Test: X: Licht ausschalten
                            16:52:02.916	info	javascript.1 (2077) script.js.common.Neuer_Test: Alias: false, Ack: true, Skript: script.js.common.Shelly1
                            

                            Der zusätzliche Log-Eintrag kommt aus dem Debug-Log auf dem Alias:

                            on({id: idLichtSchalter}, function(dp) {
                                log('Alias: ' + dp.state.val + ', Ack: ' + dp.state.ack + ', Skript: ' + dp.state.c);
                            });
                            

                            Was mir auffällt: Der Debug-Trigger liefert stets "Ack: true", d.h. auf das ursprüngliche Setzen mit ack = false reagiert der Trigger nicht. Allerdings reagiert das MQTT-Kommando:

                            17:25:49.123	info	javascript.1 (2077) script.js.common.Neuer_Test: X: Licht ausschalten
                            17:25:49.127	info	javascript.1 (2077) script.js.common.Neuer_Test: MQTT Command: off, Ack: false
                            17:25:49.180	info	javascript.1 (2077) script.js.common.Neuer_Test: Alias: false, Ack: true, Skript: script.js.common.Shelly1
                            
                            I Offline
                            I Offline
                            ioMas
                            schrieb am zuletzt editiert von
                            #19

                            @paul53 said in Alias auf Shelly - unerwartete Änderung des Aliastyps:

                            on({id: idLichtSchalter}, function(dp) {

                            Ich habe mein Script mal um folgendes erweitert, analog zu deinem JS, hoffe ich...
                            5440c641-5f17-4b15-8f4c-984ede15e422-grafik.png

                            on({id: [].concat(idLichtSchalter), change: "ne"}, async function (obj) {
                              var value = obj.state.val;
                              var oldValue = obj.oldState.val;
                              console.debug((['Alias: ',(obj.state ? obj.state.val : ""),', Ack: ',(obj.state ? obj.state.ack : ""),', Skript: ',(obj.state ? obj.state.from : "")].join('')));
                            });
                            

                            ist was im blockly unter JS dazukam.
                            Die Ausgabe sieht bei mir danach wie folgt aus:

                            17:21:44.814	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0: Bewegung
                            17:21:44.815	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0.1: Hinweise: Typ:boolean Wert ist: false
                            17:21:44.815	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 1: erkanntfalse
                            17:21:44.817	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 2: Licht ist aus
                            17:21:44.821	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 3: kleiner Schwellwert->Licht anschalten
                            17:21:44.913	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: Alias: true, Ack: true, Skript: system.adapter.mqtt.0
                            17:22:03.022	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: Alias: false, Ack: true, Skript: system.adapter.mqtt.0
                            17:22:16.783	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0: Bewegung
                            17:22:16.784	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 1: nicht erkannt
                            17:22:44.823	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: X: Licht ausschalten
                            17:22:54.973	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0: Bewegung
                            17:22:54.974	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0.1: Hinweise: Typ:string Wert ist: off
                            17:22:54.974	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0.5: Bugfix wrong typestring Wert ist: off
                            17:22:54.974	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0.5b: aus
                            17:22:54.975	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 1: erkanntfalse
                            17:22:54.976	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 2: Licht ist aus
                            17:22:54.977	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 3: kleiner Schwellwert->Licht anschalten
                            17:22:55.046	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: Alias: true, Ack: true, Skript: system.adapter.mqtt.0
                            17:23:26.961	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0: Bewegung
                            17:23:26.962	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 1: nicht erkannt
                            17:23:54.979	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: X: Licht ausschalten
                            17:23:55.052	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: Alias: false, Ack: true, Skript: system.adapter.mqtt.0
                            

                            hilft das weiter?

                            paul53P 1 Antwort Letzte Antwort
                            0
                            • I ioMas

                              @paul53 said in Alias auf Shelly - unerwartete Änderung des Aliastyps:

                              on({id: idLichtSchalter}, function(dp) {

                              Ich habe mein Script mal um folgendes erweitert, analog zu deinem JS, hoffe ich...
                              5440c641-5f17-4b15-8f4c-984ede15e422-grafik.png

                              on({id: [].concat(idLichtSchalter), change: "ne"}, async function (obj) {
                                var value = obj.state.val;
                                var oldValue = obj.oldState.val;
                                console.debug((['Alias: ',(obj.state ? obj.state.val : ""),', Ack: ',(obj.state ? obj.state.ack : ""),', Skript: ',(obj.state ? obj.state.from : "")].join('')));
                              });
                              

                              ist was im blockly unter JS dazukam.
                              Die Ausgabe sieht bei mir danach wie folgt aus:

                              17:21:44.814	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0: Bewegung
                              17:21:44.815	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0.1: Hinweise: Typ:boolean Wert ist: false
                              17:21:44.815	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 1: erkanntfalse
                              17:21:44.817	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 2: Licht ist aus
                              17:21:44.821	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 3: kleiner Schwellwert->Licht anschalten
                              17:21:44.913	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: Alias: true, Ack: true, Skript: system.adapter.mqtt.0
                              17:22:03.022	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: Alias: false, Ack: true, Skript: system.adapter.mqtt.0
                              17:22:16.783	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0: Bewegung
                              17:22:16.784	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 1: nicht erkannt
                              17:22:44.823	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: X: Licht ausschalten
                              17:22:54.973	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0: Bewegung
                              17:22:54.974	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0.1: Hinweise: Typ:string Wert ist: off
                              17:22:54.974	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0.5: Bugfix wrong typestring Wert ist: off
                              17:22:54.974	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0.5b: aus
                              17:22:54.975	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 1: erkanntfalse
                              17:22:54.976	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 2: Licht ist aus
                              17:22:54.977	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 3: kleiner Schwellwert->Licht anschalten
                              17:22:55.046	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: Alias: true, Ack: true, Skript: system.adapter.mqtt.0
                              17:23:26.961	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0: Bewegung
                              17:23:26.962	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 1: nicht erkannt
                              17:23:54.979	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: X: Licht ausschalten
                              17:23:55.052	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: Alias: false, Ack: true, Skript: system.adapter.mqtt.0
                              

                              hilft das weiter?

                              paul53P Offline
                              paul53P Offline
                              paul53
                              schrieb am zuletzt editiert von paul53
                              #20

                              @iomas sagte: hilft das weiter?

                              Nicht wirklich. Ich kann das Verhalten mit "Wert ist: off" bei mir nicht nachstellen - bei gleichem Ablauf. Version des Hosts (js-controller)?
                              Außerdem triggert mein Debug-Trigger auf "wurde aktualisiert".

                              Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                              Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                              I 1 Antwort Letzte Antwort
                              0
                              • paul53P paul53

                                @iomas sagte: hilft das weiter?

                                Nicht wirklich. Ich kann das Verhalten mit "Wert ist: off" bei mir nicht nachstellen - bei gleichem Ablauf. Version des Hosts (js-controller)?
                                Außerdem triggert mein Debug-Trigger auf "wurde aktualisiert".

                                I Offline
                                I Offline
                                ioMas
                                schrieb am zuletzt editiert von
                                #21

                                @paul53
                                habe es auf aktualisiert geändert:
                                f1d217cb-bd75-4c31-a783-205b3f147578-grafik.png

                                on({id: [].concat(idLichtSchalter), change: "any"}, async function (obj) {
                                  var value = obj.state.val;
                                  var oldValue = obj.oldState.val;
                                  console.debug((['Alias: ',(obj.state ? obj.state.val : ""),', Ack: ',(obj.state ? obj.state.ack : ""),', Skript: ',(obj.state ? obj.state.from : "")].join('')));
                                });
                                

                                Debugausgabe:

                                17:36:35.502	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0: Bewegung
                                17:36:35.502	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0.1: Hinweise: Typ:boolean Wert ist: false
                                17:36:35.503	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 1: erkanntfalse
                                17:36:35.503	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 2: Licht ist aus
                                17:36:35.504	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 3: kleiner Schwellwert->Licht anschalten
                                17:36:35.588	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: Alias: true, Ack: true, Skript: system.adapter.mqtt.0
                                17:36:45.637	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: Alias: false, Ack: true, Skript: system.adapter.mqtt.0
                                17:37:07.496	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0: Bewegung
                                17:37:07.498	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 1: nicht erkannt
                                17:37:35.507	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: X: Licht ausschalten
                                17:37:49.309	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0: Bewegung
                                17:37:49.310	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0.1: Hinweise: Typ:string Wert ist: off
                                17:37:49.310	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0.5: Bugfix wrong typestring Wert ist: off
                                17:37:49.310	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0.5b: aus
                                17:37:49.310	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 1: erkanntfalse
                                17:37:49.310	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 2: Licht ist aus
                                17:37:49.311	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 3: kleiner Schwellwert->Licht anschalten
                                17:37:49.417	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: Alias: true, Ack: true, Skript: system.adapter.mqtt.0
                                17:38:21.305	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0: Bewegung
                                17:38:21.306	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 1: nicht erkannt
                                17:38:49.312	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: X: Licht ausschalten
                                17:38:49.425	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: Alias: false, Ack: true, Skript: system.adapter.mqtt.0
                                
                                

                                e30f3e69-2935-4d43-a5d8-122d7e17ab72-grafik.png

                                Host js sollt 4.0.24 sein.

                                paul53P 1 Antwort Letzte Antwort
                                0
                                • I ioMas

                                  @paul53
                                  habe es auf aktualisiert geändert:
                                  f1d217cb-bd75-4c31-a783-205b3f147578-grafik.png

                                  on({id: [].concat(idLichtSchalter), change: "any"}, async function (obj) {
                                    var value = obj.state.val;
                                    var oldValue = obj.oldState.val;
                                    console.debug((['Alias: ',(obj.state ? obj.state.val : ""),', Ack: ',(obj.state ? obj.state.ack : ""),', Skript: ',(obj.state ? obj.state.from : "")].join('')));
                                  });
                                  

                                  Debugausgabe:

                                  17:36:35.502	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0: Bewegung
                                  17:36:35.502	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0.1: Hinweise: Typ:boolean Wert ist: false
                                  17:36:35.503	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 1: erkanntfalse
                                  17:36:35.503	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 2: Licht ist aus
                                  17:36:35.504	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 3: kleiner Schwellwert->Licht anschalten
                                  17:36:35.588	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: Alias: true, Ack: true, Skript: system.adapter.mqtt.0
                                  17:36:45.637	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: Alias: false, Ack: true, Skript: system.adapter.mqtt.0
                                  17:37:07.496	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0: Bewegung
                                  17:37:07.498	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 1: nicht erkannt
                                  17:37:35.507	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: X: Licht ausschalten
                                  17:37:49.309	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0: Bewegung
                                  17:37:49.310	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0.1: Hinweise: Typ:string Wert ist: off
                                  17:37:49.310	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0.5: Bugfix wrong typestring Wert ist: off
                                  17:37:49.310	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0.5b: aus
                                  17:37:49.310	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 1: erkanntfalse
                                  17:37:49.310	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 2: Licht ist aus
                                  17:37:49.311	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 3: kleiner Schwellwert->Licht anschalten
                                  17:37:49.417	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: Alias: true, Ack: true, Skript: system.adapter.mqtt.0
                                  17:38:21.305	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0: Bewegung
                                  17:38:21.306	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 1: nicht erkannt
                                  17:38:49.312	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: X: Licht ausschalten
                                  17:38:49.425	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: Alias: false, Ack: true, Skript: system.adapter.mqtt.0
                                  
                                  

                                  e30f3e69-2935-4d43-a5d8-122d7e17ab72-grafik.png

                                  Host js sollt 4.0.24 sein.

                                  paul53P Offline
                                  paul53P Offline
                                  paul53
                                  schrieb am zuletzt editiert von
                                  #22

                                  @iomas sagte: Debugausgabe:

                                  Wie bei mir - außer der Typänderung in String mit "off".

                                  @iomas sagte in Alias auf Shelly - unerwartete Änderung des Aliastyps:

                                  Host js sollt 4.0.24 sein.

                                  Bei mir auch. An der Version kann es nicht liegen. Ich nutze allerdings noch Node.js 16.

                                  Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                  Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                  1 Antwort Letzte Antwort
                                  0
                                  • paul53P paul53

                                    @iomas sagte in Alias auf Shelly - unerwartete Änderung des Aliastyps:

                                    Licht geht an, ich schalte per App oder phsyikalisch den Schalter aus. Wenn danach erneut der Bewegungsmelder aktiviert wird

                                    Habe ich mal nachgestellt:

                                    16:49:48.115	info	javascript.1 (2077) script.js.common.Neuer_Test: 0: Bewegung
                                    16:49:48.116	info	javascript.1 (2077) script.js.common.Neuer_Test: 0.1: Hinweise: Typ:boolean Wert ist: false
                                    16:49:48.116	info	javascript.1 (2077) script.js.common.Neuer_Test: 1: erkanntfalse
                                    16:49:48.117	info	javascript.1 (2077) script.js.common.Neuer_Test: 2: Licht ist aus
                                    16:49:48.117	info	javascript.1 (2077) script.js.common.Neuer_Test: 3: kleiner Schwellwert->Licht anschalten
                                    16:49:48.248	info	javascript.1 (2077) script.js.common.Neuer_Test: Alias: true, Ack: true, Skript: script.js.common.Shelly1
                                    16:50:00.164	info	javascript.1 (2077) script.js.common.Neuer_Test: Alias: false, Ack: true, Skript: script.js.common.Shelly1
                                    16:50:48.117	info	javascript.1 (2077) script.js.common.Neuer_Test: X: Licht ausschalten
                                    16:50:48.176	info	javascript.1 (2077) script.js.common.Neuer_Test: Alias: false, Ack: true, Skript: script.js.common.Shelly1
                                    16:51:02.813	info	javascript.1 (2077) script.js.common.Neuer_Test: 0: Bewegung
                                    16:51:02.813	info	javascript.1 (2077) script.js.common.Neuer_Test: 0.1: Hinweise: Typ:boolean Wert ist: false
                                    16:51:02.813	info	javascript.1 (2077) script.js.common.Neuer_Test: 1: erkanntfalse
                                    16:51:02.813	info	javascript.1 (2077) script.js.common.Neuer_Test: 2: Licht ist aus
                                    16:51:02.813	info	javascript.1 (2077) script.js.common.Neuer_Test: 3: kleiner Schwellwert->Licht anschalten
                                    16:51:02.886	info	javascript.1 (2077) script.js.common.Neuer_Test: Alias: true, Ack: true, Skript: script.js.common.Shelly1
                                    16:52:02.817	info	javascript.1 (2077) script.js.common.Neuer_Test: X: Licht ausschalten
                                    16:52:02.916	info	javascript.1 (2077) script.js.common.Neuer_Test: Alias: false, Ack: true, Skript: script.js.common.Shelly1
                                    

                                    Der zusätzliche Log-Eintrag kommt aus dem Debug-Log auf dem Alias:

                                    on({id: idLichtSchalter}, function(dp) {
                                        log('Alias: ' + dp.state.val + ', Ack: ' + dp.state.ack + ', Skript: ' + dp.state.c);
                                    });
                                    

                                    Was mir auffällt: Der Debug-Trigger liefert stets "Ack: true", d.h. auf das ursprüngliche Setzen mit ack = false reagiert der Trigger nicht. Allerdings reagiert das MQTT-Kommando:

                                    17:25:49.123	info	javascript.1 (2077) script.js.common.Neuer_Test: X: Licht ausschalten
                                    17:25:49.127	info	javascript.1 (2077) script.js.common.Neuer_Test: MQTT Command: off, Ack: false
                                    17:25:49.180	info	javascript.1 (2077) script.js.common.Neuer_Test: Alias: false, Ack: true, Skript: script.js.common.Shelly1
                                    
                                    I Offline
                                    I Offline
                                    ioMas
                                    schrieb am zuletzt editiert von
                                    #23

                                    @paul53 said in Alias auf Shelly - unerwartete Änderung des Aliastyps:

                                    Was mir auffällt: Der Debug-Trigger liefert stets "Ack: true", d.h. auf das ursprüngliche Setzen mit ack = false reagiert der Trigger nicht. Allerdings reagiert das MQTT-Kommando:

                                    Da bin ich tatsächlich noch am schwimmen, bin erst seit Anfang des Monats dabei und habe diese Woche noch dazu ein Video angeschaut...

                                    paul53P 1 Antwort Letzte Antwort
                                    0
                                    • I ioMas

                                      @paul53 said in Alias auf Shelly - unerwartete Änderung des Aliastyps:

                                      Was mir auffällt: Der Debug-Trigger liefert stets "Ack: true", d.h. auf das ursprüngliche Setzen mit ack = false reagiert der Trigger nicht. Allerdings reagiert das MQTT-Kommando:

                                      Da bin ich tatsächlich noch am schwimmen, bin erst seit Anfang des Monats dabei und habe diese Woche noch dazu ein Video angeschaut...

                                      paul53P Offline
                                      paul53P Offline
                                      paul53
                                      schrieb am zuletzt editiert von
                                      #24

                                      @iomas sagte: Da bin ich tatsächlich noch am schwimmen

                                      Dieses Verhalten ist offenbar nur bei Alias-DP mit getrennten IDs für Status und Kommando so: Es wird nur auf den Status getriggert.

                                      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                      I 2 Antworten Letzte Antwort
                                      1
                                      • paul53P paul53

                                        @iomas sagte: Da bin ich tatsächlich noch am schwimmen

                                        Dieses Verhalten ist offenbar nur bei Alias-DP mit getrennten IDs für Status und Kommando so: Es wird nur auf den Status getriggert.

                                        I Offline
                                        I Offline
                                        ioMas
                                        schrieb am zuletzt editiert von ioMas
                                        #25

                                        @paul53
                                        Ich habe jetzt mal umgestellt auf 2 Aliase, einen auf lesen (EGKuecheFensterLichtRead) einen auf schreiben(EGKuecheFensterLichtWrite). Das JS von Blockly sieht nun so aus:

                                        var LichtNachdetektionAnbleiben, schwellWertLicht, idLichtSchalterWrite, LichtDurchBewegAn, idLichtSchalterRead, lichtIstAn, verl_C3_A4ngerungLicht, initLichtAus;
                                        
                                        // Beschreibe diese Funktion …
                                        async function Licht_ausschalten() {
                                          console.debug('X: Licht ausschalten');
                                          LichtDurchBewegAn = false;
                                          setStateDelayed(idLichtSchalterWrite, false, false, parseInt(((0) || "").toString(), 10), false);
                                        }
                                        
                                        
                                        LichtNachdetektionAnbleiben = 60000;
                                        schwellWertLicht = getState("0_userdata.0.Technik.EG.Kueche.EGKuecheFensterBeweg.BrigthnessSchwellwert").val;
                                        idLichtSchalterWrite = 'alias.0.eg.Kueche.EGKuecheFensterLichtWrite';
                                        idLichtSchalterRead = 'alias.0.eg.Kueche.EGKuecheFensterLichtRead';
                                        LichtDurchBewegAn = false;
                                        on({id: "alias.0.eg.Kueche.EGKuecheFensterBeweg"/*EGKuecheFensterBeweg*/, change: "any", ack: true}, async function (obj) {
                                          var value = obj.state.val;
                                          var oldValue = obj.oldState.val;
                                          console.debug('0: Bewegung ');
                                          if ((obj.state ? obj.state.val : "")) {
                                            lichtIstAn = getState(idLichtSchalterRead).val;
                                            console.debug((['0.1: Hinweise: Typ:',typeof lichtIstAn,' Wert ist: ',lichtIstAn].join('')));
                                            if (true && typeof lichtIstAn != 'boolean') {
                                              console.debug((['0.5: Bugfix wrong type',typeof lichtIstAn,' Wert ist: ',lichtIstAn].join('')));
                                              if (lichtIstAn == 'on') {
                                                lichtIstAn = true;
                                                console.debug('0.5a: an');
                                              } else {
                                                lichtIstAn = false;
                                                console.debug('0.5b: aus');
                                              }
                                            }
                                            console.debug(('1: erkannt' + String(lichtIstAn)));
                                            if (lichtIstAn) {
                                              console.debug('2: Licht ist bereits an');
                                              if (LichtDurchBewegAn) {
                                                console.debug('3: verlängere Lichtdauer');
                                                (function () {if (initLichtAus) {clearTimeout(initLichtAus); initLichtAus = null;}})();
                                                (function () {if (verl_C3_A4ngerungLicht) {clearTimeout(verl_C3_A4ngerungLicht); verl_C3_A4ngerungLicht = null;}})();
                                                verl_C3_A4ngerungLicht = setTimeout(async function () {
                                                  await Licht_ausschalten();
                                                }, parseInt(LichtNachdetektionAnbleiben));
                                              } else {
                                                console.debug('3:nothing2do Licht nicht durch Algo gesetzt');
                                              }
                                            } else {
                                              console.debug('2: Licht ist aus');
                                              if (getState("alias.0.eg.Kueche.EGKuecheFensterBewegLux").val < schwellWertLicht) {
                                                console.debug('3: kleiner Schwellwert->Licht anschalten');
                                                LichtDurchBewegAn = true;
                                                setStateDelayed(idLichtSchalterWrite, true, false, parseInt(((0) || "").toString(), 10), false);
                                                initLichtAus = setTimeout(async function () {
                                                  await Licht_ausschalten();
                                                }, parseInt(LichtNachdetektionAnbleiben));
                                              } else {
                                                console.debug('3: größer Schwellwert');
                                              }
                                            }
                                          } else {
                                            console.debug('1: nicht erkannt');
                                          }
                                        });
                                        on({id: [].concat(idLichtSchalterRead), change: "any"}, async function (obj) {
                                          var value = obj.state.val;
                                          var oldValue = obj.oldState.val;
                                          console.debug((['AliasRead: ',(obj.state ? obj.state.val : ""),', Ack: ',(obj.state ? obj.state.ack : ""),', Skript: ',(obj.state ? obj.state.from : "")].join('')));
                                        });
                                        on({id: [].concat(idLichtSchalterWrite), change: "any"}, async function (obj) {
                                          var value = obj.state.val;
                                          var oldValue = obj.oldState.val;
                                          console.debug((['AliasWrite: ',(obj.state ? obj.state.val : ""),', Ack: ',(obj.state ? obj.state.ack : ""),', Skript: ',(obj.state ? obj.state.from : "")].join('')));
                                        });
                                        
                                        //JTNDeG1sJTIweG1sbnMlM0QlMjJodHRwcyUzQSUyRiUyRmRldmVsb3BlcnMuZ29vZ2xlLmNvbSUyRmJsb2NrbHklMkZ4bWwlMjIlM0UlM0N2YXJpYWJsZXMlM0UlM0N2YXJpYWJsZSUyMGlkJTNEJTIyJTNBTiU1QmNJJTNGJTdEMiU3Qjh3ZHZmJTNGOGM0VyolMjIlM0VMaWNodE5hY2hkZXRla3Rpb25BbmJsZWliZW4lM0MlMkZ2YXJpYWJsZSUzRSUzQ3ZhcmlhYmxlJTIwaWQlM0QlMjJofiU3RHQ5TUxMJTVEaXRfViU3Q1ZSWTNNJTI1JTIyJTNFc2Nod2VsbFdlcnRMaWNodCUzQyUyRnZhcmlhYmxlJTNFJTNDdmFyaWFibGUlMjBpZCUzRCUyMjklMjRLaHElNjBaJTNGIUhMWSUzQTdFcmclM0R0bCUyMiUzRWlkTGljaHRTY2hhbHRlcldyaXRlJTNDJTJGdmFyaWFibGUlM0UlM0N2YXJpYWJsZSUyMGlkJTNEJTIyTiklMkIqMX4zWlNsbSpkeGZlaCU2MCU1QkUlMjIlM0VMaWNodER1cmNoQmV3ZWdBbiUzQyUyRnZhcmlhYmxlJTNFJTNDdmFyaWFibGUlMjBpZCUzRCUyMi1uJTVCX1duJTdDOHElN0RMbGhYZmslNDBrKCU1QiUyMiUzRWlkTGljaHRTY2hhbHRlclJlYWQlM0MlMkZ2YXJpYWJsZSUzRSUzQ3ZhcmlhYmxlJTIwaWQlM0QlMjJyaCUyMyUyRk5iSCUzRlYuSk5xYyUyM1RyUCU3QyU1RCUyMiUzRWxpY2h0SXN0QW4lM0MlMkZ2YXJpYWJsZSUzRSUzQ3ZhcmlhYmxlJTIwdHlwZSUzRCUyMnRpbWVvdXQlMjIlMjBpZCUzRCUyMnZlcmwlQzMlQTRuZ2VydW5nTGljaHQlMjIlM0V2ZXJsJUMzJUE0bmdlcnVuZ0xpY2h0JTNDJTJGdmFyaWFibGUlM0UlM0N2YXJpYWJsZSUyMHR5cGUlM0QlMjJ0aW1lb3V0JTIyJTIwaWQlM0QlMjJpbml0TGljaHRBdXMlMjIlM0Vpbml0TGljaHRBdXMlM0MlMkZ2YXJpYWJsZSUzRSUzQyUyRnZhcmlhYmxlcyUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19zZXQlMjIlMjBpZCUzRCUyMiotJTNGSCU2MFduNGdEJTdEMF8pKTdZb2REJTIyJTIweCUzRCUyMjE2MyUyMiUyMHklM0QlMjIxMyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyJTNBTiU1QmNJJTNGJTdEMiU3Qjh3ZHZmJTNGOGM0VyolMjIlM0VMaWNodE5hY2hkZXRla3Rpb25BbmJsZWliZW4lM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybWF0aF9udW1iZXIlMjIlMjBpZCUzRCUyMnB1NlUuQyUyM1dSYlAlNURQOShNeCU0MC1LJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTlVNJTIyJTNFNjAwMDAlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX3NldCUyMiUyMGlkJTNEJTIyJTJDZzZhfjh1ciUyRk9tYSUzRGRWRjMlNUR4JTVCJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJofiU3RHQ5TUxMJTVEaXRfViU3Q1ZSWTNNJTI1JTIyJTNFc2Nod2VsbFdlcnRMaWNodCUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJnZXRfdmFsdWUlMjIlMjBpZCUzRCUyMnZoQ3dnLTlsM01vQ2lUVk0lN0JnNDglMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJBVFRSJTIyJTNFdmFsJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPSUQlMjIlM0UwX3VzZXJkYXRhLjAuVGVjaG5pay5FRy5LdWVjaGUuRUdLdWVjaGVGZW5zdGVyQmV3ZWcuQnJpZ3RobmVzc1NjaHdlbGx3ZXJ0JTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19zZXQlMjIlMjBpZCUzRCUyMjlGQiUyMyU3REV1JTVEbVBzNndDJTVEUSUzREopJTJCJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjI5JTI0S2hxJTYwWiUzRiFITFklM0E3RXJnJTNEdGwlMjIlM0VpZExpY2h0U2NoYWx0ZXJXcml0ZSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJmaWVsZF9vaWQlMjIlMjBpZCUzRCUyMnNMJTIzKiolMjRFayUyNSU1RFhBaGVUTzcoNV8lMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJvaWQlMjIlM0VhbGlhcy4wLmVnLkt1ZWNoZS5FR0t1ZWNoZUZlbnN0ZXJMaWNodFdyaXRlJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19zZXQlMjIlMjBpZCUzRCUyMiUyNCU3Q21MdShnJTdDN0ghT3p6MERfZHFqJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjItbiU1Ql9XbiU3QzhxJTdETGxoWGZrJTQwayglNUIlMjIlM0VpZExpY2h0U2NoYWx0ZXJSZWFkJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmZpZWxkX29pZCUyMiUyMGlkJTNEJTIyaVZyJTNBMDIlM0J3JTdDNCUzRCUzQjE0NE5Yd1VZJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyb2lkJTIyJTNFYWxpYXMuMC5lZy5LdWVjaGUuRUdLdWVjaGVGZW5zdGVyTGljaHRSZWFkJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19zZXQlMjIlMjBpZCUzRCUyMiU1QnNNNUMhaHllJTdDNkV+SWxZajU5biUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyTiklMkIqMX4zWlNsbSpkeGZlaCU2MCU1QkUlMjIlM0VMaWNodER1cmNoQmV3ZWdBbiUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJsb2dpY19ib29sZWFuJTIyJTIwaWQlM0QlMjJfcyUyQiU3QiU0MGElMkNkc2ZPJTVEJTVEKkl3TlkzJTVEJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQk9PTCUyMiUzRUZBTFNFJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMm9uJTIyJTIwaWQlM0QlMjJ1MSpsOClHUkElM0ZQQmolNUJSQTBhJTI0UyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9JRCUyMiUzRWFsaWFzLjAuZWcuS3VlY2hlLkVHS3VlY2hlRmVuc3RlckJld2VnJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJDT05ESVRJT04lMjIlM0VhbnklM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkFDS19DT05ESVRJT04lMjIlM0V0cnVlJTNDJTJGZmllbGQlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyU1RBVEVNRU5UJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyZGVidWclMjIlMjBpZCUzRCUyMllhUWElN0IlNURyVTlMeGh3WHJXJTI0RiUyNX4lMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJTZXZlcml0eSUyMiUzRWRlYnVnJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJURVhUJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMnRleHQlMjIlMjBpZCUzRCUyMnRFMClqc3MlMkZTTEhKeWQlM0YuTGkxRyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UwJTNBJTIwQmV3ZWd1bmclMjAlM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbnRyb2xzX2lmJTIyJTIwaWQlM0QlMjIxSW03JTNGS2J1VSUzQSUzQmMlN0MpYyUzQiUyNWRUJTJCJTIyJTNFJTNDbXV0YXRpb24lMjBlbHNlJTNEJTIyMSUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIySUYwJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyb25fc291cmNlJTIyJTIwaWQlM0QlMjIpJTI0LW4lNURZJTNCX0trWTMlMjVNKnFBOVRMJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQVRUUiUyMiUzRXN0YXRlLnZhbCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJETzAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfc2V0JTIyJTIwaWQlM0QlMjJmJTNEVWYlNUJ0WE54T2t5c3Z5JTVFa1g0dyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIycmglMjMlMkZOYkglM0ZWLkpOcWMlMjNUclAlN0MlNUQlMjIlM0VsaWNodElzdEFuJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmdldF92YWx1ZV92YXIlMjIlMjBpZCUzRCUyMiUzRDglNDBpeSU0MEg0bWMpSVUlNUVJdiU1RDZjYSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkFUVFIlMjIlM0V2YWwlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMk9JRCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjJXOS5HM3QlM0ZmOSUzRHJ2T0g2Y1FqRiglMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjJOTWl2JTNEJTIzJTJCKSU3QyUyNSU0MCUyQyhYa0gtKVN+JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjItbiU1Ql9XbiU3QzhxJTdETGxoWGZrJTQwayglNUIlMjIlM0VpZExpY2h0U2NoYWx0ZXJSZWFkJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJkZWJ1ZyUyMiUyMGlkJTNEJTIyJTVEb29OKTMyWCU3RG0lM0ZmVjA1NSlLRCUzRCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlNldmVyaXR5JTIyJTNFZGVidWclM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIydGV4dCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UlM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRleHRfam9pbiUyMiUyMGlkJTNEJTIyJTVEanp5KU00dXFDQSUyM0ljR35HZ1VzJTIyJTNFJTNDbXV0YXRpb24lMjBpdGVtcyUzRCUyMjQlMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkFERDAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjIlM0R5JTIzeVolMkYyNDUlMjMlMjUlN0RNIWdTNFclMkIoJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRTAuMSUzQSUyMEhpbndlaXNlJTNBJTIwVHlwJTNBJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQUREMSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbnZlcnRfdHlwZSUyMiUyMGlkJTNEJTIyaiUzQmklMjQyWkpZUGolMjRoISUzRCUyRmZmOUctJTIyJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIySVRFTSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19nZXQlMjIlMjBpZCUzRCUyMlB0TWJrJTYwJTQwJTVEJTNEJTJDJTdCRV9VM0F6bWpmJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJyaCUyMyUyRk5iSCUzRlYuSk5xYyUyM1RyUCU3QyU1RCUyMiUzRWxpY2h0SXN0QW4lM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQUREMiUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRleHQlMjIlMjBpZCUzRCUyMiUzQSUzRiU3QkhUJTJGcDBrYyU1RVpzUm5TQkElM0JJJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRSUyMFdlcnQlMjBpc3QlM0ElMjAlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBREQzJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIyU1BfdFYlNjBuR3V+Mm9relMlNURTMDAlN0MlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMnJoJTIzJTJGTmJIJTNGVi5KTnFjJTIzVHJQJTdDJTVEJTIyJTNFbGljaHRJc3RBbiUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29udHJvbHNfaWYlMjIlMjBpZCUzRCUyMndHaSU3QmIlN0N3JTNCQU4xLi1sJTVCKnk4eHElMjIlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJJRjAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJsb2dpY19vcGVyYXRpb24lMjIlMjBpZCUzRCUyMkI0JTVEKTQxVXUlM0QqdGx6IWYqZCUyMyUyRiUyRiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9QJTIyJTNFQU5EJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybG9naWNfYm9vbGVhbiUyMiUyMGlkJTNEJTIyeDdmcV9VZkVxJTNCLiUyNFZTJTVEJTI0TUFUMSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkJPT0wlMjIlM0VUUlVFJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQiUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmxvZ2ljX2NvbXBhcmUlMjIlMjBpZCUzRCUyMkdHJTdEVUMpJTI1OCUyRmg4cU4zcXRuUmVtJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT1AlMjIlM0VORVElM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkElMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb252ZXJ0X3R5cGUlMjIlMjBpZCUzRCUyMipHJTQwJTNGUiE2dCUyQiUzQWJjSFAzJTNEKXolM0E4JTIyJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIySVRFTSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19nZXQlMjIlMjBpZCUzRCUyMiUyQm9KOCU2MDRPNWYuejlnc1ElM0E1JTdDRTMlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMnJoJTIzJTJGTmJIJTNGVi5KTnFjJTIzVHJQJTdDJTVEJTIyJTNFbGljaHRJc3RBbiUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJCJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydGV4dCUyMiUyMGlkJTNEJTIyJTJCaHRLKiU3Qn4lNDBVc3pwJTVEcktNVSp6QSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0Vib29sZWFuJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyRE8wJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyZGVidWclMjIlMjBpZCUzRCUyMmlzdmFvek5rSyUyNCU3Q3p2MiUzRDBqYX5hJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyU2V2ZXJpdHklMjIlM0VkZWJ1ZyUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRSUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydGV4dF9qb2luJTIyJTIwaWQlM0QlMjI3JTYwciFoJTNEQmFQejFrRW5QaG9+JTIzJTI1JTIyJTNFJTNDbXV0YXRpb24lMjBpdGVtcyUzRCUyMjQlMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkFERDAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjJuaGtQcXRDYXZTOEMlNjBhS2FGRjBPJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRTAuNSUzQSUyMEJ1Z2ZpeCUyMHdyb25nJTIwdHlwZSUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkFERDElMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb252ZXJ0X3R5cGUlMjIlMjBpZCUzRCUyMiooJTIzWCUyQmN4KCpEeSU0ME1FeiUzQnElNUUuQSUyMiUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMklURU0lMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjJ5YWU1OCU1RChwRGsxJTVFJTdDJTI0biU1QjFiNSU1RSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIycmglMjMlMkZOYkglM0ZWLkpOcWMlMjNUclAlN0MlNUQlMjIlM0VsaWNodElzdEFuJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkFERDIlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjJpbWNUZkgwVjNiJTIzKX4lNURjOCU3RCpZKiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UlMjBXZXJ0JTIwaXN0JTNBJTIwJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQUREMyUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19nZXQlMjIlMjBpZCUzRCUyMi55THAlNURSJTI1QmR0biU2MCUzREMlN0Q1VENKTSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIycmglMjMlMkZOYkglM0ZWLkpOcWMlMjNUclAlN0MlNUQlMjIlM0VsaWNodElzdEFuJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb250cm9sc19pZiUyMiUyMGlkJTNEJTIyc19mWEMyJTQwcnRpV04lMjNiSlQ0Z0JKJTIyJTNFJTNDbXV0YXRpb24lMjBlbHNlJTNEJTIyMSUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIySUYwJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybG9naWNfY29tcGFyZSUyMiUyMGlkJTNEJTIydyUzQkglMjN5SDNhZSU1RHolM0RsMiU1RVJJNColMjMlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPUCUyMiUzRUVRJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIyJTVFeTVnTHYlNUUtJTQwZWYlM0Y0NWtWVnVyMCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIycmglMjMlMkZOYkglM0ZWLkpOcWMlMjNUclAlN0MlNUQlMjIlM0VsaWNodElzdEFuJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQiUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRleHQlMjIlMjBpZCUzRCUyMk5PJTVCVihxJTNCJTIzZC05U1NUJTJGMG1PYiUzRCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0VvbiUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyRE8wJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX3NldCUyMiUyMGlkJTNEJTIyVkJXbCU2MGclMkMlM0ElNjBVMSUyQjYlM0ZDIV96VWElMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMnJoJTIzJTJGTmJIJTNGVi5KTnFjJTIzVHJQJTdDJTVEJTIyJTNFbGljaHRJc3RBbiUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJsb2dpY19ib29sZWFuJTIyJTIwaWQlM0QlMjIzYiFtKCUyNEJqJTI0NnJxbCUyNVQlN0RoRkd6JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQk9PTCUyMiUzRVRSVUUlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyZGVidWclMjIlMjBpZCUzRCUyMiUzRCUyNH44YiU3QiFYZDZ6emIzKXNqR2tjJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyU2V2ZXJpdHklMjIlM0VkZWJ1ZyUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjJlJTdDYUklMkZJSyU3QkklNUVGQUtJNnIuLTcyJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRTAuNWElM0ElMjBhbiUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJFTFNFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX3NldCUyMiUyMGlkJTNEJTIyaSU0MCU3RHFrUngpflB4LlElN0R3OGUlMkMyRiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIycmglMjMlMkZOYkglM0ZWLkpOcWMlMjNUclAlN0MlNUQlMjIlM0VsaWNodElzdEFuJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmxvZ2ljX2Jvb2xlYW4lMjIlMjBpZCUzRCUyMk5kdGtLWlJ0dU5UWDFYJTVCMmlyZUYlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJCT09MJTIyJTNFRkFMU0UlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyZGVidWclMjIlMjBpZCUzRCUyMiUyM0YlNUUhfn5VSEY3ODFHaTUzQyU2MCFkJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyU2V2ZXJpdHklMjIlM0VkZWJ1ZyUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjJOaWN2T0VVLTglMkZENmdlQ0wlMkMlMjVWbiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UwLjViJTNBJTIwYXVzJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyZGVidWclMjIlMjBpZCUzRCUyMl9GNEFzSSolN0QzJTdDMiU3QiUyM0YlNDAlNUJlMDkyJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyU2V2ZXJpdHklMjIlM0VkZWJ1ZyUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjJka2xVODFEbTFtSzFINHJpJTVFJTdCdColMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ0ZXh0X2pvaW4lMjIlMjBpZCUzRCUyMjl1Si5qZmNNRC0lN0IlN0MlMkMlM0QlMkZMMXJ4OSUyMiUzRSUzQ211dGF0aW9uJTIwaXRlbXMlM0QlMjIyJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBREQwJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydGV4dCUyMiUyMGlkJTNEJTIyLkRTUEN2aXYpZ0E1eVE4b0YtQjklMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFMSUzQSUyMGVya2FubnQlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBREQxJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIybCUzQTUuSkZwJTdCa2tBT1JaRjFGUFYpJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJyaCUyMyUyRk5iSCUzRlYuSk5xYyUyM1RyUCU3QyU1RCUyMiUzRWxpY2h0SXN0QW4lM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbnRyb2xzX2lmJTIyJTIwaWQlM0QlMjIlNjBITSUyNGJvWklXOEUlNDAyQUolN0JDeChCJTIyJTNFJTNDbXV0YXRpb24lMjBlbHNlJTNEJTIyMSUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIySUYwJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIyNDQlM0FZTHElNUJpeiU1RCUzRiUzQUJ5QzMhJTNBaWwlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMnJoJTIzJTJGTmJIJTNGVi5KTnFjJTIzVHJQJTdDJTVEJTIyJTNFbGljaHRJc3RBbiUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJETzAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJkZWJ1ZyUyMiUyMGlkJTNEJTIybmtGQyUyNHclMkMlMjRCJTVEJTNBJTVELiU3QyU3RGpuQzNkJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyU2V2ZXJpdHklMjIlM0VkZWJ1ZyUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjJKc2VFay1+VCUzQWpoNilhTC5iMnUhJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRTIlM0ElMjBMaWNodCUyMGlzdCUyMGJlcmVpdHMlMjBhbiUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDJTJGdmFsdWUlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29udHJvbHNfaWYlMjIlMjBpZCUzRCUyMm1YOTJUJTNCaTlRdCUzRiUyNVkpb3F2JTVFemUlMjIlM0UlM0NtdXRhdGlvbiUyMGVsc2UlM0QlMjIxJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJJRjAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjJtb3dyYmwxJTIzTE5oeW9UXy1OaCU1QmclMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMk4pJTJCKjF+M1pTbG0qZHhmZWglNjAlNUJFJTIyJTNFTGljaHREdXJjaEJld2VnQW4lM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyRE8wJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyZGVidWclMjIlMjBpZCUzRCUyMiUyQ1lxNUJTUmYhWClHM3ZGSGRrJTNBMSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlNldmVyaXR5JTIyJTNFZGVidWclM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIydGV4dCUyMiUyMGlkJTNEJTIybDUtTSUyQiUyNCpmdjMlN0QpU2kqbnd4JTVEaCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UzJTNBJTIwdmVybCVDMyVBNG5nZXJlJTIwTGljaHRkYXVlciUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDJTJGdmFsdWUlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydGltZW91dHNfY2xlYXJ0aW1lb3V0JTIyJTIwaWQlM0QlMjJ3RUkwYlNpVzlHYmw4JTVFSXIlM0ElMkZ+JTNBJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTkFNRSUyMiUzRWluaXRMaWNodEF1cyUzQyUyRmZpZWxkJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRpbWVvdXRzX2NsZWFydGltZW91dCUyMiUyMGlkJTNEJTIyKipXMyU1RSU2MGVmJTJDJTVEUSUyM18hUSFLJTdELkQlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOQU1FJTIyJTNFdmVybCVDMyVBNG5nZXJ1bmdMaWNodCUzQyUyRmZpZWxkJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRpbWVvdXRzX3NldHRpbWVvdXRfdmFyaWFibGUlMjIlMjBpZCUzRCUyMk1+NFolMkZ5JTJDJTdEJTVCcXYlMkYlM0YlNUVNIVVzdiElMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOQU1FJTIyJTNFdmVybCVDMyVBNG5nZXJ1bmdMaWNodCUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyREVMQVlfTVMlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIybWF0aF9udW1iZXIlMjIlMjBpZCUzRCUyMiU3Q1hFfm54TXQpJTQwLikySlZwTmlQWCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5VTSUyMiUzRTEwMDAlM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19nZXQlMjIlMjBpZCUzRCUyMiUyQ1R0JTNGQWdUJTVCMS5wS2xuJTQwWCU1QiFrQSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyJTNBTiU1QmNJJTNGJTdEMiU3Qjh3ZHZmJTNGOGM0VyolMjIlM0VMaWNodE5hY2hkZXRla3Rpb25BbmJsZWliZW4lM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyU1RBVEVNRU5UJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIycHJvY2VkdXJlc19jYWxsbm9yZXR1cm4lMjIlMjBpZCUzRCUyMiU2MHolN0JLQktYTCU0MEotQyU2MChjVElidVMlMjIlM0UlM0NtdXRhdGlvbiUyMG5hbWUlM0QlMjJMaWNodCUyMGF1c3NjaGFsdGVuJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMkVMU0UlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJkZWJ1ZyUyMiUyMGlkJTNEJTIyRzFiSCUyRiU3Qk9nNyUzQUJYKCohJTVFTWQ0MSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlNldmVyaXR5JTIyJTNFZGVidWclM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIydGV4dCUyMiUyMGlkJTNEJTIyLWRiaCUyQ1dKLkYlM0Y4MVBCIWh6bmUlN0IlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFMyUzQW5vdGhpbmcyZG8lMjBMaWNodCUyMG5pY2h0JTIwZHVyY2glMjBBbGdvJTIwZ2VzZXR6dCUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMkVMU0UlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJkZWJ1ZyUyMiUyMGlkJTNEJTIyTiUzQmxwKWFDJTI0JTYwZilmLnpLSVR6TVMlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJTZXZlcml0eSUyMiUzRWRlYnVnJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJURVhUJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMnRleHQlMjIlMjBpZCUzRCUyMlolN0NzJTQwLVklN0NjendsJTdCLjMpRnBZbn4lMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFMiUzQSUyMExpY2h0JTIwaXN0JTIwYXVzJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0MlMkZ2YWx1ZSUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb250cm9sc19pZiUyMiUyMGlkJTNEJTIyUiUyQ3FhdSU0MFVsWnAlNUJrJTVFRSUzRDkqWHF5JTIyJTNFJTNDbXV0YXRpb24lMjBlbHNlJTNEJTIyMSUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIySUYwJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybG9naWNfY29tcGFyZSUyMiUyMGlkJTNEJTIyWSpDUWstWmhOXzR2JTVCJTdEJTVCbCFKJTVCbSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9QJTIyJTNFTFQlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkElMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJnZXRfdmFsdWUlMjIlMjBpZCUzRCUyMiFfJTYwSjRhJTdCMSU3QktfJTNCJTJDUHQlM0ElNjAlNjBkNCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkFUVFIlMjIlM0V2YWwlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9JRCUyMiUzRWFsaWFzLjAuZWcuS3VlY2hlLkVHS3VlY2hlRmVuc3RlckJld2VnTHV4JTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQiUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19nZXQlMjIlMjBpZCUzRCUyMnpHemhLUG5PLjhDV2QqJTNESS0lMjMlMjVEJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJofiU3RHQ5TUxMJTVEaXRfViU3Q1ZSWTNNJTI1JTIyJTNFc2Nod2VsbFdlcnRMaWNodCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyRE8wJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyZGVidWclMjIlMjBpZCUzRCUyMkYocyUzRnYlMkYwVExUZUElNUVWa2UlMjVQQVolMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJTZXZlcml0eSUyMiUzRWRlYnVnJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJURVhUJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMnRleHQlMjIlMjBpZCUzRCUyMmlwYiElM0YodU1qbnlRJTVEWDguJTVFJTJDX2clMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFMyUzQSUyMGtsZWluZXIlMjBTY2h3ZWxsd2VydC0lMjZndCUzQkxpY2h0JTIwYW5zY2hhbHRlbiUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDJTJGdmFsdWUlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX3NldCUyMiUyMGlkJTNEJTIyUnUzZEVNT3ElM0R+ZEMhOCo0QmIlM0RwJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJOKSUyQioxfjNaU2xtKmR4ZmVoJTYwJTVCRSUyMiUzRUxpY2h0RHVyY2hCZXdlZ0FuJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmxvZ2ljX2Jvb2xlYW4lMjIlMjBpZCUzRCUyMnAlNDA1SnNOS34lM0YlN0IlMjRwR2dYUTQlMjUyZyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkJPT0wlMjIlM0VUUlVFJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbnRyb2xfZXglMjIlMjBpZCUzRCUyMl8lM0RkZE9xZDRRNGclMjQxc19QdllxaSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRZUEUlMjIlM0VmYWxzZSUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQ0xFQVJfUlVOTklORyUyMiUzRUZBTFNFJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJPSUQlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIyZmllbGRfb2lkJTIyJTIwaWQlM0QlMjJSM3RUSThlQyUyRmUlMjVzJTJCci0lMkJNekFjJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyb2lkJTIyJTNFT2JqZWN0JTIwSUQlM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19nZXQlMjIlMjBpZCUzRCUyMjBEM0g1JTIzZlVkXyUzQWJDOUJjLigwMyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyOSUyNEtocSU2MFolM0YhSExZJTNBN0VyZyUzRHRsJTIyJTNFaWRMaWNodFNjaGFsdGVyV3JpdGUlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJsb2dpY19ib29sZWFuJTIyJTIwaWQlM0QlMjI5JTYwMVM4NHlVJTVEbHo4aHN3TSpQbDIlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJCT09MJTIyJTNFVFJVRSUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJERUxBWV9NUyUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJtYXRoX251bWJlciUyMiUyMGlkJTNEJTIyLShTJTIzQ3lVOW5keiUzQnNrWSUzRFZ2JTJCLSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5VTSUyMiUzRTAlM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRpbWVvdXRzX3NldHRpbWVvdXRfdmFyaWFibGUlMjIlMjBpZCUzRCUyMklQKCUzQjhmeSU3RHBmJTdDS3MqJTJDTURONWolMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOQU1FJTIyJTNFaW5pdExpY2h0QXVzJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJERUxBWV9NUyUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJtYXRoX251bWJlciUyMiUyMGlkJTNEJTIycHMlMjUlNUVYZk0qJTNEciUzRCU1QlRQejBxLkwyJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTlVNJTIyJTNFNjAwMDAlM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19nZXQlMjIlMjBpZCUzRCUyMnUlN0J+bEQlM0ZSfjRxXyUyQ1AuckUlNUJkflclMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMiUzQU4lNUJjSSUzRiU3RDIlN0I4d2R2ZiUzRjhjNFcqJTIyJTNFTGljaHROYWNoZGV0ZWt0aW9uQW5ibGVpYmVuJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMlNUQVRFTUVOVCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnByb2NlZHVyZXNfY2FsbG5vcmV0dXJuJTIyJTIwaWQlM0QlMjJtJTdCJTJDbEMwMnROSThqXzZMMyUzQipweSUyMiUzRSUzQ211dGF0aW9uJTIwbmFtZSUzRCUyMkxpY2h0JTIwYXVzc2NoYWx0ZW4lMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyRUxTRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmRlYnVnJTIyJTIwaWQlM0QlMjJoZlUhbklMKlclM0EqJTdDSnolMjVodlolN0RFJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyU2V2ZXJpdHklMjIlM0VkZWJ1ZyUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjJ3KjE3diUyRiU3QmguJTI0QXZKbilDV0clM0JSJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRTMlM0ElMjBnciVDMyVCNiVDMyU5RmVyJTIwU2Nod2VsbHdlcnQlM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMkVMU0UlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJkZWJ1ZyUyMiUyMGlkJTNEJTIyYyUzRGcqZkklMjMtTHklMjMlMkNISyU3Qkd6c3E2JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyU2V2ZXJpdHklMjIlM0VkZWJ1ZyUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjIlM0I1JTdENFAlMjRhNEtqTWNjNkFsT1lkNiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UxJTNBJTIwbmljaHQlMjBlcmthbm50JTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyb25fZXh0JTIyJTIwaWQlM0QlMjJscDYlN0IlMkYlMjUpY3dSJTJCZWJpTHRLKEQlNUIlMjIlM0UlM0NtdXRhdGlvbiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGh0bWwlMjIlMjBpdGVtcyUzRCUyMjElMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkNPTkRJVElPTiUyMiUzRWFueSUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQUNLX0NPTkRJVElPTiUyMiUzRSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyT0lEMCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJmaWVsZF9vaWQlMjIlMjBpZCUzRCUyMiglNUJ1JTVEJTYwJTI0eW0ybkIxenIlNDBOZ1klNURwJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyb2lkJTIyJTNFZGVmYXVsdCUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIybSkuUHdlZ19ieFBoJTNGZzYzMEN3JTJCJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjItbiU1Ql9XbiU3QzhxJTdETGxoWGZrJTQwayglNUIlMjIlM0VpZExpY2h0U2NoYWx0ZXJSZWFkJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMlNUQVRFTUVOVCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmRlYnVnJTIyJTIwaWQlM0QlMjJuKkRsX3IlM0RWMiUzREFhbF9+VTV+VlolMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJTZXZlcml0eSUyMiUzRWRlYnVnJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJURVhUJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMnRleHQlMjIlMjBpZCUzRCUyMnAlN0NEJTJCJTNCbHU1LiUyNCU3Q0lucy5OQXglM0QpJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRXRlc3QlM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRleHRfam9pbiUyMiUyMGlkJTNEJTIydSUyM2JINW1RRiUyNHZZYyU2MCU3Q0glM0FMVm9mJTIyJTNFJTNDbXV0YXRpb24lMjBpdGVtcyUzRCUyMjYlMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkFERDAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjJBQSU2MCp6ZHYqY2wlMjNYTFdUJTNBTG9XVCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0VBbGlhc1JlYWQlM0ElMjAlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBREQxJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyb25fc291cmNlJTIyJTIwaWQlM0QlMjJIYy5QdHEhUFMlN0JtbmlpcyU3QjllKSU3QyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkFUVFIlMjIlM0VzdGF0ZS52YWwlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBREQyJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydGV4dCUyMiUyMGlkJTNEJTIyaSU1QiFPJTNBfiFma1VtdHJ1bERTdzMpJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRSUyQyUyMEFjayUzQSUyMCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkFERDMlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJvbl9zb3VyY2UlMjIlMjBpZCUzRCUyMjAwbSU1RWUlM0RTOX5Rdi5sRzVTYXVkcCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkFUVFIlMjIlM0VzdGF0ZS5hY2slM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBREQ0JTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydGV4dCUyMiUyMGlkJTNEJTIyOEYlNUU3eUMlMkJ5JTI0cWp1KiUyNTVvZHIwRCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UlMkMlMjBTa3JpcHQlM0ElMjAlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBREQ1JTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyb25fc291cmNlJTIyJTIwaWQlM0QlMjJndnpCYXNVJTVEU0NxLlVvTWhJRXYlM0IlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJBVFRSJTIyJTNFc3RhdGUuZnJvbSUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJvbl9leHQlMjIlMjBpZCUzRCUyMkpUaHZhVG0uKiU3QkUlM0YlNUIyM2VHTiU3RG0lMjIlM0UlM0NtdXRhdGlvbiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGh0bWwlMjIlMjBpdGVtcyUzRCUyMjElMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkNPTkRJVElPTiUyMiUzRWFueSUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQUNLX0NPTkRJVElPTiUyMiUzRSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyT0lEMCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJmaWVsZF9vaWQlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJvaWQlMjIlM0VkZWZhdWx0JTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjJlJTI0JTNBQiUyNHN4MjAlMkMlNjB6dUN1JTNGJTNCWV8wJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjI5JTI0S2hxJTYwWiUzRiFITFklM0E3RXJnJTNEdGwlMjIlM0VpZExpY2h0U2NoYWx0ZXJXcml0ZSUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJTVEFURU1FTlQlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJkZWJ1ZyUyMiUyMGlkJTNEJTIyJTJDISUzRDFHOUFxNShvSEoodSlVWlBpJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyU2V2ZXJpdHklMjIlM0VkZWJ1ZyUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRXRlc3QlM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRleHRfam9pbiUyMiUyMGlkJTNEJTIyYXBLMlUxeEZFaiUyQ01seW1sZCUyM3J2JTIyJTNFJTNDbXV0YXRpb24lMjBpdGVtcyUzRCUyMjYlMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkFERDAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjJBayU3RE8lNjAlMkNvdlk0RUw1JTNGZCU1QiU3QmEwSCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0VBbGlhc1dyaXRlJTNBJTIwJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQUREMSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMm9uX3NvdXJjZSUyMiUyMGlkJTNEJTIyYWhuJTJDKXpaJTI1eS1XT35TTmUlNUIlMjMlM0FpJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQVRUUiUyMiUzRXN0YXRlLnZhbCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkFERDIlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjJhJTQwZU14JTI1UUl5eW5VJTVEVyUyMyU1QmclM0JDSCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UlMkMlMjBBY2slM0ElMjAlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBREQzJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyb25fc291cmNlJTIyJTIwaWQlM0QlMjI0JTQweSUyNFlOJTQwenBTbCUyQiU1RW1hMmpXcVElMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJBVFRSJTIyJTNFc3RhdGUuYWNrJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQURENCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRleHQlMjIlMjBpZCUzRCUyMiU1QiU3Qio3JTdCcE5+KGNhOCU3RCU0MGRhMjZfeCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UlMkMlMjBTa3JpcHQlM0ElMjAlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBREQ1JTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyb25fc291cmNlJTIyJTIwaWQlM0QlMjJOSTRzWnMtZyhFV2ZBJTNBWHgybl83JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQVRUUiUyMiUzRXN0YXRlLmZyb20lM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnByb2NlZHVyZXNfZGVmbm9yZXR1cm4lMjIlMjBpZCUzRCUyMnUwd1IlNDB5SGtsJTNBZCUyQiUyNCU1QnElMjRKOF9mJTIyJTIweCUzRCUyMjgzOCUyMiUyMHklM0QlMjI5NjMlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOQU1FJTIyJTNFTGljaHQlMjBhdXNzY2hhbHRlbiUzQyUyRmZpZWxkJTNFJTNDY29tbWVudCUyMHBpbm5lZCUzRCUyMmZhbHNlJTIyJTIwaCUzRCUyMjgwJTIyJTIwdyUzRCUyMjE2MCUyMiUzRUJlc2NocmVpYmUlMjBkaWVzZSUyMEZ1bmt0aW9uJTIwJUUyJTgwJUE2JTNDJTJGY29tbWVudCUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJTVEFDSyUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmRlYnVnJTIyJTIwaWQlM0QlMjJmMHctJTdERUZ3WnYlM0IlM0QxTEMlM0ElM0FtR2olMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJTZXZlcml0eSUyMiUzRWRlYnVnJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJURVhUJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMnRleHQlMjIlMjBpZCUzRCUyMnRWJTJDSzQlMjVCZiUzQS5RZ3VDWEclN0QlMjRVJTVCJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRVglM0ElMjBMaWNodCUyMGF1c3NjaGFsdGVuJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0MlMkZ2YWx1ZSUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfc2V0JTIyJTIwaWQlM0QlMjIlM0RkJTJGaCUzRFNFT20oJTNEbyUyNGtlQlRwMyUyQiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyTiklMkIqMX4zWlNsbSpkeGZlaCU2MCU1QkUlMjIlM0VMaWNodER1cmNoQmV3ZWdBbiUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJsb2dpY19ib29sZWFuJTIyJTIwaWQlM0QlMjIlMjUlNUQqNFh2aCU1RCUzQmRkUSUyMzZmJTI1JTVFMyglM0QlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJCT09MJTIyJTNFRkFMU0UlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29udHJvbF9leCUyMiUyMGlkJTNEJTIyZF9LMS1EcSUyQiU3QjIlMkMqV3EtZTFfJTNCJTQwJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVFlQRSUyMiUzRWZhbHNlJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJDTEVBUl9SVU5OSU5HJTIyJTNFRkFMU0UlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMk9JRCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJmaWVsZF9vaWQlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJvaWQlMjIlM0VPYmplY3QlMjBJRCUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIyYmQlNUIxRmpmViU1RWQlM0ZtaiU3QnF0Wm50KSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyOSUyNEtocSU2MFolM0YhSExZJTNBN0VyZyUzRHRsJTIyJTNFaWRMaWNodFNjaGFsdGVyV3JpdGUlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJsb2dpY19ib29sZWFuJTIyJTIwaWQlM0QlMjJ3aiUyQzByV2hwdWsyJTdCJTQwRlFRNWlqdiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkJPT0wlMjIlM0VGQUxTRSUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJERUxBWV9NUyUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJtYXRoX251bWJlciUyMiUyMGlkJTNEJTIyMiUyQmJVSCU3Q2MlM0JsbmtXSyU1RGJSJTNEbFNLJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTlVNJTIyJTNFMCUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGeG1sJTNF
                                        

                                        Alias Read:

                                        {
                                          "common": {
                                            "name": "EGKuecheFensterLichtRead",
                                            "desc": "Manuell erzeugt",
                                            "role": "switch",
                                            "type": "boolean",
                                            "read": true,
                                            "write": true,
                                            "def": false,
                                            "alias": {
                                              "id": "mqtt.0.shellies.shelly1l-XXX.relay.0",
                                              "read": "val=='on'"
                                            }
                                          },
                                          "type": "state",
                                          "native": {},
                                          "_id": "alias.0.eg.Kueche.EGKuecheFensterLichtRead",
                                          "acl": {
                                            "object": 1636,
                                            "state": 1636,
                                            "owner": "system.user.admin",
                                            "ownerGroup": "system.group.administrator"
                                          },
                                          "from": "system.adapter.admin.0",
                                          "user": "system.user.admin",
                                          "ts": 1677258916765
                                        }
                                        

                                        Alias Write:

                                        {
                                          "common": {
                                            "name": "EGKuecheFensterLichtWrite",
                                            "desc": "Manuell erzeugt",
                                            "role": "switch",
                                            "type": "boolean",
                                            "read": true,
                                            "write": true,
                                            "def": false,
                                            "alias": {
                                              "id": "mqtt.0.shellies.shelly1l-XXX.relay.0.command",
                                              "write": "val?'on':'off'"
                                            }
                                          },
                                          "type": "state",
                                          "native": {},
                                          "_id": "alias.0.eg.Kueche.EGKuecheFensterLichtWrite",
                                          "acl": {
                                            "object": 1636,
                                            "state": 1636,
                                            "owner": "system.user.admin",
                                            "ownerGroup": "system.group.administrator"
                                          },
                                          "from": "system.adapter.admin.0",
                                          "user": "system.user.admin",
                                          "ts": 1677258607761
                                        }
                                        

                                        führte zu folgender Debugausgabe (ich habe den IOBroker neugestartet,da dieser den lesen alias am Anfang nicht aktualisiert hatte, dies ging aber ohne Probleme nach dem Neustart)
                                        Debug ausgabe:

                                        18:24:13.157	debug	javascript.0 (545343) script.js.EG.kueche.beweg3: 0: Bewegung
                                        18:24:13.158	debug	javascript.0 (545343) script.js.EG.kueche.beweg3: 0.1: Hinweise: Typ:boolean Wert ist: false
                                        18:24:13.158	debug	javascript.0 (545343) script.js.EG.kueche.beweg3: 1: erkanntfalse
                                        18:24:13.159	debug	javascript.0 (545343) script.js.EG.kueche.beweg3: 2: Licht ist aus
                                        18:24:13.159	debug	javascript.0 (545343) script.js.EG.kueche.beweg3: 3: kleiner Schwellwert->Licht anschalten
                                        18:24:13.173	debug	javascript.0 (545343) script.js.EG.kueche.beweg3: AliasWrite: true, Ack: false, Skript: system.adapter.javascript.0
                                        18:24:13.182	debug	javascript.0 (545343) script.js.EG.kueche.beweg3: AliasWrite: true, Ack: true, Skript: system.adapter.mqtt.0
                                        18:24:13.197	debug	javascript.0 (545343) script.js.EG.kueche.beweg3: AliasRead: true, Ack: true, Skript: system.adapter.mqtt.0
                                        18:24:26.354	debug	javascript.0 (545343) script.js.EG.kueche.beweg3: AliasRead: false, Ack: true, Skript: system.adapter.mqtt.0
                                        18:24:45.147	debug	javascript.0 (545343) script.js.EG.kueche.beweg3: 0: Bewegung
                                        18:24:45.148	debug	javascript.0 (545343) script.js.EG.kueche.beweg3: 1: nicht erkannt
                                        18:25:13.160	debug	javascript.0 (545343) script.js.EG.kueche.beweg3: X: Licht ausschalten
                                        18:25:13.177	debug	javascript.0 (545343) script.js.EG.kueche.beweg3: AliasWrite: false, Ack: false, Skript: system.adapter.javascript.0
                                        18:25:13.198	debug	javascript.0 (545343) script.js.EG.kueche.beweg3: AliasWrite: false, Ack: true, Skript: system.adapter.mqtt.0
                                        18:25:26.413	debug	javascript.0 (545343) script.js.EG.kueche.beweg3: 0: Bewegung
                                        18:25:26.414	debug	javascript.0 (545343) script.js.EG.kueche.beweg3: 0.1: Hinweise: Typ:boolean Wert ist: false
                                        18:25:26.414	debug	javascript.0 (545343) script.js.EG.kueche.beweg3: 1: erkanntfalse
                                        18:25:26.415	debug	javascript.0 (545343) script.js.EG.kueche.beweg3: 2: Licht ist aus
                                        18:25:26.416	debug	javascript.0 (545343) script.js.EG.kueche.beweg3: 3: kleiner Schwellwert->Licht anschalten
                                        18:25:26.431	debug	javascript.0 (545343) script.js.EG.kueche.beweg3: AliasWrite: true, Ack: false, Skript: system.adapter.javascript.0
                                        18:25:26.440	debug	javascript.0 (545343) script.js.EG.kueche.beweg3: AliasWrite: true, Ack: true, Skript: system.adapter.mqtt.0
                                        18:25:26.507	debug	javascript.0 (545343) script.js.EG.kueche.beweg3: AliasRead: true, Ack: true, Skript: system.adapter.mqtt.0
                                        18:25:58.387	debug	javascript.0 (545343) script.js.EG.kueche.beweg3: 0: Bewegung
                                        18:25:58.388	debug	javascript.0 (545343) script.js.EG.kueche.beweg3: 1: nicht erkannt
                                        18:26:26.418	debug	javascript.0 (545343) script.js.EG.kueche.beweg3: X: Licht ausschalten
                                        18:26:26.452	debug	javascript.0 (545343) script.js.EG.kueche.beweg3: AliasWrite: false, Ack: false, Skript: system.adapter.javascript.0
                                        18:26:26.466	debug	javascript.0 (545343) script.js.EG.kueche.beweg3: AliasWrite: false, Ack: true, Skript: system.adapter.mqtt.0
                                        18:26:26.480	debug	javascript.0 (545343) script.js.EG.kueche.beweg3: AliasRead: false, Ack: true, Skript: system.adapter.mqtt.0
                                        
                                        

                                        Zeile 16 zeigt nun den richtigen Wert an :).
                                        Ich denke die Lösung liegt tatsächlich darin zwei Alias zu verwenden. Vielen, vielen Dank @paul53

                                        paul53P 1 Antwort Letzte Antwort
                                        0
                                        • I ioMas

                                          @paul53
                                          Ich habe jetzt mal umgestellt auf 2 Aliase, einen auf lesen (EGKuecheFensterLichtRead) einen auf schreiben(EGKuecheFensterLichtWrite). Das JS von Blockly sieht nun so aus:

                                          var LichtNachdetektionAnbleiben, schwellWertLicht, idLichtSchalterWrite, LichtDurchBewegAn, idLichtSchalterRead, lichtIstAn, verl_C3_A4ngerungLicht, initLichtAus;
                                          
                                          // Beschreibe diese Funktion …
                                          async function Licht_ausschalten() {
                                            console.debug('X: Licht ausschalten');
                                            LichtDurchBewegAn = false;
                                            setStateDelayed(idLichtSchalterWrite, false, false, parseInt(((0) || "").toString(), 10), false);
                                          }
                                          
                                          
                                          LichtNachdetektionAnbleiben = 60000;
                                          schwellWertLicht = getState("0_userdata.0.Technik.EG.Kueche.EGKuecheFensterBeweg.BrigthnessSchwellwert").val;
                                          idLichtSchalterWrite = 'alias.0.eg.Kueche.EGKuecheFensterLichtWrite';
                                          idLichtSchalterRead = 'alias.0.eg.Kueche.EGKuecheFensterLichtRead';
                                          LichtDurchBewegAn = false;
                                          on({id: "alias.0.eg.Kueche.EGKuecheFensterBeweg"/*EGKuecheFensterBeweg*/, change: "any", ack: true}, async function (obj) {
                                            var value = obj.state.val;
                                            var oldValue = obj.oldState.val;
                                            console.debug('0: Bewegung ');
                                            if ((obj.state ? obj.state.val : "")) {
                                              lichtIstAn = getState(idLichtSchalterRead).val;
                                              console.debug((['0.1: Hinweise: Typ:',typeof lichtIstAn,' Wert ist: ',lichtIstAn].join('')));
                                              if (true && typeof lichtIstAn != 'boolean') {
                                                console.debug((['0.5: Bugfix wrong type',typeof lichtIstAn,' Wert ist: ',lichtIstAn].join('')));
                                                if (lichtIstAn == 'on') {
                                                  lichtIstAn = true;
                                                  console.debug('0.5a: an');
                                                } else {
                                                  lichtIstAn = false;
                                                  console.debug('0.5b: aus');
                                                }
                                              }
                                              console.debug(('1: erkannt' + String(lichtIstAn)));
                                              if (lichtIstAn) {
                                                console.debug('2: Licht ist bereits an');
                                                if (LichtDurchBewegAn) {
                                                  console.debug('3: verlängere Lichtdauer');
                                                  (function () {if (initLichtAus) {clearTimeout(initLichtAus); initLichtAus = null;}})();
                                                  (function () {if (verl_C3_A4ngerungLicht) {clearTimeout(verl_C3_A4ngerungLicht); verl_C3_A4ngerungLicht = null;}})();
                                                  verl_C3_A4ngerungLicht = setTimeout(async function () {
                                                    await Licht_ausschalten();
                                                  }, parseInt(LichtNachdetektionAnbleiben));
                                                } else {
                                                  console.debug('3:nothing2do Licht nicht durch Algo gesetzt');
                                                }
                                              } else {
                                                console.debug('2: Licht ist aus');
                                                if (getState("alias.0.eg.Kueche.EGKuecheFensterBewegLux").val < schwellWertLicht) {
                                                  console.debug('3: kleiner Schwellwert->Licht anschalten');
                                                  LichtDurchBewegAn = true;
                                                  setStateDelayed(idLichtSchalterWrite, true, false, parseInt(((0) || "").toString(), 10), false);
                                                  initLichtAus = setTimeout(async function () {
                                                    await Licht_ausschalten();
                                                  }, parseInt(LichtNachdetektionAnbleiben));
                                                } else {
                                                  console.debug('3: größer Schwellwert');
                                                }
                                              }
                                            } else {
                                              console.debug('1: nicht erkannt');
                                            }
                                          });
                                          on({id: [].concat(idLichtSchalterRead), change: "any"}, async function (obj) {
                                            var value = obj.state.val;
                                            var oldValue = obj.oldState.val;
                                            console.debug((['AliasRead: ',(obj.state ? obj.state.val : ""),', Ack: ',(obj.state ? obj.state.ack : ""),', Skript: ',(obj.state ? obj.state.from : "")].join('')));
                                          });
                                          on({id: [].concat(idLichtSchalterWrite), change: "any"}, async function (obj) {
                                            var value = obj.state.val;
                                            var oldValue = obj.oldState.val;
                                            console.debug((['AliasWrite: ',(obj.state ? obj.state.val : ""),', Ack: ',(obj.state ? obj.state.ack : ""),', Skript: ',(obj.state ? obj.state.from : "")].join('')));
                                          });
                                          
                                          //JTNDeG1sJTIweG1sbnMlM0QlMjJodHRwcyUzQSUyRiUyRmRldmVsb3BlcnMuZ29vZ2xlLmNvbSUyRmJsb2NrbHklMkZ4bWwlMjIlM0UlM0N2YXJpYWJsZXMlM0UlM0N2YXJpYWJsZSUyMGlkJTNEJTIyJTNBTiU1QmNJJTNGJTdEMiU3Qjh3ZHZmJTNGOGM0VyolMjIlM0VMaWNodE5hY2hkZXRla3Rpb25BbmJsZWliZW4lM0MlMkZ2YXJpYWJsZSUzRSUzQ3ZhcmlhYmxlJTIwaWQlM0QlMjJofiU3RHQ5TUxMJTVEaXRfViU3Q1ZSWTNNJTI1JTIyJTNFc2Nod2VsbFdlcnRMaWNodCUzQyUyRnZhcmlhYmxlJTNFJTNDdmFyaWFibGUlMjBpZCUzRCUyMjklMjRLaHElNjBaJTNGIUhMWSUzQTdFcmclM0R0bCUyMiUzRWlkTGljaHRTY2hhbHRlcldyaXRlJTNDJTJGdmFyaWFibGUlM0UlM0N2YXJpYWJsZSUyMGlkJTNEJTIyTiklMkIqMX4zWlNsbSpkeGZlaCU2MCU1QkUlMjIlM0VMaWNodER1cmNoQmV3ZWdBbiUzQyUyRnZhcmlhYmxlJTNFJTNDdmFyaWFibGUlMjBpZCUzRCUyMi1uJTVCX1duJTdDOHElN0RMbGhYZmslNDBrKCU1QiUyMiUzRWlkTGljaHRTY2hhbHRlclJlYWQlM0MlMkZ2YXJpYWJsZSUzRSUzQ3ZhcmlhYmxlJTIwaWQlM0QlMjJyaCUyMyUyRk5iSCUzRlYuSk5xYyUyM1RyUCU3QyU1RCUyMiUzRWxpY2h0SXN0QW4lM0MlMkZ2YXJpYWJsZSUzRSUzQ3ZhcmlhYmxlJTIwdHlwZSUzRCUyMnRpbWVvdXQlMjIlMjBpZCUzRCUyMnZlcmwlQzMlQTRuZ2VydW5nTGljaHQlMjIlM0V2ZXJsJUMzJUE0bmdlcnVuZ0xpY2h0JTNDJTJGdmFyaWFibGUlM0UlM0N2YXJpYWJsZSUyMHR5cGUlM0QlMjJ0aW1lb3V0JTIyJTIwaWQlM0QlMjJpbml0TGljaHRBdXMlMjIlM0Vpbml0TGljaHRBdXMlM0MlMkZ2YXJpYWJsZSUzRSUzQyUyRnZhcmlhYmxlcyUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19zZXQlMjIlMjBpZCUzRCUyMiotJTNGSCU2MFduNGdEJTdEMF8pKTdZb2REJTIyJTIweCUzRCUyMjE2MyUyMiUyMHklM0QlMjIxMyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyJTNBTiU1QmNJJTNGJTdEMiU3Qjh3ZHZmJTNGOGM0VyolMjIlM0VMaWNodE5hY2hkZXRla3Rpb25BbmJsZWliZW4lM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybWF0aF9udW1iZXIlMjIlMjBpZCUzRCUyMnB1NlUuQyUyM1dSYlAlNURQOShNeCU0MC1LJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTlVNJTIyJTNFNjAwMDAlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX3NldCUyMiUyMGlkJTNEJTIyJTJDZzZhfjh1ciUyRk9tYSUzRGRWRjMlNUR4JTVCJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJofiU3RHQ5TUxMJTVEaXRfViU3Q1ZSWTNNJTI1JTIyJTNFc2Nod2VsbFdlcnRMaWNodCUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJnZXRfdmFsdWUlMjIlMjBpZCUzRCUyMnZoQ3dnLTlsM01vQ2lUVk0lN0JnNDglMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJBVFRSJTIyJTNFdmFsJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPSUQlMjIlM0UwX3VzZXJkYXRhLjAuVGVjaG5pay5FRy5LdWVjaGUuRUdLdWVjaGVGZW5zdGVyQmV3ZWcuQnJpZ3RobmVzc1NjaHdlbGx3ZXJ0JTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19zZXQlMjIlMjBpZCUzRCUyMjlGQiUyMyU3REV1JTVEbVBzNndDJTVEUSUzREopJTJCJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjI5JTI0S2hxJTYwWiUzRiFITFklM0E3RXJnJTNEdGwlMjIlM0VpZExpY2h0U2NoYWx0ZXJXcml0ZSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJmaWVsZF9vaWQlMjIlMjBpZCUzRCUyMnNMJTIzKiolMjRFayUyNSU1RFhBaGVUTzcoNV8lMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJvaWQlMjIlM0VhbGlhcy4wLmVnLkt1ZWNoZS5FR0t1ZWNoZUZlbnN0ZXJMaWNodFdyaXRlJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19zZXQlMjIlMjBpZCUzRCUyMiUyNCU3Q21MdShnJTdDN0ghT3p6MERfZHFqJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjItbiU1Ql9XbiU3QzhxJTdETGxoWGZrJTQwayglNUIlMjIlM0VpZExpY2h0U2NoYWx0ZXJSZWFkJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmZpZWxkX29pZCUyMiUyMGlkJTNEJTIyaVZyJTNBMDIlM0J3JTdDNCUzRCUzQjE0NE5Yd1VZJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyb2lkJTIyJTNFYWxpYXMuMC5lZy5LdWVjaGUuRUdLdWVjaGVGZW5zdGVyTGljaHRSZWFkJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19zZXQlMjIlMjBpZCUzRCUyMiU1QnNNNUMhaHllJTdDNkV+SWxZajU5biUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyTiklMkIqMX4zWlNsbSpkeGZlaCU2MCU1QkUlMjIlM0VMaWNodER1cmNoQmV3ZWdBbiUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJsb2dpY19ib29sZWFuJTIyJTIwaWQlM0QlMjJfcyUyQiU3QiU0MGElMkNkc2ZPJTVEJTVEKkl3TlkzJTVEJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQk9PTCUyMiUzRUZBTFNFJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMm9uJTIyJTIwaWQlM0QlMjJ1MSpsOClHUkElM0ZQQmolNUJSQTBhJTI0UyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9JRCUyMiUzRWFsaWFzLjAuZWcuS3VlY2hlLkVHS3VlY2hlRmVuc3RlckJld2VnJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJDT05ESVRJT04lMjIlM0VhbnklM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkFDS19DT05ESVRJT04lMjIlM0V0cnVlJTNDJTJGZmllbGQlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyU1RBVEVNRU5UJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyZGVidWclMjIlMjBpZCUzRCUyMllhUWElN0IlNURyVTlMeGh3WHJXJTI0RiUyNX4lMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJTZXZlcml0eSUyMiUzRWRlYnVnJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJURVhUJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMnRleHQlMjIlMjBpZCUzRCUyMnRFMClqc3MlMkZTTEhKeWQlM0YuTGkxRyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UwJTNBJTIwQmV3ZWd1bmclMjAlM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbnRyb2xzX2lmJTIyJTIwaWQlM0QlMjIxSW03JTNGS2J1VSUzQSUzQmMlN0MpYyUzQiUyNWRUJTJCJTIyJTNFJTNDbXV0YXRpb24lMjBlbHNlJTNEJTIyMSUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIySUYwJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyb25fc291cmNlJTIyJTIwaWQlM0QlMjIpJTI0LW4lNURZJTNCX0trWTMlMjVNKnFBOVRMJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQVRUUiUyMiUzRXN0YXRlLnZhbCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJETzAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfc2V0JTIyJTIwaWQlM0QlMjJmJTNEVWYlNUJ0WE54T2t5c3Z5JTVFa1g0dyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIycmglMjMlMkZOYkglM0ZWLkpOcWMlMjNUclAlN0MlNUQlMjIlM0VsaWNodElzdEFuJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmdldF92YWx1ZV92YXIlMjIlMjBpZCUzRCUyMiUzRDglNDBpeSU0MEg0bWMpSVUlNUVJdiU1RDZjYSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkFUVFIlMjIlM0V2YWwlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMk9JRCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjJXOS5HM3QlM0ZmOSUzRHJ2T0g2Y1FqRiglMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjJOTWl2JTNEJTIzJTJCKSU3QyUyNSU0MCUyQyhYa0gtKVN+JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjItbiU1Ql9XbiU3QzhxJTdETGxoWGZrJTQwayglNUIlMjIlM0VpZExpY2h0U2NoYWx0ZXJSZWFkJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJkZWJ1ZyUyMiUyMGlkJTNEJTIyJTVEb29OKTMyWCU3RG0lM0ZmVjA1NSlLRCUzRCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlNldmVyaXR5JTIyJTNFZGVidWclM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIydGV4dCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UlM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRleHRfam9pbiUyMiUyMGlkJTNEJTIyJTVEanp5KU00dXFDQSUyM0ljR35HZ1VzJTIyJTNFJTNDbXV0YXRpb24lMjBpdGVtcyUzRCUyMjQlMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkFERDAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjIlM0R5JTIzeVolMkYyNDUlMjMlMjUlN0RNIWdTNFclMkIoJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRTAuMSUzQSUyMEhpbndlaXNlJTNBJTIwVHlwJTNBJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQUREMSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbnZlcnRfdHlwZSUyMiUyMGlkJTNEJTIyaiUzQmklMjQyWkpZUGolMjRoISUzRCUyRmZmOUctJTIyJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIySVRFTSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19nZXQlMjIlMjBpZCUzRCUyMlB0TWJrJTYwJTQwJTVEJTNEJTJDJTdCRV9VM0F6bWpmJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJyaCUyMyUyRk5iSCUzRlYuSk5xYyUyM1RyUCU3QyU1RCUyMiUzRWxpY2h0SXN0QW4lM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQUREMiUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRleHQlMjIlMjBpZCUzRCUyMiUzQSUzRiU3QkhUJTJGcDBrYyU1RVpzUm5TQkElM0JJJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRSUyMFdlcnQlMjBpc3QlM0ElMjAlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBREQzJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIyU1BfdFYlNjBuR3V+Mm9relMlNURTMDAlN0MlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMnJoJTIzJTJGTmJIJTNGVi5KTnFjJTIzVHJQJTdDJTVEJTIyJTNFbGljaHRJc3RBbiUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29udHJvbHNfaWYlMjIlMjBpZCUzRCUyMndHaSU3QmIlN0N3JTNCQU4xLi1sJTVCKnk4eHElMjIlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJJRjAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJsb2dpY19vcGVyYXRpb24lMjIlMjBpZCUzRCUyMkI0JTVEKTQxVXUlM0QqdGx6IWYqZCUyMyUyRiUyRiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9QJTIyJTNFQU5EJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybG9naWNfYm9vbGVhbiUyMiUyMGlkJTNEJTIyeDdmcV9VZkVxJTNCLiUyNFZTJTVEJTI0TUFUMSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkJPT0wlMjIlM0VUUlVFJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQiUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmxvZ2ljX2NvbXBhcmUlMjIlMjBpZCUzRCUyMkdHJTdEVUMpJTI1OCUyRmg4cU4zcXRuUmVtJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT1AlMjIlM0VORVElM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkElMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb252ZXJ0X3R5cGUlMjIlMjBpZCUzRCUyMipHJTQwJTNGUiE2dCUyQiUzQWJjSFAzJTNEKXolM0E4JTIyJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIySVRFTSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19nZXQlMjIlMjBpZCUzRCUyMiUyQm9KOCU2MDRPNWYuejlnc1ElM0E1JTdDRTMlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMnJoJTIzJTJGTmJIJTNGVi5KTnFjJTIzVHJQJTdDJTVEJTIyJTNFbGljaHRJc3RBbiUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJCJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydGV4dCUyMiUyMGlkJTNEJTIyJTJCaHRLKiU3Qn4lNDBVc3pwJTVEcktNVSp6QSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0Vib29sZWFuJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyRE8wJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyZGVidWclMjIlMjBpZCUzRCUyMmlzdmFvek5rSyUyNCU3Q3p2MiUzRDBqYX5hJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyU2V2ZXJpdHklMjIlM0VkZWJ1ZyUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRSUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydGV4dF9qb2luJTIyJTIwaWQlM0QlMjI3JTYwciFoJTNEQmFQejFrRW5QaG9+JTIzJTI1JTIyJTNFJTNDbXV0YXRpb24lMjBpdGVtcyUzRCUyMjQlMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkFERDAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjJuaGtQcXRDYXZTOEMlNjBhS2FGRjBPJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRTAuNSUzQSUyMEJ1Z2ZpeCUyMHdyb25nJTIwdHlwZSUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkFERDElMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb252ZXJ0X3R5cGUlMjIlMjBpZCUzRCUyMiooJTIzWCUyQmN4KCpEeSU0ME1FeiUzQnElNUUuQSUyMiUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMklURU0lMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjJ5YWU1OCU1RChwRGsxJTVFJTdDJTI0biU1QjFiNSU1RSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIycmglMjMlMkZOYkglM0ZWLkpOcWMlMjNUclAlN0MlNUQlMjIlM0VsaWNodElzdEFuJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkFERDIlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjJpbWNUZkgwVjNiJTIzKX4lNURjOCU3RCpZKiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UlMjBXZXJ0JTIwaXN0JTNBJTIwJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQUREMyUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19nZXQlMjIlMjBpZCUzRCUyMi55THAlNURSJTI1QmR0biU2MCUzREMlN0Q1VENKTSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIycmglMjMlMkZOYkglM0ZWLkpOcWMlMjNUclAlN0MlNUQlMjIlM0VsaWNodElzdEFuJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb250cm9sc19pZiUyMiUyMGlkJTNEJTIyc19mWEMyJTQwcnRpV04lMjNiSlQ0Z0JKJTIyJTNFJTNDbXV0YXRpb24lMjBlbHNlJTNEJTIyMSUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIySUYwJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybG9naWNfY29tcGFyZSUyMiUyMGlkJTNEJTIydyUzQkglMjN5SDNhZSU1RHolM0RsMiU1RVJJNColMjMlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPUCUyMiUzRUVRJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIyJTVFeTVnTHYlNUUtJTQwZWYlM0Y0NWtWVnVyMCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIycmglMjMlMkZOYkglM0ZWLkpOcWMlMjNUclAlN0MlNUQlMjIlM0VsaWNodElzdEFuJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQiUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRleHQlMjIlMjBpZCUzRCUyMk5PJTVCVihxJTNCJTIzZC05U1NUJTJGMG1PYiUzRCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0VvbiUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyRE8wJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX3NldCUyMiUyMGlkJTNEJTIyVkJXbCU2MGclMkMlM0ElNjBVMSUyQjYlM0ZDIV96VWElMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMnJoJTIzJTJGTmJIJTNGVi5KTnFjJTIzVHJQJTdDJTVEJTIyJTNFbGljaHRJc3RBbiUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJsb2dpY19ib29sZWFuJTIyJTIwaWQlM0QlMjIzYiFtKCUyNEJqJTI0NnJxbCUyNVQlN0RoRkd6JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQk9PTCUyMiUzRVRSVUUlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyZGVidWclMjIlMjBpZCUzRCUyMiUzRCUyNH44YiU3QiFYZDZ6emIzKXNqR2tjJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyU2V2ZXJpdHklMjIlM0VkZWJ1ZyUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjJlJTdDYUklMkZJSyU3QkklNUVGQUtJNnIuLTcyJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRTAuNWElM0ElMjBhbiUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJFTFNFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX3NldCUyMiUyMGlkJTNEJTIyaSU0MCU3RHFrUngpflB4LlElN0R3OGUlMkMyRiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIycmglMjMlMkZOYkglM0ZWLkpOcWMlMjNUclAlN0MlNUQlMjIlM0VsaWNodElzdEFuJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmxvZ2ljX2Jvb2xlYW4lMjIlMjBpZCUzRCUyMk5kdGtLWlJ0dU5UWDFYJTVCMmlyZUYlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJCT09MJTIyJTNFRkFMU0UlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyZGVidWclMjIlMjBpZCUzRCUyMiUyM0YlNUUhfn5VSEY3ODFHaTUzQyU2MCFkJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyU2V2ZXJpdHklMjIlM0VkZWJ1ZyUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjJOaWN2T0VVLTglMkZENmdlQ0wlMkMlMjVWbiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UwLjViJTNBJTIwYXVzJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyZGVidWclMjIlMjBpZCUzRCUyMl9GNEFzSSolN0QzJTdDMiU3QiUyM0YlNDAlNUJlMDkyJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyU2V2ZXJpdHklMjIlM0VkZWJ1ZyUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjJka2xVODFEbTFtSzFINHJpJTVFJTdCdColMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ0ZXh0X2pvaW4lMjIlMjBpZCUzRCUyMjl1Si5qZmNNRC0lN0IlN0MlMkMlM0QlMkZMMXJ4OSUyMiUzRSUzQ211dGF0aW9uJTIwaXRlbXMlM0QlMjIyJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBREQwJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydGV4dCUyMiUyMGlkJTNEJTIyLkRTUEN2aXYpZ0E1eVE4b0YtQjklMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFMSUzQSUyMGVya2FubnQlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBREQxJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIybCUzQTUuSkZwJTdCa2tBT1JaRjFGUFYpJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJyaCUyMyUyRk5iSCUzRlYuSk5xYyUyM1RyUCU3QyU1RCUyMiUzRWxpY2h0SXN0QW4lM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbnRyb2xzX2lmJTIyJTIwaWQlM0QlMjIlNjBITSUyNGJvWklXOEUlNDAyQUolN0JDeChCJTIyJTNFJTNDbXV0YXRpb24lMjBlbHNlJTNEJTIyMSUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIySUYwJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIyNDQlM0FZTHElNUJpeiU1RCUzRiUzQUJ5QzMhJTNBaWwlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMnJoJTIzJTJGTmJIJTNGVi5KTnFjJTIzVHJQJTdDJTVEJTIyJTNFbGljaHRJc3RBbiUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJETzAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJkZWJ1ZyUyMiUyMGlkJTNEJTIybmtGQyUyNHclMkMlMjRCJTVEJTNBJTVELiU3QyU3RGpuQzNkJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyU2V2ZXJpdHklMjIlM0VkZWJ1ZyUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjJKc2VFay1+VCUzQWpoNilhTC5iMnUhJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRTIlM0ElMjBMaWNodCUyMGlzdCUyMGJlcmVpdHMlMjBhbiUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDJTJGdmFsdWUlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29udHJvbHNfaWYlMjIlMjBpZCUzRCUyMm1YOTJUJTNCaTlRdCUzRiUyNVkpb3F2JTVFemUlMjIlM0UlM0NtdXRhdGlvbiUyMGVsc2UlM0QlMjIxJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJJRjAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjJtb3dyYmwxJTIzTE5oeW9UXy1OaCU1QmclMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMk4pJTJCKjF+M1pTbG0qZHhmZWglNjAlNUJFJTIyJTNFTGljaHREdXJjaEJld2VnQW4lM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyRE8wJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyZGVidWclMjIlMjBpZCUzRCUyMiUyQ1lxNUJTUmYhWClHM3ZGSGRrJTNBMSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlNldmVyaXR5JTIyJTNFZGVidWclM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIydGV4dCUyMiUyMGlkJTNEJTIybDUtTSUyQiUyNCpmdjMlN0QpU2kqbnd4JTVEaCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UzJTNBJTIwdmVybCVDMyVBNG5nZXJlJTIwTGljaHRkYXVlciUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDJTJGdmFsdWUlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydGltZW91dHNfY2xlYXJ0aW1lb3V0JTIyJTIwaWQlM0QlMjJ3RUkwYlNpVzlHYmw4JTVFSXIlM0ElMkZ+JTNBJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTkFNRSUyMiUzRWluaXRMaWNodEF1cyUzQyUyRmZpZWxkJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRpbWVvdXRzX2NsZWFydGltZW91dCUyMiUyMGlkJTNEJTIyKipXMyU1RSU2MGVmJTJDJTVEUSUyM18hUSFLJTdELkQlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOQU1FJTIyJTNFdmVybCVDMyVBNG5nZXJ1bmdMaWNodCUzQyUyRmZpZWxkJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRpbWVvdXRzX3NldHRpbWVvdXRfdmFyaWFibGUlMjIlMjBpZCUzRCUyMk1+NFolMkZ5JTJDJTdEJTVCcXYlMkYlM0YlNUVNIVVzdiElMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOQU1FJTIyJTNFdmVybCVDMyVBNG5nZXJ1bmdMaWNodCUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyREVMQVlfTVMlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIybWF0aF9udW1iZXIlMjIlMjBpZCUzRCUyMiU3Q1hFfm54TXQpJTQwLikySlZwTmlQWCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5VTSUyMiUzRTEwMDAlM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19nZXQlMjIlMjBpZCUzRCUyMiUyQ1R0JTNGQWdUJTVCMS5wS2xuJTQwWCU1QiFrQSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyJTNBTiU1QmNJJTNGJTdEMiU3Qjh3ZHZmJTNGOGM0VyolMjIlM0VMaWNodE5hY2hkZXRla3Rpb25BbmJsZWliZW4lM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyU1RBVEVNRU5UJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIycHJvY2VkdXJlc19jYWxsbm9yZXR1cm4lMjIlMjBpZCUzRCUyMiU2MHolN0JLQktYTCU0MEotQyU2MChjVElidVMlMjIlM0UlM0NtdXRhdGlvbiUyMG5hbWUlM0QlMjJMaWNodCUyMGF1c3NjaGFsdGVuJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMkVMU0UlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJkZWJ1ZyUyMiUyMGlkJTNEJTIyRzFiSCUyRiU3Qk9nNyUzQUJYKCohJTVFTWQ0MSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlNldmVyaXR5JTIyJTNFZGVidWclM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIydGV4dCUyMiUyMGlkJTNEJTIyLWRiaCUyQ1dKLkYlM0Y4MVBCIWh6bmUlN0IlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFMyUzQW5vdGhpbmcyZG8lMjBMaWNodCUyMG5pY2h0JTIwZHVyY2glMjBBbGdvJTIwZ2VzZXR6dCUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMkVMU0UlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJkZWJ1ZyUyMiUyMGlkJTNEJTIyTiUzQmxwKWFDJTI0JTYwZilmLnpLSVR6TVMlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJTZXZlcml0eSUyMiUzRWRlYnVnJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJURVhUJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMnRleHQlMjIlMjBpZCUzRCUyMlolN0NzJTQwLVklN0NjendsJTdCLjMpRnBZbn4lMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFMiUzQSUyMExpY2h0JTIwaXN0JTIwYXVzJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0MlMkZ2YWx1ZSUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb250cm9sc19pZiUyMiUyMGlkJTNEJTIyUiUyQ3FhdSU0MFVsWnAlNUJrJTVFRSUzRDkqWHF5JTIyJTNFJTNDbXV0YXRpb24lMjBlbHNlJTNEJTIyMSUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIySUYwJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybG9naWNfY29tcGFyZSUyMiUyMGlkJTNEJTIyWSpDUWstWmhOXzR2JTVCJTdEJTVCbCFKJTVCbSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9QJTIyJTNFTFQlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkElMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJnZXRfdmFsdWUlMjIlMjBpZCUzRCUyMiFfJTYwSjRhJTdCMSU3QktfJTNCJTJDUHQlM0ElNjAlNjBkNCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkFUVFIlMjIlM0V2YWwlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9JRCUyMiUzRWFsaWFzLjAuZWcuS3VlY2hlLkVHS3VlY2hlRmVuc3RlckJld2VnTHV4JTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQiUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19nZXQlMjIlMjBpZCUzRCUyMnpHemhLUG5PLjhDV2QqJTNESS0lMjMlMjVEJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJofiU3RHQ5TUxMJTVEaXRfViU3Q1ZSWTNNJTI1JTIyJTNFc2Nod2VsbFdlcnRMaWNodCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyRE8wJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyZGVidWclMjIlMjBpZCUzRCUyMkYocyUzRnYlMkYwVExUZUElNUVWa2UlMjVQQVolMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJTZXZlcml0eSUyMiUzRWRlYnVnJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJURVhUJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMnRleHQlMjIlMjBpZCUzRCUyMmlwYiElM0YodU1qbnlRJTVEWDguJTVFJTJDX2clMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFMyUzQSUyMGtsZWluZXIlMjBTY2h3ZWxsd2VydC0lMjZndCUzQkxpY2h0JTIwYW5zY2hhbHRlbiUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDJTJGdmFsdWUlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX3NldCUyMiUyMGlkJTNEJTIyUnUzZEVNT3ElM0R+ZEMhOCo0QmIlM0RwJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJOKSUyQioxfjNaU2xtKmR4ZmVoJTYwJTVCRSUyMiUzRUxpY2h0RHVyY2hCZXdlZ0FuJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmxvZ2ljX2Jvb2xlYW4lMjIlMjBpZCUzRCUyMnAlNDA1SnNOS34lM0YlN0IlMjRwR2dYUTQlMjUyZyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkJPT0wlMjIlM0VUUlVFJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbnRyb2xfZXglMjIlMjBpZCUzRCUyMl8lM0RkZE9xZDRRNGclMjQxc19QdllxaSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRZUEUlMjIlM0VmYWxzZSUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQ0xFQVJfUlVOTklORyUyMiUzRUZBTFNFJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJPSUQlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIyZmllbGRfb2lkJTIyJTIwaWQlM0QlMjJSM3RUSThlQyUyRmUlMjVzJTJCci0lMkJNekFjJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyb2lkJTIyJTNFT2JqZWN0JTIwSUQlM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19nZXQlMjIlMjBpZCUzRCUyMjBEM0g1JTIzZlVkXyUzQWJDOUJjLigwMyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyOSUyNEtocSU2MFolM0YhSExZJTNBN0VyZyUzRHRsJTIyJTNFaWRMaWNodFNjaGFsdGVyV3JpdGUlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJsb2dpY19ib29sZWFuJTIyJTIwaWQlM0QlMjI5JTYwMVM4NHlVJTVEbHo4aHN3TSpQbDIlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJCT09MJTIyJTNFVFJVRSUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJERUxBWV9NUyUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJtYXRoX251bWJlciUyMiUyMGlkJTNEJTIyLShTJTIzQ3lVOW5keiUzQnNrWSUzRFZ2JTJCLSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5VTSUyMiUzRTAlM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRpbWVvdXRzX3NldHRpbWVvdXRfdmFyaWFibGUlMjIlMjBpZCUzRCUyMklQKCUzQjhmeSU3RHBmJTdDS3MqJTJDTURONWolMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOQU1FJTIyJTNFaW5pdExpY2h0QXVzJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJERUxBWV9NUyUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJtYXRoX251bWJlciUyMiUyMGlkJTNEJTIycHMlMjUlNUVYZk0qJTNEciUzRCU1QlRQejBxLkwyJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTlVNJTIyJTNFNjAwMDAlM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19nZXQlMjIlMjBpZCUzRCUyMnUlN0J+bEQlM0ZSfjRxXyUyQ1AuckUlNUJkflclMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMiUzQU4lNUJjSSUzRiU3RDIlN0I4d2R2ZiUzRjhjNFcqJTIyJTNFTGljaHROYWNoZGV0ZWt0aW9uQW5ibGVpYmVuJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMlNUQVRFTUVOVCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnByb2NlZHVyZXNfY2FsbG5vcmV0dXJuJTIyJTIwaWQlM0QlMjJtJTdCJTJDbEMwMnROSThqXzZMMyUzQipweSUyMiUzRSUzQ211dGF0aW9uJTIwbmFtZSUzRCUyMkxpY2h0JTIwYXVzc2NoYWx0ZW4lMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyRUxTRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmRlYnVnJTIyJTIwaWQlM0QlMjJoZlUhbklMKlclM0EqJTdDSnolMjVodlolN0RFJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyU2V2ZXJpdHklMjIlM0VkZWJ1ZyUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjJ3KjE3diUyRiU3QmguJTI0QXZKbilDV0clM0JSJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRTMlM0ElMjBnciVDMyVCNiVDMyU5RmVyJTIwU2Nod2VsbHdlcnQlM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMkVMU0UlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJkZWJ1ZyUyMiUyMGlkJTNEJTIyYyUzRGcqZkklMjMtTHklMjMlMkNISyU3Qkd6c3E2JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyU2V2ZXJpdHklMjIlM0VkZWJ1ZyUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjIlM0I1JTdENFAlMjRhNEtqTWNjNkFsT1lkNiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UxJTNBJTIwbmljaHQlMjBlcmthbm50JTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyb25fZXh0JTIyJTIwaWQlM0QlMjJscDYlN0IlMkYlMjUpY3dSJTJCZWJpTHRLKEQlNUIlMjIlM0UlM0NtdXRhdGlvbiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGh0bWwlMjIlMjBpdGVtcyUzRCUyMjElMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkNPTkRJVElPTiUyMiUzRWFueSUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQUNLX0NPTkRJVElPTiUyMiUzRSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyT0lEMCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJmaWVsZF9vaWQlMjIlMjBpZCUzRCUyMiglNUJ1JTVEJTYwJTI0eW0ybkIxenIlNDBOZ1klNURwJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyb2lkJTIyJTNFZGVmYXVsdCUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIybSkuUHdlZ19ieFBoJTNGZzYzMEN3JTJCJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjItbiU1Ql9XbiU3QzhxJTdETGxoWGZrJTQwayglNUIlMjIlM0VpZExpY2h0U2NoYWx0ZXJSZWFkJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMlNUQVRFTUVOVCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmRlYnVnJTIyJTIwaWQlM0QlMjJuKkRsX3IlM0RWMiUzREFhbF9+VTV+VlolMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJTZXZlcml0eSUyMiUzRWRlYnVnJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJURVhUJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMnRleHQlMjIlMjBpZCUzRCUyMnAlN0NEJTJCJTNCbHU1LiUyNCU3Q0lucy5OQXglM0QpJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRXRlc3QlM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRleHRfam9pbiUyMiUyMGlkJTNEJTIydSUyM2JINW1RRiUyNHZZYyU2MCU3Q0glM0FMVm9mJTIyJTNFJTNDbXV0YXRpb24lMjBpdGVtcyUzRCUyMjYlMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkFERDAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjJBQSU2MCp6ZHYqY2wlMjNYTFdUJTNBTG9XVCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0VBbGlhc1JlYWQlM0ElMjAlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBREQxJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyb25fc291cmNlJTIyJTIwaWQlM0QlMjJIYy5QdHEhUFMlN0JtbmlpcyU3QjllKSU3QyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkFUVFIlMjIlM0VzdGF0ZS52YWwlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBREQyJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydGV4dCUyMiUyMGlkJTNEJTIyaSU1QiFPJTNBfiFma1VtdHJ1bERTdzMpJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRSUyQyUyMEFjayUzQSUyMCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkFERDMlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJvbl9zb3VyY2UlMjIlMjBpZCUzRCUyMjAwbSU1RWUlM0RTOX5Rdi5sRzVTYXVkcCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkFUVFIlMjIlM0VzdGF0ZS5hY2slM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBREQ0JTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydGV4dCUyMiUyMGlkJTNEJTIyOEYlNUU3eUMlMkJ5JTI0cWp1KiUyNTVvZHIwRCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UlMkMlMjBTa3JpcHQlM0ElMjAlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBREQ1JTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyb25fc291cmNlJTIyJTIwaWQlM0QlMjJndnpCYXNVJTVEU0NxLlVvTWhJRXYlM0IlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJBVFRSJTIyJTNFc3RhdGUuZnJvbSUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJvbl9leHQlMjIlMjBpZCUzRCUyMkpUaHZhVG0uKiU3QkUlM0YlNUIyM2VHTiU3RG0lMjIlM0UlM0NtdXRhdGlvbiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGh0bWwlMjIlMjBpdGVtcyUzRCUyMjElMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkNPTkRJVElPTiUyMiUzRWFueSUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQUNLX0NPTkRJVElPTiUyMiUzRSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyT0lEMCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJmaWVsZF9vaWQlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJvaWQlMjIlM0VkZWZhdWx0JTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjJlJTI0JTNBQiUyNHN4MjAlMkMlNjB6dUN1JTNGJTNCWV8wJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjI5JTI0S2hxJTYwWiUzRiFITFklM0E3RXJnJTNEdGwlMjIlM0VpZExpY2h0U2NoYWx0ZXJXcml0ZSUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJTVEFURU1FTlQlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJkZWJ1ZyUyMiUyMGlkJTNEJTIyJTJDISUzRDFHOUFxNShvSEoodSlVWlBpJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyU2V2ZXJpdHklMjIlM0VkZWJ1ZyUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRXRlc3QlM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRleHRfam9pbiUyMiUyMGlkJTNEJTIyYXBLMlUxeEZFaiUyQ01seW1sZCUyM3J2JTIyJTNFJTNDbXV0YXRpb24lMjBpdGVtcyUzRCUyMjYlMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkFERDAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjJBayU3RE8lNjAlMkNvdlk0RUw1JTNGZCU1QiU3QmEwSCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0VBbGlhc1dyaXRlJTNBJTIwJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQUREMSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMm9uX3NvdXJjZSUyMiUyMGlkJTNEJTIyYWhuJTJDKXpaJTI1eS1XT35TTmUlNUIlMjMlM0FpJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQVRUUiUyMiUzRXN0YXRlLnZhbCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkFERDIlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjJhJTQwZU14JTI1UUl5eW5VJTVEVyUyMyU1QmclM0JDSCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UlMkMlMjBBY2slM0ElMjAlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBREQzJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyb25fc291cmNlJTIyJTIwaWQlM0QlMjI0JTQweSUyNFlOJTQwenBTbCUyQiU1RW1hMmpXcVElMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJBVFRSJTIyJTNFc3RhdGUuYWNrJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQURENCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRleHQlMjIlMjBpZCUzRCUyMiU1QiU3Qio3JTdCcE5+KGNhOCU3RCU0MGRhMjZfeCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UlMkMlMjBTa3JpcHQlM0ElMjAlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBREQ1JTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyb25fc291cmNlJTIyJTIwaWQlM0QlMjJOSTRzWnMtZyhFV2ZBJTNBWHgybl83JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQVRUUiUyMiUzRXN0YXRlLmZyb20lM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnByb2NlZHVyZXNfZGVmbm9yZXR1cm4lMjIlMjBpZCUzRCUyMnUwd1IlNDB5SGtsJTNBZCUyQiUyNCU1QnElMjRKOF9mJTIyJTIweCUzRCUyMjgzOCUyMiUyMHklM0QlMjI5NjMlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOQU1FJTIyJTNFTGljaHQlMjBhdXNzY2hhbHRlbiUzQyUyRmZpZWxkJTNFJTNDY29tbWVudCUyMHBpbm5lZCUzRCUyMmZhbHNlJTIyJTIwaCUzRCUyMjgwJTIyJTIwdyUzRCUyMjE2MCUyMiUzRUJlc2NocmVpYmUlMjBkaWVzZSUyMEZ1bmt0aW9uJTIwJUUyJTgwJUE2JTNDJTJGY29tbWVudCUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJTVEFDSyUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmRlYnVnJTIyJTIwaWQlM0QlMjJmMHctJTdERUZ3WnYlM0IlM0QxTEMlM0ElM0FtR2olMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJTZXZlcml0eSUyMiUzRWRlYnVnJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJURVhUJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMnRleHQlMjIlMjBpZCUzRCUyMnRWJTJDSzQlMjVCZiUzQS5RZ3VDWEclN0QlMjRVJTVCJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRVglM0ElMjBMaWNodCUyMGF1c3NjaGFsdGVuJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0MlMkZ2YWx1ZSUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfc2V0JTIyJTIwaWQlM0QlMjIlM0RkJTJGaCUzRFNFT20oJTNEbyUyNGtlQlRwMyUyQiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyTiklMkIqMX4zWlNsbSpkeGZlaCU2MCU1QkUlMjIlM0VMaWNodER1cmNoQmV3ZWdBbiUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJsb2dpY19ib29sZWFuJTIyJTIwaWQlM0QlMjIlMjUlNUQqNFh2aCU1RCUzQmRkUSUyMzZmJTI1JTVFMyglM0QlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJCT09MJTIyJTNFRkFMU0UlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29udHJvbF9leCUyMiUyMGlkJTNEJTIyZF9LMS1EcSUyQiU3QjIlMkMqV3EtZTFfJTNCJTQwJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVFlQRSUyMiUzRWZhbHNlJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJDTEVBUl9SVU5OSU5HJTIyJTNFRkFMU0UlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMk9JRCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJmaWVsZF9vaWQlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJvaWQlMjIlM0VPYmplY3QlMjBJRCUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIyYmQlNUIxRmpmViU1RWQlM0ZtaiU3QnF0Wm50KSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyOSUyNEtocSU2MFolM0YhSExZJTNBN0VyZyUzRHRsJTIyJTNFaWRMaWNodFNjaGFsdGVyV3JpdGUlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJsb2dpY19ib29sZWFuJTIyJTIwaWQlM0QlMjJ3aiUyQzByV2hwdWsyJTdCJTQwRlFRNWlqdiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkJPT0wlMjIlM0VGQUxTRSUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJERUxBWV9NUyUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJtYXRoX251bWJlciUyMiUyMGlkJTNEJTIyMiUyQmJVSCU3Q2MlM0JsbmtXSyU1RGJSJTNEbFNLJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTlVNJTIyJTNFMCUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGeG1sJTNF
                                          

                                          Alias Read:

                                          {
                                            "common": {
                                              "name": "EGKuecheFensterLichtRead",
                                              "desc": "Manuell erzeugt",
                                              "role": "switch",
                                              "type": "boolean",
                                              "read": true,
                                              "write": true,
                                              "def": false,
                                              "alias": {
                                                "id": "mqtt.0.shellies.shelly1l-XXX.relay.0",
                                                "read": "val=='on'"
                                              }
                                            },
                                            "type": "state",
                                            "native": {},
                                            "_id": "alias.0.eg.Kueche.EGKuecheFensterLichtRead",
                                            "acl": {
                                              "object": 1636,
                                              "state": 1636,
                                              "owner": "system.user.admin",
                                              "ownerGroup": "system.group.administrator"
                                            },
                                            "from": "system.adapter.admin.0",
                                            "user": "system.user.admin",
                                            "ts": 1677258916765
                                          }
                                          

                                          Alias Write:

                                          {
                                            "common": {
                                              "name": "EGKuecheFensterLichtWrite",
                                              "desc": "Manuell erzeugt",
                                              "role": "switch",
                                              "type": "boolean",
                                              "read": true,
                                              "write": true,
                                              "def": false,
                                              "alias": {
                                                "id": "mqtt.0.shellies.shelly1l-XXX.relay.0.command",
                                                "write": "val?'on':'off'"
                                              }
                                            },
                                            "type": "state",
                                            "native": {},
                                            "_id": "alias.0.eg.Kueche.EGKuecheFensterLichtWrite",
                                            "acl": {
                                              "object": 1636,
                                              "state": 1636,
                                              "owner": "system.user.admin",
                                              "ownerGroup": "system.group.administrator"
                                            },
                                            "from": "system.adapter.admin.0",
                                            "user": "system.user.admin",
                                            "ts": 1677258607761
                                          }
                                          

                                          führte zu folgender Debugausgabe (ich habe den IOBroker neugestartet,da dieser den lesen alias am Anfang nicht aktualisiert hatte, dies ging aber ohne Probleme nach dem Neustart)
                                          Debug ausgabe:

                                          18:24:13.157	debug	javascript.0 (545343) script.js.EG.kueche.beweg3: 0: Bewegung
                                          18:24:13.158	debug	javascript.0 (545343) script.js.EG.kueche.beweg3: 0.1: Hinweise: Typ:boolean Wert ist: false
                                          18:24:13.158	debug	javascript.0 (545343) script.js.EG.kueche.beweg3: 1: erkanntfalse
                                          18:24:13.159	debug	javascript.0 (545343) script.js.EG.kueche.beweg3: 2: Licht ist aus
                                          18:24:13.159	debug	javascript.0 (545343) script.js.EG.kueche.beweg3: 3: kleiner Schwellwert->Licht anschalten
                                          18:24:13.173	debug	javascript.0 (545343) script.js.EG.kueche.beweg3: AliasWrite: true, Ack: false, Skript: system.adapter.javascript.0
                                          18:24:13.182	debug	javascript.0 (545343) script.js.EG.kueche.beweg3: AliasWrite: true, Ack: true, Skript: system.adapter.mqtt.0
                                          18:24:13.197	debug	javascript.0 (545343) script.js.EG.kueche.beweg3: AliasRead: true, Ack: true, Skript: system.adapter.mqtt.0
                                          18:24:26.354	debug	javascript.0 (545343) script.js.EG.kueche.beweg3: AliasRead: false, Ack: true, Skript: system.adapter.mqtt.0
                                          18:24:45.147	debug	javascript.0 (545343) script.js.EG.kueche.beweg3: 0: Bewegung
                                          18:24:45.148	debug	javascript.0 (545343) script.js.EG.kueche.beweg3: 1: nicht erkannt
                                          18:25:13.160	debug	javascript.0 (545343) script.js.EG.kueche.beweg3: X: Licht ausschalten
                                          18:25:13.177	debug	javascript.0 (545343) script.js.EG.kueche.beweg3: AliasWrite: false, Ack: false, Skript: system.adapter.javascript.0
                                          18:25:13.198	debug	javascript.0 (545343) script.js.EG.kueche.beweg3: AliasWrite: false, Ack: true, Skript: system.adapter.mqtt.0
                                          18:25:26.413	debug	javascript.0 (545343) script.js.EG.kueche.beweg3: 0: Bewegung
                                          18:25:26.414	debug	javascript.0 (545343) script.js.EG.kueche.beweg3: 0.1: Hinweise: Typ:boolean Wert ist: false
                                          18:25:26.414	debug	javascript.0 (545343) script.js.EG.kueche.beweg3: 1: erkanntfalse
                                          18:25:26.415	debug	javascript.0 (545343) script.js.EG.kueche.beweg3: 2: Licht ist aus
                                          18:25:26.416	debug	javascript.0 (545343) script.js.EG.kueche.beweg3: 3: kleiner Schwellwert->Licht anschalten
                                          18:25:26.431	debug	javascript.0 (545343) script.js.EG.kueche.beweg3: AliasWrite: true, Ack: false, Skript: system.adapter.javascript.0
                                          18:25:26.440	debug	javascript.0 (545343) script.js.EG.kueche.beweg3: AliasWrite: true, Ack: true, Skript: system.adapter.mqtt.0
                                          18:25:26.507	debug	javascript.0 (545343) script.js.EG.kueche.beweg3: AliasRead: true, Ack: true, Skript: system.adapter.mqtt.0
                                          18:25:58.387	debug	javascript.0 (545343) script.js.EG.kueche.beweg3: 0: Bewegung
                                          18:25:58.388	debug	javascript.0 (545343) script.js.EG.kueche.beweg3: 1: nicht erkannt
                                          18:26:26.418	debug	javascript.0 (545343) script.js.EG.kueche.beweg3: X: Licht ausschalten
                                          18:26:26.452	debug	javascript.0 (545343) script.js.EG.kueche.beweg3: AliasWrite: false, Ack: false, Skript: system.adapter.javascript.0
                                          18:26:26.466	debug	javascript.0 (545343) script.js.EG.kueche.beweg3: AliasWrite: false, Ack: true, Skript: system.adapter.mqtt.0
                                          18:26:26.480	debug	javascript.0 (545343) script.js.EG.kueche.beweg3: AliasRead: false, Ack: true, Skript: system.adapter.mqtt.0
                                          
                                          

                                          Zeile 16 zeigt nun den richtigen Wert an :).
                                          Ich denke die Lösung liegt tatsächlich darin zwei Alias zu verwenden. Vielen, vielen Dank @paul53

                                          paul53P Offline
                                          paul53P Offline
                                          paul53
                                          schrieb am zuletzt editiert von paul53
                                          #26

                                          @iomas sagte: Ich denke die Lösung liegt tatsächlich darin zwei Adapter zu verwenden.

                                          Nein, das muss auch mit einem Alias funktionieren - wie bei mir.

                                          EDIT: Welche Node.js-Version?

                                          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                          I 1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          531

                                          Online

                                          32.6k

                                          Benutzer

                                          82.2k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe