<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def mode_yubikey_otp(self, private_uid, aes_key):
 """ Set the YubiKey up for standard OTP validation. """

        if not self.capabilities.have_yubico_OTP():
            raise yubikey_base.YubiKeyVersionError('Yubico OTP not available in %s version %d.%d' \
                                                   % (self.capabilities.model, self.ykver[0], self.ykver[1]))
        if private_uid.startswith(b'h:'):
            private_uid = binascii.unhexlify(private_uid[2:])
        if len(private_uid) != yubikey_defs.UID_SIZE:
            raise yubico_exception.InputError('Private UID must be %i bytes' % (yubikey_defs.UID_SIZE))

        self._change_mode('YUBIKEY_OTP', major=0, minor=9)
        self.uid = private_uid
        self.aes_key(aes_key)