https://cryptpad.fr/code/#/1/edit/My3eKQ0vdqUrCUWaHTlkYw/b7UjBpuohA6bjIcB5e9b62VV/ …