{"scan":{"id":"cd1b47aa-edfd-4491-95d4-63d0d0bdc341","inputUrl":"http://www.cidff04.org","url":"http://www.cidff04.org/","site":"cidff04.org","collectionId":"aaed7c59-15f4-46cf-bbc9-853b45117da5","status":"success","error":null,"pageTitle":"Accueil - Alpes Haute Provence — CIDFF 04","finalUrl":"https://alpeshauteprovence.cidff.info/","dnsServer":"9.9.9.9","pages":3,"browsingHistory":["https://alpeshauteprovence.cidff.info/","https://alpeshauteprovence.cidff.info/mentions-legales/","https://alpeshauteprovence.cidff.info/nos-formations/"],"device":"mobile-pixel-2-xl","phase":"pre","postOf":null,"consentResult":null,"consentCmp":null,"language":"fr-FR","languageSource":"html-lang","acceptLanguage":"en-US","languageDocument":true,"tcfVendors":null,"tcfConsented":null,"tcfPurposes":null,"tcfCmpId":null,"blocked":null,"blockedBy":null,"totalTrackingRequests":0,"analysisVersion":11,"trackerdbVersion":"1.0.945","maxmindDate":"2026-06-17","collectorVersion":"3.11.0","wikidataQid":null,"wikidataConfidence":null,"priority":0,"runnerId":null,"leaseExpiresAt":null,"requiredTag":null,"avoidRunnerId":null,"attempts":1,"createdAt":"2026-09-14T09:18:34.692Z","startedAt":"2026-10-12T14:04:00.934Z","finishedAt":"2026-10-12T14:04:18.222Z"},"pageAfterConsent":false,"half":{"id":"cd1b47aa-edfd-4491-95d4-63d0d0bdc341","status":"success","at":"2026-09-14T09:18:34.692Z","pages":["https://alpeshauteprovence.cidff.info/","https://alpeshauteprovence.cidff.info/mentions-legales/","https://alpeshauteprovence.cidff.info/nos-formations/"],"consentResult":null,"consentCmp":null,"tcfVendors":null,"tcfConsented":null,"tcfPurposes":null,"trackerRefs":[],"trackers":0,"requests":0,"thirdPartyHosts":3,"cookies":0,"thirdPartyCookies":0},"other":{"id":"2236026b-4f42-4b7e-95b1-9370a6aeaf7b","status":"success","at":"2026-10-12T14:04:18.364Z","pages":["https://alpeshauteprovence.cidff.info/","https://alpeshauteprovence.cidff.info/mentions-legales/","https://alpeshauteprovence.cidff.info/nos-formations/"],"consentResult":"nopopup","consentCmp":null,"tcfVendors":null,"tcfConsented":null,"tcfPurposes":null,"trackerRefs":[],"trackers":0,"requests":0,"thirdPartyHosts":3,"cookies":0,"thirdPartyCookies":0,"phase":"post","trackerRows":[]},"trackers":[],"unidentified":[],"hosts":[{"id":2345012,"scanId":"cd1b47aa-edfd-4491-95d4-63d0d0bdc341","hostname":"www.cidff04.org","party":"first","addresses":["213.186.33.5"],"countries":["FR"],"providers":["OVH SAS (AS16276)"],"asns":[16276],"source":"observed","error":null},{"id":2345013,"scanId":"cd1b47aa-edfd-4491-95d4-63d0d0bdc341","hostname":"alpeshauteprovence.cidff.info","party":"first","addresses":["147.135.162.2"],"countries":["FR"],"providers":["OVH SAS (AS16276)"],"asns":[16276],"source":"observed","error":null},{"id":2345014,"scanId":"cd1b47aa-edfd-4491-95d4-63d0d0bdc341","hostname":"unpkg.com","party":"third","addresses":["104.18.1.22"],"countries":["US"],"providers":["Cloudflare, Inc. (AS13335)"],"asns":[13335],"source":"observed","error":null},{"id":2345015,"scanId":"cd1b47aa-edfd-4491-95d4-63d0d0bdc341","hostname":"cdnjs.cloudflare.com","party":"third","addresses":["104.17.25.14"],"countries":["US"],"providers":["Cloudflare, Inc. (AS13335)"],"asns":[13335],"source":"observed","error":null},{"id":2345016,"scanId":"cd1b47aa-edfd-4491-95d4-63d0d0bdc341","hostname":"tile.openstreetmap.org","party":"third","addresses":["151.101.205.91"],"countries":["US"],"providers":["Fastly, Inc. (AS54113)"],"asns":[54113],"source":"observed","error":null}],"consentManagers":[],"signals":[{"id":2034585,"scanId":"cd1b47aa-edfd-4491-95d4-63d0d0bdc341","kind":"behaviour","label":"KEYBOARD","source":"https://alpeshauteprovence.cidff.info/wp-content/cache/autoptimize/autoptimize_single_69305e3cc2cbe3995c4a7e433f740e6a.php?ver=1.9.5","details":["keyup"]},{"id":2034586,"scanId":"cd1b47aa-edfd-4491-95d4-63d0d0bdc341","kind":"behaviour","label":"KEYBOARD","source":"data:text/javascript;base64,CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBtYXBJZCA9ICJjaWRmZi1tYXAiOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbWFwUmVmID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQobWFwSWQpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbWFwRGV0YWlsc1JlZiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjaWRmZi1zaXRlLWRldGFpbHMnKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBhZGRyZXNzUG9pbnRzID0gWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIE1vZGVsIDogWyBsYXQsIGxvbiwgdG9vbHRpcCwgc2l0ZURhdGEgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNDQuMTk0MjMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNS45NDI0MTUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYE1GUyAoTUFJU09OIEZSQU5DRSBTRVJWSUNFUykgU0lTVEVST05gLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsiaWQiOiIxNDM0IiwiY2VudHJlX2lkIjoiOTgiLCJub20iOiJNRlMgKE1BSVNPTiBGUkFOQ0UgU0VSVklDRVMpIFNJU1RFUk9OIiwibm9tX3NsdWciOiJtZnMtKG1haXNvbi1mcmFuY2Utc2VydmljZXMpLXNpc3Rlcm9uIiwiYWRyZXNzZSI6IjIyIGF2ZW51ZSBkZXMgQXJjYWRlcyIsImNwIjoiMDQyMDAiLCJ2aWxsZSI6IlNpc3Rlcm9uIiwidmlsbGVfc2x1ZyI6InNpc3Rlcm9uIiwiY2l0eV9pZCI6IjE3MjkiLCJlbWFpbCI6ImxhdGlsLXBAc2lzdGVyb24uZnIiLCJ0ZWxlcGhvbmUiOiIwNCA5MiAzMiAxNSA2OSIsInFwdiI6IjAiLCJ6cnIiOiIxIiwiYWNjdWVpbCI6Im5vbiByZW5zZWlnblx1MDBlOSIsImFjY3VlaWxfcHJlY2lzaW9uIjoiIiwiaG9yYWlyZXMiOiI5aC0xMmggNFx1MDBlOCBqZXVkaSAoZHJvaXQgZGUgbGEgZmFtaWxsZSlcbjEzaDMwLTE3aCA0XHUwMGU4IGpldWRpICAoZW1wbG9pKVxuIiwidm9sX2hyX2hlYmRvIjoibm9uIHJlbnNlaWduXHUwMGU5IiwiaWkiOiIxIiwiaWMiOiIwIiwiZSI6IjEiLCJ2IjoiMCIsInByZWNpc2lvbiI6IiIsImNhcnRvZ3JhcGhpZSI6IjEiLCJkZWxldGVkIjoiMCIsImNhZHJlMSI6IkwnYWNjXHUwMGU4cyBhdXggZHJvaXRzIHRvdXRlcyB0aFx1MDBlOW1hdGlxdWVzIGNvbmZvbmR1ZXMgKERcdTAwZTljcmV0IDIwMTUtMTc0NSBkdSAyMyBkXHUwMGU5Y2VtYnJlIDIwMTUgcmVsYXRpZiBcdTAwZTAgbCdhZ3JcdTAwZTltZW50KSIsImNhZHJlMiI6IkwnYWNjb21wYWduZW1lbnQgZW1wbG9pIiwiY2FkcmUzIjpudWxsLCJjYWRyZTQiOm51bGwsImNhZHJlNSI6bnVsbCwiYWNjZXNzaWJpbGl0ZTEiOiJBdWRpdGlmIiwiYWNjZXNzaWJpbGl0ZTIiOiJNZW50YWxcL1BzeWNoaXF1ZSIsImFjY2Vzc2liaWxpdGUzIjoiTW90ZXVyIiwiYWNjZXNzaWJpbGl0ZTQiOiJWaXN1ZWwiLCJhY2Nlc3NpYmlsaXRlNSI6bnVsbCwidHlwZTEiOiJQaHlzaXF1ZSIsInR5cGUyIjpudWxsLCJ0eXBlMyI6bnVsbCwidHlwZTQiOm51bGwsIm1mcyI6IkZyYW5jZSBTZXJ2aWNlIiwiZGVwYXJ0ZW1lbnQiOiJBbHBlcy1kZS1IdGUtUGNlIiwicmVnaW9uIjoiUHJvdmVuY2UtQWxwZXMtQ1x1MDBmNHRlIGQnQXp1ciIsImNvb3JkcyI6eyJsYXQiOjQ0LjE5NDIzLCJsb24iOjUuOTQyNDE1LCJ1cmwiOiJodHRwczpcL1wvd3d3Lmdvb2dsZS5mclwvbWFwc1wvQDQ0LjE5NDIzLDUuOTQyNDE1LDE1eiJ9LCJzaXRlX2ludGVybmV0IjoiaHR0cHM6XC9cL3d3dy5jaWRmZjA0Lm9yZyJ9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0My45NTgzODUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNS43NzYyOCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgTVNBUCBGT1JDQUxRVUlFUiAoIE1haXNvbiBkZXMgU2VydmljZXMgYXUgUHVibGljIClgLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsiaWQiOiIxNDM4IiwiY2VudHJlX2lkIjoiOTgiLCJub20iOiJNU0FQIEZPUkNBTFFVSUVSICggTWFpc29uIGRlcyBTZXJ2aWNlcyBhdSBQdWJsaWMgKSIsIm5vbV9zbHVnIjoibXNhcC1mb3JjYWxxdWllci0oLW1haXNvbi1kZXMtc2VydmljZXMtYXUtcHVibGljLSktIiwiYWRyZXNzZSI6IjQgIEF2ZW51ZSBkZSBsJ09ic2VydmF0b2lyZSIsImNwIjoiMDQzMDAiLCJ2aWxsZSI6IkZvcmNhbHF1aWVyIiwidmlsbGVfc2x1ZyI6ImZvcmNhbHF1aWVyIiwiY2l0eV9pZCI6IjE2MjQiLCJlbWFpbCI6IiIsInRlbGVwaG9uZSI6IjA0IDkyIDc1IDQ2IDIxIiwicXB2IjoiMCIsInpyciI6IjEiLCJhY2N1ZWlsIjoiTWFpc29uIGRlIFNlcnZpY2UgYXUgUHVibGljIiwiYWNjdWVpbF9wcmVjaXNpb24iOiIiLCJob3JhaXJlcyI6IlBlcm1hbmVuY2UgbWVuc3VlbGxlIHN1ciByZHYgdW5pcXVlbWVudCBwcmlzIGF1IENJREZGXG4yZW1lIGpldWRpIGR1IG1vaXMiLCJ2b2xfaHJfaGViZG8iOiIzSFwvIE1PSVMiLCJpaSI6IjEiLCJpYyI6IjAiLCJlIjoiMCIsInYiOiIwIiwicHJlY2lzaW9uIjoiIiwiY2FydG9ncmFwaGllIjoiMSIsImRlbGV0ZWQiOiIwIiwiY2FkcmUxIjoiTCdhY2NcdTAwZThzIGF1eCBkcm9pdHMgdG91dGVzIHRoXHUwMGU5bWF0aXF1ZXMgY29uZm9uZHVlcyAoRFx1MDBlOWNyZXQgMjAxNS0xNzQ1IGR1IDIzIGRcdTAwZTljZW1icmUgMjAxNSByZWxhdGlmIFx1MDBlMCBsJ2Fnclx1MDBlOW1lbnQpIiwiY2FkcmUyIjpudWxsLCJjYWRyZTMiOm51bGwsImNhZHJlNCI6bnVsbCwiY2FkcmU1IjpudWxsLCJhY2Nlc3NpYmlsaXRlMSI6IkF1ZGl0aWYiLCJhY2Nlc3NpYmlsaXRlMiI6Ik1lbnRhbFwvUHN5Y2hpcXVlIiwiYWNjZXNzaWJpbGl0ZTMiOiJNb3RldXIiLCJhY2Nlc3NpYmlsaXRlNCI6IlZpc3VlbCIsImFjY2Vzc2liaWxpdGU1IjpudWxsLCJ0eXBlMSI6IlBoeXNpcXVlIiwidHlwZTIiOm51bGwsInR5cGUzIjpudWxsLCJ0eXBlNCI6bnVsbCwibWZzIjoiRnJhbmNlIFNlcnZpY2UiLCJkZXBhcnRlbWVudCI6IkFscGVzLWRlLUh0ZS1QY2UiLCJyZWdpb24iOiJQcm92ZW5jZS1BbHBlcy1DXHUwMGY0dGUgZCdBenVyIiwiY29vcmRzIjp7ImxhdCI6NDMuOTU4Mzg1LCJsb24iOjUuNzc2MjgsInVybCI6Imh0dHBzOlwvXC93d3cuZ29vZ2xlLmZyXC9tYXBzXC9ANDMuOTU4Mzg1LDUuNzc2MjgsMTV6In0sInNpdGVfaW50ZXJuZXQiOiJodHRwczpcL1wvd3d3LmNpZGZmMDQub3JnIn0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQ0LjA5MTgzMiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA2LjIzOTUzNiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgVHJpYnVuYWwgZGUgRGlnbmVzLWxlcy1CYWluc2AsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyJpZCI6IjE0NDEiLCJjZW50cmVfaWQiOiI5OCIsIm5vbSI6IlRyaWJ1bmFsIGRlIERpZ25lcy1sZXMtQmFpbnMiLCJub21fc2x1ZyI6InRyaWJ1bmFsLWRlLWRpZ25lc2xlc2JhaW5zIiwiYWRyZXNzZSI6IjYgUGxhY2UgZGVzIFJcdTAwZTljb2xsZXRzIiwiY3AiOiIwNDAwMCIsInZpbGxlIjoiRGlnbmUtbGVzLUJhaW5zIiwidmlsbGVfc2x1ZyI6ImRpZ25lbGVzYmFpbnMiLCJjaXR5X2lkIjoiMTYxMSIsImVtYWlsIjoiIiwidGVsZXBob25lIjoiMDQgOTIgMzEgMDUgMjEiLCJxcHYiOiIwIiwienJyIjoiMCIsImFjY3VlaWwiOiJUcmlidW5hbCBkZSBHcmFuZGUgSW5zdGFuY2UiLCJhY2N1ZWlsX3ByZWNpc2lvbiI6IiIsImhvcmFpcmVzIjoiOWggLTEyaCAxZXIsIDNcdTAwZThtZSBldCA1XHUwMGU4bWUgdmVuZHJlZGkiLCJ2b2xfaHJfaGViZG8iOiIzLjUiLCJpaSI6IjEiLCJpYyI6IjAiLCJlIjoiMCIsInYiOiIwIiwicHJlY2lzaW9uIjoiIiwiY2FydG9ncmFwaGllIjoiMSIsImRlbGV0ZWQiOiIwIiwiY2FkcmUxIjoiTCdhY2NcdTAwZThzIGF1eCBkcm9pdHMgdG91dGVzIHRoXHUwMGU5bWF0aXF1ZXMgY29uZm9uZHVlcyAoRFx1MDBlOWNyZXQgMjAxNS0xNzQ1IGR1IDIzIGRcdTAwZTljZW1icmUgMjAxNSByZWxhdGlmIFx1MDBlMCBsJ2Fnclx1MDBlOW1lbnQpIiwiY2FkcmUyIjpudWxsLCJjYWRyZTMiOm51bGwsImNhZHJlNCI6bnVsbCwiY2FkcmU1IjpudWxsLCJhY2Nlc3NpYmlsaXRlMSI6IkF1ZGl0aWYiLCJhY2Nlc3NpYmlsaXRlMiI6Ik1lbnRhbFwvUHN5Y2hpcXVlIiwiYWNjZXNzaWJpbGl0ZTMiOiJNb3RldXIiLCJhY2Nlc3NpYmlsaXRlNCI6IlZpc3VlbCIsImFjY2Vzc2liaWxpdGU1IjpudWxsLCJ0eXBlMSI6IlBoeXNpcXVlIiwidHlwZTIiOm51bGwsInR5cGUzIjpudWxsLCJ0eXBlNCI6bnVsbCwibWZzIjpudWxsLCJkZXBhcnRlbWVudCI6IkFscGVzLWRlLUh0ZS1QY2UiLCJyZWdpb24iOiJQcm92ZW5jZS1BbHBlcy1DXHUwMGY0dGUgZCdBenVyIiwiY29vcmRzIjp7ImxhdCI6NDQuMDkxODMyLCJsb24iOjYuMjM5NTM2LCJ1cmwiOiJodHRwczpcL1wvd3d3Lmdvb2dsZS5mclwvbWFwc1wvQDQ0LjA5MTgzMiw2LjIzOTUzNiwxNXoifSwic2l0ZV9pbnRlcm5ldCI6Imh0dHBzOlwvXC93d3cuY2lkZmYwNC5vcmcifSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNDQuMzg2Mzg2LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDYuNjUwMjk0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBQRVJNIFZJU0lPIE1GUyBCQVJDRUxPYCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ImlkIjoiMjIzOCIsImNlbnRyZV9pZCI6Ijk4Iiwibm9tIjoiUEVSTSBWSVNJTyBNRlMgQkFSQ0VMTyIsIm5vbV9zbHVnIjoicGVybS12aXNpby1tZnMtYmFyY2VsbyIsImFkcmVzc2UiOiJQbGFjZSBWYWxsZSBkZSBCcmF2byIsImNwIjoiMDQ0MDAiLCJ2aWxsZSI6IkJhcmNlbG9ubmV0dGUiLCJ2aWxsZV9zbHVnIjoiYmFyY2Vsb25uZXR0ZSIsImNpdHlfaWQiOiIxNTY4IiwiZW1haWwiOiIiLCJ0ZWxlcGhvbmUiOiIiLCJxcHYiOiIwIiwienJyIjoiMCIsImFjY3VlaWwiOiJNQUlTT04gRlJBTkNFIFNFUlZJQ0UiLCJhY2N1ZWlsX3ByZWNpc2lvbiI6IiIsImhvcmFpcmVzIjoiOWgtMTJoIDNcdTAwZTggbWVyY3JlZGkiLCJ2b2xfaHJfaGViZG8iOiIzSCIsImlpIjoiMSIsImljIjoiMCIsImUiOiIwIiwidiI6IjEiLCJwcmVjaXNpb24iOiIiLCJjYXJ0b2dyYXBoaWUiOiIxIiwiZGVsZXRlZCI6IjAiLCJjYWRyZTEiOiJMJ2FjY1x1MDBlOHMgYXV4IGRyb2l0cyB0b3V0ZXMgdGhcdTAwZTltYXRpcXVlcyBjb25mb25kdWVzIChEXHUwMGU5Y3JldCAyMDE1LTE3NDUgZHUgMjMgZFx1MDBlOWNlbWJyZSAyMDE1IHJlbGF0aWYgXHUwMGUwIGwnYWdyXHUwMGU5bWVudCkiLCJjYWRyZTIiOm51bGwsImNhZHJlMyI6IkwnYWNjb21wYWduZW1lbnQgdmlvbGVuY2UiLCJjYWRyZTQiOm51bGwsImNhZHJlNSI6bnVsbCwiYWNjZXNzaWJpbGl0ZTEiOiJBdWRpdGlmIiwiYWNjZXNzaWJpbGl0ZTIiOiJNZW50YWxcL1BzeWNoaXF1ZSIsImFjY2Vzc2liaWxpdGUzIjoiTW90ZXVyIiwiYWNjZXNzaWJpbGl0ZTQiOiJWaXN1ZWwiLCJhY2Nlc3NpYmlsaXRlNSI6bnVsbCwidHlwZTEiOm51bGwsInR5cGUyIjpudWxsLCJ0eXBlMyI6IlZpc2lvY29uZlx1MDBlOXJlbmNlIiwidHlwZTQiOm51bGwsIm1mcyI6IkZyYW5jZSBTZXJ2aWNlIiwiZGVwYXJ0ZW1lbnQiOiJBbHBlcy1kZS1IdGUtUGNlIiwicmVnaW9uIjoiUHJvdmVuY2UtQWxwZXMtQ1x1MDBmNHRlIGQnQXp1ciIsImNvb3JkcyI6eyJsYXQiOjQ0LjM4NjM4NiwibG9uIjo2LjY1MDI5NCwidXJsIjoiaHR0cHM6XC9cL3d3dy5nb29nbGUuZnJcL21hcHNcL0A0NC4zODYzODYsNi42NTAyOTQsMTV6In0sInNpdGVfaW50ZXJuZXQiOiJodHRwczpcL1wvd3d3LmNpZGZmMDQub3JnIn0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQzLjgzMzg3OSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA1Ljc4Mzc0MiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgTWFpc29uIFNpbW9uZSBWZWlsYCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ImlkIjoiMjQ4OCIsImNlbnRyZV9pZCI6Ijk4Iiwibm9tIjoiTWFpc29uIFNpbW9uZSBWZWlsIiwibm9tX3NsdWciOiJtYWlzb24tc2ltb25lLXZlaWwiLCJhZHJlc3NlIjoiMTUsIHJ1ZSBKZWFuIEphY3F1ZXMgUm91c3NlYXUiLCJjcCI6IjA0MTAwIiwidmlsbGUiOiJNYW5vc3F1ZSIsInZpbGxlX3NsdWciOiJtYW5vc3F1ZSIsImNpdHlfaWQiOiIxNjQ0IiwiZW1haWwiOiIiLCJ0ZWxlcGhvbmUiOiIiLCJxcHYiOiIwIiwienJyIjoiMCIsImFjY3VlaWwiOiJDSURGRiIsImFjY3VlaWxfcHJlY2lzaW9uIjoiIiwiaG9yYWlyZXMiOiI5SC0xMkggMTNIMzAgMTdIIiwidm9sX2hyX2hlYmRvIjoiMzFIIiwiaWkiOiIxIiwiaWMiOiIxIiwiZSI6IjEiLCJ2IjoiMSIsInByZWNpc2lvbiI6IiIsImNhcnRvZ3JhcGhpZSI6IjEiLCJkZWxldGVkIjoiMCIsImNhZHJlMSI6IkwnYWNjXHUwMGU4cyBhdXggZHJvaXRzIHRvdXRlcyB0aFx1MDBlOW1hdGlxdWVzIGNvbmZvbmR1ZXMgKERcdTAwZTljcmV0IDIwMTUtMTc0NSBkdSAyMyBkXHUwMGU5Y2VtYnJlIDIwMTUgcmVsYXRpZiBcdTAwZTAgbCdhZ3JcdTAwZTltZW50KSIsImNhZHJlMiI6IkwnYWNjb21wYWduZW1lbnQgZW1wbG9pIiwiY2FkcmUzIjoiTCdhY2NvbXBhZ25lbWVudCB2aW9sZW5jZSIsImNhZHJlNCI6bnVsbCwiY2FkcmU1IjpudWxsLCJhY2Nlc3NpYmlsaXRlMSI6bnVsbCwiYWNjZXNzaWJpbGl0ZTIiOm51bGwsImFjY2Vzc2liaWxpdGUzIjpudWxsLCJhY2Nlc3NpYmlsaXRlNCI6bnVsbCwiYWNjZXNzaWJpbGl0ZTUiOiJDZXR0ZSBwZXJtYW5lbmNlIG5cdTIwMTllc3QgcGFzIGFjY2Vzc2libGUgYXV4IHBlcnNvbm5lcyBlbiBzaXR1YXRpb24gZGUgaGFuZGljYXAiLCJ0eXBlMSI6IlBoeXNpcXVlIiwidHlwZTIiOiJUXHUwMGU5bFx1MDBlOXBob25pcXVlIiwidHlwZTMiOiJWaXNpb2NvbmZcdTAwZTlyZW5jZSIsInR5cGU0IjpudWxsLCJtZnMiOm51bGwsImRlcGFydGVtZW50IjoiQWxwZXMtZGUtSHRlLVBjZSIsInJlZ2lvbiI6IlByb3ZlbmNlLUFscGVzLUNcdTAwZjR0ZSBkJ0F6dXIiLCJjb29yZHMiOnsibGF0Ijo0My44MzM4NzksImxvbiI6NS43ODM3NDIsInVybCI6Imh0dHBzOlwvXC93d3cuZ29vZ2xlLmZyXC9tYXBzXC9ANDMuODMzODc5LDUuNzgzNzQyLDE1eiJ9LCJzaXRlX2ludGVybmV0IjoiaHR0cHM6XC9cL3d3dy5jaWRmZjA0Lm9yZyJ9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0NC4wNzE5OTksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNS45OTQwODEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYE1BSVNPTiBGUkFOQ0UgU0VSVklDRSBTVCBBVUJBTmAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyJpZCI6IjI1MTgiLCJjZW50cmVfaWQiOiI5OCIsIm5vbSI6Ik1BSVNPTiBGUkFOQ0UgU0VSVklDRSBTVCBBVUJBTiIsIm5vbV9zbHVnIjoibWFpc29uLWZyYW5jZS1zZXJ2aWNlLXN0LWF1YmFuIiwiYWRyZXNzZSI6IjcgY291cnMgUFx1MDBlOWNoaW5leSIsImNwIjoiMDQ2MDAiLCJ2aWxsZSI6IkNoXHUwMGUydGVhdS1Bcm5vdXgtU2FpbnQtQXViYW4iLCJ2aWxsZV9zbHVnIjoiY2hhdGVhdWFybm91eHNhaW50YXViYW4iLCJjaXR5X2lkIjoiMTU5NCIsImVtYWlsIjoiIiwidGVsZXBob25lIjoiMDQgOTIgMzcgMjUgOTQiLCJxcHYiOiIwIiwienJyIjoiMCIsImFjY3VlaWwiOiJtYWlzb24gZnJhbmNlIHNlcnZpY2UiLCJhY2N1ZWlsX3ByZWNpc2lvbiI6IiIsImhvcmFpcmVzIjoiMlx1MDBlOG1lIGV0IDRcdTAwZThtZSB2ZW5kcmVkaSBhcHJcdTAwZThzIG1pZGkgKGRyb2l0IGRlIGxhIGZhbWlsbGUpXG40XHUwMGU4IGpldWRpIG1hdGluIChlbXBsb2kpIiwidm9sX2hyX2hlYmRvIjoiMTRIIDE3SCIsImlpIjoiMSIsImljIjoiMCIsImUiOiIxIiwidiI6IjAiLCJwcmVjaXNpb24iOiIiLCJjYXJ0b2dyYXBoaWUiOiIxIiwiZGVsZXRlZCI6IjAiLCJjYWRyZTEiOiJMJ2FjY1x1MDBlOHMgYXV4IGRyb2l0cyB0b3V0ZXMgdGhcdTAwZTltYXRpcXVlcyBjb25mb25kdWVzIChEXHUwMGU5Y3JldCAyMDE1LTE3NDUgZHUgMjMgZFx1MDBlOWNlbWJyZSAyMDE1IHJlbGF0aWYgXHUwMGUwIGwnYWdyXHUwMGU5bWVudCkiLCJjYWRyZTIiOiJMJ2FjY29tcGFnbmVtZW50IGVtcGxvaSIsImNhZHJlMyI6bnVsbCwiY2FkcmU0IjpudWxsLCJjYWRyZTUiOm51bGwsImFjY2Vzc2liaWxpdGUxIjoiQXVkaXRpZiIsImFjY2Vzc2liaWxpdGUyIjpudWxsLCJhY2Nlc3NpYmlsaXRlMyI6Ik1vdGV1ciIsImFjY2Vzc2liaWxpdGU0IjoiVmlzdWVsIiwiYWNjZXNzaWJpbGl0ZTUiOm51bGwsInR5cGUxIjoiUGh5c2lxdWUiLCJ0eXBlMiI6bnVsbCwidHlwZTMiOm51bGwsInR5cGU0IjpudWxsLCJtZnMiOiJGcmFuY2UgU2VydmljZSIsImRlcGFydGVtZW50IjoiQWxwZXMtZGUtSHRlLVBjZSIsInJlZ2lvbiI6IlByb3ZlbmNlLUFscGVzLUNcdTAwZjR0ZSBkJ0F6dXIiLCJjb29yZHMiOnsibGF0Ijo0NC4wNzE5OTksImxvbiI6NS45OTQwODEsInVybCI6Imh0dHBzOlwvXC93d3cuZ29vZ2xlLmZyXC9tYXBzXC9ANDQuMDcxOTk5LDUuOTk0MDgxLDE1eiJ9LCJzaXRlX2ludGVybmV0IjoiaHR0cHM6XC9cL3d3dy5jaWRmZjA0Lm9yZyJ9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0My44MzQwNzksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNS43ODEzMiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgQ0NBUyBNYW5vc3F1ZSAoQ2VudHJlIENvbW11bmFsIGRcJ0FjdGlvbiBTb2NpYWxlKWAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyJpZCI6IjMxNTEiLCJjZW50cmVfaWQiOiI5OCIsIm5vbSI6IkNDQVMgTWFub3NxdWUgKENlbnRyZSBDb21tdW5hbCBkJ0FjdGlvbiBTb2NpYWxlKSIsIm5vbV9zbHVnIjoiY2Nhcy1tYW5vc3F1ZS0oY2VudHJlLWNvbW11bmFsLWRhY3Rpb24tc29jaWFsZSktIiwiYWRyZXNzZSI6IjE2IEJvdWxldmFyZCBDYXNpbWlyIFBlbGxvdXRpZXIgIiwiY3AiOiIwNDEwMCIsInZpbGxlIjoiTWFub3NxdWUiLCJ2aWxsZV9zbHVnIjoibWFub3NxdWUiLCJjaXR5X2lkIjoiMTY0NCIsImVtYWlsIjoiIiwidGVsZXBob25lIjoiMDQgOTIgNzQgNDcgNDAiLCJxcHYiOiIwIiwienJyIjoiMCIsImFjY3VlaWwiOiIiLCJhY2N1ZWlsX3ByZWNpc2lvbiI6IiIsImhvcmFpcmVzIjoibWVyY3JlZGkgZGUgOWggXHUwMGUwIDEyaCIsInZvbF9ocl9oZWJkbyI6IiIsImlpIjoiMCIsImljIjoiMCIsImUiOiIwIiwidiI6IjEiLCJwcmVjaXNpb24iOiIiLCJjYXJ0b2dyYXBoaWUiOiIxIiwiZGVsZXRlZCI6IjAiLCJjYWRyZTEiOm51bGwsImNhZHJlMiI6bnVsbCwiY2FkcmUzIjoiTCdhY2NvbXBhZ25lbWVudCB2aW9sZW5jZSIsImNhZHJlNCI6bnVsbCwiY2FkcmU1IjpudWxsLCJhY2Nlc3NpYmlsaXRlMSI6IkF1ZGl0aWYiLCJhY2Nlc3NpYmlsaXRlMiI6Ik1lbnRhbFwvUHN5Y2hpcXVlIiwiYWNjZXNzaWJpbGl0ZTMiOiJNb3RldXIiLCJhY2Nlc3NpYmlsaXRlNCI6IlZpc3VlbCIsImFjY2Vzc2liaWxpdGU1IjpudWxsLCJ0eXBlMSI6IlBoeXNpcXVlIiwidHlwZTIiOm51bGwsInR5cGUzIjpudWxsLCJ0eXBlNCI6bnVsbCwibWZzIjpudWxsLCJkZXBhcnRlbWVudCI6IkFscGVzLWRlLUh0ZS1QY2UiLCJyZWdpb24iOiJQcm92ZW5jZS1BbHBlcy1DXHUwMGY0dGUgZCdBenVyIiwiY29vcmRzIjp7ImxhdCI6NDMuODM0MDc5LCJsb24iOjUuNzgxMzIsInVybCI6Imh0dHBzOlwvXC93d3cuZ29vZ2xlLmZyXC9tYXBzXC9ANDMuODM0MDc5LDUuNzgxMzIsMTV6In0sInNpdGVfaW50ZXJuZXQiOiJodHRwczpcL1wvd3d3LmNpZGZmMDQub3JnIn0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXTsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGRlZmF1bHRab29tID0gNzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBkZWZhdWx0Wm9vbU1vYmlsZSA9IDY7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbWluWm9vbSA9IDY7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbWF4Wm9vbSA9IDIwOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgbWFwID0gbnVsbDsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiBpbml0TWFwKHNlbGVjdGVkQ2F0ZWdvcmllcykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcCA9IG5ldyBMLm1hcChtYXBJZCwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB6b29tQ29udHJvbDogZmFsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3IEwuY29udHJvbC56b29tKHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246ICdib3R0b21yaWdodCcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KS5hZGRUbyhtYXApOwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXcgTC50aWxlTGF5ZXIoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdodHRwczovL3RpbGUub3BlbnN0cmVldG1hcC5vcmcve3p9L3t4fS97eX0ucG5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWluWm9vbSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heFpvb20KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkuYWRkVG8obWFwKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbGF5ZXJDYXRlZ29yeTEgPSBbXTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBsYXllckNhdGVnb3J5MiA9IFtdOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGxheWVyQ2F0ZWdvcnkzID0gW107CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbGF5ZXJDYXRlZ29yeTQgPSBbXTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBsYXllckNhdGVnb3J5NSA9IFtdOwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBtYXJrZXJzID0gbmV3IEwubWFya2VyQ2x1c3Rlckdyb3VwKHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3BpZGVyTGVnUG9seWxpbmVPcHRpb25zOiB7IHdlaWdodDogNjAwLCBjb2xvcjogJyMyMjInLCBvcGFjaXR5OiAwIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heENsdXN0ZXJSYWRpdXM6IDQwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG1haW5NYXJrZXJzID0gbmV3IEwubGF5ZXJHcm91cCgpOwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGFkZHJlc3NQb2ludHMubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgYSA9IGFkZHJlc3NQb2ludHNbaV07CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHRpdGxlID0gYVsyXTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZGF0YSA9IGFbM107CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvb3JkcyA9IG5ldyBMLkxhdExuZyhhWzBdLCBhWzFdKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBtYXJrZXIgPSB7IGRhdGE6IG5ldyBMLm1hcmtlcihjb29yZHMsIHsgdGl0bGUgfSksIHNpZWdlOiBkYXRhLnNpZWdlIH07CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIGRhdGFbJ2NhZHJlMSddIHx8IGRhdGFbJ2FjY2VzX2Ryb2l0J10gKSBsYXllckNhdGVnb3J5MS5wdXNoKG1hcmtlcik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICggZGF0YVsnY2FkcmUyJ10gfHwgZGF0YVsndmlvbGVuY2VzJ10gKSBsYXllckNhdGVnb3J5Mi5wdXNoKG1hcmtlcik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICggZGF0YVsnY2FkcmUzJ10gfHwgZGF0YVsnZW1wbG9pJ10gKSBsYXllckNhdGVnb3J5My5wdXNoKG1hcmtlcik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICggZGF0YVsnY2FkcmU0J10gfHwgZGF0YVsncGFyZW50YWxpdGUnXSApIGxheWVyQ2F0ZWdvcnk0LnB1c2gobWFya2VyKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCBkYXRhWydjYWRyZTUnXSB8fCBkYXRhWydhdXRyZSddICkgbGF5ZXJDYXRlZ29yeTUucHVzaChtYXJrZXIpOwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFya2VyLmRhdGEuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoZSkgPT4gewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwLnBhblRvKGNvb3Jkcyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBSZWYuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoJ29uLW1hcmtlci1pbnRlcmFjdCcsIHsgZGV0YWlsOiBkYXRhIH0pKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcC5hZGRMYXllcihtYWluTWFya2Vycyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwLmFkZExheWVyKG1hcmtlcnMpOwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBsYXllcnNUb0Rpc3BsYXkgPSBbXTsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHNlbGVjdGVkQ2F0ZWdvcmllcykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIHNlbGVjdGVkQ2F0ZWdvcmllcy5pbmNsdWRlcygxKSApIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxheWVyc1RvRGlzcGxheS5wdXNoKC4uLmxheWVyQ2F0ZWdvcnkxKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICggc2VsZWN0ZWRDYXRlZ29yaWVzLmluY2x1ZGVzKDIpICkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGF5ZXJzVG9EaXNwbGF5LnB1c2goLi4ubGF5ZXJDYXRlZ29yeTIpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCBzZWxlY3RlZENhdGVnb3JpZXMuaW5jbHVkZXMoMykgKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYXllcnNUb0Rpc3BsYXkucHVzaCguLi5sYXllckNhdGVnb3J5MykKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIHNlbGVjdGVkQ2F0ZWdvcmllcy5pbmNsdWRlcyg0KSApIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxheWVyc1RvRGlzcGxheS5wdXNoKC4uLmxheWVyQ2F0ZWdvcnk0KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICggc2VsZWN0ZWRDYXRlZ29yaWVzLmluY2x1ZGVzKDUpICkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGF5ZXJzVG9EaXNwbGF5LnB1c2goLi4ubGF5ZXJDYXRlZ29yeTUpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYXllcnNUb0Rpc3BsYXkucHVzaCguLi5sYXllckNhdGVnb3J5MSwgLi4ubGF5ZXJDYXRlZ29yeTIsIC4uLmxheWVyQ2F0ZWdvcnkzLCAuLi5sYXllckNhdGVnb3J5NCwgLi4ubGF5ZXJDYXRlZ29yeTUpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBtYXJrZXJzVG9TaG93ID0gWy4uLm5ldyBTZXQobGF5ZXJzVG9EaXNwbGF5KV07CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbWFya2Vyc1RvU2hvdy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBtID0gbWFya2Vyc1RvU2hvd1tpXTsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChtLnNpZWdlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtLmRhdGEuYWRkVG8obWFpbk1hcmtlcnMpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbS5kYXRhLnNldFpJbmRleE9mZnNldCgxMDAwKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG0uZGF0YS5zZXRJY29uKGNyZWF0ZU1haW5NYXJrZXIoKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtLmRhdGEuYWRkVG8obWFya2Vycyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtLmRhdGEuc2V0SWNvbihjcmVhdGVNYXJrZXIoKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICggbWFya2Vycy5nZXRMYXllcnMoKS5sZW5ndGggPiAwICkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwLmZpdEJvdW5kcyhtYXJrZXJzLmdldEJvdW5kcygpLCB7IHBhZGRpbmc6IFsgMTAsIDEwIF0gfSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAobWFpbk1hcmtlcnMuZ2V0TGF5ZXJzKClbMF0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcC5zZXRWaWV3KG1haW5NYXJrZXJzLmdldExheWVycygpWzBdLmdldExhdExuZygpLCA1KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwLnNldFZpZXcoWzQ2LjUsIDIuMzQ1NDkyM10sIDMpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBJbnRlcmFjdGlvbiBydWxlcwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcC5zY3JvbGxXaGVlbFpvb20uZGlzYWJsZSgpOyAvLyBEaXNhYmxlIHNjcm9sbCBpbnRlcmFjdGlvbiBhdCBmaXJzdAoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXAuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgKGUpID0+IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwLnNjcm9sbFdoZWVsWm9vbS5lbmFibGUoKTsgLy8gUmVlbmFibGUgc2Nyb2xsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZW91dCcsICgpID0+IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwLnNjcm9sbFdoZWVsWm9vbS5kaXNhYmxlKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcFJlZi5hZGRFdmVudExpc3RlbmVyKCdvbi1tYXJrZXItaW50ZXJhY3QnLCAoZSkgPT4gewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRTaXRlRGV0YWlscyhlLmRldGFpbCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGhpZGVEZXRhaWxzRXZlbnRzID0gWydjbGljaycsICdtb3Zlc3RhcnQnXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpZGVEZXRhaWxzRXZlbnRzLmZvckVhY2goZSA9PiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcC5hZGRFdmVudExpc3RlbmVyKGUsICgpID0+IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpZGVTaXRlRGV0YWlscygpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCAoZSkgPT4gewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZS5rZXkgPT09ICJFc2NhcGUiKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaWRlU2l0ZURldGFpbHMoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbml0TWFwKCk7CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gY3JlYXRlTWFya2VyKGNsYXNzTmFtZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgTC5pY29uKHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvblVybDogJ2h0dHBzOi8vYWxwZXNoYXV0ZXByb3ZlbmNlLmNpZGZmLmluZm8vd3AtY29udGVudC90aGVtZXMvY2lkZmYtd3AvYXNzZXRzL2ltYWdlcy93ZWJwL2ljb24tcGlucy1zZWNvbmRhcnktZmlsbGVkLndlYnAnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpY29uU2l6ZTogWzE4LCAyM10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNoYWRvd1VybDogJ2h0dHBzOi8vYWxwZXNoYXV0ZXByb3ZlbmNlLmNpZGZmLmluZm8vd3AtY29udGVudC90aGVtZXMvY2lkZmYtd3AvYXNzZXRzL2ltYWdlcy93ZWJwL2ljb24tcGlucy1maWxsZWQtc2hhZG93LndlYnAnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaGFkb3dTaXplOiBbMjUsIDI1XSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hhZG93QW5jaG9yOiBbNCwgMTVdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gY3JlYXRlTWFpbk1hcmtlcigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEwuaWNvbih7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb25Vcmw6ICdodHRwczovL2FscGVzaGF1dGVwcm92ZW5jZS5jaWRmZi5pbmZvL3dwLWNvbnRlbnQvdGhlbWVzL2NpZGZmLXdwL2Fzc2V0cy9pbWFnZXMvd2VicC9pY29uLXBpbnMtZmlsbGVkLndlYnAnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpY29uU2l6ZTogWzI4LCAzM10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNoYWRvd1VybDogJ2h0dHBzOi8vYWxwZXNoYXV0ZXByb3ZlbmNlLmNpZGZmLmluZm8vd3AtY29udGVudC90aGVtZXMvY2lkZmYtd3AvYXNzZXRzL2ltYWdlcy93ZWJwL2ljb24tcGlucy1maWxsZWQtc2hhZG93LndlYnAnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaGFkb3dTaXplOiBbMzAsIDMwXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hhZG93QW5jaG9yOiBbNCwgMTZdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gc2V0U2l0ZURldGFpbHMoZGF0YSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3dTaXRlRGV0YWlscygpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2VlTW9yZUtleSA9IGRhdGEuc2llZ2UgPyBgJHtuZXcgU3RyaW5nKGRhdGEubm9tKS5yZXBsYWNlKC9cXHxcLHxccy9naSwgJy0nKS50b0xvd2VyQ2FzZSgpfS0ke2RhdGEuaWR9YCA6IGAke2RhdGEubm9tX3NsdWd9LSR7ZGF0YS5pZH1gCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFNldCBkYXRhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwRGV0YWlsc1JlZi5xdWVyeVNlbGVjdG9yKCJbcmVmPSdzaXRlLXRpdGxlJ10iKS5pbm5lckhUTUwgPSBkYXRhLm5vbTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBEZXRhaWxzUmVmLnF1ZXJ5U2VsZWN0b3IoIltyZWY9J3NpdGUtc2VlLW1vcmUnXSIpLmhyZWYgPSBgaHR0cHM6Ly9hbHBlc2hhdXRlcHJvdmVuY2UuY2lkZmYuaW5mby9saXN0ZS1kZXMtcGVybWFuZW5jZXMvP2RlcGFydGVtZW50PSR7ZGF0YS5kZXBhcnRlbWVudH0mY2VudHJlLWlkPSR7c2VlTW9yZUtleX1gOwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZGF0YS5ob3JhaXJlcykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBEZXRhaWxzUmVmLnF1ZXJ5U2VsZWN0b3IoIltyZWY9J3NpdGUtaG91cnMtd3JhcHBlciddIikuc3R5bGUuZGlzcGxheSA9ICdmbGV4JzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwRGV0YWlsc1JlZi5xdWVyeVNlbGVjdG9yKCJbcmVmPSdzaXRlLWhvdXJzJ10iKS5pbm5lckhUTUwgPSBkYXRhLmhvcmFpcmVzOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcERldGFpbHNSZWYucXVlcnlTZWxlY3RvcigiW3JlZj0nc2l0ZS1ob3Vycy13cmFwcGVyJ10iKS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwRGV0YWlsc1JlZi5xdWVyeVNlbGVjdG9yKCJbcmVmPSdzaXRlLWxvY2F0aW9uJ10iKS5pbm5lckhUTUwgPSBgJHtkYXRhLmFkcmVzc2V9LCAke2RhdGEuY3B9ICR7ZGF0YS52aWxsZX1gOwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZGF0YS50ZWxlcGhvbmUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwRGV0YWlsc1JlZi5xdWVyeVNlbGVjdG9yKCJbcmVmPSdzaXRlLXRlbC13cmFwcGVyJ10iKS5zdHlsZS5kaXNwbGF5ID0gJ2ZsZXgnOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBEZXRhaWxzUmVmLnF1ZXJ5U2VsZWN0b3IoIltyZWY9J3NpdGUtdGVsJ10iKS5pbm5lckhUTUwgPSBkYXRhLnRlbGVwaG9uZTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBEZXRhaWxzUmVmLnF1ZXJ5U2VsZWN0b3IoIltyZWY9J3NpdGUtdGVsLXdyYXBwZXInXSIpLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZGF0YS5jYWRyZTEgfHwgZGF0YS5hY2Nlc19kcm9pdCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBEZXRhaWxzUmVmLnF1ZXJ5U2VsZWN0b3IoIltyZWY9J3NpdGUtY2FkcmUtMSddIikuc3R5bGUuZGlzcGxheSA9ICdibG9jayc7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwRGV0YWlsc1JlZi5xdWVyeVNlbGVjdG9yKCJbcmVmPSdzaXRlLWNhZHJlLTEnXSIpLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZGF0YS5jYWRyZTIgfHwgZGF0YS5lbXBsb2kpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwRGV0YWlsc1JlZi5xdWVyeVNlbGVjdG9yKCJbcmVmPSdzaXRlLWNhZHJlLTInXSIpLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcERldGFpbHNSZWYucXVlcnlTZWxlY3RvcigiW3JlZj0nc2l0ZS1jYWRyZS0yJ10iKS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGRhdGEuY2FkcmUzIHx8IGRhdGEudmlvbGVuY2VzKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcERldGFpbHNSZWYucXVlcnlTZWxlY3RvcigiW3JlZj0nc2l0ZS1jYWRyZS0zJ10iKS5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBEZXRhaWxzUmVmLnF1ZXJ5U2VsZWN0b3IoIltyZWY9J3NpdGUtY2FkcmUtMyddIikuc3R5bGUuZGlzcGxheSA9ICdub25lJzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChkYXRhLmNhZHJlNCB8fCBkYXRhLnBhcmVudGFsaXRlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcERldGFpbHNSZWYucXVlcnlTZWxlY3RvcigiW3JlZj0nc2l0ZS1jYWRyZS00J10iKS5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBEZXRhaWxzUmVmLnF1ZXJ5U2VsZWN0b3IoIltyZWY9J3NpdGUtY2FkcmUtNCddIikuc3R5bGUuZGlzcGxheSA9ICdub25lJzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gaGlkZVNpdGVEZXRhaWxzKCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcERldGFpbHNSZWYuY2xhc3NMaXN0LnJlbW92ZSgnYWN0aXZlJykKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiBzaG93U2l0ZURldGFpbHMoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwRGV0YWlsc1JlZi5jbGFzc0xpc3QuYWRkKCdhY3RpdmUnKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIHJlc2V0TWFwTGF5b3V0KCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpZGVTaXRlRGV0YWlscygpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcC5vZmYoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXAucmVtb3ZlKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm9uLW1hcC1yZWZyZXNoIiwgKGUpID0+IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNldE1hcExheW91dCgpOwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgbGFzdENhdGVnb3JpZXMgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnbGFzdC1maWx0ZXItY2F0ZWdvcmllcycpOwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAobGFzdENhdGVnb3JpZXMpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFzdENhdGVnb3JpZXMgPSBKU09OLnBhcnNlKGxhc3RDYXRlZ29yaWVzKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbml0TWFwKGxhc3RDYXRlZ29yaWVzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5pdE1hcCgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm9uLWNhdGVnb3J5LWZpbHRlci1jaGFuZ2UiLCAoZSkgPT4gewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkQ2F0ZWdvcmllcyA9IGUuZGV0YWlsOwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaWRlU2l0ZURldGFpbHMoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXAub2ZmKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwLnJlbW92ZSgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluaXRNYXAoc2VsZWN0ZWRDYXRlZ29yaWVzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgICAgICAgICA=","details":["keydown"]},{"id":2034587,"scanId":"cd1b47aa-edfd-4491-95d4-63d0d0bdc341","kind":"behaviour","label":"MOUSE","source":"https://alpeshauteprovence.cidff.info/wp-content/cache/autoptimize/autoptimize_single_fa03f187c5d2fdfce7632be6f0a06478.php?ver=1.9.5","details":["scroll"]}],"cookies":[],"software":[],"platforms":[{"id":153012,"scanId":"cd1b47aa-edfd-4491-95d4-63d0d0bdc341","kind":"cms","name":"WordPress","evidence":"/wp-content/cache/autoptimize/autoptimize_single_64ac31699f5326cb3c76122498b76f66.php?ver=6.1.4","source":"path"}],"offeredLanguages":[],"resources":[{"id":2537188,"scanId":"cd1b47aa-edfd-4491-95d4-63d0d0bdc341","party":"first","kind":"image","requests":48,"bytes":1281029},{"id":2537189,"scanId":"cd1b47aa-edfd-4491-95d4-63d0d0bdc341","party":"third","kind":"image","requests":8,"bytes":342826},{"id":2537190,"scanId":"cd1b47aa-edfd-4491-95d4-63d0d0bdc341","party":"third","kind":"script","requests":4,"bytes":182117},{"id":2537191,"scanId":"cd1b47aa-edfd-4491-95d4-63d0d0bdc341","party":"first","kind":"font","requests":12,"bytes":172599},{"id":2537192,"scanId":"cd1b47aa-edfd-4491-95d4-63d0d0bdc341","party":"first","kind":"script","requests":29,"bytes":118885},{"id":2537193,"scanId":"cd1b47aa-edfd-4491-95d4-63d0d0bdc341","party":"first","kind":"style","requests":13,"bytes":57999},{"id":2537194,"scanId":"cd1b47aa-edfd-4491-95d4-63d0d0bdc341","party":"first","kind":"document","requests":3,"bytes":38365},{"id":2537195,"scanId":"cd1b47aa-edfd-4491-95d4-63d0d0bdc341","party":"third","kind":"style","requests":3,"bytes":11878},{"id":2537196,"scanId":"cd1b47aa-edfd-4491-95d4-63d0d0bdc341","party":"third","kind":"document","requests":3,"bytes":282}],"dependencies":[{"id":1554496,"scanId":"cd1b47aa-edfd-4491-95d4-63d0d0bdc341","host":"tile.openstreetmap.org","requests":8,"bytes":342826,"kinds":["image"],"embedded":false},{"id":1554497,"scanId":"cd1b47aa-edfd-4491-95d4-63d0d0bdc341","host":"unpkg.com","requests":6,"bytes":140696,"kinds":["script","style"],"embedded":false},{"id":1554498,"scanId":"cd1b47aa-edfd-4491-95d4-63d0d0bdc341","host":"cdnjs.cloudflare.com","requests":1,"bytes":53299,"kinds":["script"],"embedded":false},{"id":1554499,"scanId":"cd1b47aa-edfd-4491-95d4-63d0d0bdc341","host":"www.cidff04.org","requests":3,"bytes":282,"kinds":["document"],"embedded":false}],"pixels":[],"headers":[{"id":794367,"scanId":"cd1b47aa-edfd-4491-95d4-63d0d0bdc341","name":"content-security-policy","value":"frame-ancestors 'self';"},{"id":794368,"scanId":"cd1b47aa-edfd-4491-95d4-63d0d0bdc341","name":"server","value":"Apache"},{"id":794369,"scanId":"cd1b47aa-edfd-4491-95d4-63d0d0bdc341","name":"x-content-type-options","value":"nosniff"}],"identifiers":[],"domain":{"scanId":"cd1b47aa-edfd-4491-95d4-63d0d0bdc341","domain":"cidff.info","dnssec":"signed","ipv6":false,"ipv6Reachable":null,"ipv6Reason":"no-aaaa","spf":false,"dmarcPolicy":null,"dnsError":null,"tlsProtocol":"TLSv1.3","tlsCipher":"TLS_AES_256_GCM_SHA384","tlsAlpn":"h2","tlsIssuer":"Let's Encrypt","tlsValidFrom":"2026-10-06T07:01:47.000Z","tlsValidTo":"2027-01-04T07:01:46.000Z","tlsAuthorized":true,"tlsError":null,"registrar":null,"registeredAt":null,"expiresAt":null,"holderCountry":null,"rdapSource":"rdap.identitydigital.services","rdapError":"réponse 400 du registre","robotsFound":false,"robotsAllows":true,"adsFound":false,"adsPartners":0,"securityFound":false,"securityContact":null,"probedAt":"2026-10-12T14:04:18.318Z","mailProvider":"OVHcloud","dnsProvider":"OVHcloud","tlsAuthority":"Let's Encrypt (ISRG)","tlsAuthorityCountry":"US"},"dns":[{"id":1528712,"scanId":"cd1b47aa-edfd-4491-95d4-63d0d0bdc341","kind":"mx","value":"mx4.mail.ovh.net","rank":1,"cnameTarget":null,"provider":"OVHcloud"},{"id":1528713,"scanId":"cd1b47aa-edfd-4491-95d4-63d0d0bdc341","kind":"mx","value":"mail.nexylan.net","rank":0,"cnameTarget":"lba-sov.soverin.net","provider":null},{"id":1528714,"scanId":"cd1b47aa-edfd-4491-95d4-63d0d0bdc341","kind":"mx","value":"mx3.mail.ovh.net","rank":10,"cnameTarget":null,"provider":"OVHcloud"},{"id":1528715,"scanId":"cd1b47aa-edfd-4491-95d4-63d0d0bdc341","kind":"ns","value":"dns14.ovh.net","rank":null,"cnameTarget":null,"provider":"OVHcloud"},{"id":1528716,"scanId":"cd1b47aa-edfd-4491-95d4-63d0d0bdc341","kind":"ns","value":"ns14.ovh.net","rank":null,"cnameTarget":null,"provider":"OVHcloud"}],"adsPartners":[],"blocklists":[{"id":2554499,"scanId":"cd1b47aa-edfd-4491-95d4-63d0d0bdc341","resolver":"Quad9","resolverIp":"9.9.9.9","kind":"security","verdict":"allowed","note":null},{"id":2554500,"scanId":"cd1b47aa-edfd-4491-95d4-63d0d0bdc341","resolver":"CleanBrowsing Security","resolverIp":"185.228.168.9","kind":"security","verdict":"allowed","note":null},{"id":2554501,"scanId":"cd1b47aa-edfd-4491-95d4-63d0d0bdc341","resolver":"Comodo Secure","resolverIp":"8.26.56.26","kind":"security","verdict":"unknown","note":"ETIMEOUT"},{"id":2554502,"scanId":"cd1b47aa-edfd-4491-95d4-63d0d0bdc341","resolver":"OpenDNS","resolverIp":"208.67.222.222","kind":"security","verdict":"unknown","note":"EREFUSED"},{"id":2554503,"scanId":"cd1b47aa-edfd-4491-95d4-63d0d0bdc341","resolver":"AdGuard","resolverIp":"94.140.14.14","kind":"ads","verdict":"allowed","note":null},{"id":2554504,"scanId":"cd1b47aa-edfd-4491-95d4-63d0d0bdc341","resolver":"AdGuard Famille","resolverIp":"94.140.14.15","kind":"family","verdict":"allowed","note":null},{"id":2554505,"scanId":"cd1b47aa-edfd-4491-95d4-63d0d0bdc341","resolver":"Cloudflare Famille","resolverIp":"1.1.1.3","kind":"family","verdict":"allowed","note":null},{"id":2554506,"scanId":"cd1b47aa-edfd-4491-95d4-63d0d0bdc341","resolver":"CleanBrowsing Famille","resolverIp":"185.228.168.168","kind":"family","verdict":"allowed","note":null},{"id":2554507,"scanId":"cd1b47aa-edfd-4491-95d4-63d0d0bdc341","resolver":"CleanBrowsing Adulte","resolverIp":"185.228.168.10","kind":"family","verdict":"allowed","note":null},{"id":2554508,"scanId":"cd1b47aa-edfd-4491-95d4-63d0d0bdc341","resolver":"OpenDNS Famille","resolverIp":"208.67.222.123","kind":"family","verdict":"unknown","note":"EREFUSED"}],"threats":[],"wayback":null,"cnames":[],"reputation":[],"webcompat":{"consulted":false,"rules":0,"updatedAt":null,"flags":[]},"wikidata":{"entities":{"Q34045622":{"qid":"Q34045622","label":"Fastly","description":"entreprise américaine de cloud computing","officialWebsite":"https://www.fastly.com","image":"http://commons.wikimedia.org/wiki/Special:FilePath/Fastly%20logo.svg","tosdrId":"9951","influenceWatchId":null,"wikipedia":{"en":"https://en.wikipedia.org/wiki/Fastly","fr":"https://fr.wikipedia.org/wiki/Fastly"},"parentQid":null,"countryCode":"US","countryLabel":"États-Unis","fetchedAt":"2026-10-18T15:05:56.758Z"},"Q568183":{"qid":"Q568183","label":"OVHcloud","description":"hébergeur de sites web français","officialWebsite":"https://www.ovhcloud.com/en/","image":"http://commons.wikimedia.org/wiki/Special:FilePath/Logo%20OVH.svg","tosdrId":null,"influenceWatchId":null,"wikipedia":{"en":"https://en.wikipedia.org/wiki/OVHcloud","fr":"https://fr.wikipedia.org/wiki/OVHcloud"},"parentQid":null,"countryCode":"FR","countryLabel":"France","fetchedAt":"2026-10-18T15:08:27.232Z"},"Q4778915":{"qid":"Q4778915","label":"Cloudflare","description":"entreprise américaine spécialisée dans la sécurité et les services web","officialWebsite":"https://www.cloudflare.com/","image":"http://commons.wikimedia.org/wiki/Special:FilePath/Cloudflare%20Logo.svg","tosdrId":"894","influenceWatchId":null,"wikipedia":{"en":"https://en.wikipedia.org/wiki/Cloudflare","fr":"https://fr.wikipedia.org/wiki/Cloudflare"},"parentQid":null,"countryCode":"US","countryLabel":"États-Unis","fetchedAt":"2026-10-18T15:05:57.236Z"}},"asnToQid":{"13335":"Q4778915","16276":"Q568183","54113":"Q34045622"}},"siteMatch":{"qid":null,"confidence":null,"decided":false}}