
    Og                     t    d dl mZmZ d dlZddl ddlmZ dddd	d
dddddddddZdddddZ G d d      Z	y)    )DictTupleN   )*)crc8cp874cp932gbkcp949cp950cp1250cp1251cp1252cp1253cp1254cp1255cp1256cp1257)%   &   '   (   )                !   "   #   $   i  i  i<  ia  )            c                   ,    e Zd ZddefdZdefdZd Zy)
FileHeaderdatac                    || _         t        |      dk  rt        d      |d d j                  d      }|t        vrt        d| d      || _        t        j                  d|d      d	   }t        j                  |d
      | _
        |d   | _        t               | _        | j
                  t        k  r| j                  |       y t        | j
                        )Nr%   zNot a DWG file.ignore)errorsz6Not a DWG file or unsupported DWG version, signature: .z<h   r   r      )	crc_checklenDwgVersionErrordecodeSUPPORTED_VERSIONSversionstructunpack_fromcodepage_to_encodinggetencodingmaintenance_release_versiondictsections	ACAD_2000r2000_header)selfr(   r/   vercodepages        `/var/www/html/public_html/myphp/venv/lib/python3.12/site-packages/ezdxf/addons/dwg/fileheader.py__init__zFileHeader.__init__!   s    "t9q=!"3442AhooXo.((!HQO   **4t<Q?,008D+/9(48F<<9$d#!$,,//    c                    d}t        j                  d||      d   }|dz  }d}t        j                  |      }t        |      D ]3  }t        j                  |||      \  }}}	||z  }||	f| j                  |<   5 | j
                  rWt        |d | d      t        t        | j                           z  }
t        j                  d||      d   }||
k7  rt        d      |d	z  }|||t        z    }|d
k7  rt        d      y )N   z<Lr   r#   z<BLL)seedz<HzCRC error in file header.   s   N(^A_:M z&Corrupted DXF R13/14/2000 file header.)r5   r6   calcsizeranger<   r/   r   FILE_HEADER_MAGICr0   CRCErrorSENTINEL_SIZEDwgCorruptedFileHeader)r?   r(   indexsection_countfmtrecord_sizerecordnumseekersizecheckcrcsentinels                rB   r>   zFileHeader.r2000_header4   s+   #//dEB1E
ooc*M* 	0F !' 2 23e DC[ E"($DMM#	0 >> T&5\*#C$678  $$T47:Ce|:;;
 56RS )8 SrD   c                    t        d| j                          t        d| j                          t        dt        | j                                t        dj                  | j                  d                t        dj                  | j                  d                t        dj                  | j                  d	                y )
NzDWG version: z
encoding: z	Records: z"Header: seeker {0[0]} size: {0[1]}r   z#Classes: seeker {0[0]} size: {0[1]}r   z#Objects: seeker {0[0]} size: {0[1]}rH   )printr4   r9   r0   r<   format)r?   s    rB   r[   zFileHeader.printV   s    dll^,-
4==/*+	#dmm,-./299$--:JKL3::4==;KLM3::4==;KLMrD   N)F)__name__
__module____qualname__BytesrC   r>   r[    rD   rB   r'   r'       s!    0U 0&   DNrD   r'   )
typingr   r   r5   constrX   r   r7   rK   r'   ra   rD   rB   <module>rd      sf        	 " 	 <N <NrD   