YBFjdZddlmZmZmZmZmZmZmZddl m Z m Z m Z m Z mZmZmZmZmZgdZGddeZGddeZGd d eZGd d eZd ZdZGddeZGddeZdS)z pygments.lexers.graphics ~~~~~~~~~~~~~~~~~~~~~~~~ Lexers for computer graphics and plotting related languages. :copyright: Copyright 2006-present by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. ) RegexLexerwordsincludebygroupsusingthisdefault) TextCommentOperatorKeywordNameNumber PunctuationString Whitespace) GLShaderLexerPostScriptLexerAsymptoteLexer GnuplotLexer PovrayLexerHLSLShaderLexerceZdZdZdZdgZgdZdgZdZdZ dd e j fd e j fd e j fd efd efdefdefdejfdejfdejfdejfdejfedddefedddejfedddejfedddejfdejfdefdefdefgiZdS) 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 ConstantTypeReservedrBuiltinrtokensFC:\PYTHON\_runtimes\venv\Lib\site-packages\pygments/lexers/graphics.pyrrs DhG---I!"I .CM   1 w~ & .0A B @   h  X & k * ,fl ; ,fl ; !6: .  $ V^ , U/0U1,,,23 4U!U,,,    U11dUe2,2,2,f\g3 hU &U , , ,   % d # K Z es uFFFr rcheZdZdZdZdgZddgZdgZdZdZ d e j fd e j fd e j fd efd efdefdefdejfdejfdejfdejfdejfdedfedddefedddejfedddejfedddejfedddejfedddejfed ddejfd!ejfed"ddejfd#efd$e j fd%efgded&fd'ejfd(efd)efd*efgd+Z d,S)-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 rrs DhG9%II YCM  1 w~ & .0A B @   h  X & { + . = . = !6: .  $ V^ , 68 $ U ?U , , , U#E% @ @ @    U6 U ,,,  UR"U#,,,$\% &U:%;===\   U'"PUQ(,(,(,R\S) TU )U , , ,^ $T^ 4 U. U ,,, ^  d # W_ % Z CB H66 "<=C] L 6 " f  FO  ILLFFFr rceZdZdZdZdZddgZddgZdgZd Z d Z d e d Z d e dZ e de Z dejfdejfdejfdejfdedfdefde zejfde zejfde zejfde zejfde ejfe ejfde zejfde zejfe de ej!fd e"fgd!efd"ej#d#fded$fd%ed&fgd'ej#d&fe$d&gd(Z%d)S)*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!I)I)))M)Y)))%77 77J  ( w ' g/ 0 gn %FO , K ( . ;!./06  < O$l ,  . ? :   / '} ,g.> ?G%. 0U8$AN%OOO&\' *Z w< ~& ! FM8 , FG $ FF #  ,V]F C GFOO MJJFFFr rceZdZdZdZdZddgZdgZdgZdZ d Z d e fd e fd e e e fd efdefgdefdedfdejfdejfdejfdejfdejfdefdefde eeee fdefdejfdejfdejfdefgedd e zd!ze eeejeeeeed"fd e zd#ze eeejeeeeefed$geded%d&efd'ed(fgeded%d'efd)ed*fd+ed(fgded(fd,ej fd efd-efd.efd/efd0efgd1Z!d2Z"d3S)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]@\}}}|t ur||vr t j}n|t ur||vr t j}|||fVAdS)Nr) ASYFUNCNAME ASYVARNAME)pygments.lexers._asy_builtinsrrrget_tokens_unprocessedrrr)selftextrrrtokenvalues r rz%AsymptoteLexer.get_tokens_unprocessedsIIIIIIII1$== & & E5%}}+!5!5 $5J#6#6 % % % % %  & &r N)#rrrrrrrrrr_wsrrr r rrrrrrr rr rrrrLabelrrr rQrrr r r rrs D $CE"G I#$IM 'CJ  Z ((444 5 & 0 ,g 6  )& 1 68 $ 5v| D -v| < #VZ 0 fj ) &. ) !8 , K ( ((7EE$KK"F"F GIKR S ,.5\ ;68?| E#DJ / d #O( T GL ! !##XeeDkk4=%%++uuT{{!##   ""XeeDkk4=%%++uuT{{!##  $ GK # ( GL ! ! GL ! ! [ ! +v &   GL ! ! GL ! ! +  K ) K (  66 " @&- P FO 6 " f  V  FO cZZFx&&&&&r rcddfdttdDS)N$|c3NK|]}ddz|zdzV dS)NrNr ).0idposwords r  z_shortened..sU99$K$tAvax.058999999r )findjoinrangelen)rrs`@r  _shortenedrsf 99S>>D 8899999"3t99dB77999 9 99r cRdtt|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 d4fd5eejeed2fd6eejeeeeeed2fd7ejfd8e fgd9efd:efd;efed<gd=ed>fd?efge d d8ed/-]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 rrs D CkG7#I!"IM GL ! ! Z '6 2 _Wg . . @ Z  % 0 xx{CCT J  Z ! !7G 4 _Wi : :GV L Z '6 2 Z  *F G _Wh / / - / _Xx%$fj'8#Y-%y)==m  % _VY-%w00 h ' XdmZ : :M K 8 XdmZKX??@M Ot} - 7O7 <' " g  G  GFOO  '9 % J ' GL ! ! ; ' J '  66 " ? O 6 " f  FO J '  FO 66 " 6 " f  FO J '   GH   6: & 6: & 0&, ? &, / v~ & "H - K ( 8= ) ' XdmT; 7 7 9 d # t} - ((444 5 " GL ! ! _4486:\69 K B'6 " Z & & 5 GM " " 7 # GH   t| $ GFOO K ( GM " " 6t| D Z $ $dl 3 GM " " _Wgy(H& 7H'7<<\  GM " "  _\6; M M \  GM " " YQQFFFr rc4eZdZdZdZdZdgZddgZdgZdZ d d e j fd e j fd e jfed dde jfedddefeddejfdejjfdefdejfdejfdefdefde fdefgiZdZdS)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 s^    dNF    dNF t   dNF T ! ! cMF r N)rrrrrrrrrrr rrrDoublerrr rrPseudorrrrr rrr3r r r rrsf D "CgG'"I !IM   1 2 w~ & %v} 5 U "&e 555 _  U0+`49a0H0H0Hbc1 dU6 ?D EEE \   !4 5 d #  -  '  , #X . (& 1 Z WL NF`r rN)rpygments.lexerrrrrrrr pygments.tokenr r r r rrrrr__all__rrrrrrrrr r r r9sC,,,,,,,,,,,,,,,,,,,,,, - - -@@@@@J@@@FWWWWWjWWWt[[[[[j[[[|r&r&r&r&r&Zr&r&r&j999 ,,,]]]]]:]]]@lllll*lllllr