
    <i              
          d dl mZ d dlmZ dZdZddedededz  d	efd
Zddededz  d	eeef         fdZ	ddee         dedz  d	e
eeef                  fdZeddedededz  d	efd            Zeddededz  d	eeef         fd            Zddedededz  d	efdZddedededz  d	efdZddedededz  d	efdZddedededz  d	efdZddee         dedz  d	e
e         fdZddee         dededz  d	e
e         fdZdS )    )Sequence)bear_enforcez::__Nfirstsecond	separatorreturnc                 $    |pt           }|  | | S NDEFAULT_COMPOUND_SEPARATORr   r   r   s      /Users/kimhansen/Desktop/03 Workspace/ceo-agents/chl-effectiveness/mcp-servers/whoop/.venv/lib/python3.11/site-packages/key_value/shared/utils/compound.pycompound_stringr   	   s#    77I(Y((((    stringc                     |pt           }|| vrd|  d}t          |          d |                     |d          }t          |          dk    rd|  d}t          |          d |d         |d         fS )NzString z is not a compound identifier      r   )r   	TypeErrorsplitlen)r   r   msg	split_keys       r   uncompound_stringr      s    77IBVBBBnn$&!<<	155I
9~~====nn$&Q<1%%r   stringsc                 2    pt           fd| D             S )Nc                 2    g | ]}t          |           S )r   r   )r   ).0r   r   s     r   
<listcomp>z&uncompound_strings.<locals>.<listcomp>   s'    XXXfVyAAAXXXr   r   r   r   s    `r   uncompound_stringsr#      s)    77IXXXXPWXXXXr   
collectionkeyc                 8    |pt           }t          | ||          S Nr   )r   r   )r$   r%   r   s      r   compound_keyr(   "   s"    77IC9MMMMr   c                 6    |pt           }t          | |          S )Nr   )r   r   )r%   r   s     r   uncompound_keyr*   (   s     77IC9====r   prefixc                 8    |pt           }t          || |          S r'   DEFAULT_PREFIX_SEPARATORr   )r%   r+   r   s      r   
prefix_keyr/   .   s"    55IyIIIIr   c                     |pt           }|                     ||z             sd|  d| | }t          |          | t          ||z             d          S )NzKey  is not prefixed with r.   
startswith
ValueErrorr   )r%   r+   r   r   s       r   unprefix_keyr5   3   sj    55I>>&9,-- CSCCC	CCoos6I%&&(())r   c                 8    |pt           }t          || |          S r'   r-   )r$   r+   r   s      r   prefix_collectionr7   ;   s"    55I
iPPPPr   c                     |pt           }|                     ||z             sd|  d| | }t          |          | t          ||z             d          S )NzCollection r1   r2   )r$   r+   r   r   s       r   unprefix_collectionr9   @   sl    55I  )!344 QJQQfQiQQooc&9,--//00r   compound_keysc                 d    |pt           }t          d t          | |          D                       S )zAReturn a unique list of collections from a list of compound keys.c                     h | ]\  }}|S  r=   )r    key_collection_s      r   	<setcomp>z5get_collections_from_compound_keys.<locals>.<setcomp>K   s    xxx$5NAxxxr   r"   )r   listr#   )r:   r   s     r   "get_collections_from_compound_keysrB   H   s:    77Ixx9KTamv9w9w9wxxxyyyr   c                 P    |pt           }fdt          | |          D             S )zDReturn all keys from a list of compound keys for a given collection.c                 &    g | ]\  }}|k    |S r=   r=   )r    r>   r%   r$   s      r   r!   z/get_keys_from_compound_keys.<locals>.<listcomp>Q   sK      K  K  K'NCm{  @J  nJ  nJC  nJ  nJ  nJr   r"   )r   r#   )r:   r$   r   s    ` r   get_keys_from_compound_keysrE   N   sO    77I K  K  K  K+=m_h+i+i+i  K  K  K  Kr   r   )collections.abcr   )key_value.shared.type_checking.bear_sprayr   r   r.   strr   tupler   rA   r#   r(   r*   r/   r5   r7   r9   rB   rE   r=   r   r   <module>rJ      s)   $ $ $ $ $ $ B B B B B B!  ) )3 ) )d
 )c ) ) ) )
& &c &cDj &E#s(O & & & &Y Y Y#* YPTUZ[^`c[cUdPe Y Y Y Y
 N NS Ns NsTz NS N N N N
 > > >d
 >eCHo > > > >
J JC J Jt Js J J J J
* *c *3 *3: * * * * *Q Q# Qs QsTz QUX Q Q Q Q
1 1C 1 1t 1WZ 1 1 1 1z zhsm zPSVZPZ zfjknfo z z z zK Kx} K# KZ]`dZd Kptuxpy K K K K K Kr   