L iddlmZddlZddlmZmZddlmZejr ddlm Z ddlm Z d dZ Gd d Z y) ) annotationsN)datetimetimezone)MissingInfoNamespace)Mapping)AnycR|ytj|tjS)z%Convert epoch time to a UTC datetime.N)tz)r fromtimestamprutc)ts e/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/fontTools/misc/filesystem/_info.pyepoch_to_datetimer s!y  ! !! 55ceZdZddgZddZdddZeddZeddZeddZ edd Z edd Z edd Z edd Z edd ZeddZddZeZy)Inforaw namespacescN||_t|j|_yN)r frozensetkeysr)selfraw_infos r__init__z Info.__init__s#HMMO4rNcz |j|j||S#t$rtd|dwxYw)Nz Namespace z does not exist)rgetKeyErrorr)r namespacekeydefaults rrzInfo.getsI R88I&**38 8 R&I='PQ Q Rs!:c&|jddS)Nbasicnamerrs rr%z Info.name!sxx((rc&|jddS)Nr$is_dirr&r's rr)z Info.is_dir%sxx**rc|j Sr)r)r's ris_filez Info.is_file)s;;rc8t|jddS)Ndetailsaccessedrrr's rr.z Info.accessed- )Z!@AArc8t|jddS)Nr-modifiedr/r's rr2z Info.modified1r0rc&|jddS)Nr-sizer&r's rr4z Info.size5xx 6**rc&|jddS)Nr-typer&r's rr7z Info.type9r5rc8t|jddS)Nr-createdr/r's rr9z Info.created=s )Y!?@@rc8t|jddS)Nr-metadata_changedr/r's rr;zInfo.metadata_changedAs )5G!HIIrc|jrdj|jSdj|jS)Nz z )r)formatr%r's r__str__z Info.__str__Es3 ;;&&tyy1 1 '' 2 2r)rzMapping[str, Any]r)r strr!r?r" Any | Nonereturnr@)rAr?)rAbool)rAdatetime | None)rA int | None)__name__ __module__ __qualname__ __slots__rrpropertyr%r)r+r.r2r4r7r9r;r>__repr__rrrrs %I5R ))++BBBB++++AAJJ3 Hrr)rrDrArC) __future__rtypingrr_errorsr TYPE_CHECKINGcollections.abcrr rrrKrrrQs/" ') '677r