B ݁[T @s2ddlZddlmZd ddZddZddZdS) N) merge_dictscCsV||i}t||dt|dii}t||t|||dk rRt|||S)N __default__)getresolve_referencescopydeepcopyr_merge_client_retry_config)endpoint_prefixZ retry_model definitionsclient_retry_configservice_configZfinal_retry_configr S/Users/kashii/Desktop/Projects/Workshops/worker-safety/lambda/botocore/translate.pybuild_retry_configs     rcCs&|d}|dk r"|d|dd<dS)N max_attemptsr)r) retry_configr Zmax_retry_attempts_overrider r rr)s  rcCshxb|D]V\}}t|tr t|dkrVt|ddkrV|t|d||<q t||q WdS)aJRecursively replace $ref keys. To cut down on duplication, common definitions can be declared (and passed in via the ``definitions`` attribute) and then references as {"$ref": "name"}, when this happens the reference dict is placed with the value from the ``definition`` dict. This is recursively done. rrz$refN)items isinstancedictlenlistkeysvaluesr)configr keyvaluer r rr;s   r)N)rbotocore.utilsrrrrr r r rs