
    r)h                        S SK JrJrJrJr  S SKJr  SSKJr   " S S\5      r	 " S S\5      r
 " S	 S
\5      r " S S\5      r " S S\
5      r " S S\
5      r " S S\
5      r " S S\
5      r " S S\5      r " S S\5      r " S S\
5      r " S S\5      r " S S\
5      r " S S \
5      r " S! S"\5      r " S# S$\
5      r " S% S&\5      r " S' S(\
5      r " S) S*\
5      r " S+ S,\5      r " S- S.\
5      r " S/ S0\
5      r " S1 S2\
5      r " S3 S4\
5      r  " S5 S6\5      r! " S7 S8\
5      r" " S9 S:\
5      r# " S; S<\
5      r$ " S= S>\
5      r% " S? S@\
5      r& " SA SB\5      r' " SC SD\5      r( " SE SF\5      r) " SG SH\
5      r* " SI SJ\5      r+ " SK SL\5      r, " SM SN\5      r- " SO SP\
5      r. " SQ SR\
5      r/ " SS ST\
5      r0 " SU SV\
5      r1 " SW SX\
5      r2 " SY SZ\
5      r3 " S[ S\\5      r4g])^    )EnumIntEnumFlagIntFlag)intern   )Namec                       \ rS rSrSr SrSrg)SignatureFlag   r       N)__name__
__module____qualname____firstlineno__SIGNATURES_EXISTAPPEND_ONLY__static_attributes__r       EC:\Users\13-19\Desktop\Lekcja\testEnv\Lib\site-packages\fpdf/enums.pyr   r      s    AKr   r   c                   ,    \ rS rSrSr\SS j5       rSrg)CoerciveEnum   zQAn enumeration that provides a helper to coerce strings into enumeration members.c                 F   [        X5      (       a  U$ [        U[        5      (       a	   U " U5      $ [        U SU R
                   35      e! [         a     Of = f U(       a  X   $ XR                  5          $ ! [         a     Of = f[        U SU R
                   35      e)ag  
Attempt to coerce `value` into a member of this enumeration.

If value is already a member of this enumeration it is returned unchanged.
Otherwise, if it is a string, attempt to convert it as an enumeration value. If
that fails, attempt to convert it (case insensitively, by upcasing) as an
enumeration name.

If all different conversion attempts fail, an exception is raised.

Args:
    value (Enum, str): the value to be coerced.

Raises:
    ValueError: if `value` is a string but neither a member by name nor value.
    TypeError: if `value`'s type is neither a member of the enumeration nor a
        string.
 is not a valid z cannot be converted to a )
isinstancestr
ValueErrorupperKeyErrorr   	TypeError)clsvaluecase_sensitives      r   coerceCoerciveEnum.coerce   s    * e!!LeS!!5z! 5'!;CLL>JKK  %3szK[[]9KK  w&6s||nEFFs)   A 
AA
A9 'A9 9
BBr   N)Fr   r   r   r   __doc__classmethodr&   r   r   r   r   r   r      s    W#L #Lr   r   c                   (    \ rS rSrSr\S 5       rSrg)CoerciveIntEnum<   z`
An enumeration that provides a helper to coerce strings and integers into
enumeration members.
c                 6   [        X5      (       a  U$ [        U[        5      (       a   XR                  5          $ [        U[        5      (       a  U " U5      $ [        U SU R
                   35      e! [         a    [	        U SU R
                   35      Sef = f)a  
Attempt to coerce `value` into a member of this enumeration.

If value is already a member of this enumeration it is returned unchanged.
Otherwise, if it is a string, attempt to convert it (case insensitively, by
upcasing) as an enumeration name. Otherwise, if it is an int, attempt to
convert it as an enumeration value.

Otherwise, an exception is raised.

Args:
    value (IntEnum, str, int): the value to be coerced.

Raises:
    ValueError: if `value` is an int but not a member of this enumeration.
    ValueError: if `value` is a string but not a member by name.
    TypeError: if `value`'s type is neither a member of the enumeration nor an
        int or a string.
r   N cannot convert to a r   r   r    r!   r   r   intr"   )r#   r$   s     r   r&   CoerciveIntEnum.coerceB   s    * e!!LeS!!U;;=)) eS!!u:5'!6s||nEFF  U E7*:3<<.!IJPTTUs   A2 2&Br   Nr(   r   r   r   r,   r,   <   s    
  G  Gr   r,   c                   (    \ rS rSrSr\S 5       rSrg)CoerciveIntFlagf   z
Enumerated constants that can be combined using the bitwise operators,
with a helper to coerce strings and integers into enumeration members.
c                    [        X5      (       a  U$ [        U[        5      (       a   XR                  5          $ [        U[        5      (       a  U " U5      $ [        U SU R
                   35      e! [         a     Of = f XS   R                  5          nUSS  H  nX UR                  5          -  nM     U$ ! [         a    [	        U SU R
                   35      Sef = f)a  
Attempt to coerce `value` into a member of this enumeration.

If value is already a member of this enumeration it is returned unchanged.
Otherwise, if it is a string, attempt to convert it (case insensitively, by
upcasing) as an enumeration name. Otherwise, if it is an int, attempt to
convert it as an enumeration value.
Otherwise, an exception is raised.

Args:
    value (IntEnum, str, int): the value to be coerced.

Raises:
    ValueError: if `value` is an int but not a member of this enumeration.
    ValueError: if `value` is a string but not a member by name.
    TypeError: if `value`'s type is neither a member of the enumeration nor an
        int or a string.
r   r   Nr   r/   r0   )r#   r$   flagschars       r   r&   CoerciveIntFlag.coercel   s    ( e!!LeS!!;;=)) eS!!u:5'!6s||nEFF  U!HNN,-!!"ID!

$55E & U E7*:3<<.!IJPTTUs   A2 2
A?>A?7B; ;&C!r   Nr(   r   r   r   r4   r4   f   s    
 &G &Gr   r4   c                   :    \ rS rSrSr\" S5      r \" S5      rSrg)WrapMode   z7Defines how to break and wrap lines in multi-line text.WORDCHARr   N)	r   r   r   r   r)   r   r=   r>   r   r   r   r   r;   r;      s    =&>D&>Dr   r;   c                   p    \ rS rSrSr\" S5      r \" S5      r \" S5      r \" S5      r	 \" S5      r
Srg	)
CharVPos   z;Defines the vertical position of text relative to the line.SUPSUBNOMDENOMLINEr   N)r   r   r   r   r)   r   rB   rC   rD   rE   rF   r   r   r   r   r@   r@      sA    A
-C
-C
-C7OE&>Dr   r@   c                      ^  \ rS rSrSr\" S5      r \" S5      r \" S5      r \" S5      r	 \" S5      r
 \U 4S j5       rS	rU =r$ )
Align   z$Defines how to render text in a cellCENTERX_CENTERLEFTRIGHTJUSTIFYc                    > US:X  a  U R                   $ [        U[        5      (       a  UR                  5       n[        X ]  U5      $ N )Lr   r   r    superr&   r#   r$   	__class__s     r   r&   Align.coerce   s;    B;55LeS!!KKMES%e,,r   r   )r   r   r   r   r)   r   CXrR   RJr*   r&   r   __classcell__rU   s   @r   rH   rH      sY    *xAzA8vAwAyA - -r   rH   c                   l   ^  \ rS rSrSr\" S5      r \" S5      r \" S5      r \	U 4S j5       r
SrU =r$ )VAlign   zHDefines how to vertically render text in a cell.
Default value is MIDDLEMIDDLETOPBOTTOMc                 D   > US:X  a  U R                   $ [        X ]  U5      $ rP   )MrS   r&   rT   s     r   r&   VAlign.coerce   s#    B;55LS%e,,r   r   )r   r   r   r   r)   r   rd   TBr*   r&   r   r[   r\   s   @r   r^   r^      sD     	xAuACxAF - -r   r^   c                   x   ^  \ rS rSrSrSr Sr Sr Sr Sr	 \
S 5       rSS	 jrSS
 jr\U 4S j5       rSrU =r$ )TextEmphasis   zz
Indicates use of bold / italics / underline.

This enum values can be combined with & and | operators:
    style = B | I
r   r   r         c                 ~   ^  SR                  U 4S jT R                  R                  R                  5        5       5      $ )NrQ   c              3   D   >#    U  H  u  pUT-  (       d  M  Uv   M     g 7fNr   ).0namer$   selfs      r   	<genexpr>%TextEmphasis.style.<locals>.<genexpr>   s       
$F[T%RV,DD$Fs    	 )joinrU   __members__itemsrr   s   `r   styleTextEmphasis.style   s4    ww 
$(NN$>$>$D$D$F
 
 	
r   c                 
    X-  $ ro   r   rr   r$   s     r   addTextEmphasis.add  s
    |r   c                 t   ^ [         R                  SR                  U4S jU R                   5       5      5      $ )NrQ   c              3   J   >#    U  H  oTR                   ;  d  M  Uv   M     g 7fro   )ry   )rp   sr$   s     r   rs   &TextEmphasis.remove.<locals>.<genexpr>  s     Bz!ekk-AAAzs   #	#)ri   r&   ru   ry   r|   s    `r   removeTextEmphasis.remove  s,    ""GGBtzzBB
 	
r   c                 n  > [        U[        5      (       a  US:X  a  U R                  $ UR                  5       S:X  a  U R                  $ UR                  5       S:X  a  U R
                  $ UR                  5       S:X  a  U R                  $ UR                  5       S:X  a  U R                  $ [        X ]'  U5      $ )NrQ   BOLDITALICS	UNDERLINESTRIKETHROUGH)
r   r   NONEr    rg   IUSrS   r&   rT   s     r   r&   TextEmphasis.coerce	  s    eS!!{xx{{}&uu{{}	)uu{{}+uu{{}/uuS%e,,r   r   )r$   ri   )r   r   r   r   r)   r   rg   r   r   r   propertyry   r}   r   r*   r&   r   r[   r\   s   @r   ri   ri      sb     D	A
	A	A	A
 



 - -r   ri   c                   (    \ rS rSrSrSr Sr SrSrg)MethodReturnValuei  z
Defines the return value(s) of a FPDF content-rendering method.

This enum values can be combined with & and | operators:
    PAGE_BREAK | LINES
r   r   rk   r   N)	r   r   r   r   r)   
PAGE_BREAKLINESHEIGHTr   r   r   r   r   r     s!     JJE[F=r   r   c                       \ rS rSrSr\" S5      r \" S5      r \" S5      r \" S5      r	 \" S5      r
 \" S5      r \" S	5      rS
rg)TableBordersLayouti+  z#Defines how to render table bordersALLr   INTERNALMINIMALHORIZONTAL_LINESNO_HORIZONTAL_LINESSINGLE_TOP_LINEr   N)r   r   r   r   r)   r   r   r   r   r   r   r   r   r   r   r   r   r   r   +  sc    )
-C"&>Dj!H6YG\01  !67G./O=r   r   c                      ^  \ rS rSrSrSr Sr Sr Sr Sr	 \\-  \-  \	-  r
 Sr \U 4S	 j5       rU 4S
 jrU 4S jrS rSrU =r$ )CellBordersLayoutiD  a  Defines how to render cell borders in table

The integer value of `border` determines which borders are applied. Below are some common examples:

- border=1 (LEFT): Only the left border is enabled.
- border=3 (LEFT | RIGHT): Both the left and right borders are enabled.
- border=5 (LEFT | TOP): The left and top borders are enabled.
- border=12 (TOP | BOTTOM): The top and bottom borders are enabled.
- border=15 (ALL): All borders (left, right, top, bottom) are enabled.
- border=16 (INHERIT): Inherit the border settings from the parent element.

Using `border=3` will combine LEFT and RIGHT borders, as it represents the
bitwise OR of `LEFT (1)` and `RIGHT (2)`.
r   r   r   rk   rl      c                 n   > [        U[        5      (       a  US:  a  [        S5      e[        TU ]  U5      $ Nr   z,INHERIT cannot be combined with other values)r   r1   r   rS   r&   rT   s     r   r&   CellBordersLayout.coercei  s1    eS!!ebjKLLw~e$$r   c                 H   > [         TU ]  U5      nUS:  a  [        S5      eU$ r   )rS   __and__r   rr   r$   rU   s     r   r   CellBordersLayout.__and__o  s)    &2:KLLr   c                 H   > [         TU ]  U5      nUS:  a  [        S5      eU$ r   )rS   __or__r   r   s     r   r   CellBordersLayout.__or__u  s)    u%2:KLLr   c                    / nU [         R                  -  (       a  UR                  S5        U [         R                  -  (       a  UR                  S5        U [         R                  -  (       a  UR                  S5        U [         R
                  -  (       a  UR                  S5        U(       a  SR                  U5      $ S$ )NrR   rY   rf   rg   rQ   r   )r   rL   appendrM   ra   rb   ru   )rr   
border_strs     r   __str__CellBordersLayout.__str__{  s    
#(((c"#)))c"#'''c"#***c"&0rwwz"<f<r   r   )r   r   r   r   r)   r   rL   rM   ra   rb   r   INHERITr*   r&   r   r   r   r   r[   r\   s   @r   r   r   D  sv     D(D.E/
C-F0
,
v
%C)G>% %

= 
=r   r   c                      ^  \ rS rSrSr\" S5      r \" S5      r \" S5      r \" S5      r	 \" S5      r
 \" S5      r \U 4S	 j5       rS
 rSrU =r$ )TableCellFillModei  z!Defines which table cells to fillr   r   ROWSCOLUMNS	EVEN_ROWSEVEN_COLUMNSc                 \   > [        [        USS5      5      (       a  U$ [        TU ]  U5      $ )zgAny class that has a .should_fill_cell() method is considered a valid 'TableCellFillMode' (duck-typing)should_fill_cellN)callablegetattrrS   r&   rT   s     r   r&   TableCellFillMode.coerce  s.     GE#5t<==Lw~e$$r   c                     X R                   L a  gX R                  L a  gX R                  L a  US-  S:H  $ X R                  L a  US-  S:H  $ X R                  L a  US-  S:H  $ X R
                  L a  US-  S:H  $ [        e)NFTr   r   r   )r   r   r   r   r   r   NotImplementedError)rr   ijs      r   r   "TableCellFillMode.should_fill_cell  s    998899q5A:<<q5A:>>!q5A:$$$q5A:!!r   r   )r   r   r   r   r)   r   r   r   r   r   r   r   r*   r&   r   r   r[   r\   s   @r   r   r     so    '&>D
-C&>D'YG*{#I(.)L+ % %" "r   r   c                   6    \ rS rSr\" S5      r \" S5      rSrg)	TableSpani  ROWCOLr   N)r   r   r   r   r   r   r   r   r   r   r   r   r     s    
-C:
-C=r   r   c                   "    \ rS rSrSrSr SrSrg)TableHeadingsDisplayi  z2Defines how the table headings should be displayedr   r   r   N)r   r   r   r   r)   r   ON_TOP_OF_EVERY_PAGEr   r   r   r   r   r     s    8DE_r   r   c                      ^  \ rS rSrSr\" S5      r \" S5      r \" S5      r \	S 5       r
\	S 5       r\	S 5       r\U 4S	 j5       rS
rU =r$ )RenderStylei  zDefines how to render shapesDRAWFILL	DRAW_FILLc                 T    U R                   SU R                  SU R                  S0U    $ )Nr   frg   )DFDFrx   s    r   operatorRenderStyle.operator  s&    TVVS$''37==r   c                 6    X R                   U R                  4;   $ ro   )r   r   rx   s    r   is_drawRenderStyle.is_draw      (((r   c                 6    X R                   U R                  4;   $ ro   )r   r   rx   s    r   is_fillRenderStyle.is_fill  r   r   c                 V   > U(       d  U R                   $ US:X  a  Sn[        X ]  U5      $ )NFDr   )r   rS   r&   rT   s     r   r&   RenderStyle.coerce  s+    55LD=ES%e,,r   r   )r   r   r   r   r)   r   r   r   r   r   r   r   r   r*   r&   r   r[   r\   s   @r   r   r     s    "vA 	vA
 
	B> > ) ) ) ) - -r   r   c                   8    \ rS rSrSrSrSrSrSrSr	Sr
S	rS
rSrg)TextModei  z:Values described in PDF spec section 'Text Rendering Mode'r   r   r      rk         r   r   N)r   r   r   r   r)   r   STROKEFILL_STROKE	INVISIBLE	FILL_CLIPSTROKE_CLIPFILL_STROKE_CLIPCLIPr   r   r   r   r   r     s.    @DFKIIKDr   r   c                       \ rS rSrSr\" S5      r \" S5      r \" S5      r \" S5      r	 \" S5      r
 \" S5      r \" S	5      r \" S
5      rSrg)XPosi  zFPositional values in horizontal direction for use after printing text.rL   rM   STARTENDWCONTrJ   LMARGINRMARGINr   N)r   r   r   r   r)   r   rL   rM   r   r   r   rJ   r   r   r   r   r   r   r   r     sh    L&>D7OE%7OE
-C7OE9HFYG0YG/r   r   c                   p    \ rS rSrSr\" S5      r \" S5      r \" S5      r \" S5      r	 \" S5      r
Srg	)
YPosi  zCPositional values in vertical direction for use after printing textra   LASTNEXTTMARGINBMARGINr   N)r   r   r   r   r)   r   ra   r   r   r   r   r   r   r   r   r   r     sC    I
-C%&>D=&>D/YG/YG0r   r   c                   8    \ rS rSrSrSrSrSrSrSr	Sr
S	rS
rSrg)Anglei,  zTDirection values used for mirror transformations specifying the angle of mirror lineZ   r   i     -   i;        r   N)r   r   r   r   r)   NORTHEASTSOUTHWEST	NORTHEAST	SOUTHEAST	SOUTHWEST	NORTHWESTr   r   r   r   r   r   ,  s-    ZEDEDIIIIr   r   c                       \ rS rSrSr\" S5      r \" S5      r \" S5      r \" S5      r	 \" S5      r
 \" S5      rS	rg
)
PageLayouti9  zASpecify the page layout shall be used when the document is opened
SinglePage	OneColumnTwoColumnLeftTwoColumnRightTwoPageLeftTwoPageRightr   N)r   r   r   r   r)   r	   SINGLE_PAGE
ONE_COLUMNTWO_COLUMN_LEFTTWO_COLUMN_RIGHTTWO_PAGE_LEFTTWO_PAGE_RIGHTr   r   r   r   r  r  9  sU    G|$K k"J%?+OK,-L'MJ.)NKr   r  c                       \ rS rSrSr\" S5      r \" S5      r \" S5      r \" S5      r	 \" S5      r
 \" S5      rS	rg
)PageModeiO  zBSpecifying how to display the document on exiting full-screen modeUseNoneUseOutlines	UseThumbs
FullScreenUseOCUseAttachmentsr   N)r   r   r   r   r)   r	   USE_NONEUSE_OUTLINES
USE_THUMBSFULL_SCREENUSE_OCUSE_ATTACHMENTSr   r   r   r   r  r  O  sR    HIH;&Lk"J|$KV']F*+,Or   r  c                   X    \ rS rSrSr\" S5      r\" S5      r\" S5      r\" S5      r	Sr
g)	TextMarkupTypeie  z#Subtype of a text markup annotation	Highlight	UnderlineSquiggly	StrikeOutr   N)r   r   r   r   r)   r	   	HIGHLIGHTr   SQUIGGLY
STRIKE_OUTr   r   r   r   r"  r"  e  s-    )[!I[!IJHk"Jr   r"  c                   6   \ rS rSrSr\" S5      r \" S5      r \" S5      r \" S5      r	 \" S5      r
 \" S5      r \" S	5      r \" S
5      r \" S5      r \" S5      r \" S5      r \" S5      r \" S5      r \" S5      r \" S5      r \" S5      rSrg)	BlendModeiq  zLAn enumeration of the named standard named blend functions supported by PDF.NormalMultiplyScreenOverlayDarkenLighten
ColorDodge	ColorBurn	HardLight	SoftLight
Difference	ExclusionHue
SaturationColor
Luminosityr   N)r   r   r   r   r)   r	   NORMALMULTIPLYSCREENOVERLAYDARKENLIGHTENCOLOR_DODGE
COLOR_BURN
HARD_LIGHT
SOFT_LIGHT
DIFFERENCE	EXCLUSIONHUE
SATURATIONCOLOR
LUMINOSITYr   r   r   r   r+  r+  q  s    R(^F<JH<(^F 9oG (^FA9oGB|$K k"J k"J k"J l#JV[!I
 u+C l#J
 ME
 l#Jr   r+  c                   N    \ rS rSrSr Sr Sr Sr Sr Sr	 Sr
 S	r S
r SrSrg)AnnotationFlagi  r   r   rk   rl   r       @            r   N)r   r   r   r   r   HIDDENPRINTNO_ZOOM	NO_ROTATENO_VIEW	READ_ONLYLOCKEDTOGGLE_NO_VIEWLOCKED_CONTENTSr   r   r   r   rM  rM    s^    I FZE<G`I\G_I F NNOUr   rM  c                   x    \ rS rSrSr\" S5      r\" S5      r\" S5      r\" S5      r	\" S5      r
\" S5      rS	rg
)AnnotationNamei  CThe name of an icon that shall be used in displaying the annotationNoteCommentHelp	ParagraphNewParagraphInsertr   N)r   r   r   r   r)   r	   NOTECOMMENTHELP	PARAGRAPHNEW_PARAGRAPHINSERTr   r   r   r   r]  r]    s=    I<D9oG<D[!I(M(^Fr   r]  c                   H    \ rS rSrSr\" S5      r\" S5      r\" S5      rSr	g)FileAttachmentAnnotationNamei  r^  PushPinGraphPushPinPaperclipTagr   N)
r   r   r   r   r)   r	   PUSH_PINGRAPH_PUSH_PINPAPERCLIP_TAGr   r   r   r   rl  rl    s"    IIH.)N(Mr   rl  c                   "    \ rS rSrSrSr SrSrg)IntersectionRulei  a  
An enumeration representing the two possible PDF intersection rules.

The intersection rule is used by the renderer to determine which points are
considered to be inside the path and which points are outside the path. This
primarily affects fill rendering and clipping paths.
nonzeroevenoddr   Nr   r   r   r   r)   NONZEROEVENODDr   r   r   r   rt  rt    s     G Gr   rt  c                   @    \ rS rSrSrSr Sr Sr Sr Sr	 Sr
 S	rS
rg)PathPaintRulei  zi
An enumeration of the PDF drawing directives that determine how the renderer should
paint a given path.
r   r   zf*rg   zB*nautor   N)r   r   r   r   r)   r   FILL_NONZEROFILL_EVENODDSTROKE_FILL_NONZEROSTROKE_FILL_EVENODD
DONT_PAINTAUTOr   r   r   r   r{  r{    sY     FL
 L
   J Dr   r{  c                   "    \ rS rSrSrSr SrSrg)ClippingPathIntersectionRuleiD  zSAn enumeration of the PDF drawing directives that define a path as a clipping path.WzW*r   Nrw  r   r   r   r  r  D  s    YG Gr   r  c                   (    \ rS rSrSrSr Sr SrSrg)StrokeCapStylei\  z
An enumeration of values defining how the end of a stroke should be rendered.

This affects the ends of the segments of dashed strokes, as well.
r   r   r   r   N)	r   r   r   r   r)   BUTTROUNDSQUAREr   r   r   r   r  r  \  s+     D E Fr   r  c                   (    \ rS rSrSrSr Sr SrSrg)StrokeJoinStyleit  zb
An enumeration of values defining how the corner joining two path components should
be rendered.
r   r   r   r   N)	r   r   r   r   r)   MITERr  BEVELr   r   r   r   r  r  t  s+    
 E
 E Er   r  c                       \ rS rSrSr\" S5      r\" S5      r\" S5      r\" S5      r	\" S5      r
\" S5      r\" S	5      r\" S
5      r\" S5      rSrg)PDFStyleKeysi  z?An enumeration of the graphics state parameter dictionary keys.caBMCASALWLCLJMLr   r   N)r   r   r   r   r)   r	   
FILL_ALPHA
BLEND_MODESTROKE_ALPHASTROKE_ADJUSTMENTSTROKE_WIDTHSTROKE_CAP_STYLESTROKE_JOIN_STYLESTROKE_MITER_LIMITSTROKE_DASH_PATTERNr   r   r   r   r  r    s[    EdJdJ:LT
:LDzT
ds)r   r  c                   $    \ rS rSrSrSrSrSrSrg)Corneri  	TOP_RIGHTTOP_LEFTBOTTOM_RIGHTBOTTOM_LEFTr   N)	r   r   r   r   r  r  r  r  r   r   r   r   r  r    s    IH!LKr   r  c                   .    \ rS rSrSrSr Sr Sr SrSr	g)	FontDescriptorFlagsi  zAn enumeration of the flags for the unsigned 32-bit integer entry in the font descriptor specifying various
characteristics of the font. Bit positions are numbered from 1 (low-order) to 32 (high-order).
r   rk   rO  i   r   N)
r   r   r   r   r)   FIXED_PITCHSYMBOLICITALIC
FORCE_BOLDr   r   r   r   r  r    s7     K
 H
 F Jr   r  c                   h    \ rS rSrSrSr Sr Sr Sr Sr	 Sr
 S	r S
r \S 5       r\S 5       rSrg)AccessPermissioni  zJPermission flags will translate as an integer on the encryption dictionaryrk   rl   r   rN  rQ  rR  i   i   c                 >    Sn[        [        5       H  nX-  nM	     U$ )zAll flags enabledr   )listr  )r#   result
permissions      r   allAccessPermission.all  s&     /0J(F 1r   c                     g)zAll flags disabledr   r   )r#   s    r   noneAccessPermission.none  s     r   r   N)r   r   r   r   r)   PRINT_LOW_RESMODIFYCOPY
ANNOTATION
FILL_FORMSCOPY_FOR_ACCESSIBILITYASSEMBLEPRINT_HIGH_RESr*   r  r  r   r   r   r   r  r    sl    P"MF)D9J$J.+VHM#N.   r   r  c                   (    \ rS rSrSrSrSrSrSrSr	g)	EncryptionMethodi  z,Algorithm to be used to encrypt the documentr   r   r   r   r   N)
r   r   r   r   r)   NO_ENCRYPTIONRC4AES_128AES_256r   r   r   r   r  r    s    2M
CGGr   r  c                   ^    \ rS rSrSr\" S5      r \" S5      r \" S5      r \" S5      r	Sr
g)	TextDirectioni  z)Text rendering direction for text shapingLTRRTLTTBBTTr   N)r   r   r   r   r)   r   r  r  r  r  r   r   r   r   r  r    s5    /
-C
-C
-C
-Cr   r  c                   L    \ rS rSrSr\" S5      r \" S5      r \" S5      rSr	g)OutputIntentSubTypei  z%Definition for Output Intent SubtypesGTS_PDFX	GTS_PDFA1	ISO_PDFE1r   N)
r   r   r   r   r)   r	   PDFXPDFAISOPDFr   r   r   r   r  r    s,    +
D2D6+F6r   r  c                   v    \ rS rSrSr\" S5      r \" S5      r \" S5      r \" S5      r	 \" S5      r
 SrS	rg)
PageLabelStylei  zStyle of the page labelr   rY   rAaNr   )r   r   r   r   r)   r   NUMBERUPPER_ROMANLOWER_ROMANUPPER_LETTERLOWER_LETTERr   r   r   r   r   r  r    sI    C[F+K+K#;L>#;L>Dr   r  c                   L    \ rS rSrSr\" S5      r \" S5      r \" S5      rSr	g)Duplexi&  zZThe paper handling option that shall be used when printing the file from the print dialog.SimplexDuplexFlipShortEdgeDuplexFlipLongEdger   N)
r   r   r   r   r)   r	   SIMPLEXDUPLEX_FLIP_SHORT_EDGEDUPLEX_FLIP_LONG_EDGEr   r   r   r   r  r  &  s/    `9oG!"784 !563r   r  c                   d    \ rS rSr\" S5      r\" S5      r\" S5      r\" S5      r\" S5      r	Sr
g)	PageBoundariesi3  ArtBoxBleedBoxCropBoxMediaBoxTrimBoxr   N)r   r   r   r   r	   ART_BOX	BLEED_BOXCROP_BOX	MEDIA_BOXTRIM_BOXr   r   r   r   r  r  3  s1    8nGZ IIHZ IIHr   r  c                   R   ^  \ rS rSr\" S5      r\" S5      r\U 4S j5       rSr	U =r
$ )PageOrientationi;  PrR   c                 j   > [        U[        5      (       a  UR                  5       n[        X ]  U5      $ ro   )r   r   r    rS   r&   rT   s     r   r&   PageOrientation.coerce@  s+    eS!!KKMES%e,,r   r   )r   r   r   r   r   PORTRAIT	LANDSCAPEr*   r&   r   r[   r\   s   @r   r  r  ;  s)    c{HsI - -r   r  c                       \ rS rSr\" S5      r\" S5      r\" S5      r\" S5      r\" S5      r	\" S5      r
\" S5      r\" S	5      rS
rg)PDFResourceTypeiG  	ExtGState
ColorSpacePatternShadingXObjectFontProcSet
Propertiesr   N)r   r   r   r   r   EXT_G_STATECOLOR_SPACEPATTERNSHADDINGX_OBJECTFONTPROC_SET
PROPERTIESr   r   r   r   r  r  G  sQ    %K&KYGi Hi H&>Di H%Jr   r  N)5enumr   r   r   r   sysr   syntaxr	   r   r   r,   r4   r;   r@   rH   r^   ri   r   r   r   r   r   r   r   r   r   r   r   r  r  r"  r+  rM  r]  rl  rt  r{  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r   r   <module>r     s<   - -  G 'L4 'LT'Gg 'GT-Gg -G`| | &-L -8-\ -*2-? 2-j> >$> >2A= A=H*" *"Z> >`? `&-, &-R
 
0< 081< 1&
O 
L L, |  ,	#\ 	#H HVV_ V@\ )< )| >3L 3l< 0_ 0o 4$4 $ \  $ <&w &Rt L  
7, 
7\ ,
4\ 
4\ 	-l 	-&d &r   