/* * (C) Jérôme ODIER * jerome.odier@cern.ch * */ /*--------------------------------------------------------------------------*/ var keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; /*--------------------------------------------------------------------------*/ function decode(input) { var output = ''; var chr1, chr2, chr3; var enc1, enc2, enc3, enc4; var i = 0; input = input.replace(/[^A-Za-z0-9\+\/\=]/g, ''); while(i < input.length) { enc1 = keyStr.indexOf(input.charAt(i++)); enc2 = keyStr.indexOf(input.charAt(i++)); enc3 = keyStr.indexOf(input.charAt(i++)); enc4 = keyStr.indexOf(input.charAt(i++)); chr1 = ((enc1 & 255) << 2) | (enc2 >> 4); chr2 = ((enc2 & 15) << 4) | (enc3 >> 2); chr3 = ((enc3 & 3) << 6) | (enc4 >> 0); output = output + String.fromCharCode(chr1); if(enc3 != 64) { output = output + String.fromCharCode(chr2); } if(enc4 != 64) { output = output + String.fromCharCode(chr3); } } return output; } /*--------------------------------------------------------------------------*/ function __spectrum_version() { var contents = 'PGEgaHJlZj0iaHR0cDovL3Byb2plY3RzLmhlcGZvcmdlLm9yZy9zb2Z0c3VzeS8iIHN0eWxlPSJ0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsiPnNvZnRzdXN5IDIuMC4xODwvYT4sIDxhIGhyZWY9Imh0dHA6Ly9pZmljLnV2LmVzL35wb3JvZC9TUGhlbm8uaHRtbCIgc3R5bGU9InRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyI+c3BoZW5vIDIuMi4zPC9hPiwgPGEgaHJlZj0iaHR0cDovL3d3dy5scHRhLnVuaXYtbW9udHAyLmZyL3VzZXJzL2tuZXVyL1N1c3BlY3QvIiBzdHlsZT0idGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7Ij5zdXNwZWN0IDIuNDE8L2E+'; document.write(decode(contents)); } /*--------------------------------------------------------------------------*/ function __spectrum_display() { var contents = 'PGZvcm0gbWV0aG9kPSJnZXQiIGFjdGlvbj0iaHR0cDovL3d3dy5vZGllci5ldS9wdWJsaWMvc3BlY3RydW0vaW5kZXgucGhwIj4NCg0KPGRpdiBzdHlsZT0iZm9udC1zaXplOiAyNHB4OyI+DQogIElucHV0DQoNCiAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0ibGFuZyIgdmFsdWU9IiIgLz4NCiAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0icGFnZSIgdmFsdWU9IiIgLz4NCg0KICA8c2VsZWN0IG5hbWU9InAwIiBpZD0icDAiIG9uY2hhbmdlPSJtb2RlbFNlbGVjdCh0aGlzLnNlbGVjdGVkSW5kZXgpOyI+DQogICAgPG9wdGlvbiB2YWx1ZT0ibXN1Z3JhIj5tU1VHUkE8L29wdGlvbj4NCiAgICA8b3B0aW9uIHZhbHVlPSJudWhtIj5OVUhNPC9vcHRpb24+DQogICAgPG9wdGlvbiB2YWx1ZT0iYW1zYiI+QU1TQjwvb3B0aW9uPg0KICA8L3NlbGVjdD4NCg0KICA8aHIgLz4NCjwvZGl2Pg0KDQo8dGFibGUgc3R5bGU9Im1hcmdpbjogYXV0bzsiPg0KICA8dHI+DQogICAgPHRkIGNvbHNwYW49IjUiIHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij4NCiAgICAgIFNVU1kgaW5wdXQNCiAgICA8L3RkPg0KICA8L3RyPg0KICA8dHIgaWQ9InRyX3AxIj4NCiAgICA8dGQ+PGltZyBzcmM9Imh0dHA6Ly93d3cub2RpZXIuZXUvcHVibGljL3NwZWN0cnVtL3AxLmdpZiIgYWx0PSIiIC8+PC90ZD4NCiAgICA8dGQ+Jm5ic3A7PC90ZD4NCiAgICA8dGQ+PGlucHV0IHR5cGU9InRleHQiIG5hbWU9InAxIiBpZD0icDEiIHZhbHVlPSIxMDAiIC8+PC90ZD4NCiAgICA8dGQ+Jm5ic3A7PC90ZD4NCiAgICA8dGQ+PGltZyBzcmM9Imh0dHA6Ly93d3cub2RpZXIuZXUvcHVibGljL3NwZWN0cnVtL3ExLmdpZiIgYWx0PSIiIC8+PC90ZD4NCiAgPC90cj4NCiAgPHRyIGlkPSJ0cl9wMiI+DQogICAgPHRkPjxpbWcgc3JjPSJodHRwOi8vd3d3Lm9kaWVyLmV1L3B1YmxpYy9zcGVjdHJ1bS9wMi5naWYiIGFsdD0iIiAvPjwvdGQ+DQogICAgPHRkPiZuYnNwOzwvdGQ+DQogICAgPHRkPjxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJwMiIgaWQ9InAyIiB2YWx1ZT0iMjUwIiAvPjwvdGQ+DQogICAgPHRkPiZuYnNwOzwvdGQ+DQogICAgPHRkPjxpbWcgc3JjPSJodHRwOi8vd3d3Lm9kaWVyLmV1L3B1YmxpYy9zcGVjdHJ1bS9xMS5naWYiIGFsdD0iIiAvPjwvdGQ+DQogIDwvdHI+DQogIDx0ciBpZD0idHJfcDMiPg0KICAgIDx0ZD48aW1nIHNyYz0iaHR0cDovL3d3dy5vZGllci5ldS9wdWJsaWMvc3BlY3RydW0vcDMuZ2lmIiBhbHQ9IiIgLz48L3RkPg0KICAgIDx0ZD4mbmJzcDs8L3RkPg0KICAgIDx0ZD48aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0icDMiIGlkPSJwMyIgdmFsdWU9IjYwMDAwIiAvPjwvdGQ+DQogICAgPHRkPiZuYnNwOzwvdGQ+DQogICAgPHRkPjxpbWcgc3JjPSJodHRwOi8vd3d3Lm9kaWVyLmV1L3B1YmxpYy9zcGVjdHJ1bS9xMS5naWYiIGFsdD0iIiAvPjwvdGQ+DQogIDwvdHI+DQogIDx0ciBpZD0idHJfcDQiPg0KICAgIDx0ZD48aW1nIHNyYz0iaHR0cDovL3d3dy5vZGllci5ldS9wdWJsaWMvc3BlY3RydW0vcDQuZ2lmIiBhbHQ9IiIgLz48L3RkPg0KICAgIDx0ZD4mbmJzcDs8L3RkPg0KICAgIDx0ZD48aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0icDQiIGlkPSJwNCIgdmFsdWU9IjEwMCIgLz48L3RkPg0KICAgIDx0ZD4mbmJzcDs8L3RkPg0KICAgIDx0ZD48aW1nIHNyYz0iaHR0cDovL3d3dy5vZGllci5ldS9wdWJsaWMvc3BlY3RydW0vcTEuZ2lmIiBhbHQ9IiIgLz48L3RkPg0KICA8L3RyPg0KICA8dHIgaWQ9InRyX3A1Ij4NCiAgICA8dGQ+PGltZyBzcmM9Imh0dHA6Ly93d3cub2RpZXIuZXUvcHVibGljL3NwZWN0cnVtL3A1LmdpZiIgYWx0PSIiIC8+PC90ZD4NCiAgICA8dGQ+Jm5ic3A7PC90ZD4NCiAgICA8dGQ+PGlucHV0IHR5cGU9InRleHQiIG5hbWU9InA1IiBpZD0icDUiIHZhbHVlPSIxMDAiIC8+PC90ZD4NCiAgICA8dGQ+Jm5ic3A7PC90ZD4NCiAgICA8dGQ+PGltZyBzcmM9Imh0dHA6Ly93d3cub2RpZXIuZXUvcHVibGljL3NwZWN0cnVtL3ExLmdpZiIgYWx0PSIiIC8+PC90ZD4NCiAgPC90cj4NCiAgPHRyIGlkPSJ0cl9wNiI+DQogICAgPHRkPjxpbWcgc3JjPSJodHRwOi8vd3d3Lm9kaWVyLmV1L3B1YmxpYy9zcGVjdHJ1bS9wNi5naWYiIGFsdD0iIiAvPjwvdGQ+DQogICAgPHRkPiZuYnNwOzwvdGQ+DQogICAgPHRkPjxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJwNiIgaWQ9InA2IiB2YWx1ZT0iLTEwMCIgLz48L3RkPg0KICAgIDx0ZD4mbmJzcDs8L3RkPg0KICAgIDx0ZD48aW1nIHNyYz0iaHR0cDovL3d3dy5vZGllci5ldS9wdWJsaWMvc3BlY3RydW0vcTEuZ2lmIiBhbHQ9IiIgLz48L3RkPg0KICA8L3RyPg0KICA8dHIgaWQ9InRyX3A3Ij4NCiAgICA8dGQ+PGltZyBzcmM9Imh0dHA6Ly93d3cub2RpZXIuZXUvcHVibGljL3NwZWN0cnVtL3A3LmdpZiIgYWx0PSIiIC8+PC90ZD4NCiAgICA8dGQ+Jm5ic3A7PC90ZD4NCiAgICA8dGQ+PGlucHV0IHR5cGU9InRleHQiIG5hbWU9InA3IiBpZD0icDciIHZhbHVlPSIxMCIgLz48L3RkPg0KICAgIDx0ZD4mbmJzcDs8L3RkPg0KICAgIDx0ZD48aW1nIHNyYz0iaHR0cDovL3d3dy5vZGllci5ldS9wdWJsaWMvc3BlY3RydW0vcTIuZ2lmIiBhbHQ9IiIgLz48L3RkPg0KICA8L3RyPg0KICA8dHIgaWQ9InRyX3A4Ij4NCiAgICA8dGQ+PGltZyBzcmM9Imh0dHA6Ly93d3cub2RpZXIuZXUvcHVibGljL3NwZWN0cnVtL3A4LmdpZiIgYWx0PSIiIC8+PC90ZD4NCiAgICA8dGQ+Jm5ic3A7PC90ZD4NCiAgICA8dGQ+DQogICAgICA8c2VsZWN0IG5hbWU9InA4IiBpZD0icDgiPg0KICAgICAgICA8b3B0aW9uIHZhbHVlPSIrMSI+KzE8L29wdGlvbj4NCiAgICAgICAgPG9wdGlvbiB2YWx1ZT0iLTEiPi0xPC9vcHRpb24+DQogICAgICA8L3NlbGVjdD4NCiAgICA8L3RkPg0KICAgIDx0ZD4mbmJzcDs8L3RkPg0KICAgIDx0ZD48aW1nIHNyYz0iaHR0cDovL3d3dy5vZGllci5ldS9wdWJsaWMvc3BlY3RydW0vcTMuZ2lmIiBhbHQ9IiIgLz48L3RkPg0KICA8L3RyPg0KICA8dHI+DQogICAgPHRkIGNvbHNwYW49IjUiIHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij4NCiAgICAgIFNNIGlucHV0DQogICAgPC90ZD4NCiAgPC90cj4NCiAgPHRyIGlkPSJ0cl9wOSI+DQogICAgPHRkPjxpbWcgc3JjPSJodHRwOi8vd3d3Lm9kaWVyLmV1L3B1YmxpYy9zcGVjdHJ1bS9wOS5naWYiIGFsdD0iIiAvPjwvdGQ+DQogICAgPHRkPiZuYnNwOzwvdGQ+DQogICAgPHRkPjxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJwOSIgaWQ9InA5IiB2YWx1ZT0iMTc1IiAvPjwvdGQ+DQogICAgPHRkPiZuYnNwOzwvdGQ+DQogICAgPHRkPjxpbWcgc3JjPSJodHRwOi8vd3d3Lm9kaWVyLmV1L3B1YmxpYy9zcGVjdHJ1bS9xMS5naWYiIGFsdD0iIiAvPjwvdGQ+DQogIDwvdHI+DQogIDx0ciBpZD0idHJfcDEwIj4NCiAgICA8dGQ+PGltZyBzcmM9Imh0dHA6Ly93d3cub2RpZXIuZXUvcHVibGljL3NwZWN0cnVtL3AxMC5naWYiIGFsdD0iIiAvPjwvdGQ+DQogICAgPHRkPiZuYnNwOzwvdGQ+DQogICAgPHRkPjxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJwMTAiIGlkPSJwMTAiIHZhbHVlPSI0LjIiIC8+PC90ZD4NCiAgICA8dGQ+Jm5ic3A7PC90ZD4NCiAgICA8dGQ+PGltZyBzcmM9Imh0dHA6Ly93d3cub2RpZXIuZXUvcHVibGljL3NwZWN0cnVtL3ExLmdpZiIgYWx0PSIiIC8+PC90ZD4NCiAgPC90cj4NCiAgPHRyIGlkPSJ0cl9wMTEiPg0KICAgIDx0ZD48aW1nIHNyYz0iaHR0cDovL3d3dy5vZGllci5ldS9wdWJsaWMvc3BlY3RydW0vcDExLmdpZiIgYWx0PSIiIC8+PC90ZD4NCiAgICA8dGQ+Jm5ic3A7PC90ZD4NCiAgICA8dGQ+PGlucHV0IHR5cGU9InRleHQiIG5hbWU9InAxMSIgaWQ9InAxMSIgdmFsdWU9IjAuMTE3MiIgLz48L3RkPg0KICAgIDx0ZD4mbmJzcDs8L3RkPg0KICAgIDx0ZD48aW1nIHNyYz0iaHR0cDovL3d3dy5vZGllci5ldS9wdWJsaWMvc3BlY3RydW0vcTMuZ2lmIiBhbHQ9IiIgLz48L3RkPg0KICA8L3RyPg0KICA8dHI+DQogICAgPHRkIGNvbHNwYW49IjUiIHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij4NCiAgICAgIDxpbnB1dCB0eXBlPSJyZXNldCIgdmFsdWU9InJlc2V0IiAvPg0KICAgICAgJm5ic3A7Jm5ic3A7Jm5ic3A7DQogICAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0ic3VibWl0IiAvPg0KICAgIDwvdGQ+DQogIDwvdHI+DQo8L3RhYmxlPg0KDQo8L2Zvcm0+DQoNCjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KCgk8IS0tDQoNCgl2YXIgbXN1Z3JhID0gMCwgbnVobSA9IDEsIGFtc2IgPSAyOw0KDQoJZnVuY3Rpb24gc2V0VmlzaWJpbGl0eShpZCwgaXNfdmlzaWJsZSkNCgl7DQoJCXZhciBvYmogPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7DQoNCgkJaWYob2JqKQ0KCQl7DQoJCQlpZihvYmouc3R5bGUuc2V0QXR0cmlidXRlKQ0KCQkJew0KCQkJCWlmKGlzX3Zpc2libGUgPiAwKSB7DQoJCQkJCW9iai5zdHlsZS5zZXRBdHRyaWJ1dGUoJ2Rpc3BsYXknLCAnJyk7DQoJCQkJfQ0KCQkJCWVsc2Ugew0KCQkJCQlvYmouc3R5bGUuc2V0QXR0cmlidXRlKCdkaXNwbGF5JywgJ25vbmUnKTsNCgkJCQl9DQoJCQl9DQoJCQllbHNlDQoJCQl7DQoJCQkJaWYoaXNfdmlzaWJsZSA+IDApIHsNCgkJCQkJb2JqLnN0eWxlLmRpc3BsYXkgPSAnJzsNCgkJCQl9DQoJCQkJZWxzZSB7DQoJCQkJCW9iai5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOw0KCQkJCX0NCgkJCX0NCgkJfQ0KCQllbHNlIHsNCgkJCWFsZXJ0KCdlcnJvciAhJyk7DQoJCX0NCgl9DQoNCglmdW5jdGlvbiBtb2RlbFNlbGVjdChpbmRleCkNCgl7DQoJCXZhciBwMCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwMCcpOw0KDQoJCWlmKHAwKSB7DQoJCQlwMC5zZWxlY3RlZEluZGV4ID0gaW5kZXg7DQoJCX0NCgkJZWxzZSB7DQoJCQlhbGVydCgnZXJyb3IgIScpOw0KCQl9DQoNCgkJdmFyIHAxID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3AxJyk7DQoNCgkJLyoqLyBpZihpbmRleCA9PSAwKQ0KCQl7DQoJCQlzZXRWaXNpYmlsaXR5KCd0cl9wMicsIDEpOw0KCQkJc2V0VmlzaWJpbGl0eSgndHJfcDMnLCAwKTsNCgkJCXNldFZpc2liaWxpdHkoJ3RyX3A0JywgMCk7DQoJCQlzZXRWaXNpYmlsaXR5KCd0cl9wNScsIDApOw0KCQkJc2V0VmlzaWJpbGl0eSgndHJfcDYnLCAxKTsNCg0KCQkJaWYocDEudmFsdWUgPT0gJzQ1MCcpIHsNCgkJCQlwMS52YWx1ZSA9ICcxMDAnOw0KCQkJfQ0KCQl9DQoJCWVsc2UgaWYoaW5kZXggPT0gMSkNCgkJew0KCQkJc2V0VmlzaWJpbGl0eSgndHJfcDInLCAxKTsNCgkJCXNldFZpc2liaWxpdHkoJ3RyX3AzJywgMCk7DQoJCQlzZXRWaXNpYmlsaXR5KCd0cl9wNCcsIDEpOw0KCQkJc2V0VmlzaWJpbGl0eSgndHJfcDUnLCAxKTsNCgkJCXNldFZpc2liaWxpdHkoJ3RyX3A2JywgMSk7DQoNCgkJCWlmKHAxLnZhbHVlID09ICc0NTAnKSB7DQoJCQkJcDEudmFsdWUgPSAnMTAwJzsNCgkJCX0NCgkJfQ0KCQllbHNlIGlmKGluZGV4ID09IDIpDQoJCXsNCgkJCXNldFZpc2liaWxpdHkoJ3RyX3AyJywgMCk7DQoJCQlzZXRWaXNpYmlsaXR5KCd0cl9wMycsIDEpOw0KCQkJc2V0VmlzaWJpbGl0eSgndHJfcDQnLCAwKTsNCgkJCXNldFZpc2liaWxpdHkoJ3RyX3A1JywgMCk7DQoJCQlzZXRWaXNpYmlsaXR5KCd0cl9wNicsIDApOw0KDQoJCQlpZihwMS52YWx1ZSA9PSAnMTAwJykgew0KCQkJCXAxLnZhbHVlID0gJzQ1MCc7DQoJCQl9DQoJCX0NCgkJZWxzZSB7DQoJCQlhbGVydCgnZXJyb3IgIScpOw0KCQl9DQoJfQ0KDQoJbW9kZWxTZWxlY3QoMCk7CgoJLy8gLS0+DQoNCjwvc2NyaXB0Pg0K'; document.write(decode(contents)); } /*--------------------------------------------------------------------------*/