myList symbolSwitchOFF symbolSwitchON bildgroesseBreit datenpunkte i namen bildgroesseHoch dpVIS schaltbar einheit Liste counter images - speicherort in vis symbolSwitchOFF /vis.0/armin/img/bulb-off.png symbolSwitchON /vis.0/armin/img/bulb-on.png bildgroesseBreit 40 bildgroesseHoch 45 tabelle - speicherort dpVIS controll-own.0.AAATEST.TestHTML namen rechte spalte anzahl namen und datenpunkte müssn GLEICH sein!!!! anzahl schaltbar und einheit auch!!!! namen Sonoff 1 Sonoff 17 Sonoff 16 - nur Bild Temp-Wert zu prüfende datenpunkte datenpunkte sonoff.1.SP211Gosund.POWER1 sonoff.0.Sonoff17.POWER sonoff.0.Sonoff16.POWER sonoff.0.Sonoff15.AM2301_Temperature schaltbar ja oder nein schaltbar TRUE FALSE TRUE FALSE einheit anhängen einheit °C ne default datenpunkte Liste counter -1 i 0 0 10 MINUS 1 namen 1 1 1 1 SET FROM_START Liste ADD 1 i 1 1 GET FROM_START namen ADD 1 i 1 1 val GET FROM_START datenpunkte ADD 1 i 1 1 GET FROM_START datenpunkte ADD 1 i 1 1 GET FROM_START schaltbar ADD 1 i 1 1 GET FROM_START einheit ADD 1 i 1 1 log test Liste Liste 0_userdata.0.Oesi_Impfen.all FALSE TRUE Liste tabelleMit3Werten ICAvL0BsaXYtaW4tc2t5IDIwMjAgIDQuMi4tMTg6NDINCg0KDQogLy9ISUVSIFdJUkQgUEZBRCBVTkQgRklMRU5BTUUgREVGSU5JRVJUDQogY29uc3QgcGF0aCA9ICIvaHRtbGV4YW1wbGVzZXR0aW5nLmh0bWwiOyAgICAgICAgICAgICAgICAgICAvL0ZJbGVuYW1lbiBkZWZpbmllcmVuDQogY29uc3QgaG9tZSA9J3Zpcy4wJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vd28gc29sbCBkYXMgZmlsZSBpbSBpb2Jyb2tlci1maWxlLXN5c3RlbSBsaWVnZW4gPyAob2RlciB6LmIgYXVjaCBpcW9udHJvbC5tZXRhKQ0KIGxldCAgIGJyYXVjaGVFaW5GaWxlPWZhbHNlOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gYmVpIHRydWUgd2lyZCBlaW4gZmlsZSBnZXNjaHJpZWJlbg0KIGxldCAgIGJyYXVjaGVFaW5WSVNXaWRnZXQ9dHJ1ZTsgICAgICAgICAgICAgICAgICAgICAvLyBiZWkgdHJ1ZSB3aXJkIGVpbiBodG1sLXRhYmVsbGUgaW4gZWluZW4gZHAgZ2VzY2hyaWViZW4gLSBzaWVoZSBuw6RjaHN0ZSB6ZWlsZQ0KIC8vbGV0IGRwVklTPSJjb250cm9sbC1vd24uMC5BQUFURVNULlRlc3RIVE1MIiAgICAgICAgIC8vV0lDSFRJRyB3ZW5uIGJyYXVjaGVFaW5WSVNXaWRnZXQgYXVmIHRydWUgZ2VzZXR6dCAhISAgZHAgenVzw6R0emxpY2ggZsO8ciBWSVMtSFRNTC1CYXNpYy1XaWRnZXQNCiBjb25zdCBmYXJiZVNjaGFsdGVyT049ImxpZ2h0Ymx1ZSIgICAgICAgICAgICAgICAvLyBmYXJiZSBkZXMgc2NoYWx0ZXJzIGbDvHIgT04NCmNvbnN0IGZhcmJlU2NoYWx0ZXJPRkY9ImdyZXkiICAgICAgICAgICAgICAgLy8gZmFyYmUgZGVzIHNjaGFsdGVycyBmw7xyIE9GRg0KDQogLy9sZXQgbXlTY2hlZHVsZT0iICovMjAgKiAqICogKiAqICI7ICAgICAgICAgICAgICAgICAgICAgICAvL2plZGUgbWludXRlICANCiAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQovL0hJRVIgRElFIFNQQUxURU4gQU5aQUhMIERFRklOSUVSRU4gLSBqZWRlIFNwYWx0ZSBlaW5lbiBXZXJ0IC0gaW4gZGllc2VtIEJlaXNwaWVsIHNpbmQgZXMgMg0KdmFyIGh0bWxGZWxkMT0nU3RhbmRvcnQnOyAgICAgICB2YXIgRmVsZDFsQWxpZ249ImxlZnQiOyAgICAgICAgICAgICAgICAgICAgIC8vIMO8YmVyc2NocmlmdCBUYWJlbGxlbiBTcGFsdGUxIHVuZCAgQXVzcmljaHR1bmcgbGVmdCxyaWdodCBvciBjZW50ZXINCnZhciBodG1sRmVsZDI9J1N0YXR1cyc7ICAgICAgICAgdmFyIEZlbGQybEFsaWduPSJjZW50ZXIiOyAgICAgICAgICAgICAgICAgICAgICAvLyDDvGJlcnNjaHJpZnQgVGFiZWxsZW4gU3BhbHRlMiB1bmQgIEF1c3JpY2h0dW5nIGxlZnQscmlnaHQgb3IgY2VudGVyDQoNCi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KDQoNCi8vaGllciB3ZXJkZW4gZGllIHN0eWxlcyBmw7xyIGRpZSB0YWJlbGxlIGRlZmluaWVydA0KLy/DnEJFUlNDSFJJRlQgw5xCRVIgVEFCRUxMRQ0KbGV0ICAgaHRtbFViZXJzY2hyaWZ0PWZhbHNlOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIG1pdCDDnGJlcnNjaHJpZnQgw7xiZXIgZGVyIHRhYmVsbGUNCmxldCAgIGh0bWxTaWduYXR1cmU9ZmFsc2U7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gYW5zdGF0dCBkZXIgw5xiZXJzY2docmlmdCBlaW5lIHNpZ25hdHVyZTogLSBrbGVpbmVyIC0gYW5saWVnZW5kDQpjb25zdCBodG1sRmVsZFVlYmVyPSdCYXR0ZXJpZSBadXN0YW5kIFNlbnNvcmVuJzsgICAgICAgICAgICAgIC8vIMOcYmVyc2NocmlmdCB1bmQgU2lnbmF0dXJlDQpjb25zdCBodG1sRmFyYlViZXI9ImJsYWNrIjsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gRmFyYmUgZGVyIMOcYmVyc2NocmlmdA0KY29uc3QgaHRtbFNjaHJpZnRXZWl0ZT0ibm9ybWFsIjsgICAgICAgICAgICAgICAgICAgICAgIC8vIGJvbGQsIG5vcm1hbCAtIEZldHRzY2hyaWZ0IGbDvHIgw5xiZXJzY2hyaWZ0DQpjb25zdCBodG1sw5xiZXJGb250R3JvZXNzZT0iMThweCI7ICAgICAgICAgICAgICAgICAgICAgICAvLyBzY2hyaWZ0Z3LDtsOfZSDDvGJlcnNjaHJpZnQNCi8vTUVIUkVSRSBUQUJFTExFTiBORUJFTkVJTkFOREVSDQpsZXQgICBtZWhyZmFjaFRhYmVsbGU9MTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBiaXMgenUgNCBUYWJlbGxlbiB3ZXJkZW4gbmViZW5laW5hbmRlciBnZXNjaHJpZWJlbi0gIHZlcmvDvHJ6dCBkYXMgR2FuemUsIGRhZsO8ciBldHdhcyBicmVpdGVyIC0gTcOWR0xJQ0ggMSwyLDMsb2RlciA0ICEhIQ0KY29uc3QgdHJlbm51bmdzTGluaWU9IjIiOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9leHRyYSB0cmVubnVuZ3NsaW5pZSBiZWkgbWVocmZhY2h0YWJlbGxlbiAtIGV2dGwgYXVmIDAgc3RlbGxlbiwgd25uIGh0bWxSYWhtZW5MaW5pZW4gYXVmIG5vbmUgc2luZA0KY29uc3QgZmFyYmV0cmVubnVuZ3NMaW5pZT0id2hpdGUiOw0KY29uc3QgaHRtbEZhcmJad2VpdGVUYWJlbGxlPSJ3aGl0ZSI7ICAgICAgICAgICAgICAgIC8vIEZhcmJlIGRlciDDnGJlcnNjaHJpZnQgYmVpIGplZGVyIDIudGVuIFRhYmVsbGUNCmNvbnN0IGh0bWxGYXJiVGFibGVDb2xvclViZXI9IiMwMDAwMDAiOyAgICAgICAgICAgICAgIC8vIMOcYmVyc2NocmlmdCBpbiBkZXIgdGFiZWxsZSAtIGRlciBlaW56ZWxuZW4gU3BhbHRlbg0KLy/DnEJFUlNDSFJJRlQgU1BBTFRFTg0KY29uc3QgVWViZXJTY2hyaWZ0SMO2aGU9IjM1IjsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vw5xiZXJzY2hyaWZ0IGJla29tbXQgbWVociBSYXVtIC0gZGFydW50ZXIgdW5kIGRhcsO8YmVyIC0gWmVsbGVuaMO2aGUNCmNvbnN0IExpbmllVW50ZXJVZWJlcnNjaHJpZnQ9IjMiOyAgICAgICAgICAgICAgICAgICAvLyBMaW5pZSBudXIgdW50ZXIgU3BhbHRlbsO8YmVyc2NocmlmdCAtIA0KY29uc3QgZmFyYmVMaW5pZVVudGVyVWViZXJzY2hyaWZ0PSJ3aGl0ZSI7DQpjb25zdCBncm9lc3NlVWViZXJzY2hyaWZ0PTE2Ow0KY29uc3QgVWViZXJzY2hyaWZ0U3R5bGU9Im5vcm1hbCIgICAgICAgICAgICAgICAgICAgICAvLyBtw7ZnbGljaCAiYm9sZCINCi8vR0FOWkUgVEFCRUxMRQ0KbGV0IGFic3RhbmRaZWxsZT0iMSI7DQpsZXQgZmFyYmVVbmdlcmFkZVplaWxlbj0iIzAwMDAwMCI7ICAgICAgICAgICAgICAgICAgICAgLy9GYXJiZSBmw7xyIHVuZ2VyYWRlIFplaWxlbmFuemFobCAtIEhpbnRlcmdydW5kIGRlciBTcGFsdGVuw7xiZXJzY2hyaWZ0IGJsZWlidCBiZWkgaHRtbEZhcmJUYWJsZUNvbG9yR3JhZGllbnQxLzINCmxldCBmYXJiZUdlcmFkZVplaWxlbj0iIzE1MTUxNSI7ICAgICAgICAgICAgICAgICAgICAgICAgLy9GYXJiZSBmw7xyIGdlcmFkZSBaZWlsZW5hbnphaGwgLSBIaW50ZXJncnVuZCBkZXIgU3BhbHRlbsO8YmVyc2NocmlmdCBibGVpYnQgYmVpIGh0bWxGYXJiVGFibGVDb2xvckdyYWRpZW50MS8yDQpsZXQgd2VpdGU9IjQwMHB4IjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9XZWl0ZSBkZXIgVGFiZWxsZQ0KbGV0IHplbnRyaWVydD10cnVlOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9nYW56ZSB0YWJlbGxlIHplbnRyaWVydA0KY29uc3QgYmFja2dyb3VuZEFsbD0iIzAwMDAwMCI7ICAgICAgICAgICAgICAgICAgICAgICAgLy9IaW50ZXJncnVuZCBmw7xyIGRpZSBnYW56ZSBTZWl0ZSAtIGbDvHIgZGlyZWt0ZW4gYXVmcnVmIG9kZXIgaXFvbnRyb2wgc2ljaHRiZXIgLSBrZWluZSBhdXN3aXJrdW5nIGF1ZiB2aXMtd2lkZ2V0DQpjb25zdCBodG1sU2NocmlmdGFydD0iSGVsdmV0aWNhIjsNCmNvbnN0IGh0bWxTY2hyaWZ0Z3JvZXNzZT0iMThweCI7DQovL0ZFTERFUiBVTkQgUkFITUVODQpsZXQgICBVZWJlcnNjaHJpZnRTcGFsdGVuPXRydWU7ICAgICAgICAgICAgICAgIC8vIGVpbi0gb2RlciBhdXNibGVuZGVuIGRlciBzcGF0bGVuLcO8YmVyc2NocmlmdGVuDQpjb25zdCBodG1sRmFyYkZlbGRlcnNjaHJpZnQ9IiNCREJEQkQiOyAgICAgICAgICAgICAgICAgIC8vIFNjaHJpZnRGYXJiZSBkZXIgRmVsZGVyDQpjb25zdCBodG1sRmFyYkZlbGRlcnNjaHJpZnQyPSIjRDhEOEQ4IjsgICAgICAgICAgICAgICAgIC8vIFNjaHJpZnRGYXJiZSBkZXIgRmVsZGVyIGbDvHIgamVkZSAydGUgVGFiZWxsZQ0KY29uc3QgaHRtbEZhcmJUYWJsZUNvbG9yR3JhZGllbnQxPSIjQ0REMTYzIjsgICAgICAgICAgLy8gIEdyYWRpZW50IC0gSGludGVyZ3J1bmQgZGVyIFRhYmVsbGUgLSBWZXJsYXVmZmFyYmUNCmNvbnN0IGh0bWxGYXJiVGFibGVDb2xvckdyYWRpZW50Mj0iI0NERDE2MyI7ICAgICAgICAgIC8vICBHcmFkaWVudCAtIEhpbnRlcmdydW5kIGRlciBUYWJlbGxlIC0gaXN0IGRpZXNlciBXZXJ0IGdsZWljaCBHcmFkaWVudDEgZ2lidCBlcyBrZWluZW4gdmVybGF1Zg0KY29uc3QgaHRtbEZhcmJUYWJsZUJvcmRlckNvbG9yPSJncmV5IjsgICAgICAgICAgICAgLy8gRmFyYmUgZGVzIFJhaG1lbiAtIGlzIHRkaWVzZXIgZ2xlaWNoIGRlbiBncmFkaWVudGVuLCBzaW5kIGRpZSByYWhtZW4gdW5zaWNodGJhcg0KbGV0IGh0bWxSYWhtZW5MaW5pZW49ImNvbHMiOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBGb3JtYXQgZsO8ciBSYWhtZW46IE3DlkdMSUNIOiAibm9uZSIgb2RlciAiYWxsIiBvZGVyICJjb2xzIiBvZGVyICJyb3dzIg0KY29uc3QgaHRtbFNwYWx0ZTFXZWl0ZT0iYXV0byI7ICAgICAgICAgICAgICAgICAgIC8vICBXZWl0ZSBkZXIgZXJzdGVuIGJlaWRlbiAgU3BhbHRlbiBvZGVyIHouYi4gMTE1cHgNCg0KLy8gSElFUiBOSUNIVFMgIMOETkRFUk4NCg0KbGV0IGJvcmRlckhlbHBCb3R0dW07DQpsZXQgYm9yZGVySGVscFJpZ2h0Ow0KbGV0IGh0bWxjZW50ZXJIZWxwOw0KbGV0IGh0bWxjZW50ZXJIZWxwMjsNCg0KaWYoaHRtbFJhaG1lbkxpbmllbj09InJvd3MiKSB7Ym9yZGVySGVscEJvdHR1bT0xO2JvcmRlckhlbHBSaWdodD0wO30NCmlmKGh0bWxSYWhtZW5MaW5pZW49PSJjb2xzIikge2JvcmRlckhlbHBCb3R0dW09MDtib3JkZXJIZWxwUmlnaHQ9MTt9DQppZihodG1sUmFobWVuTGluaWVuPT0ibm9uZSIpIHtib3JkZXJIZWxwQm90dHVtPTA7Ym9yZGVySGVscFJpZ2h0PTA7fQ0KaWYoaHRtbFJhaG1lbkxpbmllbj09ImFsbCIpICB7Ym9yZGVySGVscEJvdHR1bT0xO2JvcmRlckhlbHBSaWdodD0xO30NCnplbnRyaWVydCA/IGh0bWxjZW50ZXJIZWxwPSJhdXRvIiA6IGh0bWxjZW50ZXJIZWxwPSJsZWZ0IjsNCnplbnRyaWVydCA/IGh0bWxjZW50ZXJIZWxwMj0iY2VudGVyIiA6IGh0bWxjZW50ZXJIZWxwMj0ibGVmdCI7DQoNCg0KY29uc3QgaHRtbFplbnRyaWVydD0nPGNlbnRlcj4nDQpjb25zdCBodG1sU3RhcnQ9ICAgICI8IURPQ1RZUEUgaHRtbD48aHRtbCBsYW5nPVwiZGVcIj48aGVhZD48dGl0bGU+Vm9ybGFnZTwvdGl0bGU+PG1ldGEgaHR0cC1lcXVpdj1cImNvbnRlbnQtdHlwZVwiIGNvbnRlbnQ9XCJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLThcIj4iKw0KICAgICAgICAgICAgICAgICAgIjxzdHlsZT4gKiB7ICBtYXJnaW46IDA7fSBib2R5IHtiYWNrZ3JvdW5kLWNvbG9yOiAiK2JhY2tncm91bmRBbGwrIjsgbWFyZ2luOiAwIGF1dG87ICB9IisNCiAgICAgICAgICAgICAgICAgICIgcCB7cGFkZGluZy10b3A6IDEwcHg7IHBhZGRpbmctYm90dG9tOiAxMHB4OyB0ZXh0LWFsaWduOiAiK2h0bWxjZW50ZXJIZWxwMisifSIrDQogICAgICAgICAgICAgICAgIC8vICIgZGl2IHsgbWFyZ2luOiAwIGF1dG87ICBtYXJnaW4tbGVmdDogYXV0bzsgbWFyZ2luLXJpZ2h0OiBhdXRvO30iKw0KICAgICAgICAgICAgICAgICAgIiB0ZCB7IHBhZGRpbmc6IithYnN0YW5kWmVsbGUrInB4OyBib3JkZXI6MHB4IHNvbGlkICIraHRtbEZhcmJUYWJsZUJvcmRlckNvbG9yKyI7ICBib3JkZXItcmlnaHQ6Iitib3JkZXJIZWxwUmlnaHQrInB4IHNvbGlkICIraHRtbEZhcmJUYWJsZUJvcmRlckNvbG9yKyI7Ym9yZGVyLWJvdHRvbToiK2JvcmRlckhlbHBCb3R0dW0rInB4IHNvbGlkICIraHRtbEZhcmJUYWJsZUJvcmRlckNvbG9yKyI7fSIrIA0KICAgICAgICAgICAgICAgICAgIiB0YWJsZSB7IHdpZHRoOiAiK3dlaXRlKyI7ICBtYXJnaW46IDAgIitodG1sY2VudGVySGVscCsiOyBib3JkZXI6MXB4IHNvbGlkICIraHRtbEZhcmJUYWJsZUJvcmRlckNvbG9yKyI7IGJvcmRlci1zcGFjaW5nPVwiIithYnN0YW5kWmVsbGUrIjBweFwiIDsgfSIrICAgLy8gbWFyZ2luIG1hY2h0IGNlbnRlcg0KICAgICAgICAgICAgICAgICAgInRkOm50aC1jaGlsZCgxKSB7d2lkdGg6ICIraHRtbFNwYWx0ZTFXZWl0ZSsifSIrInRkOm50aC1jaGlsZCgyKSB7d2lkdGg6IitodG1sU3BhbHRlMVdlaXRlKyJ9IisNCiAgICAgICAgICAgICAgICAgICIgPC9zdHlsZT48L2hlYWQ+PGJvZHk+IDxkaXY+IjsNCi8vY29uc3QgaHRtbFVlYmVyPSAgICAiPHAgc3R5bGU9XCJjb2xvcjoiK2h0bWxGYXJiVWJlcisiOyBmb250LWZhbWlseToiK2h0bWxTY2hyaWZ0YXJ0KyI7IGZvbnQtd2VpZ2h0OiBib2xkXCI+IitodG1sRmVsZFVlYmVyKyI8L3A+IjsgICAgICAgICAgICAgICAgICAgIA0KY29uc3QgaHRtbFRhYlN0eWxlPSAiPHRhYmxlIGJvcmRlcmNvbG9yPVwiIitodG1sRmFyYlRhYmxlQm9yZGVyQ29sb3IrIlwiIGJvcmRlcj1cIjJweFwiIGNlbGxzcGFjaW5nPVwiIithYnN0YW5kWmVsbGUrIlwiIGNlbGxwYWRkaW5nPVwiIithYnN0YW5kWmVsbGUrIlwiIHdpZHRoPVwiIit3ZWl0ZSsiXCIgcnVsZXM9XCIiK2h0bWxSYWhtZW5MaW5pZW4rIlwiIHN0eWxlPVwiY29sb3I6IitodG1sRmFyYkZlbGRlcnNjaHJpZnQrIjsgIGZvbnQtc2l6ZToiK2h0bWxTY2hyaWZ0Z3JvZXNzZSsNCiAgICAgICAgICAgICAgICAgICAgICI7IGZvbnQtZmFtaWx5OiIraHRtbFNjaHJpZnRhcnQrIjtiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoNDJkZWcsIitodG1sRmFyYlRhYmxlQ29sb3JHcmFkaWVudDIrIiwiK2h0bWxGYXJiVGFibGVDb2xvckdyYWRpZW50MSsiKTtcIj4iOw0KY29uc3QgaHRtbFRhYlVlYmVyMT0iPHRyIGhlaWdodD1cIiIrVWViZXJTY2hyaWZ0SMO2aGUrIlwiIHN0eWxlPVwiY29sb3I6IitodG1sRmFyYlRhYmxlQ29sb3JVYmVyKyI7IGZvbnQtc2l6ZTogIitncm9lc3NlVWViZXJzY2hyaWZ0KyJweDsgZm9udC13ZWlnaHQ6ICIrVWViZXJzY2hyaWZ0U3R5bGUrIiA7ICBib3JkZXItYm90dG9tOiAiK0xpbmllVW50ZXJVZWJlcnNjaHJpZnQrInB4IHNvbGlkICIrZmFyYmVMaW5pZVVudGVyVWViZXJzY2hyaWZ0KyIgXCI+IjsNCmNvbnN0IGh0bWxUYWJVZWJlcjM9IjwvdHI+IjsNCg0KY29uc3QgYnV0dG9uU2NyaXB0ID0gICc8c2NyaXB0PiBmdW5jdGlvbiBzZXRPbkRibENsaWNrQ3VzdG9tKCBteXZhbHVlICkgewl2YXIgU2VsZiA9IHRoaXM7IHZhciBvYmpJRCA9IG15dmFsdWU7CVNlbGYuc2VydkNvbm4uZ2V0U3RhdGVzKG9iaklELCAoZXJyb3IsIHN0YXRlcykgPT4geyAgY29uc29sZS5sb2coc3RhdGVzKTsgIFNlbGYuc2VydkNvbm4uc2V0U3RhdGUob2JqSUQsICFzdGF0ZXNbb2JqSURdLnZhbCk7IH0pOyB9IDwvc2NyaXB0PicNCg0KLy8vL05JQ0hUUyDDhE5ERVJOICAtIGFiaMOkbmdpZyB2b24gZGVuIG9iZW4gZGVmaW5pZXJ0ZW4gX1NwYWx0ZW4gLSBpbiBkaWVzZW0gQmVpc3BpZWwgc2luZCBlcyAyDQoNCnZhciBodG1sVGFiVWViZXIyPSI8dGQgd2lkdGg9IitodG1sU3BhbHRlMVdlaXRlKyIgYWxpZ249IitGZWxkMWxBbGlnbisiPiZlbnNwOyIraHRtbEZlbGQxKyImZW5zcDs8L3RkPjx0ZCB3aWR0aD0iK2h0bWxTcGFsdGUxV2VpdGUrIiBhbGlnbj0iK0ZlbGQybEFsaWduKyI+JmVuc3A7IitodG1sRmVsZDIrIiZlbnNwOzwvdGQ+IjsNCnZhciBodG1sVGFiVWViZXIyXzE9Ijx0ZCB3aWR0aD0iK2h0bWxTcGFsdGUxV2VpdGUrIiBhbGlnbj0iK0ZlbGQxbEFsaWduKyIgc3R5bGU9XCJjb2xvcjoiK2h0bWxGYXJiWndlaXRlVGFiZWxsZSsiXCI+JmVuc3A7IitodG1sRmVsZDErIiZlbnNwOzwvdGQ+PHRkIHdpZHRoPSIraHRtbFNwYWx0ZTFXZWl0ZSsiIGFsaWduPSIrRmVsZDJsQWxpZ24rIiBzdHlsZT1cImNvbG9yOiIraHRtbEZhcmJad2VpdGVUYWJlbGxlKyJcIj4mZW5zcDsiK2h0bWxGZWxkMisNCiAgICAgICAgICAgICAgICAgICAgIiZlbnNwOzwvdGQ+IjsNCi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQogDQoNCnZhciBodG1sT3V0PSIiOw0KdmFyIG1peDsNCnZhciBjb3VudGVyOw0KdmFyIHZhbDE7ICB2YXIgdmFsMDsNCnZhciBodG1sVGFiVWViZXI9IiI7DQoNCmZ1bmN0aW9uIHdyaXRlSFRNTCgpew0KDQoNCg0KaHRtbE91dD0iIjsNCg0KY291bnRlcj0tMTsNCmh0bWxUYWJVZWJlcj0iIjsNCnN3aXRjaCAobWVocmZhY2hUYWJlbGxlKSB7IA0KICAgIGNhc2UgMTogaHRtbFRhYlVlYmVyPWh0bWxUYWJVZWJlcjEraHRtbFRhYlVlYmVyMitodG1sVGFiVWViZXIzOyAgYnJlYWs7DQogICAgY2FzZSAyOiBodG1sVGFiVWViZXI9aHRtbFRhYlVlYmVyMStodG1sVGFiVWViZXIyK2h0bWxUYWJVZWJlcjJfMStodG1sVGFiVWViZXIzOyBicmVhazsNCiAgICBjYXNlIDM6IGh0bWxUYWJVZWJlcj1odG1sVGFiVWViZXIxK2h0bWxUYWJVZWJlcjIraHRtbFRhYlVlYmVyMl8xK2h0bWxUYWJVZWJlcjIraHRtbFRhYlVlYmVyMzsgYnJlYWs7DQogICAgY2FzZSA0OiBodG1sVGFiVWViZXI9aHRtbFRhYlVlYmVyMStodG1sVGFiVWViZXIyK2h0bWxUYWJVZWJlcjJfMStodG1sVGFiVWViZXIyK2h0bWxUYWJVZWJlcjJfMStodG1sVGFiVWViZXIzOyBicmVhazsNCn07ICAgIA0KaWYgKCFVZWJlcnNjaHJpZnRTcGFsdGVuKSB7aHRtbFRhYlVlYmVyPSIifQ0KDQogLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIC8vLS0tLS0tLS0taGllciBrb21tdCBldXJlIHNjaGxlaWZlIHJlaW4gY291bnRlcisrLCB0YWJlbGxlQmluZCgpIHVuZCB0YWJlbGxlRmluaXNoKCkgbcO8c3NlbiBzbyBpbnRlZ3JpZXJ0IGJsZWliZW4gISEhLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQogLy8tLS0tLS0tLS1hbGxlIHZhbHggd2VydGUgbcO8c3NlbiB2b24gZXVjaCBiZXN0aW1tdCB3ZXJkZW4gLSB2YWwwLHZhbDEgISEhLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQogLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQogIGZvciAobGV0IHg9MDt4PG15TGlzdC5sZW5ndGg7eCsrKXsNCiAgICAgIGNvdW50ZXIrKzsNCiAgICAgLy8gbG9nKCItLS0iICtteUxpc3RbeF1bMF0gKQ0KICAgICAgaWYobXlMaXN0W3hdWzBdIT1udWxsKXsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWwwICA9IG15TGlzdFt4XVswXTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWwxICA9IG15TGlzdFt4XVsxXQ0KICAgIC8vIGxvZyh2YWwwKQ0KICAgICAgICAgICAgICAgICAgbGV0IHZhbEJ1dHRvbj1teUxpc3RbeF1bMl0NCiAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgaWYgKG15TGlzdFt4XVszXSl7DQogICAgICAgICAgICAgICAgICB2YWwxID8gdmFsMT0iPGJ1dHRvbiBzdHlsZVw9XCJib3JkZXI6bm9uZVw7IGJhY2tncm91bmQtY29sb3JcOnRyYW5zcGFyZW50XDsgY29sb3JcOndoaXRlXDsgZm9udFwtc2l6ZVw6MWVtXDsgdGV4dFwtYWxpZ246bGVmdFwiIHZhbHVlPVwidG9nZ2xlXCIgb25jbGljaz1cInNldE9uRGJsQ2xpY2tDdXN0b21cKFwnIit2YWxCdXR0b24rIlwnKVwiPiIrIjxpbWcgc3JjPSIrc3ltYm9sU3dpdGNoT04gKyIgaGVpZ2h0PVwiIitiaWxkZ3JvZXNzZUhvY2grIlwiIHdpZHRoPVwiIitiaWxkZ3JvZXNzZUJyZWl0KyJcIj4iKyAiPC9idXR0b24+IiA6DQogICAgICAgICAgICAgICAgICAgICAgICAgICB2YWwxPSI8YnV0dG9uIHN0eWxlXD1cImJvcmRlcjpub25lXDsgYmFja2dyb3VuZC1jb2xvclw6dHJhbnNwYXJlbnRcOyBjb2xvclw6d2hpdGVcOyBmb250XC1zaXplXDoxZW1cOyB0ZXh0XC1hbGlnbjpsZWZ0XCIgdmFsdWU9XCJ0b2dnbGVcIiBvbmNsaWNrPVwic2V0T25EYmxDbGlja0N1c3RvbVwoXCciK3ZhbEJ1dHRvbisiXCcpXCI+IisiPGltZyBzcmM9IitzeW1ib2xTd2l0Y2hPRkYgKyIgaGVpZ2h0PVwiIitiaWxkZ3JvZXNzZUhvY2grIlwiIHdpZHRoPVwiIitiaWxkZ3JvZXNzZUJyZWl0KyJcIj4iKyI8L2J1dHRvbj4iOw0KICAgICAgICAgICAgICAgICAgfSBlbHNlew0KICAgICAgICAgICAgICAgICAgIC8vICB2YWwxID8gdmFsMT0iPGltZyBzcmM9IitzeW1ib2xTd2l0Y2hPTiArIiBoZWlnaHQ9XCIiK2JpbGRncm9lc3NlSG9jaCsiXCIgd2lkdGg9XCIiK2JpbGRncm9lc3NlQnJlaXQrIlwiPiIgIDogDQogICAgICAgICAgICAgICAgICAgICAvLyAgICAgICB2YWwxPSI8aW1nIHNyYz0iK3N5bWJvbFN3aXRjaE9GRiArIiBoZWlnaHQ9XCIiK2JpbGRncm9lc3NlSG9jaCsiXCIgd2lkdGg9XCIiK2JpbGRncm9lc3NlQnJlaXQrIlwiPiIgDQogICAgICAgICAgICAgICAgICAgICB2YWwxPWdldFN0YXRlKG15TGlzdFt4XVsyXSkudmFsICsgbXlMaXN0W3hdWzRdDQogICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgICAgICAvLyAgIGlmICh2YWwxPT1mYWxzZSkge3ZhbDE9IuKdjCJ9IGVsc2V7dmFsMT0i4pyFIn0gIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFiZWxsZUJpbmQoKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9OyAvL1NjaGxlaWZlbiBFbmRlIC0gamUgbmFjaCBzY2hsZWlmZW5hcnQgbXVzcyBoaWVyIGV0d2FzIGdlw6RuZGVydCB3ZXJkZW4gISEhISEhISEhDQoNCn0gdGFiZWxsZUZpbmlzaCgpOw0KIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQogLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAgIA0KDQogICAgICAvLyBBQiBISUVSIE5JQ0hUUyDDhE5ERVJOIC0gdGFiZWxsZSBmZXJ0aWdzdGVsbGVuDQogICAgICANCn0gLy8gZnVuY3Rpb24gZW5kZQ0KIA0KIC8vTUFJTjoNCiAgDQoNCiB3cml0ZUhUTUwoKTsNCg0KIGZ1bmN0aW9uIHRhYmVsbGVCaW5kKCl7DQogICAgICAgIHN3aXRjaCAobWVocmZhY2hUYWJlbGxlKSB7ICANCiAgICAgICAgICBjYXNlIDE6ICBpZihjb3VudGVyJTI9PTApICAgICAgICAgeyAgIGh0bWxPdXQ9aHRtbE91dCsiPHRyIGJnY29sb3I9XCIiK2ZhcmJlR2VyYWRlWmVpbGVuKyJcIj48dGQgYWxpZ249IitGZWxkMWxBbGlnbisiPiZlbnNwOyIrdmFsMCsiJmVuc3A7PC90ZD48dGQgYWxpZ249IitGZWxkMmxBbGlnbisiPiZlbnNwOyIrdmFsMSsiJmVuc3A7PC90ZD48L3RyPiI7IGJyZWFrOyAgfSBlbHNlDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgICBodG1sT3V0PWh0bWxPdXQrIjx0ciBiZ2NvbG9yPVwiIitmYXJiZVVuZ2VyYWRlWmVpbGVuKyJcIj48dGQgYWxpZ249IitGZWxkMWxBbGlnbisiPiZlbnNwOyIrdmFsMCsiJmVuc3A7PC90ZD48dGQgYWxpZ249IitGZWxkMmxBbGlnbisiPiZlbnNwOyIrdmFsMSsiJmVuc3A7PC90ZD48L3RyPiI7IGJyZWFrOyAgfQ0KLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQogICAgICAgICAgY2FzZSAyOiAgaWYoY291bnRlciU0PT0wKXsNCiAgICAgICAgICAgICAgICAgICBpZihjb3VudGVyJTI9PTApICB7aHRtbE91dCA9IGh0bWxPdXQrIjx0ciBiZ2NvbG9yPVwiIitmYXJiZUdlcmFkZVplaWxlbisiXCIgPjx0ZCBhbGlnbj0iK0ZlbGQxbEFsaWduKyI+JmVuc3A7Iit2YWwwKyImZW5zcDs8L3RkPjx0ZCBzdHlsZT1cIiBib3JkZXItcmlnaHQ6ICIrdHJlbm51bmdzTGluaWUrInB4IHNvbGlkICIrZmFyYmV0cmVubnVuZ3NMaW5pZSsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiO1wiYWxpZ249IitGZWxkMmxBbGlnbisiPiZlbnNwOyIrdmFsMSsiJmVuc3A7PC90ZD4iOyB9IA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHtodG1sT3V0ID0gaHRtbE91dCsiPHRkIGFsaWduPSIrRmVsZDFsQWxpZ24rIiBzdHlsZT1cImNvbG9yOiIraHRtbEZhcmJGZWxkZXJzY2hyaWZ0MisiXCI+JmVuc3A7Iit2YWwwKyImZW5zcDs8L3RkPjx0ZCAgYWxpZ249IitGZWxkMmxBbGlnbisiIHN0eWxlPVwiY29sb3I6IisNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHRtbEZhcmJGZWxkZXJzY2hyaWZ0MisiXCI+JmVuc3A7Iit2YWwxKyImZW5zcDs8L3RkPjwvdHI+Ijt9IGJyZWFrOw0KICAgICAgICAgIH1lbHNlew0KICAgICAgICAgICAgICAgICAgIGlmKGNvdW50ZXIlMj09MCkgIHtodG1sT3V0ID0gaHRtbE91dCsiPHRyIGJnY29sb3I9XCIiK2ZhcmJlVW5nZXJhZGVaZWlsZW4rIlwiPjx0ZCBhbGlnbj0iK0ZlbGQxbEFsaWduKyI+JmVuc3A7Iit2YWwwKyImZW5zcDs8L3RkPjx0ZCBzdHlsZT1cIiBib3JkZXItcmlnaHQ6ICIrdHJlbm51bmdzTGluaWUrDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInB4IHNvbGlkICIrZmFyYmV0cmVubnVuZ3NMaW5pZSsiO1wiIGFsaWduPSIrRmVsZDJsQWxpZ24rIj4mZW5zcDsiK3ZhbDErIiZlbnNwOzwvdGQ+IjsgfSANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7aHRtbE91dCA9IGh0bWxPdXQrIjx0ZCAgYWxpZ249IitGZWxkMWxBbGlnbisiIHN0eWxlPVwiIGNvbG9yOiIraHRtbEZhcmJGZWxkZXJzY2hyaWZ0MisiXCI+JmVuc3A7Iit2YWwwKyImZW5zcDs8L3RkPjx0ZCAgYWxpZ249IitGZWxkMmxBbGlnbisNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiBzdHlsZT1cImNvbG9yOiIraHRtbEZhcmJGZWxkZXJzY2hyaWZ0MisiXCI+JmVuc3A7Iit2YWwxKyImZW5zcDs8L3RkPjwvdHI+Ijt9IGJyZWFrO30NCi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAgICAgICAgICAgICAgIA0KICAgICAgICAgIGNhc2UgMzogaWYoY291bnRlciUyPT0wKSAgIHsNCiAgICAgICAgICANCiAgICAgICAgICAgICAgICAgIGlmKGNvdW50ZXIlMz09MCApICB7aHRtbE91dCA9IGh0bWxPdXQrIjx0ciBiZ2NvbG9yPVwiIitmYXJiZUdlcmFkZVplaWxlbisiXCI+PHRkIGFsaWduPSIrRmVsZDFsQWxpZ24rIj4mZW5zcDsiK3ZhbDArIiZlbnNwOzwvdGQ+PHRkIHN0eWxlPVwiIGJvcmRlci1yaWdodDogIit0cmVubnVuZ3NMaW5pZSsicHggc29saWQgIisNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYXJiZXRyZW5udW5nc0xpbmllKyI7XCIgYWxpZ249IitGZWxkMmxBbGlnbisiPiZlbnNwOyIrdmFsMSsiJmVuc3A7PC90ZD4iOyB9IA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHsgaWYoY291bnRlciUzPT0xICkgIHsgaHRtbE91dCA9IGh0bWxPdXQrIjx0ZCBhbGlnbj0iK0ZlbGQxbEFsaWduKyIgc3R5bGU9XCJjb2xvcjoiK2h0bWxGYXJiRmVsZGVyc2NocmlmdDIrIlwiPiZlbnNwOyIrdmFsMCsiJmVuc3A7PC90ZD48dGQgIGFsaWduPSIrRmVsZDJsQWxpZ24rDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiBzdHlsZT1cImJvcmRlci1yaWdodDogIit0cmVubnVuZ3NMaW5pZSsicHggc29saWQgIitmYXJiZXRyZW5udW5nc0xpbmllKyI7Y29sb3I6IitodG1sRmFyYkZlbGRlcnNjaHJpZnQyKyJcIj4mZW5zcDsiK3ZhbDErIiZlbnNwOzwvdGQ+Ijt9IA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgICAge2h0bWxPdXQgPSBodG1sT3V0KyI8dGQgYWxpZ249IitGZWxkMWxBbGlnbisiPiZlbnNwOyIrdmFsMCsiJmVuc3A7PC90ZD48dGQgYWxpZ249IitGZWxkMmxBbGlnbisiPiZlbnNwOyIrdmFsMSsiJmVuc3A7PC90ZD48L3RyPiI7fQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gYnJlYWs7IH1lbHNlew0KICAgICAgICAgICAgICAgICAgaWYoY291bnRlciUzPT0wICkgIHtodG1sT3V0ID0gaHRtbE91dCsiPHRyIGJnY29sb3I9XCIiK2ZhcmJlVW5nZXJhZGVaZWlsZW4rIlwiPjx0ZCBhbGlnbj0iK0ZlbGQxbEFsaWduKyI+JmVuc3A7Iit2YWwwKyImZW5zcDs8L3RkPjx0ZCBzdHlsZT1cIiBib3JkZXItcmlnaHQ6ICIrdHJlbm51bmdzTGluaWUrInB4IHNvbGlkICIrDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFyYmV0cmVubnVuZ3NMaW5pZSsiO1wiIGFsaWduPSIrRmVsZDJsQWxpZ24rIj4mZW5zcDsiK3ZhbDErIiZlbnNwOzwvdGQ+IjsgfSANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7IGlmKGNvdW50ZXIlMz09MSApICB7IGh0bWxPdXQgPSBodG1sT3V0KyI8dGQgYWxpZ249IitGZWxkMWxBbGlnbisiIHN0eWxlPVwiY29sb3I6IitodG1sRmFyYkZlbGRlcnNjaHJpZnQyKyJcIj4mZW5zcDsiK3ZhbDArIiZlbnNwOzwvdGQ+PHRkICBhbGlnbj0iK0ZlbGQybEFsaWduKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIgc3R5bGU9XCJib3JkZXItcmlnaHQ6ICIrdHJlbm51bmdzTGluaWUrInB4IHNvbGlkICIrZmFyYmV0cmVubnVuZ3NMaW5pZSsiO2NvbG9yOiIraHRtbEZhcmJGZWxkZXJzY2hyaWZ0MisiXCI+JmVuc3A7Iit2YWwxKyImZW5zcDs8L3RkPiI7fSANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlICAgIHtodG1sT3V0ID0gaHRtbE91dCsiPHRkIGFsaWduPSIrRmVsZDFsQWxpZ24rIj4mZW5zcDsiK3ZhbDArIiZlbnNwOzwvdGQ+PHRkIGFsaWduPSIrRmVsZDJsQWxpZ24rIj4mZW5zcDsiK3ZhbDErIiZlbnNwOzwvdGQ+PC90cj4iO30NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGJyZWFrOyAgfSAgICAgICAgICAgICAgICAgICAgICAgDQovLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gDQogICAgICAgICAgY2FzZSA0OiAvL2NvdW50ZXI9Y291bnRlcis4IA0KICAgICAgICAgIGlmKGNvdW50ZXIlOD09MCkgICB7DQogICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgaWYoY291bnRlciU0PT0wKSAge2h0bWxPdXQgPSBodG1sT3V0KyI8dHIgYmdjb2xvcj1cIiIrZmFyYmVHZXJhZGVaZWlsZW4rIlwiPjx0ZCBhbGlnbj0iK0ZlbGQxbEFsaWduKyI+JmVuc3A7Iit2YWwwKyImZW5zcDs8L3RkPjx0ZCBzdHlsZT1cIiBib3JkZXItcmlnaHQ6ICIrdHJlbm51bmdzTGluaWUrInB4IHNvbGlkICIrDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFyYmV0cmVubnVuZ3NMaW5pZSsiO1wiIGFsaWduPSIrRmVsZDJsQWxpZ24rIj4mZW5zcDsiK3ZhbDErIiZlbnNwOzwvdGQ+IjsgfSANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2Uge2lmKGNvdW50ZXIlND09MSApICB7IGh0bWxPdXQgPSBodG1sT3V0KyI8dGQgYWxpZ249IitGZWxkMWxBbGlnbisiIHN0eWxlPVwiY29sb3I6IitodG1sRmFyYkZlbGRlcnNjaHJpZnQyKyJcIj4mZW5zcDsiK3ZhbDArIiZlbnNwOzwvdGQ+PHRkICBhbGlnbj0iK0ZlbGQybEFsaWduKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIgc3R5bGU9XCJjb2xvcjoiK2h0bWxGYXJiRmVsZGVyc2NocmlmdDIrIlwiPiZlbnNwOyIrdmFsMSsiJmVuc3A7PC90ZD4iO30gDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSAgICB7aWYoY291bnRlciU0PT0zKSAgeyBodG1sT3V0PSBodG1sT3V0KyI8dGQgYWxpZ249IitGZWxkMWxBbGlnbisiIHN0eWxlPVwiY29sb3I6IitodG1sRmFyYkZlbGRlcnNjaHJpZnQyKyJcIj4mZW5zcDsiK3ZhbDArIiZlbnNwOzwvdGQ+PHRkICBhbGlnbj0iKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGZWxkMmxBbGlnbisiIHN0eWxlPVwiYm9yZGVyLXJpZ2h0OiAiK3RyZW5udW5nc0xpbmllKyJweCBzb2xpZCAiK2ZhcmJldHJlbm51bmdzTGluaWUrIjsgY29sb3I6IitodG1sRmFyYkZlbGRlcnNjaHJpZnQyKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiXCI+JmVuc3A7Iit2YWwxKyImZW5zcDs8L3RkPjwvdHI+Ijt9IA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgICAge2h0bWxPdXQgPSBodG1sT3V0ID0gaHRtbE91dCsiPHRkIGFsaWduPSIrRmVsZDFsQWxpZ24rIj4mZW5zcDsiK3ZhbDArIiZlbnNwOzwvdGQ+PHRkIHN0eWxlPVwiIGJvcmRlci1yaWdodDogIit0cmVubnVuZ3NMaW5pZSsicHggc29saWQgIg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICtmYXJiZXRyZW5udW5nc0xpbmllKyI7XCIgYWxpZ249IitGZWxkMmxBbGlnbisiPiZlbnNwOyIrdmFsMSsiJmVuc3A7PC90ZD4iO319DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBicmVhazt9ZWxzZXsNCiAgICAgICAgICAgICAgICAgICBpZihjb3VudGVyJTQ9PTApICB7aHRtbE91dCA9IGh0bWxPdXQrIjx0ciBiZ2NvbG9yPVwiIitmYXJiZVVuZ2VyYWRlWmVpbGVuKyJcIj48dGQgYWxpZ249IitGZWxkMWxBbGlnbisiPiZlbnNwOyIrdmFsMCsiJmVuc3A7PC90ZD48dGQgc3R5bGU9XCIgYm9yZGVyLXJpZ2h0OiAiK3RyZW5udW5nc0xpbmllKyJweCBzb2xpZCAiKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhcmJldHJlbm51bmdzTGluaWUrIjtcIiBhbGlnbj0iK0ZlbGQybEFsaWduKyI+JmVuc3A7Iit2YWwxKyImZW5zcDs8L3RkPiI7IH0gDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHtpZihjb3VudGVyJTQ9PTEgKSAgeyBodG1sT3V0ID0gaHRtbE91dCsiPHRkIGFsaWduPSIrRmVsZDFsQWxpZ24rIiBzdHlsZT1cImNvbG9yOiIraHRtbEZhcmJGZWxkZXJzY2hyaWZ0MisiXCI+JmVuc3A7Iit2YWwwKyImZW5zcDs8L3RkPjx0ZCAgYWxpZ249IitGZWxkMmxBbGlnbisNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiIHN0eWxlPVwiYm9yZGVyLXJpZ2h0OiAiK3RyZW5udW5nc0xpbmllKyJweCBzb2xpZCAiK2ZhcmJldHJlbm51bmdzTGluaWUrIjtjb2xvcjoiK2h0bWxGYXJiRmVsZGVyc2NocmlmdDIrIlwiPiZlbnNwOyIrdmFsMSsiJmVuc3A7PC90ZD4iO30gDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSAgICB7aWYoY291bnRlciU0PT0zKSAgeyBodG1sT3V0PSBodG1sT3V0KyI8dGQgYWxpZ249IitGZWxkMWxBbGlnbisiIHN0eWxlPVwiY29sb3I6IitodG1sRmFyYkZlbGRlcnNjaHJpZnQyKyJcIj4mZW5zcDsiK3ZhbDArIiZlbnNwOzwvdGQ+PHRkICBhbGlnbj0iDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICtGZWxkMmxBbGlnbisiIHN0eWxlPVwiIGNvbG9yOiIraHRtbEZhcmJGZWxkZXJzY2hyaWZ0MisiXCI+JmVuc3A7Iit2YWwxKyImZW5zcDs8L3RkPjwvdHI+Ijt9IA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgICAge2h0bWxPdXQgPSBodG1sT3V0ID0gaHRtbE91dCsiPHRkIGFsaWduPSIrRmVsZDFsQWxpZ24rIj4mZW5zcDsiK3ZhbDArIiZlbnNwOzwvdGQ+PHRkIHN0eWxlPVwiIGJvcmRlci1yaWdodDogIit0cmVubnVuZ3NMaW5pZSsicHggc29saWQgIisNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYXJiZXRyZW5udW5nc0xpbmllKyI7XCIgYWxpZ249IitGZWxkMmxBbGlnbisiPiZlbnNwOyIrdmFsMSsiJmVuc3A7PC90ZD4iO319DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSAgYnJlYWs7ICAgfSAgICAgICAgICAgICAgICAgICAgIA0KDQogICAgICB9IC8vc3dpdGNoIGVuZGUNCg0KIH0NCg0KIGZ1bmN0aW9uIHRhYmVsbGVGaW5pc2goKSB7DQoNCiAgICAgICAgc3dpdGNoIChtZWhyZmFjaFRhYmVsbGUpIHsgIA0KICAgICAgICAgIGNhc2UgMTogICAgYnJlYWs7DQogICAgICAgICAgY2FzZSAyOiAgICBpZihjb3VudGVyJTI9PTApICBodG1sT3V0ID0gaHRtbE91dC5yZXBsYWNlKC88XC90ZD4kLywgJzwvdGQ+PHRkPiZlbnNwOzwvdGQ+PHRkPiZlbnNwOzwvdGQ+PC90cj4nKTsgDQogICAgICAgICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgYnJlYWs7DQogICAgICAgICAgY2FzZSAzOiAgICBpZihjb3VudGVyJTM9PTIpICBodG1sT3V0ID0gaHRtbE91dC5yZXBsYWNlKC88XC90ZD4kLywgIjwvdGQ+PC90cj4iKTsNCiAgICAgICAgICAgICAgICAgICAgIGlmKGNvdW50ZXIlMz09MSkgIGh0bWxPdXQgPSBodG1sT3V0LnJlcGxhY2UoLzxcL3RkPiQvLCAgJzwvdGQ+PHRkPiZlbnNwOzwvdGQ+PHRkPiZlbnNwOzwvdGQ+PC90cj4nKTsgICAgICAgDQogICAgICAgICAgICAgICAgICAgICBpZihjb3VudGVyJTM9PTApICBodG1sT3V0ID0gaHRtbE91dC5yZXBsYWNlKC88XC90ZD4kLywgIjwvdGQ+PHRkPiZlbnNwOzwvdGQ+PHRkIHN0eWxlPVwiIGJvcmRlci1yaWdodDogIit0cmVubnVuZ3NMaW5pZSsicHggc29saWQgIitmYXJiZXRyZW5udW5nc0xpbmllKyJcIj4mZW5zcDs8L3RkPjx0ZD4mZW5zcDs8L3RkPjx0ZD4mZW5zcDs8L3RkPjwvdHI+Iik7DQogICAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgICBicmVhazsNCiAgICAgICAgICBjYXNlIDQ6ICAgIGlmKGNvdW50ZXIlND09MykgIGh0bWxPdXQgPSBodG1sT3V0LnJlcGxhY2UoLzxcL3RkPiQvLCAiPC90ZD48L3RyPiIpOw0KICAgICAgICAgICAgICAgICAgICAgaWYoY291bnRlciU0PT0yKSAgaHRtbE91dCA9IGh0bWxPdXQucmVwbGFjZSgvPFwvdGQ+JC8sICI8L3RkPjx0ZD4mZW5zcDs8L3RkPjx0ZD4mZW5zcDs8L3RkPjwvdHI+Iik7DQogICAgICAgICAgICAgICAgICAgICBpZihjb3VudGVyJTQ9PTEpICBodG1sT3V0ID0gaHRtbE91dC5yZXBsYWNlKC88XC90ZD4kLywgIjwvdGQ+PHRkPiZlbnNwOzwvdGQ+PHRkIHN0eWxlPVwiIGJvcmRlci1yaWdodDogIit0cmVubnVuZ3NMaW5pZSsicHggc29saWQgIitmYXJiZXRyZW5udW5nc0xpbmllKyJcIj4mZW5zcDs8L3RkPjx0ZD4mZW5zcDs8L3RkPjx0ZD4mZW5zcDs8L3RkPjwvdHI+Iik7ICAgIA0KICAgICAgICAgICAgICAgICAgICAgaWYoY291bnRlciU0PT0wKSAgaHRtbE91dCA9IGh0bWxPdXQucmVwbGFjZSgvPFwvdGQ+JC8sICI8L3RkPjx0ZD4mZW5zcDs8L3RkPjx0ZCBzdHlsZT1cIiBib3JkZXItcmlnaHQ6ICIrdHJlbm51bmdzTGluaWUrInB4IHNvbGlkICIrZmFyYmV0cmVubnVuZ3NMaW5pZSsiXCI+JmVuc3A7PC90ZD48dGQ+JmVuc3A7PC90ZD48dGQgc3R5bGU9XCIgYm9yZGVyLXJpZ2h0OiAiK3RyZW5udW5nc0xpbmllKyJweCBzb2xpZCAiK2ZhcmJldHJlbm51bmdzTGluaWUrIlwiPiZlbnNwOzwvdGQ+PHRkPiZlbnNwOzwvdGQ+PHRkPiZlbnNwOzwvdGQ+PC90cj4iKTsgICANCiAgICAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgICBicmVhazsgfQ0KICAgICAgICAgICB2YXIgaHRtbFVlYmVyPSAgICAiPHAgc3R5bGU9XCJjb2xvcjoiK2h0bWxGYXJiVWJlcisiOyBmb250LWZhbWlseToiK2h0bWxTY2hyaWZ0YXJ0KyI7IGZvbnQtc2l6ZTogIitodG1sw5xiZXJGb250R3JvZXNzZSsiOyBmb250LXdlaWdodDoiK2h0bWxTY2hyaWZ0V2VpdGUrICJcIj4iK2h0bWxGZWxkVWViZXIrIiZlbnNwOyZlbnNwO0xhc3QgVXBkYXRlOiAiK2Zvcm1hdERhdGUoZ2V0RGF0ZU9iamVjdCgocGFyc2VGbG9hdCgobmV3IERhdGUoKS5nZXRUaW1lKCkpKSkpLCAiU1M6bW06c3MiKTsrIjwvcD4iOyANCiAgICAgICAgdmFyIGh0bWxVbnRlcj0gIjxkaXYgIHN0eWxlPVwiY29sb3I6IitodG1sRmFyYlViZXIrIjsgZm9udC1mYW1pbHk6IitodG1sU2NocmlmdGFydCsiOyBmb250LXNpemU6IDcwJTsgdGV4dC1hbGlnbjogcmlnaHQ7XCIgPiIraHRtbEZlbGRVZWJlcisiJmVuc3A7JmVuc3A7TGFzdCBVcGRhdGU6ICIrZm9ybWF0RGF0ZShnZXREYXRlT2JqZWN0KChwYXJzZUZsb2F0KChuZXcgRGF0ZSgpLmdldFRpbWUoKSkpKSksICJTUzptbTpzcyIpOysiPC9kaXY+Ig0KICAgICAgICAgDQogICAgICAgICBpZiAoIWh0bWxTaWduYXR1cmUpIGh0bWxVbnRlcj0iIjsNCiAgICAgICAgICAgLy9BdXNnYWJlIMO8YmVyIFZJUyBodG1sIHdpZGdldCAtIHRhYmVsbGUgaW4gZGF0ZW5wdW5rdCBzY2hyZWliZW4gLSBodG1sIHRhYmVsbGUgb2huZSBodG1sIGhlYWRlciB1bmQgYm9keQ0KICAgICAgICAgICAgdmFyIGh0bWxPdXRWSVM9IiI7DQogICAgICAgICAgLy8gIGh0bWxVYmVyc2NocmlmdCA/IGh0bWxPdXRWSVM9aHRtbFVlYmVyK2h0bWxUYWJTdHlsZStodG1sVGFiVWViZXIraHRtbE91dCsiPC90YWJsZT4iIDogaHRtbE91dFZJUz1odG1sVGFiU3R5bGUraHRtbFRhYlVlYmVyK2h0bWxPdXQrIjwvdGFibGU+IjsNCiAgICAgICAgICAgICBpZiAoaHRtbFViZXJzY2hyaWZ0KSANCiAgICAgICAgICAgICAgICAgeyB6ZW50cmllcnQgPyBodG1sT3V0VklTPWh0bWxaZW50cmllcnQraHRtbFVlYmVyK2h0bWxUYWJTdHlsZStodG1sVGFiVWViZXIraHRtbE91dCsiPC90YWJsZT4iK2h0bWxVbnRlcisgYnV0dG9uU2NyaXB0IDogaHRtbE91dFZJUz1odG1sVWViZXIraHRtbFRhYlN0eWxlK2h0bWxUYWJVZWJlcitodG1sT3V0KyI8L3RhYmxlPiIraHRtbFVudGVyKyBidXR0b25TY3JpcHQgOw0KDQogICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHplbnRyaWVydCA/ICBodG1sT3V0VklTPWh0bWxaZW50cmllcnQraHRtbFRhYlN0eWxlK2h0bWxUYWJVZWJlcitodG1sT3V0KyI8L3RhYmxlPiIraHRtbFVudGVyKyBidXR0b25TY3JpcHQgOiAgaHRtbE91dFZJUz1odG1sVGFiU3R5bGUraHRtbFRhYlVlYmVyK2h0bWxPdXQrIjwvdGFibGU+IitodG1sVW50ZXIrIGJ1dHRvblNjcmlwdDsNCg0KICAgICAgICAgICAgICAgICAgfQ0KDQogICAvLyBsb2coImJpbiByYXVzIGF1cyB0YWJlbGxlQmluZCIpOw0KICAgICAgICAgICAgaWYgKGJyYXVjaGVFaW5WSVNXaWRnZXQpIHNldFN0YXRlKGRwVklTLCBodG1sT3V0VklTICk7DQoNCiAgdmFyIGh0bWxVbnRlcj0gIjxkaXYgIHN0eWxlPVwiY29sb3I6IitodG1sRmFyYlViZXIrIjsgZm9udC1mYW1pbHk6IitodG1sU2NocmlmdGFydCsiOyBmb250LXNpemU6IDgwJTsgIHRleHQtYWxpZ246IGNlbnRlcjsgXCIgPiIraHRtbEZlbGRVZWJlcisiJmVuc3A7JmVuc3A7TGFzdCBVcGRhdGU6ICIrZm9ybWF0RGF0ZShnZXREYXRlT2JqZWN0KChwYXJzZUZsb2F0KChuZXcgRGF0ZSgpLmdldFRpbWUoKSkpKSksICJTUzptbTpzcyIpOysiPC9kaXY+Ig0KIA0KICBpZiAoIWh0bWxTaWduYXR1cmUpIGh0bWxVbnRlcj0iIjsNCiAgdmFyIGh0bWxFbmQ9IjwvdGFibGU+IitodG1sVW50ZXIrIjwvZGl2PjwvYm9keT4iOw0KICAvL21pdCBvZGVyIG9obmUgw7xiZXJzY2hyaWZ0IC0gemVudHJpZXJ0IG9kZXIgbGlua3MNCiBodG1sVWJlcnNjaHJpZnQgPyBodG1sT3V0PWh0bWxTdGFydCtodG1sVWViZXIraHRtbFRhYlN0eWxlK2h0bWxUYWJVZWJlcitodG1sT3V0K2h0bWxFbmQgKyBidXR0b25TY3JpcHQ6IGh0bWxPdXQ9aHRtbFN0YXJ0K2h0bWxUYWJTdHlsZStodG1sVGFiVWViZXIraHRtbE91dCtodG1sRW5kKyBidXR0b25TY3JpcHQ7DQogIC8vbG9nKGh0bWxPdXQpOw0KDQoNCiB9DQoNCg== Beschreibe diese Funktion … log test GET FROM_START datenpunkte ADD 1 i 1 1 ----- val GET FROM_START datenpunkte ADD 1 i 1 1 ----- ADD 1 i 1 1 ----- GET FROM_START namen ADD 1 i 1 1