apiVersion: v1 binaryData: icon.c628fb04.ico: AAABAAQAEBAAAAEAIABoBAAARgAAABgYAAABACAAiAkAAK4EAAAgIAAAAQAgAKgQAAA2DgAAQEAAAAEAIAAoQgAA3h4AACgAAAAQAAAAIAAAAAEAIAAAAAAAAAQAAMMOAADDDgAAAAAAAAAAAAAAAAAAAAAAAAAAAADJjTYAx444AMeOOADHjjgAx444B8eOOAjHjjgAx444AMeOOADIkDcAAAAAAAAAAAAAAAAAAAAAAMePOADHjjgAx444AMeOOADHjjgFx444R8eOOKzHjjiyx444UceOOAjHjjgAx444AMeOOADHizgAAAAAAMePOADHjzgAx444AMeOOALHjjg3x444oMeOOPHHjjj/x444/8eOOPXHjjisx444QseOOAXHjjgAx444AMeOOADHjjgABwD4AMeOOC7HjjiTx4446seOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOPDHjjigx444NsePOALHjjgAx444KMeOOIrHjjjjx444/8eOOP/Hjjj/x444/seOONbHjjjSx444/ceOOP/Hjjj/x444/8eOOOnHjjiUx444MMeOOM/Hjjj/x444/8eOOP/Hjjj+x444zseOOG3Hjjgox444JseOOGXHjjjHx444/ceOOP/Hjjj/x444/8eOON3Hjjj+x444/8eOOP/HjjjXx444cMeOOCLHjjhRx444useOOL/Hjjhcx444IseOOGfHjjjQx444/8eOOP/Hjjj/x444+MeOOODHjjh+x444JseOOEDHjjiqx4449seOOP/Hjjj/x444+seOOLjHjjhMx444JMeOOHLHjjjZx444/8eOOHPHjjgux444N8eOOJ7Hjjjwx444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x4449ceOOKzHjjhAx444KceOOHPHjjgxx444mMeOOOvHjjj/x444/8eOOP/Hjjj3x444u8eOOLfHjjj0x444/8eOOP/Hjjj/x4448MeOOKLHjjg6x4442ceOOP/Hjjj/x444/8eOOPzHjjjEx444VMeOOA/HjjgOx444S8eOOLnHjjj5x444/8eOOP/Hjjj/x4445seOOPTHjjj/x444/8eOOM7Hjjhkx444G8eOOEXHjjijx444qseOOEzHjjgax444WMeOOMXHjjj9x444/8eOOP3HjjiAx444xseOOHnHjjggx444P8eOOKvHjjj0x444/8eOOP/Hjjj3x444tMeOOEfHjjgcx444a8eOOMDHjjiQx444A8eOOAzHjjgSx444k8eOOPTHjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj3x444oseOOBjHjjgJyI43BMeOOADHjjgAx444CMeOOE7Hjjivx4448MeOOPbHjjjMx444vceOOO3Hjjj1x444vMeOOFvHjjgMx444AMeOOAAAAAAAx444AMeOOADHjjgAx444CceOOErHjjhWx444GMeOOA3HjjhDx444VceOOBHHjjgAx444AMeOOAAAAAAA4AcAAIABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAEAACgAAAAYAAAAMAAAAAEAIAAAAAAAAAkAAMMOAADDDgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMiPNwDHjjgAx444AMeOOADHjjgAx444AMiRNwDGjTkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADJkzYAx444AMeOOADHjjgAyI43DMeOOD7HjjhExo45EceOOADHjjgAxo45AMePOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAx484AMeNOADHjTgAx444AMeOOAPHjjhAx444sceOOPPHjjj2x444v8eOOFDHjjgHx444AMeOOADHjjgAx444AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMKSPQDHjjgAxo45AMeOOADIizcBx444MceOOJjHjjjtx444/8eOOP/Hjjj/x444/8eOOPTHjjipx444QMaPOQXHjjgAx404AMeNOADAlj8AAAAAAAAAAADMmTMAyI83AMmQNgDHjjgAyI43AMeOOCjHjjiLx4445ceOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x4447seOOJ7Hjjg2x4w4AseOOADHjzgAx444AMSQOwDGjTkAx444AMaNOQDHjjghx444fseOON3Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjjox444kceOOCvGijkAx444AMaOOQDHjjgAx444HseOOHbHjjjWx444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOPrHjjj4x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOODHjjiFx444J8mNNgDHjjhUx4440MeOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj2x444uceOOFnHjjhPx444rseOOPHHjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x44428eOOGnHjjjbx444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x4449ceOOLHHjjhNx444CseOOAfHjjgIyI83BseOOEHHjjikx4448MeOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOO/Hjjj7x444/8eOOP/Hjjj/x444/8eOOPnHjji7x444UMeOOAfHjTgKx444YseOOL7HjjjDx444cMeOOBPJjjYCx444Q8eOOK7Hjjj1x444/8eOOP/Hjjj/x444/8eOOP/Hjjj6x444/8eOOP/Hjjj8x444xseOOF3HjjgLx444A8eOOEbHjji1x444+seOOP/Hjjj/x444/seOOMbHjjhax404C8aOOQbHjjhOx444uceOOPjHjjj/x444/8eOOP/Hjjjwx444/8eOOM/Hjjhox444EtWaKgDHjjg7x444pMeOOPHHjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj5x444uceOOE7HjzgFyI43CseOOFjHjjjDx444/MeOOP/Hjji2x444eMeOOBjHjTgAx444MMeOOJnHjjjsx444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOPTHjjitx444QceLOAHHjjgQx444Z8eOOMDHjjgRxY46AceOOCzHjjiNx4445seOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x44478eOOJ7Hjjg4yI83AseOOA7Hjjgex444jMeOOOXHjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x4443ceOOI/HjjiJx4441ceOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjjtx444nMeOOCvHjji3x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOOvHjjiVx444KceOOADHjjgAx444IMeOOITHjjjix444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOM7Hjjj4x444/8eOOP/Hjjj/x444/8eOOP/Hjjjxx444pMeOODnMizIAyI03A8eOODXHjjg8x444B8eOOADHjjgsx444kseOOOnHjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjjmx444/8eOOP/Hjjj/x4449seOOLDHjjhFxo45A8eNNwXHjjhIx444pseOOOvHjjjwx444sseOOFTHjjgKx404AMeOODbHjjifx44478eOOP/Hjjj/x444/8eOOPXHjjh8x4448seOOPnHjjjEx444VMeOOAfMjDMCx444QMeOOKrHjjjzx444/8eOOP/Hjjj/x444/8eOOPjHjji3x444TciONwbJkDYBx444QseOOLDHjjjzx44498eOOJjHjjgIx444RMeOOE7HjjgUx404AceOODbHjjifx44478eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x4449MeOOK3HjjhEx444BceOOAvHjjhAx444R8eOOBDHjjgAx444AMeOOADDjDwAx444bMeOOOvHjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj0x444hMeOOAXHjjgAx444AMeOOAAAAAAAAAAAAMeNOADGizkAx444KMeOOIHHjjjYx444/8eOOP/Hjjj/x444/8eOOPbHjjjsx444/8eOOP/Hjjj/x444/8eOOOXHjjiVx444NMiNNwLHjTgAAAAAAAAAAAAAAAAAAAAAAMeNOADHjDgAx444AMiONwDHjjggx444dMeOOM7HjjjZx444mMeOOEvHjjgxx444c8eOOMLHjjjbx444j8eOOC/GjzkCx444AMeNOADHjTgAAAAAAAAAAAAAAAAAAAAAAAAAAADEiTsAxo45AMWOOgDHjjgAx444AMeOOBzHjjgix484AseOOADHjjgAx444AMeOOBPHjjgkx404AseOOADHjjgAx444AL2WQgAAAAAAAAAAAAAAAAD/AP8A/AA/APAADwDAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAMAwAADAOAABwAoAAAAIAAAAEAAAAABACAAAAAAAAAQAADDDgAAww4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//AADFhzoAx5A4AMeOOACsoFMAwpI9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMyZMwDHjDgAyI43AMeOOADHkTgBx444A8eOOADHjjgAyYk2AMaQOQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADGjjkAx444AMeOOADIjjcLx444T8eOOJ3Hjjimx444YMeOOBPHjjgAx444AMaPOQC/gEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADIjjcAyY42AMeOOADHjTgCx444OseOOKrHjjj1x444/8eOOP/Hjjj7x444wMeOOE7GjjkHx444AMaOOQDHjjgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADHjzgAx484AMeOOAB7sYQAx444LMeOOJDHjjjpx444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x4448seOOKbHjjg/xo45BceOOADGjjgAxo44AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADGjzkAxZE6AMeOOADHjDgAx444I8eOOIPHjjjgx444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOO3Hjjidx444NsaONwLHjjgAxo45AMeNOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADIjzcAzZYyAMePOADIjTcAx444G8eOOHbHjjjYx444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjjnx444j8eOOCzWhSkAx444AMePOADHjzgAAAAAAAAAAADGjzkAxZA6AMeOOADGjTkAx444FseOOGvHjjjOx444/seOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x44438eOOILHjjgix404AMeOOADHjjgAx444AMeOOADHjjgAx444FMeOOGHHjjjGx444/MeOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOONbHjjh0x444H8ePOADHjjgAyI03B8eOOFjHjjjGx444+seOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjjsx444pMeOOJjHjjjjx444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP7HjjjUx444bsePOBDHjjh3x44488eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjjmx444mMeOODrIjjcFx4o4AceOOC3HjjiHx4443MeOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj7x444mMeOONvHjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjjlx444jseOODHHkDgBx444AMeOOAnHjjgLx404AMWMOgDHjjglx444fceOONrHjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj1x444+MeOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjjrx444mMeOODLIjTcBx444AMeNOBbHjjhvx444vMeOOMLHjjh8x404IsiONwDGjjkAx444JceOOIbHjjjhx444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj9x444/8eOOP/Hjjj/x444/8eOOP/Hjjjxx444pceOODzGjzkDx444AMeOOAjHjjhRx444w8eOOP3Hjjj/x444/8eOOP/HjjjVx444a8eOOBPHjjgAxZE6AMeOOC7HjjiSx4446MeOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOPPHjjj/x444/8eOOP/Hjjj1x444sseOOEjIjjcHx444AMaOOQTHjjg/x444qceOOPPHjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj7x444w8eOOFvHjjgOx444AMeROALHjjg3x444nseOOO3Hjjj/x444/8eOOP/Hjjj/x44448eOOP/Hjjj5x444u8eOOFLHjjgLx444AMqRNQLHjjg3x444nMeOOO3Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444+MeOOLjHjjhOx484CceOOADJjjYEx444P8eOOKnHjjjzx444/8eOOP/HjjjQx444yceOOF7HjjgPx404AMuONADHjjgtx444kseOOOjHjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOPTHjjirx444QseNOAXHjjgAx404CceOOEvHjji1x44468eOOEXHjjgYx444AMaOOQDHjjglx444hMeOOOHHjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjjux444nseOODXFizoCx444AMeOOA7HjjhEx444AMqONQDHjjgox444gseOONrHjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/ceOOPzHjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x44458eOOJbHjjg3xo45AseOOADHjjgQx444dseOON7Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x44498eOOLTHjjhjx444W8eOOKbHjjjxx444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOOnHjjiNx444HMeOOI7Hjjj7x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/seOOMvHjjhdx444DMeOOADHjjgAx444B8eOOEvHjji4x444+MeOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjiwx4446seOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOONXHjjhyx444GseOOADHjjgAyJU3AcqQNQLHjjgAx444AMeOOA7Hjjhbx444xMeOOPvHjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOPvHjjj2x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOON7HjjiAx444IcaNOQDHjjgAx444BseOODjHjjiOx444nMeOOEbHjjgLx444AMiONwDHjjgVx444Z8eOOM7Hjjj+x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOONTHjjj/x444/8eOOP/Hjjj/x444/8eOOOXHjjiNx444KsiPNwDHjjgAx403CMeOOEjHjjinx44468eOOP/Hjjj/x4448seOOLbHjjhZx444D8eOOADIjTcAx444HMeOOHbHjjjXx444/8eOOP/Hjjj/x444/8eOOP/Hjjjtx444b8eOOPbHjjj/x444/8eOOPLHjjigx444NMyLMwHHjjgAyI43BceOOEDHjjiox4448seOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOPjHjji5x444UMiONwrHjjgAxo05AMeOOCPHjjiFx4445MeOOP/Hjjj/x444/seOOJTIjjcJx444aceOOLfHjjijx444TMeNOAfHjjgAx484AseOODfHjjiex4447ceOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj1x444r8eOOEbHjTgHx444ALuTRADHjjgyx444iseOOLHHjjh+x444F8eOOADHjjgAxo04CceNOATHjjgAyI43AseOOC7HjjiQx44458eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x4448ceOOKbHjjg/x484BseOOADDkjwAyI43B8GMPgDHjjgAx444AMeOOADHjTgAx404AMeOOADHjjg5x44418eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOOnHjjhWx444AMiNNwDIjjcAyY42AMiONwAAAAAAAAAAAAAAAAAAAAAAxo45AMeOOA3HjjhTx444sceOOPLHjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOPvHjjjIx444aceOOBfHjzgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADGjjkAx444AMeOOADHjjgKx444R8eOOKjHjjjux444/8eOOP/Hjjj8x4442seOOJXHjjhwx444sMeOOOvHjjj/x444/8eOOPrHjjjEx444Y8eOOBbIjjcAx444AMeOOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADEiTsAx5A4AMeOOADHjjgAx484B8eOOD3Hjjiax444qMeOOF7Hjjgfyo01AceOOADIjjcIx444NMeOOIHHjjitx444YceOOBTHjjgAx444AL6TQQDEjzsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//8AAMaLOQDHjjgAx444AMiONwTIjzcGx444AMeOOADIjjcAxo45AMiONwDHjjgAxZA6AMiONwfGjjkAx444AMWgOgDHjjgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/4H///4Af//8AB//8AAP/8AAA/8AAAD8AAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAAP8AAAD/gAAB/+AAB/KAAAAEAAAACAAAAAAQAgAAAAAAAAQAAAww4AAMMOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADFkToAy6I0AMePOADIjTcAxJA7AMeNOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMqNNQDdhSIAyI43AMaMOQDIijcA/FoDAMiNNwDHjjgAv5VAAMaPOQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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OP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjjjx44428eOOPnHjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjjnx444n8eOODzFjzoHyY42AM2LMgDGjzkAx444B8eOOF3HjjjKx444/ceOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOON7HjjiQx444OMeOOCPHjjhyx444xceOOPrHjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjjnx444h8iPNxrGjjkAyoo1B8eOOHPHjjjux444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj8x44418eOOIbIjjcwy440BsWOOgDIjTcAiu11AMeNOB7Hjjhkx444wMeOOPPHjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP3Hjjilxo85HseOOEjHjjjmx444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOPzHjjjMx444e8iPNybTiywCxo85AMmONgDAkT8AyIw3AMiMNwDGjjkAwZA+AMiQNxPHjjhdx444sseOOPPHjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/MeOOIHHjjiSx444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x44498eOOMjHjjhux444I8aQOQHHjzgA14ooAMCKPwDKjDUAAAAAAAAAAADJjTYA4H0fAMiNNwDIkTcAxok5AMeOOBPGjjlQx444rceOOOzHjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/HjjjVx444yMeOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj8x444yMeOOGvHjzgY0qAtAMeOOADHjzgAy5c0AMeOOADHjjgAyI03AMaQOQDHjTgByZE2AMeOOADHjTgAyYo2AMuZNADIjjcAyYs2AMmLNgrHjjhLx444qseOOPLHjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/ceOOOjHjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOPzHjjjUx444dciONyHXRCgAx484AMeOOADHjjgAxIw7AMiPNwDHjTgHyI43MseOOHrHjjiux444tceOOI3HjzhFx444D8WQOgDGizkAyI43AMSQOwDJjDYAyI43AMiPNxDHjjhTx444uMeOOPTHjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj4x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOONnHjjiBx444JMOXPAHHjjgAx484AMePOADHjDgAx444AMKPPQHHjTgvx444kceOOObHjjj8x444/8eOOP/Hjjj/x4448ceOOKzHjThPxYs6CceOOADIjjcAx404ALqERQDHjzgAxpA5AMePOBHHjjhfx444v8eOOPnHjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/MeOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x4445MeOOI3HjTgwwZQ+A8iNNwDHjzgA//8AAMeNOADIjTcAxo45AMeNOBfHjjhvx4441seOOP7Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x4447MeOOJ3Gjzk0x5A4A8eOOADKiDUAx404AMiMNwDIjjcAwpQ9AMeNOBvGjjlpx444zMeOOPrHjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOPfHjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjjnx444msePODjJjjYFxo85AMSQOwDJjDYAzI4zAMiONwDHjjgAx4w4C8eOOE7Hjji7x444+ceOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x4444seOOIHIjjckothdAMeOOADIjDcAx404AMuJNADHjjgAz5swAMePOBzHjjh0x4440ceOOP3Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjjrx444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOPHHjjipx444Q8mONgjGjzkAyI43ANZ7KQDGjDkAxow5AMaNOQDJjzYHxo45PMeOOKPHjjjrx444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj7x444zceOOHPGjTkdv5lAAMeOOAAo/9cAy4w0AMaNOQDHjzgAx5I4AciPNynHjjh/x4443MeOOP7Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x4442seOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x4448ceOOK/HjjhPyI83DMaROQDJjjYAxJA7AJCbbwDGjjkAxo05AMSLOwPHjjg1x444lMeOOOfHjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj6x444y8eOOGfHjjgZw5M8AMeOOADFjDoAx484AMiRNwDHjTgAxo45AsiPNyzHjjiKx4443MeOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOMjHjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj2x444useOOFbIjjcQx444AMePOADJizYAy5Q0AMmVNgDJjjYAwo09A8aPOSnHjjiIx44428eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj3x444vMeOOFrGjjkQyZE2AMiQNwC/fkAAlyVoAMeOOADHjzgAz4kwA8eOODXHjjiRx4446ceOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjji1x444/8eOOP/Hjjj/x444/8eOOPnHjji/x444YciQNxPJkDYAyI43AMWOOgC9ekIAxo45AMePOAByAI0Ax444KceOOIDHjjjcx444/seOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjjzx444tMeOOE/IkTcNxYo6AMePOADDkDwAxpA5AMqLNQDIjzcAyY02B8eOOD/Hjjijx4447MeOOP/Hjjj/x444/8eOOP/Hjjj8x444pseOOP/Hjjj/x444/MeOOM/HjThux444HM6HMQDGjzkAxo05AMaNOQD//wAAxo05AMuQNADHjTgcx484dceOOM/Hjjj+x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjjtx444psePOELGjjkHyI43AMiMNwDIizcAw4g8AMeOOADHjjgAxos5C8eOOEzHjjiqx4448seOOP/Hjjj/x4448MeOOJjHjjj/x44408eOOHzIjTcfvG9DAMiPNwCDw3wAvJlDAMePOADHjjgAx444AMePOBrHjjhnx444y8eOOPrHjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjjqx444mseOODvLijQEx404AMeNOAC1k0oAyI43AMaMOQDGjzkAyI43DceOOFPHjji0x4449ceOOOXHjjhux444iMeOOCzQgi8Bx404AMeMOADNlzIAvYtCAMiONwDHjDgAx444EcaOOVvHjji9x444+MeOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjjgx444jcaNOSzIijcCx444AMKGPQDGiTkAyIs3AMeOOADHjjgAx484FMeOOGDHjjiYx444CsqPNQXGjjkAyoo1AMmLNgDHjzgAx444AMaNOQDJjjYQx444UceOOLTHjjj0x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP7Hjjjbx444eseOOCXlwRoAx404AMiONwDKlzUAxos5AMaNOQDIijcAxo45DMeOOADIjzcAa5GUALyWQwDGjjkAx4w4AMeOOBDHjjhRx444rceOOPDHjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOPzHjjjNx444d8eNOCLMjjMCx404AMaMOQDEiTsAx484AMaOOQDGjjkAxIU7AMaNOQDIjDcAxo45F8eOOFjHjji1x4448ceOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOPvHjjjWx444f8eOOC7DgjwBx484AL2TQgDEkDsAypA1AMiONwDGjDkKxo45UMeOOLjHjjj2x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj0x444w8eOOI7HjjiHx444sMeOOOnHjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/HjjjWx444d8ePOBvLjDQAxo45AMeOOADIjzcbx444lMeOOO7Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOPTHjjizx444UciONxfHjzgFx404A8iONw/Ijjc4x444l8eOOObHjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOPrHjji+x444O8WOOgHGjzkVx444nMeOOP7Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/seOOM7Hjjhkx484EseOOADHjjgAx444AMeOOADIjjcAx444AMaNOQfHjjhFx444sMeOOPXHjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOM/Hjjg4x444Z8eOOPXHjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x4443seOOIXIjjckxoo5AMePOADHjzgAxo45AAAAAAAAAAAAAAAAAMaOOQDGjjkAyYs2AMaOORLHjjhbx444v8eOOPXHjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444pseOOLjHjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjjox444kseOODfGiTkCx444AMePOADHjzgAAAAAAMmUNgDJlDYA0ZEuAIisdwD/gAAAxJI7AMCXPwDIjjcAyYw2AMaPORbHjjhnx444y8eOOPzHjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOO3Hjjjlx444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOOnHjjigx484PMWPOgfJjjYAw4o8AMaLOQDGjjkAzowxALWVSgDGjzkAxIk7AL+MQADFjzoAwY8+ALePSADIjjcAwpI9AM2KMgDGjzkAyJU3AMeOOCDHjjh0x4440seOOP3Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x4448ceOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x44488eOOK3HjjhKxow5CMaNOQDGjjkA/wAAAL2NQgDQmC8Ax404AMaPOQDIijcBxo45G8eOOGXIjzd8x444N8SPOwbHjjgAx444AMqMNQDIjTcAx444AMeOOADIjTcA15EoAMeOOCjHjjh+x4442seOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOOXHjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjjzx444t8eOOFLHjjgQyJI3AMWMOgDFjDoAxY86AMWMOgDFizoAx484AMeMOAfIjjcux444fseOOM3Hjjj2x444/8eOOOLHjjiex484RMeOOBLFjzoAxo05AMqVNQDAfz8Axo45AP+OAADHjjgAxZE6AsePOC7HjjiPx4444MeOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjji+x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOPnHjjjBx444X8eOOBLHjzgAx444AMOIPADGijkA3nkqAMeNNwDGjzkAxow5CcaOOUHHjjiUx4443ceOOP7Hjjj/x444/8eOOP/Hjjj/x444/8eOOO/Hjjivx444XcaOORfIkjcAyI03AMuUNADHizgAx444AMeOOADIjTcAv5FAA8eOODrHjjiZx4446seOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjjzx444gceOOP3Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444+seOOMzHjjhqyY02GsOLPADHjzgAx484AAAAAADDhzwAxYg6AMaQOQDHjDYLx444RceOOKrHjjjnx444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOPPHjjjGx444Z8aOORrBhj4Ax4w4AMiMNwAAAAAAtpJJAL2PQgDIjzcAxo45CciON0HHjjinx4447MeOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444vciONzXHjjjXx444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x4442ceOOHjHjTgfuJpHAMeOOADKjzUAyY42ALucRADIjTcAxow5AMWKOgXHjjg+x444n8eOOOzHjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOPjHjjjAyI43XseNOBLHjDgAyI03AMuPNADIjTcAjx5wAMeOOADFjzoAxZA6CseOOE7Hjjixx4449ceOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x44498eOOGjHijgDx444b8eOOPTHjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjjrx444lseOODC8lUMCx404ALedSADVgCsA/4AAAPV/CgDGkDkAyow1BcePODTHjjiXx44448eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOPPHjji4x444UsmNNhDGjjkAyYw2AMmLNgAAAAAAxJE8AMWPOgDFkToAx404E8aOOV/HjjjIx444+seOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOK3HjjgYyI03AMiONwrHjjh7x44458eOOP/Hjjj/x444/8eOOPDHjjitx404SseNOAfHjjgAxI87AMiMNwDHjzgAx444AMiNNwDrhhQByI43L8eOOIrHjjjhx444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOPLHjjisx444S8mMNgnGjjkAxo45ALhyRwDHijgAyoo1AMeNOADLjzQAx444HseOOHbHjjjNx444+ceOOP/Hjjj/x44498eOOLTHjjgtx404AMCXPwDEkDsAx4w4B8eOODrHjjh8x444lceOOHzHjjhCyI43EcORPADKizUAyI03AMaOOQDLkTQAx444AMSROwHIjjclyI43gceOONjHjjj+x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOOrHjjikx404P8aNOQnIkDcAxIk7AMSJOwDAgD8AzJQzAMeNOAC2m0kBx444IceOOFHHjjh5x444eciON03IjjcXxY46AMmONgDVgCsAw5E8AMeNOADGjjkAxoo2AcWNOAPHijgBxo85AMiONwDaeyUAzYkyAMmNNgDHjjgAyI83AMeOOB3Hjjhxx4440ceOOP7Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eOOOrHjjiZx444PcWKOgTIjjcAx484ANx8IwDHjjgAxJA7AMeOOADGjzkAyos1Ac2RMgHGjjkAyI43AMmONgDIjjcAAAAAAAAAAADHjjgAyI84AMeNOADGjTgAx404AMiNNwDIjTcAxY86AMaPOQC+kkEAxo05GseOOGnHjjjIx444+MeOOP/Hjjj/x444/8eOOP/Hjjj/x444/8eO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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////////////////////////+B/////////gB////////4AB////////AAB///////gAAB//////8AAAB/////+AAAAB/////wAAAAD////8AAAAAB////AAAAAAD///wAAAAAAB//8AAAAAAAD//gAAAAAAAH/wAAAAAAAAD+AAAAAAAAAHgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAIAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAQP/gAAAAAAB//+AAAAAAAH//4AAAAAAAf//gAAAAAAB///gAAAAAAP///AAAAAAD////gAAAAB/////gAAAAf/////wB/AH//////gf/B///w== data: index.87e0faa9.js: | document.addEventListener("DOMContentLoaded",()=>{let e=document.querySelectorAll("main > section, body > header"),t=document.querySelectorAll("nav a"),r=Array.from(t),a=new IntersectionObserver(e=>{e.forEach(e=>{if(""===e.target.id){r.forEach(e=>e.classList.remove("active")),t[0].classList.add("active");return}if(e.isIntersecting){let t=e.target.id,a=r.find(e=>e.href.includes(t));r.forEach(e=>e.classList.remove("active")),a.classList.add("active")}})},{rootMargin:"-50% 0px -50% 0px"});e.forEach(e=>a.observe(e))}); //# sourceMappingURL=index.87e0faa9.js.map index.87e0faa9.js.map: '{"mappings":"ACAA,SAAS,gBAAgB,CAAC,mBAAoB,KAG5C,IAAM,EAAW,SAAS,gBAAgB,CAAC,iCACrC,EAAQ,SAAS,gBAAgB,CAAC,SAClC,EAAa,MAAM,IAAI,CAAC,GACxB,EAAW,IAAI,qBACnB,AAAC,IACC,EAAQ,OAAO,CAAC,AAAC,IACf,GAAI,AAAoB,KAApB,EAAM,MAAM,CAAC,EAAE,CAAS,CAC1B,EAAW,OAAO,CAAC,AAAC,GAAS,EAAK,SAAS,CAAC,MAAM,CAAC,WACnD,CAAK,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,UACvB,MACF,CACA,GAAI,EAAM,cAAc,CAAE,CACxB,IAAM,EAAK,EAAM,MAAM,CAAC,EAAE,CACpB,EAAO,EAAW,IAAI,CAAC,AAAC,GAAS,EAAK,IAAI,CAAC,QAAQ,CAAC,IAC1D,EAAW,OAAO,CAAC,AAAC,GAAS,EAAK,SAAS,CAAC,MAAM,CAAC,WACnD,EAAK,SAAS,CAAC,GAAG,CAAC,SACrB,CACF,EACF,EACA,CAAE,WAAY,mBAAoB,GAEpC,EAAS,OAAO,CAAC,AAAC,GAAY,EAAS,OAAO,CAAC,GACjD","sources":["","src/links.js"],"sourcesContent":["document.addEventListener(\"DOMContentLoaded\", ()=>{\n // when the user scroll to a section, the active class is added to\n // the corresponding link in the navbar\n const sections = document.querySelectorAll(\"main > section, body > header\");\n const links = document.querySelectorAll(\"nav a\");\n const linksArray = Array.from(links);\n const observer = new IntersectionObserver((entries)=>{\n entries.forEach((entry)=>{\n if (entry.target.id === \"\") {\n linksArray.forEach((link)=>link.classList.remove(\"active\"));\n links[0].classList.add(\"active\");\n return;\n }\n if (entry.isIntersecting) {\n const id = entry.target.id;\n const link = linksArray.find((link)=>link.href.includes(id));\n linksArray.forEach((link)=>link.classList.remove(\"active\"));\n link.classList.add(\"active\");\n }\n });\n }, {\n rootMargin: \"-50% 0px -50% 0px\"\n });\n sections.forEach((section)=>observer.observe(section));\n});\n\n//# sourceMappingURL=index.87e0faa9.js.map\n","document.addEventListener(\"DOMContentLoaded\", () => {\n // when the user scroll to a section, the active class is added to\n // the corresponding link in the navbar\n const sections = document.querySelectorAll(\"main > section, body > header\");\n const links = document.querySelectorAll(\"nav a\");\n const linksArray = Array.from(links);\n const observer = new IntersectionObserver(\n (entries) => {\n entries.forEach((entry) => {\n if (entry.target.id === \"\") {\n linksArray.forEach((link) => link.classList.remove(\"active\"));\n links[0].classList.add(\"active\");\n return;\n }\n if (entry.isIntersecting) {\n const id = entry.target.id;\n const link = linksArray.find((link) => link.href.includes(id));\n linksArray.forEach((link) => link.classList.remove(\"active\"));\n link.classList.add(\"active\");\n }\n });\n },\n { rootMargin: \"-50% 0px -50% 0px\" },\n );\n sections.forEach((section) => observer.observe(section));\n});\n"],"names":["document","addEventListener","sections","querySelectorAll","links","linksArray","Array","from","observer","IntersectionObserver","entries","forEach","entry","target","id","link","classList","remove","add","isIntersecting","find","href","includes","rootMargin","section","observe"],"version":3,"file":"index.87e0faa9.js.map"}' index.82434563.css: | :root{--primary-color:#2a1827;--secondary-color:#6c757d;--dark-color:#343a40;--light-color:#f4f4f4;--white:#fff;--danger-color:#dc3545;--covered:50%}html{scroll-behavior:smooth}body{color:#333;margin:0;padding:0;font-family:Arial,sans-serif;line-height:1.6;overflow-x:hidden}img{max-width:100%}.container{max-width:1200px;margin:0 auto;padding:20px}.header{background:var(--dark-color);color:#fff;text-align:center;padding:50px 20px}.header .container{flex-direction:column;justify-content:space-evenly;height:100%;display:flex}@media (width>=768px){.header{align-items:center;height:100vh;padding:0 0 115px;display:flex}main>section{flex:1;justify-content:center;align-items:center;height:100vh;display:flex}}.header h1{color:#0000;background-image:url(https://github.com/metal3d/katenary/raw/refs/heads/develop/doc/docs/statics/logo-vertical.svg);background-position:50%;background-repeat:no-repeat;background-size:contain;height:265px;margin:0;font-size:3rem}.header p{margin:20px 0;font-size:1.2rem}.btn-primary{color:var(--primary-color);background:#fff;border-radius:5px;margin-top:20px;padding:10px 20px;font-weight:700;text-decoration:none;display:inline-block}.btn-primary:hover{color:#fff;background:#0056b3}.features{background:var(--light-color);text-align:center;padding:50px 20px}.features h2{margin-bottom:20px;font-size:2.5rem}.feature-grid{flex-wrap:wrap;justify-content:center;gap:20px;display:flex}@keyframes slidingLeft{0%{filter:opacity(0)blur(10px);transform:translate(-100vw)}to{filter:opacity()blur();transform:translate(0)}}@keyframes slidingRight{0%{filter:opacity(0)blur(10px);transform:translate(100vw)}to{filter:opacity()blur();transform:translate(0)}}.feature-item{background:var(--white);border:1px solid #ddd;border-radius:8px;flex:200px;padding:20px;box-shadow:0 2px 5px #0000001a}@media (width>=768px){:root{--animation-slide:entry 0% contain 0%}.from-left{view-timeline:--reveal-blockl;view-timeline-axis:block;animation:linear forwards slidingLeft;animation-range:var(--animation-slide);animation-timeline:--reveal-blockl}.from-right{view-timeline:--reveal-blockr;view-timeline-axis:block;animation:linear forwards slidingRight;animation-range:var(--animation-slide);animation-timeline:--reveal-blockr}}.how-it-works,.how-to-use,.tutorials{text-align:center;padding:50px 20px}h2{text-align:center;margin-bottom:20px;font-size:2.5rem}.how-it-works ol{text-align:left;max-width:800px;margin:0 auto;padding:0;list-style:decimal inside}.image-placeholder{border-radius:8px;justify-content:center;align-items:center;width:100%;max-width:800px;height:200px;margin:30px auto;font-size:1.2rem;display:flex}.image-placeholder img{object-fit:cover;border-radius:8px;width:100%;height:100%;margin:10px}.get-started{background:var(--primary-color);color:var(--white);text-align:center;padding:50px 20px}.get-started pre{background:var(--white);color:#333;border-radius:5px;margin:20px 0;padding:10px}div.video{padding-top:25px}pre{text-align:left}@media (width>=768px){.example{justify-content:space-between;align-items:center;gap:20px;display:flex}iframe{width:100%;height:500px}}iframe{max-width:100%}section {width:100%}section:nth-child(2n) .example{text-align:right;flex-direction:row-reverse!important}section:nth-child(odd) .example{text-align:left;flex-direction:row}section:nth-child(2n) .example h3 {text-align:right}.example>div{flex:200px;align-content:center}code.hljs{border-radius:5px;box-shadow:0 6px 15px #00000080}p code{background:var(--dark-color);color:var(--light-color);border-radius:5px;padding:1px 5px;display:inline-block}section.alternate:nth-child(odd){background:var(--light-color);color:var(--dark-color)}section.alternate:nth-child(2n){background:var(--dark-color);color:var(--light-color)}#menu-toggle{z-index:11;margin:0;position:fixed}@media (width>=768px){#menu-toggle{display:none}.navbar{background:var(--white);color:var(--dark-color);z-index:10;justify-content:space-evenly;align-items:center;width:100%;display:flex;position:fixed;top:0}.navbar .container{padding:0}nav ul{flex-wrap:wrap;list-style:none;display:flex}nav ul li{margin:0 10px}nav ul li a{color:var(--dark-color);padding:10px;text-decoration:none;display:block}nav ul li a:hover{color:var(--light-color);background:var(--dark-color)}nav ul li a.active{color:var(--light-color)!important;background:var(--dark-color)!important}}@media (width<=768px){.navbar{display:none!important}.navbar:hover,#menu-toggle:focus~.navbar{display:block!important}.navbar{opacity:.8;color:var(--white);cursor:pointer;background:var(--dark-color);border:1px solid var(--dark-color);border-radius:5px;justify-content:space-between;align-items:center;padding:10px 20px;font-size:1rem;display:flex;position:fixed;top:10px;left:0;box-shadow:0 2px 5px #0000001a}.navbar:has(a:active){display:none}nav ul{margin:0;padding:0;list-style:none;display:block}nav ul li{margin:0}nav ul li a{color:var(--white);padding:10px;text-decoration:none;display:block}}footer{color:#fff;text-align:center;background:#333;flex-wrap:wrap;padding:20px 0;font-size:.9rem;display:flex}footer section{text-align:center;flex:250px;padding:20px}footer section p{font-weight:700}footer ul{padding:0;list-style:none}footer ul li{margin:5px 0}footer a{color:var(--white)}footer .container{flex-wrap:wrap;flex:auto;justify-content:space-between;align-items:start;width:100%;display:flex}footer .container>p{text-align:center;flex:auto}footer section{flex:auto;align-self:normal;position:relative}@media (width>=768px){footer section:after{content:" ";filter:opacity(.5)blur(1px);background:#fff;width:1px;height:90%;display:block;position:absolute;top:5%;right:0}footer section:last-child:after{display:none}}.large-icon{font-size:3rem}@keyframes bouncing{0%{transform:translateY(0)}50%{transform:translateY(-20px)}to{transform:translateY(0)}}.down{position:relative;bottom:0}a.down{background:var(--white);color:var(--dark-color);border-radius:50%;justify-content:center;align-self:center;align-items:center;width:120px;height:120px;animation:2s infinite bouncing;display:flex} /*# sourceMappingURL=index.82434563.css.map */ index.82434563.css.map: '{"mappings":"ACCA,qJASA,4BAIA,kGASA,mBAIA,uDAMA,oFAOA,+FAQA,sBACE,uEAOA,yFASF,4PAWA,yCAKA,sKAWA,iDAKA,4EAMA,iDAKA,0EAcA,oIAWA,oIAWA,qIASA,sBACE,4CAGA,kLAOA,qLASF,yEAcA,yDAMA,mGAQA,sKAYA,6FAQA,oGAOA,iGAQA,2BAIA,oBAIA,sBACE,gFAMA,gCAKF,sBAGA,qBAIA,qFAIA,mEAIA,qDAIA,6CAKA,4DAIA,oHAQA,uFAIA,sFAKA,gDAKA,sBACE,0BAGA,gKAYA,6BAIA,mDAKA,wBAGA,oFAMA,wEAIA,8FAMF,sBACE,+BAIA,iEAIA,oSAkBA,mCAGA,wDAMA,mBAGA,gFAQF,+GAWA,yDAKA,iCAGA,oCAIA,0BAIA,4BAIA,mHAQA,gDAKA,6DAMA,sBACE,iJAYA,8CAKF,2BAIA,2GAYA,iCAKA","sources":["index.82434563.css","src/main.css"],"sourcesContent":[":root {\n --primary-color: #2a1827;\n --secondary-color: #6c757d;\n --dark-color: #343a40;\n --light-color: #f4f4f4;\n --white: #fff;\n --danger-color: #dc3545;\n --covered: 50%;\n}\n\nhtml {\n scroll-behavior: smooth;\n}\n\nbody {\n color: #333;\n margin: 0;\n padding: 0;\n font-family: Arial, sans-serif;\n line-height: 1.6;\n overflow-x: hidden;\n}\n\nimg {\n max-width: 100%;\n}\n\n.container {\n max-width: 1200px;\n margin: 0 auto;\n padding: 20px;\n}\n\n.header {\n background: var(--dark-color);\n color: #fff;\n text-align: center;\n padding: 50px 20px;\n}\n\n.header .container {\n flex-direction: column;\n justify-content: space-evenly;\n height: 100%;\n display: flex;\n}\n\n@media (width >= 768px) {\n .header {\n align-items: center;\n height: 100vh;\n padding: 0 0 115px;\n display: flex;\n }\n\n main > section {\n flex: 1;\n justify-content: center;\n align-items: center;\n height: 100vh;\n display: flex;\n }\n}\n\n.header h1 {\n color: #0000;\n background-image: url(\"https://github.com/metal3d/katenary/raw/refs/heads/develop/doc/docs/statics/logo-vertical.svg\");\n background-position: center;\n background-repeat: no-repeat;\n background-size: contain;\n height: 265px;\n margin: 0;\n font-size: 3rem;\n}\n\n.header p {\n margin: 20px 0;\n font-size: 1.2rem;\n}\n\n.btn-primary {\n color: var(--primary-color);\n background: #fff;\n border-radius: 5px;\n margin-top: 20px;\n padding: 10px 20px;\n font-weight: bold;\n text-decoration: none;\n display: inline-block;\n}\n\n.btn-primary:hover {\n color: #fff;\n background: #0056b3;\n}\n\n.features {\n background: var(--light-color);\n text-align: center;\n padding: 50px 20px;\n}\n\n.features h2 {\n margin-bottom: 20px;\n font-size: 2.5rem;\n}\n\n.feature-grid {\n flex-wrap: wrap;\n justify-content: center;\n gap: 20px;\n display: flex;\n}\n\n@keyframes slidingLeft {\n from {\n filter: opacity(0) blur(10px);\n transform: translateX(-100vw);\n }\n\n to {\n filter: opacity() blur();\n transform: translateX(0);\n }\n}\n\n@keyframes slidingRight {\n from {\n filter: opacity(0) blur(10px);\n transform: translateX(100vw);\n }\n\n to {\n filter: opacity() blur();\n transform: translateX(0);\n }\n}\n\n.feature-item {\n background: var(--white);\n border: 1px solid #ddd;\n border-radius: 8px;\n flex: 200px;\n padding: 20px;\n box-shadow: 0 2px 5px #0000001a;\n}\n\n@media (width >= 768px) {\n :root {\n --animation-slide: entry 0% contain 0%;\n }\n\n .from-left {\n view-timeline: --reveal-blockl;\n view-timeline-axis: block;\n animation: linear forwards slidingLeft;\n animation-range: var(--animation-slide);\n animation-timeline: --reveal-blockl;\n }\n\n .from-right {\n view-timeline: --reveal-blockr;\n view-timeline-axis: block;\n animation: linear forwards slidingRight;\n animation-range: var(--animation-slide);\n animation-timeline: --reveal-blockr;\n }\n}\n\n.how-it-works, .how-to-use, .tutorials {\n text-align: center;\n padding: 50px 20px;\n}\n\nh2 {\n text-align: center;\n margin-bottom: 20px;\n font-size: 2.5rem;\n}\n\n.how-it-works ol {\n text-align: left;\n max-width: 800px;\n margin: 0 auto;\n padding: 0;\n list-style: decimal inside;\n}\n\n.image-placeholder {\n border-radius: 8px;\n justify-content: center;\n align-items: center;\n width: 100%;\n max-width: 800px;\n height: 200px;\n margin: 30px auto;\n font-size: 1.2rem;\n display: flex;\n}\n\n.image-placeholder img {\n object-fit: cover;\n border-radius: 8px;\n width: 100%;\n height: 100%;\n margin: 10px;\n}\n\n.get-started {\n background: var(--primary-color);\n color: var(--white);\n text-align: center;\n padding: 50px 20px;\n}\n\n.get-started pre {\n background: var(--white);\n color: #333;\n border-radius: 5px;\n margin: 20px 0;\n padding: 10px;\n}\n\ndiv.video {\n padding-top: 25px;\n}\n\npre {\n text-align: left;\n}\n\n@media (width >= 768px) {\n .example {\n justify-content: space-between;\n align-items: center;\n gap: 20px;\n display: flex;\n }\n\n iframe {\n width: 100%;\n height: 500px;\n }\n}\n\niframe {\n max-width: 100%;\n}\n\nsection  {\n width: 100%;\n}\n\nsection:nth-child(2n) .example {\n text-align: right;\n flex-direction: row-reverse !important;\n}\n\nsection:nth-child(odd) .example {\n text-align: left;\n flex-direction: row;\n}\n\nsection:nth-child(2n) .example h3  {\n text-align: right;\n}\n\n.example > div {\n flex: 200px;\n align-content: center;\n}\n\ncode.hljs {\n border-radius: 5px;\n box-shadow: 0 6px 15px #00000080;\n}\n\np code {\n background: var(--dark-color);\n color: var(--light-color);\n border-radius: 5px;\n padding: 1px 5px;\n display: inline-block;\n}\n\nsection.alternate:nth-child(odd) {\n background: var(--light-color);\n color: var(--dark-color);\n}\n\nsection.alternate:nth-child(2n) {\n background: var(--dark-color);\n color: var(--light-color);\n}\n\n#menu-toggle {\n z-index: 11;\n margin: 0;\n position: fixed;\n}\n\n@media (width >= 768px) {\n #menu-toggle {\n display: none;\n }\n\n .navbar {\n background: var(--white);\n color: var(--dark-color);\n z-index: 10;\n justify-content: space-evenly;\n align-items: center;\n width: 100%;\n display: flex;\n position: fixed;\n top: 0;\n }\n\n .navbar .container {\n padding: 0;\n }\n\n nav ul {\n flex-wrap: wrap;\n list-style: none;\n display: flex;\n }\n\n nav ul li {\n margin: 0 10px;\n }\n\n nav ul li a {\n color: var(--dark-color);\n padding: 10px;\n text-decoration: none;\n display: block;\n }\n\n nav ul li a:hover {\n color: var(--light-color);\n background: var(--dark-color);\n }\n\n nav ul li a.active {\n color: var(--light-color) !important;\n background: var(--dark-color) !important;\n }\n}\n\n@media (width <= 768px) {\n .navbar {\n display: none !important;\n }\n\n .navbar:hover, #menu-toggle:focus ~ .navbar {\n display: block !important;\n }\n\n .navbar {\n opacity: .8;\n color: var(--white);\n cursor: pointer;\n background: var(--dark-color);\n border: 1px solid var(--dark-color);\n border-radius: 5px;\n justify-content: space-between;\n align-items: center;\n padding: 10px 20px;\n font-size: 1rem;\n display: flex;\n position: fixed;\n top: 10px;\n left: 0;\n box-shadow: 0 2px 5px #0000001a;\n }\n\n .navbar:has(a:active) {\n display: none;\n }\n\n nav ul {\n margin: 0;\n padding: 0;\n list-style: none;\n display: block;\n }\n\n nav ul li {\n margin: 0;\n }\n\n nav ul li a {\n color: var(--white);\n padding: 10px;\n text-decoration: none;\n display: block;\n }\n}\n\nfooter {\n color: #fff;\n text-align: center;\n background: #333;\n flex-wrap: wrap;\n padding: 20px 0;\n font-size: .9rem;\n display: flex;\n}\n\nfooter section {\n text-align: center;\n flex: 250px;\n padding: 20px;\n}\n\nfooter section p {\n font-weight: bold;\n}\n\nfooter ul {\n padding: 0;\n list-style: none;\n}\n\nfooter ul li {\n margin: 5px 0;\n}\n\nfooter a {\n color: var(--white);\n}\n\nfooter .container {\n flex-wrap: wrap;\n flex: auto;\n justify-content: space-between;\n align-items: start;\n width: 100%;\n display: flex;\n}\n\nfooter .container > p {\n text-align: center;\n flex: auto;\n}\n\nfooter section {\n flex: auto;\n align-self: normal;\n position: relative;\n}\n\n@media (width >= 768px) {\n footer section:after {\n content: \" \";\n filter: opacity(.5) blur(1px);\n background: #fff;\n width: 1px;\n height: 90%;\n display: block;\n position: absolute;\n top: 5%;\n right: 0;\n }\n\n footer section:last-child:after {\n display: none;\n }\n}\n\n.large-icon {\n font-size: 3rem;\n}\n\n@keyframes bouncing {\n 0% {\n transform: translateY(0);\n }\n\n 50% {\n transform: translateY(-20px);\n }\n\n 100% {\n transform: translateY(0);\n }\n}\n\n.down {\n position: relative;\n bottom: 0;\n}\n\na.down {\n background: var(--white);\n color: var(--dark-color);\n border-radius: 50%;\n justify-content: center;\n align-self: center;\n align-items: center;\n width: 120px;\n height: 120px;\n animation: 2s infinite bouncing;\n display: flex;\n}\n/*# sourceMappingURL=index.82434563.css.map */\n","/* styles.css */\n:root {\n --primary-color: #2a1827;\n --secondary-color: #6c757d;\n --dark-color: #343a40;\n --light-color: #f4f4f4;\n --white: #fff;\n --danger-color: #dc3545;\n --covered: 50%;\n}\nhtml {\n scroll-behavior: smooth;\n}\n\nbody {\n font-family: Arial, sans-serif;\n line-height: 1.6;\n margin: 0;\n padding: 0;\n color: #333;\n overflow-x: hidden;\n}\n\nimg {\n max-width: 100%;\n}\n\n.container {\n max-width: 1200px;\n margin: 0 auto;\n padding: 20px;\n}\n\n.header {\n background: var(--dark-color);\n color: #fff;\n text-align: center;\n padding: 50px 20px;\n}\n\n.header .container {\n display: flex;\n flex-direction: column;\n justify-content: space-evenly;\n display: flex;\n height: 100%;\n}\n\n@media (min-width: 768px) {\n .header {\n display: flex;\n align-items: center;\n height: 100vh;\n padding: 0;\n padding-bottom: 115px;\n }\n main > section {\n flex: 1;\n height: 100vh;\n display: flex;\n justify-content: center;\n align-items: center;\n }\n}\n\n.header h1 {\n font-size: 3rem;\n margin: 0;\n background-image: url(\"https://github.com/metal3d/katenary/raw/refs/heads/develop/doc/docs/statics/logo-vertical.svg\");\n color: transparent;\n background-size: contain;\n background-repeat: no-repeat;\n background-position: center;\n height: 265px;\n}\n\n.header p {\n font-size: 1.2rem;\n margin: 20px 0;\n}\n\n.btn-primary {\n display: inline-block;\n background: #fff;\n color: var(--primary-color);\n padding: 10px 20px;\n border-radius: 5px;\n text-decoration: none;\n font-weight: bold;\n margin-top: 20px;\n}\n\n.btn-primary:hover {\n background: #0056b3;\n color: #fff;\n}\n\n.features {\n background: var(--light-color);\n padding: 50px 20px;\n text-align: center;\n}\n\n.features h2 {\n font-size: 2.5rem;\n margin-bottom: 20px;\n}\n\n.feature-grid {\n /*\n display: grida;\n gap: 20px;\n margin-top: 20px;\n grid-auto-rows: 200px;\n grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));\n */\n display: flex;\n flex-wrap: wrap;\n justify-content: center;\n gap: 20px;\n}\n\n@keyframes slidingLeft {\n from {\n transform: translateX(-100vw);\n filter: opacity(0) blur(10px);\n }\n to {\n transform: translateX(0);\n filter: opacity(1) blur(0);\n }\n}\n\n@keyframes slidingRight {\n from {\n transform: translateX(100vw);\n filter: opacity(0) blur(10px);\n }\n to {\n transform: translateX(0);\n filter: opacity(1) blur(0);\n }\n}\n\n.feature-item {\n background: var(--white);\n border: 1px solid #ddd;\n flex: 1 1 200px;\n padding: 20px;\n border-radius: 8px;\n box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);\n}\n\n@media (min-width: 768px) {\n :root {\n --animation-slide: entry 0% contain 0%;\n }\n .from-left {\n view-timeline: --reveal-blockl;\n view-timeline-axis: block;\n animation: linear slidingLeft forwards;\n animation-range: var(--animation-slide);\n animation-timeline: --reveal-blockl;\n }\n .from-right {\n view-timeline: --reveal-blockr;\n view-timeline-axis: block;\n animation: linear slidingRight forwards;\n animation-range: var(--animation-slide);\n animation-timeline: --reveal-blockr;\n }\n}\n\n.how-it-works {\n padding: 50px 20px;\n text-align: center;\n}\n\n.how-to-use {\n padding: 50px 20px;\n text-align: center;\n}\n.tutorials {\n padding: 50px 20px;\n text-align: center;\n}\n\nh2 {\n font-size: 2.5rem;\n margin-bottom: 20px;\n text-align: center;\n}\n\n.how-it-works ol {\n list-style: decimal inside;\n text-align: left;\n max-width: 800px;\n margin: 0 auto;\n padding: 0;\n}\n\n.image-placeholder {\n margin: 30px auto;\n height: 200px;\n width: 100%;\n max-width: 800px;\n display: flex;\n justify-content: center;\n align-items: center;\n font-size: 1.2rem;\n border-radius: 8px;\n}\n\n.image-placeholder img {\n margin: 10px;\n width: 100%;\n height: 100%;\n object-fit: cover;\n border-radius: 8px;\n}\n\n.get-started {\n background: var(--primary-color);\n color: var(--white);\n padding: 50px 20px;\n text-align: center;\n}\n\n.get-started pre {\n background: var(--white);\n color: #333;\n padding: 10px;\n margin: 20px 0;\n border-radius: 5px;\n}\n\ndiv.video {\n padding-top: 25px;\n}\n\npre {\n text-align: left;\n}\n\n@media (min-width: 768px) {\n .example {\n display: flex;\n justify-content: space-between;\n align-items: center;\n gap: 20px;\n }\n iframe {\n width: 100%;\n height: 500px;\n }\n}\niframe {\n max-width: 100%;\n}\nsection  {\n width: 100%;\n}\n\nsection:nth-child(even) .example {\n text-align: right;\n flex-direction: row-reverse !important;\n}\nsection:nth-child(odd) .example {\n text-align: left;\n flex-direction: row;\n}\nsection:nth-child(even) .example h3  {\n text-align: right;\n}\n\n.example > div {\n flex: 1 1 200px;\n align-content: center;\n}\n\ncode.hljs {\n border-radius: 5px;\n box-shadow: 0 6px 15px rgba(0, 0, 0, 0.5);\n}\np code {\n background: var(--dark-color);\n color: var(--light-color);\n padding: 1px 5px;\n border-radius: 5px;\n display: inline-block;\n}\n\nsection.alternate:nth-child(odd) {\n background: var(--light-color);\n color: var(--dark-color);\n}\nsection.alternate:nth-child(even) {\n background: var(--dark-color);\n color: var(--light-color);\n}\n\n#menu-toggle {\n position: fixed;\n z-index: 11;\n margin: 0;\n}\n@media (min-width: 768px) {\n #menu-toggle {\n display: none;\n }\n .navbar {\n background: var(--white);\n color: var(--dark-color);\n display: flex;\n justify-content: space-evenly;\n align-items: center;\n position: fixed;\n top: 0px;\n z-index: 10;\n width: 100%;\n }\n\n .navbar .container {\n padding: 0;\n }\n\n nav ul {\n display: flex;\n flex-wrap: wrap;\n list-style: none;\n }\n nav ul li {\n margin: 0 10px;\n }\n nav ul li a {\n color: var(--dark-color);\n text-decoration: none;\n display: block;\n padding: 10px;\n }\n nav ul li a:hover {\n color: var(--light-color);\n background: var(--dark-color);\n }\n nav ul li a.active {\n color: var(--light-color) !important;\n background: var(--dark-color) !important;\n }\n}\n\n@media (max-width: 768px) {\n .navbar {\n display: none !important;\n }\n\n .navbar:hover,\n #menu-toggle:focus ~ .navbar {\n display: block !important;\n }\n .navbar {\n opacity: 0.8;\n position: fixed;\n top: 10px;\n left: 0px;\n color: var(--white);\n font-size: 1rem;\n cursor: pointer;\n background: var(--dark-color);\n color: var(--white);\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 10px 20px;\n border: 1px solid var(--dark-color);\n box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);\n border-radius: 5px;\n }\n .navbar:has(a:active) {\n display: none;\n }\n nav ul {\n display: block;\n list-style: none;\n padding: 0;\n margin: 0;\n }\n nav ul li {\n margin: 0;\n }\n nav ul li a {\n color: var(--white);\n text-decoration: none;\n display: block;\n padding: 10px;\n }\n}\n\nfooter {\n display: flex;\n flex-wrap: wrap;\n background: #333;\n color: #fff;\n text-align: center;\n padding: 20px 0;\n font-size: 0.9rem;\n flex-wrap: wrap;\n}\n\nfooter section {\n padding: 20px;\n text-align: center;\n flex: 1 1 250px;\n}\nfooter section p {\n font-weight: bold;\n}\nfooter ul {\n list-style: none;\n padding: 0;\n}\nfooter ul li {\n margin: 5px 0;\n}\n\nfooter a {\n color: var(--white);\n}\n\nfooter .container {\n display: flex;\n flex: 1 1 auto;\n justify-content: space-between;\n align-items: start;\n width: 100%;\n flex-wrap: wrap;\n}\nfooter .container > p {\n flex: 1 1 auto;\n text-align: center;\n}\n\nfooter section {\n flex: 1 1 auto;\n align-self: normal;\n position: relative;\n}\n\n@media (min-width: 768px) {\n footer section:after {\n content: \" \";\n display: block;\n background: #fff;\n position: absolute;\n right: 0;\n top: 5%;\n height: 90%;\n width: 1px;\n filter: opacity(0.5) blur(1px);\n }\n\n footer section:last-child:after {\n display: none;\n }\n}\n\n.large-icon {\n font-size: 3rem;\n}\n\n@keyframes bouncing {\n 0% {\n transform: translateY(0);\n }\n 50% {\n transform: translateY(-20px);\n }\n 100% {\n transform: translateY(0);\n }\n}\n\n.down {\n position: relative;\n bottom: 0;\n}\n\na.down {\n background: var(--white);\n color: var(--dark-color);\n width: 120px;\n height: 120px;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 50%;\n align-self: center;\n animation: bouncing 2s infinite;\n}\n"],"names":[],"version":3,"file":"index.82434563.css.map"}' index.html: "Katenary - Effortless Helm Chart Conversion

