private static function ub_options()
 {
     $option_values = array_map(function ($key) {
         return get_option($key);
     }, UBConfig::ub_option_keys());
     # Return an array where the key is the option key and the value
     # the option value:
     # array('ub-option-key' => 'option value')
     return array_combine(UBConfig::ub_option_keys(), $option_values);
 }
    add_option(UBConfig::UB_ROUTES_CACHE_KEY, array());
    add_option(UBConfig::UB_REMOTE_DEBUG_KEY, 0);
    add_option(UBConfig::UB_PAGE_SERVER_DOMAIN_KEY, UBConfig::default_page_server_domain());
    add_option(UBConfig::UB_REMOTE_LOG_URL_KEY, UBConfig::default_remote_log_url());
    add_option(UBConfig::UB_API_URL_KEY, UBConfig::default_api_url());
    add_option(UBConfig::UB_API_CLIENT_ID_KEY, UBConfig::default_api_client_id());
    add_option(UBConfig::UB_AUTHORIZED_DOMAINS_KEY, UBConfig::default_authorized_domains());
    add_option(UBConfig::UB_HAS_AUTHORIZED_KEY);
    add_option(UBConfig::UB_REMOTE_EVENTS_URL_KEY, UBConfig::default_remote_events_url());
    add_option(UBConfig::UB_USER_ID_KEY);
    add_option(UBConfig::UB_DOMAIN_ID_KEY);
    add_option(UBConfig::UB_CLIENT_ID_KEY);
    add_option(UBConfig::UB_PROXY_ERROR_MESSAGE_KEY);
});
register_deactivation_hook(__FILE__, function () {
    foreach (UBConfig::ub_option_keys() as $key) {
        delete_option($key);
    }
});
add_action('init', function () {
    UBLogger::setup_logger();
    $domain = UBConfig::domain();
    if (!UBConfig::is_authorized_domain($domain)) {
        UBLogger::info("Domain: {$domain} has not been authorized");
        return;
    }
    $start = microtime(true);
    $ps_domain = UBConfig::page_server_domain();
    $http_method = UBUtil::array_fetch($_SERVER, 'REQUEST_METHOD');
    $referer = UBUtil::array_fetch($_SERVER, 'HTTP_REFERER');
    $user_agent = UBUtil::array_fetch($_SERVER, 'HTTP_USER_AGENT');