�
�Hcf�G � �\ � d dl Z d dlZd dlZd dlmZmZ d dlmZmZm Z d dl
mZmZm
Z
mZmZmZmZmZmZ d dlmZmZmZmZmZmZmZmZ d dlmZ d dlm Z ejB ejD e#� � Z$dd d
�Z%dZ&dZ'd
Z( ejR � Z* G d� d� Z+de,fd�Z-dd�Z.de,fd�Z/y)� N)� lru_cache�wraps)�Any�Dict�Optional) �apt�event_logger�
exceptions�files�http�messages�snap�system�util)�APT_NEWS_URL�BASE_CONTRACT_URL�BASE_LIVEPATCH_URL�BASE_SECURITY_URL�CONFIG_DEFAULTS�CONFIG_FIELD_ENVVAR_ALLOWLIST�DEFAULT_CONFIG_FILE�DEFAULT_DATA_DIR)�user_config_file)� safe_load�name�type)�availableResources�resourceEntitlements�_unset)�
http_proxy�https_proxy�apt_http_proxy�apt_https_proxy�ua_apt_http_proxy�ua_apt_https_proxy�global_apt_http_proxy�global_apt_https_proxy�update_messaging_timer�metering_timer�apt_news�apt_news_url) �contract_url�data_dir�features�log_file� log_level�security_url�settings_overrides� ua_config�
livepatch_urlc �p � e Zd ZdZdZdZ d/deeee f dee
j dee ddfd �Ze
d
� � Ze
defd�� Ze
defd�� Ze
defd
�� Ze
dee fd�� Zej& |