Katenary

Effortless Helm Chart Conversion for Kubernetes Deployments

Why Katenary?

Simplify your deployment workflow by converting Compose files into production-ready Helm Charts with ease.

Automated Conversion

Generate complete Helm Charts from your Compose files effortlessly.

Flexible Configuration

Customize deployments with `values.yaml` and environment labels.

Dependency Management

Ensure proper service startup sequences using `depends_on` support.

Open Source

Free, opensource, under the MIT license!

How It Works

Katenary simply read your compose.yaml file (or docker-compose.yaml) and use official libraries to read it and generate Kubernetes resources as YAML.

Then, it adds templating conditions, values file, define a Chart.yaml file, adapt dependencies if needed, and many others things.

Using configuration files to be mounted? No problem, Katenary will create ConfigMaps if you declared that thes directories or files are statics.
(Do not do this for sources of your project, use it for simple configuration files)

The result is a complete \"Helm Chart\" that can be installed, configured, packaged and shared.

\"Katenary

Almost everything can be overriden as Ingresses, Dependencies, values, environment variables, secrets...

  1. Add optional labels to your Compose files.
  2. Run katenary convert from the command line.
  3. Deploy the generated Helm Chart in Kubernetes.

How to use?

Install the binary, and use katenar convert command line inside your project directory

