K idZddlmZmZmZmZmZmZmZddl m Z m Z m Z m Z mZmZmZmZmZgdZGddeZGddeZGd d eZGd d eZd ZdZGddeZGddeZy)z pygments.lexers.graphics ~~~~~~~~~~~~~~~~~~~~~~~~ Lexers for computer graphics and plotting related languages. :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. ) RegexLexerwordsincludebygroupsusingthisdefault) TextCommentOperatorKeywordNameNumber PunctuationString Whitespace) GLShaderLexerPostScriptLexerAsymptoteLexer GnuplotLexer PovrayLexerHLSLShaderLexerceZdZdZdZdgZgdZdgZdZdZ dd e jfd e jfd e jfd efd efdefdefdej"fdej"fdej$fdej&fdej(fedddefedddej.fedddej0fedddej2fdej6fdefdefdefgiZy) rz% GLSL (OpenGL Shader) lexer. GLSLglsl)z*.vertz*.fragz*.geoztext/x-glslsrcz"https://www.khronos.org/api/openglz1.1root#(?:.*\\\n)*.*$//.*$/(\\\n)?[*](.|\n)*?[*](\\\n)?/0\+|-|~|!=?|\*|/|%|<<|>>|<=?|>=?|==?|&&?|\^|\|\|?[?:] \bdefined\bz [;{}(),\[\]]z[+-]?\d*\.\d+([eE][-+]?\d+)?z[+-]?\d+\.\d*([eE][-+]?\d+)?0[xX][0-9a-fA-F]*0[0-7]* [1-9][0-9]*)) attributeconstuniformvaryingbuffersharedinoutlayoutflatsmooth noperspectivecentroidsamplepatchinoutlowpmediumphighp precision invariantprecisecoherentvolatilerestrictreadonly writeonlybreakcontinuedoforwhileswitchcaser ifelse subroutinediscardreturnstruct\bprefixsuffixtruefalse)wvoid atomic_uintfloatvec2vec3vec4doubledvec2dvec3dvec4intivec2ivec3ivec4uintuvec2uvec3uvec4boolbvec2bvec3bvec4mat2mat3mat4dmat2dmat3dmat4mat2x2mat2x3mat2x4dmat2x2dmat2x3dmat2x4mat3x2mat3x3mat3x4dmat3x2dmat3x3dmat3x4mat4x2mat4x3mat4x4dmat4x2dmat4x3dmat4x4 sampler1D sampler2D sampler3D samplerCubesampler1DArraysampler2DArraysamplerCubeArray sampler2DRect samplerBuffer sampler2DMSsampler2DMSArraysampler1DShadowsampler2DShadowsamplerCubeShadowsampler1DArrayShadowsampler2DArrayShadowsamplerCubeArrayShadowsampler2DRectShadow isampler1D isampler2D isampler3D isamplerCubeisampler1DArrayisampler2DArrayisamplerCubeArrayisampler2DRectisamplerBuffer isampler2DMSisampler2DMSArray usampler1D usampler2D usampler3D usamplerCubeusampler1DArrayusampler2DArrayusamplerCubeArrayusampler2DRectusamplerBuffer usampler2DMSusampler2DMSArrayimage1Dimage2Dimage3D imageCube image1DArray image2DArrayimageCubeArray image2DRect imageBuffer image2DMSimage2DMSArrayiimage1Diimage2Diimage3D iimageCube iimage1DArray iimage2DArrayiimageCubeArray iimage2DRect iimageBuffer iimage2DMSiimage2DMSArrayuimage1Duimage2Duimage3D uimageCube uimage1DArray uimage2DArrayuimageCubeArray uimage2DRect uimageBuffer uimage2DMSuimage2DMSArray)'common partitionactiveasmclassunionenumtypedeftemplaterresourcegotoinlinenoinlinepublicstaticexternexternal interfacelongshorthalffixedunsignedsuperpinputoutputhvec2hvec3hvec4fvec2fvec3fvec4 sampler3DRectfiltersizeofcast namespacerzgl_\w* [a-zA-Z_]\w*z\.\s+N)__name__ __module__ __qualname____doc__namealiases filenames mimetypesurl version_addedr PreprocSingle Multiliner rrFloatHexOctIntegerrr ConstantTypeReservedrBuiltinrtokens^/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/pygments/lexers/graphics.pyrrs~ DhG-I!"I .CM   1 w~~ & .0A0A B @   h  X & k * ,fll ; ,fll ; !6:: .  $ V^^ , /0U1,23 4!U,     11dUe2,f\\g3 h &U ,    % d # K Z es uFr rceZdZdZdZdgZddgZdgZdZdZ d e jfd e jfd e jfd efd efdefdefdej"fdej"fdej$fdej&fdej(fdedfedddefedddej0fedddej2fedddej4fedddej4fedddej8fed ddej:fd!ej:fed"ddej:fd#efd$e jfd%efgded&fd'ej>fd(efd)efd*efgd+Z y,)-rz1 HLSL (Microsoft Direct3D Shader) lexer. HLSLhlslz*.hlslz*.hlsliz text/x-hlslzMhttps://learn.microsoft.com/en-us/windows/win32/direct3dhlsl/dx-graphics-hlslz2.3rrrr r!r"z [;{}(),.\[\]]z[+-]?\d*\.\d+([eE][-+]?\d+)?f?z[+-]?\d+\.\d*([eE][-+]?\d+)?f?r#r$r%"string)?r asm_fragmentrArGcbufferr2r column_majorcompilecompile_fragmentr'rBr rKrCrIexportrrDfxgroupgloballycoherent groupsharedrHr,rr5rlinelineadjlinearrnointerpolationr1NULLr- packoffsetpass pixelfragmentpointr;rLregister row_majorr3samplerr+ stateblockstateblock_staterrMrFtbuffer technique technique10 technique11texturertriangle triangleadjr(vertexfragmentr=rErNrOrR)autocatchchar const_castdelete dynamic_castrexplicitfriendrrmutablenewoperatorprivate protectedrreinterpret_castrsignedr static_castrrthrowtrytypenamerrrvirtual)6dwordmatrixsnormrunormrrUvector BlendStateBufferByteAddressBuffer ComputeShaderDepthStencilStateDepthStencilView DomainShaderGeometryShader HullShader InputPatch LineStream OutputPatch PixelShader PointStreamRasterizerStateRenderTargetViewRasterizerOrderedBuffer"RasterizerOrderedByteAddressBuffer!RasterizerOrderedStructuredBufferRasterizerOrderedTexture1DRasterizerOrderedTexture1DArrayRasterizerOrderedTexture2DRasterizerOrderedTexture2DArrayRasterizerOrderedTexture3DRWBufferRWByteAddressBufferRWStructuredBuffer RWTexture1DRWTexture1DArray RWTexture2DRWTexture2DArray RWTexture3D SamplerStateSamplerComparisonStateStructuredBuffer Texture1DTexture1DArray Texture2DTexture2DArray Texture2DMSTexture2DMSArray Texture3D TextureCubeTextureCubeArrayTriangleStream VertexShader) rgr[rWr_r min16float min10floatmin16intmin12int min16uintrcz([1-4](x[1-4])?)?\b)abortabsacosallAllMemoryBarrierAllMemoryBarrierWithGroupSyncanyAppendStructuredBufferasdoubleasfloatasinasintasuintratanatan2ceilCheckAccessFullyMappedclampclip CompileShaderConsumeStructuredBuffercoscosh countbitscrossD3DCOLORtoUBYTE4ddx ddx_coarseddx_fineddy ddy_coarseddy_finedegrees determinantDeviceMemoryBarrier DeviceMemoryBarrierWithGroupSyncdistancedotdsterrorfEvaluateAttributeAtCentroidEvaluateAttributeAtSampleEvaluateAttributeSnappedexpexp2f16tof32f32tof16 faceforward firstbithigh firstbitlowfloorfmafmodfracfrexpfwidthGetRenderTargetSampleCountGetRenderTargetSamplePositionGlobalOrderedCountIncrementGroupMemoryBarrierGroupMemoryBarrierWithGroupSyncInterlockedAddInterlockedAndInterlockedCompareExchangeInterlockedCompareStoreInterlockedExchangeInterlockedMaxInterlockedMin InterlockedOrInterlockedXorisfiniteisinfisnanldexplengthlerplitloglog10log2madmaxminmodfmsad4mulnoise normalizepowprintfProcess2DQuadTessFactorsAvgProcess2DQuadTessFactorsMaxProcess2DQuadTessFactorsMinProcessIsolineTessFactorsProcessQuadTessFactorsAvgProcessQuadTessFactorsMaxProcessQuadTessFactorsMinProcessTriTessFactorsAvgProcessTriTessFactorsMaxProcessTriTessFactorsMinQuadReadLaneAt QuadSwapX QuadSwapYradiansrcpreflectrefract reversebitsroundrsqrtsaturatesignsinsincossinh smoothstepsqrtsteptantanhtex1Dr tex1Dbias tex1Dgradtex1Dlod tex1Dprojtex2Dr tex2Dbias tex2Dgradtex2Dlod tex2Dprojtex3Dr tex3Dbias tex3Dgradtex3Dlod tex3DprojtexCUBEr texCUBEbias texCUBEgrad texCUBElod texCUBEproj transposetrunc WaveAllBitAnd WaveAllMax WaveAllMin WaveAllBitOr WaveAllBitXor WaveAllEqualWaveAllProduct WaveAllSum WaveAllTrue WaveAnyTrue WaveBallotWaveGetLaneCountWaveGetLaneIndexWaveGetOrderedIndexWaveIsHelperLaneWaveOnceWavePrefixProduct WavePrefixSumWaveReadFirstLaneWaveReadLaneAt)SV_ClipDistanceSV_ClipDistance0SV_ClipDistance1SV_CulldistanceSV_CullDistance0SV_CullDistance1 SV_CoverageSV_DepthSV_DepthGreaterEqualSV_DepthLessEqualSV_DispatchThreadIDSV_DomainLocation SV_GroupID SV_GroupIndexSV_GroupThreadIDSV_GSInstanceIDSV_InnerCoverageSV_InsideTessFactor SV_InstanceIDSV_IsFrontFaceSV_OutputControlPointID SV_PositionSV_PrimitiveIDSV_RenderTargetArrayIndexSV_SampleIndex SV_StencilRef SV_TessFactor SV_VertexIDSV_ViewportArrayIndexz\bSV_Target[0-7]?\b)allow_uav_conditionbranchcalldomainearlydepthstencilfastoptflatten forcecaseinstanceloop maxtessfactor numthreadsoutputcontrolpointsoutputtopology partitioningpatchconstantfuncunrollrz\\$r#popzO\\([\\abfnrtv"\']|x[a-fA-F0-9]{2,4}|u[a-fA-F0-9]{4}|U[a-fA-F0-9]{8}|[0-7]{1,3}) [^\\"\n]+\\\n\\)rrN)!rrrrrrrrrrr rrrr rrrrrrrrr rrrrr DecoratorrEscaperr r r rrsP DhG9%II YCM  1 w~~ & .0A0A B @   h  X & { + . = . = !6:: .  $ V^^ , 68 $  ?U , #E% @     6 U ,   R"U#,$\\% &:%;=\\   '"PUQ(,R\\S) T )U ,^^ $T^^ 4 . U , ^^  d # W__ % Z CB H66 "<=C]] L 6 " f  FO  ILFr rcdeZdZdZdZdZddgZddgZdgZd Z d Z d e d Z d e dZ e de Z dejfdej fdej"fdej$fdedfdefde zej,fde zej.fde zej0fde zej2fde ej6fe ej8fde zej<fde zej>fe de ejBfd e"fgd!efd"ejFd#fded$fd%ed&fgd'ejFd&fe$d&gd(Z%y))*rz% Lexer for PostScript files. PostScriptz(https://en.wikipedia.org/wiki/PostScript postscriptpostscrz*.psz*.epszapplication/postscriptz1.4z()<>\[\]{}/%\sz(?=[z])z[^]+z^%!.+$z%%.*$z (^%.*\n){2,}z%.*$z\( stringliteralz [{}<>\[\]]z<[0-9A-Fa-f]+>zG[0-9]+\#(\-|\+)?([0-9]+\.?|[0-9]*\.[0-9]+|[0-9]+\.[0-9]*)((e|E)[0-9]+)?z?(\-|\+)?([0-9]+\.?|[0-9]*\.[0-9]+|[0-9]+\.[0-9]*)((e|E)[0-9]+)?z(\-|\+)?[0-9]+z\/z (false|true)z6(eq|ne|g[et]|l[et]|and|or|not|if(?:else)?|for(?:all)?))lr}addaloadarcarcnarrayrbeginbindceilingcharpathr closepathconcat concatmatrixcopyrcurrentlinewidth currentmatrix currentpointcurvetocvicvsdef defaultmatrixdictdictstackoverflowdiv dtransformdupendexchexecexitrfillfindfontrget getintervalgrestoregsavegt identmatrixidiv idtransformindex invertmatrix itransformrlinetolnloadrrDrEmodmovetornegnewpath pathforallpathbboxpopprintpstackputquitrand rangecheckrcurvetorepeatrestorerlinetormovetorollrotaterrunsavescale scalefontsetdashsetfontsetgray setlinecap setlinejoin setlinewidth setmatrix setrgbcolorshfillshowshowpagerrstack stringwidthstroke strokepathsub syntaxerror transform translatetruncate typecheck undefinedundefinedfilenameundefinedresultrQrz[^()\\]+rOescape#push\)rLz[0-8]{3}|n|r|t|b|f|\\|\(|\))rrXrN)&rrrrrrrrrr delimiter delimiter_endvalid_name_chars valid_namer rSpecialrrrrrrrrrrVariableFunctionr rrrrrrQr rr r r rr1s D 4CY'G!I)*IM!II;b)MYKq)%&a 7J  ( w ' g// 0 gnn %FO , K ( . ;!./06  < O$ll ,  . ?:,  / '} ,g.>.> ?G%.. 08$AN%O&\\' *Z w< ~& ! FMM8 , FG $ FF #  ,V]]F C FO MJFr rceZdZdZdZdZddgZdgZdgZdZ d Z d e fd e fd e e e fd efdefgdefdedfdej"fdej"fdej$fdej&fdej(fdefdefde eeee fdefdej4fdej4fdej8fdefgedd e zd!ze eeej<eeeeed"fd e zd#ze eeej<eeeeefed$geded%d&efd'ed(fgeded%d'efd)ed*fd+ed(fgded(fd,ej@fd efd-efd.efd/efd0efgd1Z!d2Z"y3)4rz$ For Asymptote source code. Asymptotezhttp://asymptote.sf.net/ asymptoteasyz*.asyztext/x-asymptotez1.2z(?:\s|//.*?\n|/\*.*?\*/)+\nr(\\)(\n)z//(\n|(.|\n)*?[^\\]\n)z/(\\\n)?\*(.|\n)*?\*(\\\n)?/"(\\\\|\\[^\\]|[^"\\])*"'rz%(\d+\.\d*|\.\d+|\d+)[eE][+-]?\d+[lL]?z(\d+\.\d*|\.\d+|\d+[fF])[fF]?z0x[0-9a-fA-F]+[Ll]?z 0[0-7]+[Ll]?z\d+[Ll]?z[~!%^&*+=|?:<>/-]z [()\[\],.]z\b(case)(.+?)(:)z(and|controls|tension|atleast|curl|if|else|while|for|do|return|break|continue|struct|typedef|new|access|import|unravel|from|include|quote|static|public|private|restricted|this|explicit|true|false|null|cycle|newframe|operator)\ba?(Braid|FitResult|Label|Legend|TreeNode|abscissa|arc|arrowhead|binarytree|binarytreeNode|block|bool|bool3|bounds|bqe|circle|conic|coord|coordsys|cputime|ellipse|file|filltype|frame|grid3|guide|horner|hsv|hyperbola|indexedTransform|int|inversion|key|light|line|linefit|marginT|marker|mass|object|pair|parabola|path|path3|pen|picture|point|position|projection|real|revolution|scaleT|scientific|segment|side|slice|splitface|string|surface|tensionSpecifier|ticklocate|ticksgridT|tickvalues|transform|transformation|tree|triangle|trilinear|triple|vector|vertex|void)(?=\s+[a-zA-Z])z(Braid|FitResult|TreeNode|abscissa|arrowhead|block|bool|bool3|bounds|coord|frame|guide|horner|int|linefit|marginT|pair|pen|picture|position|real|revolution|slice|splitface|ticksgridT|tickvalues|tree|triple|vertex|void)\bz[a-zA-Z_]\w*:(?!:)r whitespacez6((?:[\w*\s])+?(?:\s|\*))([a-zA-Z_]\w*)(\s*\([^;]*?\))(z)(\{)functionz)(;) statement statementsz[{}];rLz\{rz\}z0\\([\\abfnrtv"\'?]|x[a-fA-F0-9]{2,4}|[0-7]{1,3}) [^\\'\n]+rNz\\nrO)rrrrrrc#Kddlm}m}tj||D]F\}}}|t ur||vrt j }n|t ur||vrt j}|||fHyw)Nr) ASYFUNCNAME ASYVARNAME)pygments.lexers._asy_builtinsrrrget_tokens_unprocessedrrr)selftextrrrtokenvalues r rz%AsymptoteLexer.get_tokens_unprocessedsgI11$= & E5%}+!5 $5J#6 % %  &sA)A+N)#rrrrrrrrrr_wsrrr r rrrrrrr rr rrrrLabelrrr rQrrr r r rrs D $CE"G I#$IM 'CJ  Z (44 5 & 0 ,g 6  )& 1 68 $ 5v|| D -v|| < #VZZ 0 fjj ) &.. ) !8 , K ( (7E$K"F GIKR S ,.5\\ ;68?|| E#DJJ / d #O( T L !##eDk4==%+uT{!#   ""eDk4==%+uT{!#  $ K # ( L ! L ! [ ! +v &   L ! L ! +  K ) K (  66 " @&-- P FO 6 " f  V  FO cZFx&r rcjddjfdttdDS)N$|c3@K|]}ddz|zdzyw)NrNr ).0idposwords r  z_shortened..s39$K$tAva.0589s)findjoinrangelen)rrs`@r  _shortenedrs; 99S>D 889"3t9dB79 99r c@djtt|S)Nr)rmapr)rs r _shortened_manyr s 88C E* ++r c*eZdZdZdZdZdgZddgZdgZdZ e d e d e d fe d d e dfe de dfdee eedfde fe de dfe ddde dfe de dfe de dfe dde d fe d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1e d2fe d+d,d-d.d/d3e d4fd5eej$eed2fd6eej*eeeeeed2fd7ej,fd8e fgd9efd:efd;efed<gd=ed>fd?efge d d8eddfe d2gdUe fe d4gdVej>fe dgdWedfe dYej>fe d2ge dZd[d\d]d^d_d`dadbdcddde ej>fe d2ge dfdgdhdiej>fe d2gdjZ yk)lrz' For Gnuplot plotting scripts. Gnuplotzhttp://gnuplot.info/gnuplotz*.plotz*.pltztext/x-gnuplot0.11rzbi$ndr_zex$itzq$uitrzf$itfitz (if)(\s*)(\()rHzelse\bzpa$usepausep$lotzrep$lotzsp$lotplotzsa$verzse$t) genericargs optionargzsh$owzuns$et)noargsrzlow$erzra$isezca$llzcd$zcl$earzh$elpz\?$zhi$storyzl$oadpr$intzpwd$zre$readzres$etz scr$eendumpzshe$llzsy$stemzup$daterztest$rz([a-zA-Z_]\w*)(\s*)(=)z(([a-zA-Z_]\w*)(\s*)(\()(.*?)(\))(\s*)(=)z @[a-zA-Z_]\w*rz[^\\\n]+rNrOrL#commentz [ \t\v\f]+rrz/\\([\\abfnrtv"\']|x[a-fA-F0-9]{2,4}|[0-7]{1,3})rMz''rrdqstringsqstringz (\d+\.\d*|\.\d+|\d+)[eE][+-]?\d+z(\d+\.\d*|\.\d+)z-?\d+z[,.~!%^&*+=|?:<>/-]z [{}()\[\]]z (eq|ne)\bz([a-zA-Z_]\w*)(\s*)(\()rr)za$llzan$gleszar$rowz au$toscalezb$arszbor$derz box$widthzcl$abelzc$lipz cn$trparamzco$ntourzda$taz data$filezdg$rid3dzdu$mmyz enc$odingz dec$imalsignzfit$z font$pathzfo$rmatz fu$nctionz fu$nctionszg$ridz hid$den3dz his$torysizez is$osampleszk$eyz keyt$itlezla$belz li$nestylezls$z loa$dpathzloc$alez log$scalezmac$roszmap$pingz map$ping3dzmar$ginzlmar$ginzrmar$ginztmar$ginzbmar$ginzmo$usez multi$plotzmxt$icsz nomxt$icszmx2t$icsz nomx2t$icszmyt$icsz nomyt$icszmy2t$icsz nomy2t$icszmzt$icsz nomzt$icszmcbt$icsz nomcbt$icszof$fsetszor$iginzo$utputz pa$rametriczpm$3dzpal$ettez colorb$oxrz poi$ntsizezpol$arrzobj$ectzsa$mpleszsi$zezst$ylezsu$rfaceztable$ t$erminalz termo$ptionszti$csz ticsc$alez ticsl$evelztimef$mtz tim$estampztit$le v$ariableszve$rsionzvi$ewzxyp$lanezxda$tazx2da$tazyda$tazy2da$tazzda$tazcbda$tazxl$abelzx2l$abelzyl$abelzy2l$abelzzl$abelzcbl$abelzxti$csznoxti$cszx2ti$csz nox2ti$cszyti$csznoyti$cszy2ti$csz noy2ti$cszzti$csznozti$cszcbti$csz nocbti$cszxdti$csz noxdti$cszx2dti$csz nox2dti$cszydti$csz noydti$cszy2dti$csz noy2dti$cszzdti$csz nozdti$cszcbdti$csz nocbdti$cszxmti$csz noxmti$cszx2mti$csz nox2mti$cszymti$csz noymti$cszy2mti$csz noy2mti$cszzmti$csz nozmti$cszcbmti$csz nocbmti$cszxr$angezx2r$angezyr$angezy2r$angezzr$angezcbr$angezrr$angeztr$angezur$angezvr$angez xzeroa$xisz x2zeroa$xisz yzeroa$xisz y2zeroa$xisz zzeroa$xisz zeroa$xiszz$ero!z all$windowsz gnuplot\bzvia\brz%(mouse|any|button1|button2|button3)\bz key$presszax$eszaxi$szbin$aryzev$eryzi$ndexzmat$rixzs$moothzthru$zt$itleznot$itlezu$singzw$ithz f$unctionszs$etrr)rrrrrrrrr_rrrHrrrN)!rrrrrrrrrrrrr rrr rrrrr rrr r rrQrrrWordrrr r r rrsF D CkG7#I!"IM L !  '6 2 Wg . @  % 0 x{CT J   !7G 4 Wi :GV L  '6 2  *F G Wh / - / Xx%$fj'8#Y-%y)=m  % VY-%w0 h ' dmmZ :M K 8 dmmZKX?@M Ot}} - 7O7 <' " g  G  FO  '9 % J ' L ! ; ' J '  66 " ? O 6 " f  FO J '  FO 66 " 6 " f  FO J '   H  6: & 6: & 0&,, ? &,, / v~~ & "H - K ( 8== ) ' dmmT; 7 9 d # t}} - (44 5 " L ! 486:\\69 K B'6 "  & 5 M " 7 # H  t|| $ FO K ( M " 6t|| D  $dll 3 M " Wgy(H& 7H'7<\\  M "  \6; M \\  M " YQFr rczeZdZdZdZdZdgZddgZdgZdZ d d e jfd e jfd e jfed dde j fedddefeddej&fdej&j(fdefdej,fdej.fdefdefde fdefgiZdZy)rz4 For Persistence of Vision Raytracer files. POVRayzhttp://www.povray.org/povz*.povz*.incz text/x-povrayrrz/\*[\w\W]*?\*/rz(?s)"(?:\\.|[^"\\])+")rArGdebugdeclarer definerIelseifrserrorfclosefopenrDrHifdefifndefrlocalmacrorreadrender statisticsrFundefversionwarningrEwriterrNrO(9aa_level aa_thresholdr}r~acoshadaptive adc_bailoutagate agate_turbralphaambient ambient_lightangleaperture arc_angle area_lightascrasinh assumed_gammarratanh atmosphereatmospheric_attenuation attenuatingaverage background black_holeblue blur_samples bounded_by box_mappingbozorAbrick brick_size brightness brilliancebumpsbumpy1bumpy2bumpy3bump_map bump_sizerGcausticsrcheckerchr clipped_byclockcolor color_mapcolour colour_map component compositerc confidence conic_sweepconstantcontrol0control1rrcountcracklecrandcube cubic_splinecylindrical_mappingrrr rdentsdiffuse directionrdistance_maximumrpdust dust_type eccentricityrIemittingrsr  error_boundrexponent fade_distance fade_powerfalloff falloff_anglerT file_existsrfinishfisheyeflatnessflipr focal_pointfogfog_alt fog_offsetfog_type frequencygifglobal_settingsglowinggradientgranitegray_thresholdgreenhalohexagon hf_gray_16 hierarchyhollow hypercomplexrHr iff image_map incidencerr_ interpolateinverseioriridirid_wavelengthjitterlambdaleopardr linear_spline linear_sweeplocationr looks_likelook_atlow_error_factormandelmap_typemarble material_maprErmax_intersections max_iterationmax_trace_level max_valuemetallicr minimum_reusermortar nearest_countnonormal normal_map no_shadownumber_of_wavesoctavesoffoffsetomegaomnimaxononceonionopen orthographic panoramicpattern1pattern2pattern3 perspectivepgmphasephong phong_sizepipigment pigment_mapplanar_mappingpngpoint_atpotrppmr9pwrquadratic_spline quaternion quick_color quick_colourquiltedradialr radiosityradiusrainbow ramp_waverr reciprocalrecursion_limitred reflection refractionrrrgbrgbfrgbftrgbtrightripplesr roughnesssamplesr scallop_wave scatteringseed shadowlessr sine_waversky sky_sphereslice slope_mapr0specularspherical_mappingspiralspiral1spiral2 spotlightspottedsqrrrstrstrcmpstrengthstrlenstrlwrstruprsturmsubstrrFsystrr test_camera_1 test_camera_2 test_camera_3 test_camera_4r, texture_maptga thickness threshold tightnesstile2tilestrackrrtransmit triangle_waverSttf turbulence turb_depthtypeultra_wide_angleup use_color use_colour use_indexu_stepsvalvariance vaxis_rotatevcrossvdotrvlength vnormalize volume_objectvolume_renderedvol_with_lightvrotatev_stepsrwarp water_levelwavesrEwidthwoodwrinklesyes) bicubic_patchblobboxcameraconecubiccylinder differencedisc height_field intersection julia_fractallathe light_sourcemergemeshobjectplanepolypolygonprismquadricquarticsmooth_trianglesorspheresuperellipsoidrtorusr-rrz\b(x|y|z|u|v)\brz[0-9]*\.[0-9]+z[0-9]+z[\[\](){}<>;,]z[-+*/=.|&]|<=|>=|!=rrcRd}d|vr|dz }d|vr|dz }d|vr|dz }d|vr|dz }|S)atPOVRAY is similar to JSON/C, but the combination of camera and light_source is probably not very likely elsewhere. HLSL or GLSL are similar (GLSL even has #version), but they miss #declare, and light_source/camera are not keywords anywhere else -- it's fair to assume though that any POVRAY scene must have a camera and lightsource.rz#versiong?z#declarerr"g?r )rresults r  analyse_textzPovrayLexer.analyse_text sR   dNF   dNF t  dNF T ! cMF r N)rrrrrrrrrrr rrrDoublerrr rrPseudorrrrr rrr3r r r rrs1 D "CgG'"I !IM   1 1 2 w~~ & %v}} 5  "&e 5 __  0+`49a0Hbc1 d6 ?D E \\   !4!4 5 d #  -  '  , #X . (& 1 Z WL NF`r rN)rpygments.lexerrrrrrrr pygments.tokenr r r r rrrrr__all__rrrrrrrrr r r r9s,,, -@J@FWjWt[j[|r&Zr&j9 ,]:]@l*lr