mkdkqkkkkertwaeaarlvlenysdapmtpkqilqvieaeglkemrsgtsplaclnamlhsnsrggeglfyklpgrislftlkkdalqwsrhpatvegeepedtadvescgsneastvsgendvsldetssnascstesqsrplsnprdsyrassqankqkkktgvmlprvvltplkvngahvesasgfsgchadgesgspsssssgslalgsaairgqaevtqdpapllrgfrkpatgqmkrnrgeeidfetpgsilvntnlralinsrtfhalpshfqqqllfllpevdrqvgtdgllrlsssalnneffthaaqswrerladgefthemqvrirqemekekkveqwkekffedyygqklgltkeeslqqnvgqeeaeiksglcpgesvriqrgpatrqrdghfk