You can adapt your compose YAML file with labels, or add a compose.katenary.yaml file to override your project.

You may also use a specific katenary.yaml file that accepts the directives without using labels.

Only add labels! (if needed!)

You can adapt, configure, or change the conversion behaviour addind labels.

It doesn't change the docker compose or podman compose behaviour. It is only used while using katenary compose command line

There are plenty of labels to help you to customize and adapt the resulting Helm Chart.

\n#
    your \"docker-compose.yml\", or \"compose.yaml\"\nservices:\nweb:\n  image: docker.io/nginx:latest\n
    \ ports:\n    - \"80:80\"\n  labels:\n    # generate an ingress resource in the
    Helm Chart\n    katenary.io/ingress: |-\n      hostname: example.com\n      port:
    80\n          

Ease the deployment

Kubernetes somtimes lacks of automation. Katenary helps you to add what is needed, like having a depends_on feature.

\n# your \"docker-compose.yml\",
    or \"compose.yaml\"\nservices:\n  db:\n    image: docker.io/postgres:latest\n
    \   # ...\n    labels:\n      katenary.v3/ports: |-\n        - 5432\n      \n
    \ web:\n    image: php:fpm\n    # ...\n    depends_on:\n      - db\n            

Watch the Tutorials

A playlist is progressivelly filled to help the Katenary adoption. Take a look and learn how it is simple.

Get Started

Download Katenary’s binary and start using it today.

sh <(curl -sSL https://raw.githubusercontent.com/metal3d/katenary/master/install.sh)

Go to GitHub

" kind: ConfigMap metadata: annotations: katenary.v3/compose-hash: 07a6c3341d6d1030ebf49ee3a618c3296c87ae32 katenary.v3/version: develop-628b35d labels: {{- include "website.labels" . | nindent 4 }} katenary.v3/component: server name: '{{ include "website.fullname" . }}-server-dist'