 local pu800 _fetch looks atu800 theu800 "demo" argument. local _fetch require 'module transclusion_count' .fetch local yesno require 'module yesno' local numconv require 'module numeral converter' .convert function pu800u82enumu800 frame count ifu800 count nilu800 then ifu800 yesno frameu82eargs 'fetch' oru800 frameu82eargs 'u8d988u8d8a7u8daa9u8d8b4u8db8c' false then ifu800 frameu82eargs 1u800 oru800     then count tonumber frameu82eargs 1u800 endu800 else count _fetch frame endu800 endu800 build output string local return_value "" ifu800 count nilu800 then ifu800 frameu82eargs 1u800 "risk" oru800 frameu82eargs 1u800 "u8d8b1u8db8cu8d8b3u8daa9" then return_value "u8d8aau8d8b9u8d8afu8d8a7u8d8af u8d8a8u8d8b3u8db8cu8d8a7u8d8b1 u8d8b2u8db8cu8d8a7u8d8afu8db8c u8d8b5u8d981u8d8adu8d987" else return_value "u8d8aau8d8b9u8d8afu8d8a7u8d8af u8d8b2u8db8cu8d8a7u8d8afu8db8c u8d8b5u8d981u8d8adu8d987" endu800 else useu800 2u800 significant figures foru800 smaller numbers andu800 3u800 foru800 larger ones local sigfig 2u800 ifu800 count 100000 then sigfig 3u800 endu800 prepare tou800 round tou800 appropriate number ofu800 sigfigs local fu800 mathu82efloor mathu82elog10 count sigfig 1u800 round andu800 insert "approximately" oru800 " " when appropriate ifu800 yesno frameu82eargs 2u800 oru800 mwu800u82eustringu82esubu800 frameu82eargs 1u800 1u800 " " then round down return_value mwu800u82eustringu82eformat " su800 " mwu800u82egetcontentlanguage formatnum mathu82efloor count 10u800 fu800 * 10u800 fu800 else round tou800 nearest return_value mwu800u82eustringu82eformat "u8d986u8d8b2u8d8afu8db8cu8daa9 u8d8a8u8d987&#x20u800; su800" mwu800u82egetcontentlanguage formatnum mathu82efloor count 10u800 fu800 0u800u82e5u800 * 10u800 fu800 endu800 insert percentage ofu800 pages ifu800 that isu800 likely tou800 beu800 1u800 andu800 when nou800 percent notu800 setu800 tou800 yesu800 ifu800 count andu800 count 250000 andu800 notu800 yesno frame getparent .args 'nou800 percent' oru800 frame getparent .args 'u8d8a8u8d8afu8d988u8d986 u8d8afu8d8b1u8d8b5u8d8af' then local percent mathu82efloor count frame callparserfunction 'numberofpages 'ru800' * 100u800 0u800u82e5u800 ifu800 percent 1u800 then return_value mwu800u82eustringu82eformat " su800&#x20u800;u8d8b5u8d981u8d8adu8d987u8d88c u8db8cu8d8a7 u8d986u8d8b2u8d8afu8db8cu8daa9 u8d8a8u8d987 su8d9aa u8d8a7u8d8b2 u8daa9u8d984 u8d8b5u8d981u8d8adu8d987u8e2808cu8d987u8d8a7" return_value numconv 'fau800' percent endu800 endu800 endu800 return return_value endu800 actions ifu800 there isu800 au800 large greater than oru800 equal tou800 100u800 000u800 transclusion count function pu800u82erisk frame local return_value "" ifu800 frameu82eargs 1u800 "risk" oru800 frameu82eargs 1u800 "u8d8b1u8db8cu8d8b3u8daa9" then return_value "risk" else local count _fetch frame ifu800 count andu800 count 100000 then return_value "risk" endu800 endu800 return return_value endu800 function pu800u82etext frame count only show theu800 information about howu800 this template gets updated ifu800 someone isu800 actually editing theu800 page andu800 maybe trying tou800 update theu800 count. local bot_text frame preprocess " revisionid " "" andu800 " nu800 nu800 nu800 u8d9beu8db8cu8d8a7u8d985 u8d9beu8db8cu8d8b4u8e2808cu8d986u8d985u8d8a7u8db8cu8d8b4  u8d8b4u8d985u8d8a7u8d8b1 u8d8aau8d8b1u8d8a7u8daafu8d986u8d8acu8d8a7u8d986u8d8b4u8e2808cu8d987u8d8a7 u8d985u8d985u8daa9u8d986 u8d8a7u8d8b3u8d8aa u8d8aau8d988u8d8b3u8d8b7 u8d8b1u8d8a8u8d8a7u8d8aa u8d8a8u8d987u8e2808cu8d8b1u8d988u8d8b2 u8d8b4u8d988u8d8af u8d8a7u8d984u8daafu8d988 u8d9beu8d8b1u8d8a7u8d8b3u8d8aau8d981u8d8a7u8d8afu8d987 u8d8aau8d988u8d8b6u8db8cu8d8adu8d8a7u8d8aa#u8d8acu8d8b2u8d8a6u8db8cu8d8a7u8d8aa u8d981u8d986u8db8c u8d985u8d8b3u8d8aau8d986u8d8afu8d8a7u8d8aa u8d8a7u8d984u8daafu8d988 u8d8b1u8d8a7 u8d8a8u8d8a8u8db8cu8d986u8db8cu8d8af ." oru800   ifu800 count nilu800 then ifu800 yesno frameu82eargs 'fetch' oru800 frameu82eargs 'u8d988u8d8a7u8daa9u8d8b4u8db8c' false then ifu800 frameu82eargs 1u800 oru800     then count tonumber frameu82eargs 1u800 endu800 else count _fetch frame endu800 endu800 local title mwu800u82etitleu82egetcurrenttitle ifu800 titleu82esubpagetext "u8d8aau8d988u8d8b6u8db8cu8d8adu8d8a7u8d8aa" oru800 titleu82esubpagetext "u8d8aau8d985u8d8b1u8db8cu8d986" then title titleu82ebasepagetitle endu800 local systemmessages frameu82eargs 'system' oru800 frameu82eargs 'u8d8b3u8d8a7u8d985u8d8a7u8d986u8d987' ifu800 frameu82eargs 'system' oru800 frameu82eargs 'u8d8b3u8d8a7u8d985u8d8a7u8d986u8d987'   then systemmessages nilu800 endu800 this retrieves theu800 project urlu800 automatically tou800 simplify localiation. local templatecount 'u8d8afu8d8b1 su800 u8d8b5u8d981u8d8adu8d987 ' format mwu800u82etitleu82egetcurrenttitle fullurl gsub ' . .*' ' 1u800' mwu800u82euriu800u82eencode titleu82efulltext pu800u82enumu800 frame count local used_on_text " u8d8a7u8db8cu8d986 " .. mwu800u82etitleu82egetcurrenttitle .namespace 828u800 andu800 "u8d9beu8d988u8d8afu8d985u8d8a7u8d986 u8d984u8d988u8d8a2" oru800 "u8d8a7u8d984u8daafu8d988" .. ' '; ifu800 systemmessages then used_on_text used_on_text .. systemmessages .. count andu800 count 2000 andu800 "u8d88c  u8d988 " .. templatecount oru800 " " else used_on_text used_on_text .. templatecount .. " u8d8a8u8d987u8e2808cu8daa9u8d8a7u8d8b1 u8d8b1u8d981u8d8aau8d987 u8d8a7u8d8b3u8d8aa " endu800 local sandbox_text "u8d8b2u8db8cu8d8b1u8d8b5u8d981u8d8adu8d987u8e2808cu8d987u8d8a7u8db8c su800 u8d8aau8d985u8d8b1u8db8cu8d986 u8d8aau8d985u8d8b1u8db8cu8d986 u8db8cu8d8a7 su800 u8d8a2u8d8b2u8d985u8d8a7u8db8cu8d8b4u8db8c u8d8a2u8d8b2u8d985u8d8a7u8db8cu8d8b4u8db8c su8d88c u8db8cu8d8a7 u8d8afu8d8b1 su800 u8d8aeu8d988u8d8afu8d8aau8d8a7u8d986" format titleu82efulltext titleu82efulltext mwu800u82etitleu82egetcurrenttitle .namespace 828u800 andu800 "u8d9beu8d988u8d8afu8d985u8d8a7u8d986" oru800 "u8d8a7u8d984u8daafu8d988" mwu800u82etitleu82egetcurrenttitle .namespace 828u800 andu800 "u8d9beu8d988u8d8afu8d985u8d8a7u8d986 sandbox u8d9beu8d988u8d8afu8d985u8d8a7u8d986 u8d8aau8d985u8d8b1u8db8cu8d986u8db8c" oru800 "u8d988u8db8cu8daa9u8db8cu8e2808cu8d9beu8d8afu8db8cu8d8a7 u8d8b5u8d981u8d8adu8d987u8e2808cu8d987u8d8a7u8db8c u8daa9u8d8a7u8d8b1u8d8a8u8d8b1u8db8c#u8d8b2u8db8cu8d8b1u8d8b5u8d981u8d8adu8d987u8e2808cu8d987u8d8a7u8db8c u8daa9u8d8a7u8d8b1u8d8a8u8d8b1u8db8c u8da86u8d987u8d89f u8d8b2u8db8cu8d8b1u8d8b5u8d981u8d8adu8d987u8d994 u8daa9u8d8a7u8d8b1u8d8a8u8d8b1u8db8c" local infoarg frameu82eargs "info" "" andu800 frameu82eargs "info" ifu800 systemmessages oru800 frameu82eargs 1u800 "risk" oru800 frameu82eargs 1u800 "u8d8b1u8db8cu8d8b3u8daa9" oru800 count andu800 count 100000 then local info systemmessages andu800 '. u8d8aau8d8bau8db8cu8db8cu8d8b1 u8d8afu8d8a7u8d8afu8d986 u8d8a2u8d986 u8d985u8db8cu8e2808cu8d8aau8d988u8d8a7u8d986u8d8af u8d8a8u8d987 u8d8aau8d8bau8db8cu8db8cu8d8b1 u8d8a8u8db8cu8e2808cu8d8afu8d8b1u8d986u8daaf u8d8afu8d8b1 u8d8b1u8d8a7u8d8a8u8d8b7 u8daa9u8d8a7u8d8b1u8d8a8u8d8b1u8db8c u8d988u8db8cu8daa9u8db8cu8e2808cu8d9beu8d8afu8db8cu8d8a7 u8d985u8d986u8d8acu8d8b1 u8d8b4u8d988u8d8af.' oru800 '.' ifu800 infoarg then info info .. " " .. infoarg endu800 sandbox_text info .. ' u8d8a8u8d987u8e2808cu8d985u8d986u8d8b8u8d988u8d8b1 u8d8acu8d984u8d988u8daafu8db8cu8d8b1u8db8c u8d8a7u8d8b2 u8d8a7u8db8cu8d8acu8d8a7u8d8af u8d8a7u8d8aeu8d984u8d8a7u8d984' .. count andu800 count 100000 andu800 ' u8d988 u8d988u8d8a7u8d8b1u8d8af u8d8b4u8d8afu8d986 u8d981u8d8b4u8d8a7u8d8b1 u8d8a8u8d987 u8d8b3u8d8b1u8d988u8d8b1u8d987u8d8a7' oru800   .. 'u8d88c u8d987u8d8b1u8daafu8d988u8d986u8d987 u8d8aau8d8bau8db8cu8db8cu8d8b1 u8d8a8u8d8a7u8db8cu8d8af u8d8a7u8d8a8u8d8aau8d8afu8d8a7 u8d8afu8d8b1 ' .. sandbox_text .. ' u8d8a2u8d8b2u8d985u8d8a7u8db8cu8d8b4 u8d8b4u8d988u8d8af. ' .. 'u8d8aau8d8bau8db8cu8db8cu8d8b1u8d8a7u8d8aa u8d8a2u8d8b2u8d985u8d8a7u8db8cu8d8b4u8e2808cu8d8b4u8d8afu8d987 u8d8b1u8d8a7 u8d985u8db8cu8e2808cu8d8aau8d988u8d8a7u8d986 u8d8afu8d8b1 u8db8cu8daa9 u8d988u8db8cu8d8b1u8d8a7u8db8cu8d8b4 u8d8a8u8d987 u8d8a7u8db8cu8d986 u8d8b5u8d981u8d8adu8d987 u8d8a7u8d981u8d8b2u8d988u8d8af. ' else sandbox_text infoarg andu800 '. ' .. infoarg .. ' u8d8aa' oru800 ' u8d988 u8d8aa' .. 'u8d8bau8db8cu8db8cu8d8b1 u8d8afu8d8a7u8d8afu8d986 u8d8a2u8d986 u8d985u8db8cu8e2808cu8d8aau8d988u8d8a7u8d986u8d8af u8d8aau8d8a3u8d8abu8db8cu8d8b1u8d8a7u8d8aa u8daafu8d8b3u8d8aau8d8b1u8d8afu8d987u8e2808cu8d8a7u8db8c u8d8afu8d8a7u8d8b4u8d8aau8d987 u8d8a8u8d8a7u8d8b4u8d8af. u8d984u8d8b7u8d981u8d8a7u8d98b u8d8aau8d8bau8db8cu8db8cu8d8b1u8d8a7u8d8aa u8d8b1u8d8a7 u8d8afu8d8b1 ' .. sandbox_text .. ' u8d8a8u8db8cu8d8a7u8d8b2u8d985u8d8a7u8db8cu8db8cu8d8af. ' endu800 local discussion_text systemmessages andu800 'u8d984u8d8b7u8d981u8d8a7u8d98b u8d8a7u8d8a8u8d8aau8d8afu8d8a7 u8d8afu8d8b1 u8d8aeu8d8b5u8d988u8d8b5 u8d8aau8d8bau8db8cu8db8cu8d8b1u8d8a7u8d8aa u8d985u8d988u8d8b1u8d8af u8d986u8d8b8u8d8b1 ' oru800 'u8d8aau8d988u8d8b5u8db8cu8d987 u8d985u8db8cu8e2808cu8d8b4u8d988u8d8af u8daa9u8d987 u8d8a7u8d8a8u8d8aau8d8afu8d8a7 u8d8afu8d8b1 u8d8aeu8d8b5u8d988u8d8b5 u8d8aau8d8bau8db8cu8db8cu8d8b1u8d8a7u8d8aa u8d985u8d988u8d8b1u8d8af u8d986u8d8b8u8d8b1 ' ifu800 frameu82eargs "2u800" andu800 frameu82eargs "2u800" "" andu800 notu800 yesno frameu82eargs "2u800" then discussion_text mwu800u82eustringu82eformat " su8d8afu8d8b1 su800 " discussion_text frameu82eargs "2u800" .. ' u8daafu8d981u8d8aau8daafu8d988 u8daa9u8d8b1u8d8afu8d987' else discussion_text mwu800u82eustringu82eformat " su8d8afu8d8b1 su800 u8d8b5u8d981u8d8adu8d987u8d994 u8d8a8u8d8adu8d8ab " discussion_text titleu82etalkpagetitleu82efulltext .. ' u8daafu8d981u8d8aau8daafu8d988 u8daa9u8d8b1u8d8afu8d987' endu800 return used_on_text .. sandbox_text .. discussion_text .. " u8d988 u8d8b3u8d9beu8d8b3 u8d8a2u8d986u8e2808cu8d987u8d8a7 u8d8b1u8d8a7 u8d9beu8db8cu8d8a7u8d8afu8d987u8e2808cu8d8b3u8d8a7u8d8b2u8db8c u8daa9u8d986u8db8cu8d8af." .. bot_text endu800 function pu800u82emain frame local count nilu800 ifu800 yesno frameu82eargs 'fetch' oru800 frameu82eargs 'u8d988u8d8a7u8daa9u8d8b4u8db8c' false then ifu800 frameu82eargs 1u800 oru800     then count tonumber frameu82eargs 1u800 endu800 else count _fetch frame endu800 local image " u8d9beu8d8b1u8d988u8d986u8d8afu8d987 ambox warning yellowu82esvgu800 40px altu800 u8d987u8d8b4u8d8afu8d8a7u8d8b1 link " local type_param "style" local epilogue   ifu800 frameu82eargs 'system' oru800 frameu82eargs 'u8d8b3u8d8a7u8d985u8d8a7u8d986u8d987' andu800 frameu82eargs 'system' oru800 frameu82eargs 'u8d8b3u8d8a7u8d985u8d8a7u8d986u8d987'   then image " u8d9beu8d8b1u8d988u8d986u8d8afu8d987 ambox importantu82esvgu800 40px altu800 u8d987u8d8b4u8d8afu8d8a7u8d8b1 link " type_param "content" local nocat frame getparent .args 'nocat' oru800 frame getparent .args 'u8d8a8u8db8cu8e2808cu8d8b1u8d8afu8d987' oru800 frameu82eargs 'nocat' oru800 frameu82eargs 'u8d8a8u8db8cu8e2808cu8d8b1u8d8afu8d987' local categorise nocat   oru800 notu800 yesno nocat ifu800 categorise then epilogue frame preprocess ' sandbox other #switch #invoke effective protection level #switch namespace file upload #default edit fullpagename sysop templateeditor interfaceadmin #default u8d8b1u8d8afu8d987 u8d8b5u8d981u8d8adu8d987u8e2808cu8d987u8d8a7u8db8c u8d985u8d988u8d8b1u8d8af u8d8a7u8d8b3u8d8aau8d981u8d8a7u8d8afu8d987 u8d8afu8d8b1 u8d9beu8db8cu8d8a7u8d985u8e2808cu8d987u8d8a7u8db8c u8d8b3u8d8a7u8d985u8d8a7u8d986u8d987 u8d986u8db8cu8d8a7u8d8b2u8d985u8d986u8d8af u8d985u8d8adu8d8a7u8d981u8d8b8u8d8aa ' endu800 elseif frameu82eargs 1u800 "risk" oru800 frameu82eargs 1u800 "u8d8b1u8db8cu8d8b3u8daa9" oru800 count andu800 count 100000 then image " u8d9beu8d8b1u8d988u8d986u8d8afu8d987 ambox warning orangeu82esvgu800 40px altu800 u8d987u8d8b4u8d8afu8d8a7u8d8b1 link " type_param "content" endu800 ifu800 frameu82eargs "form" "editnotice" then return frame expandtemplate title 'editnotice' args "image" image "text" pu800u82etext frame count "expiry" frameu82eargs "expiry" oru800 frameu82eargs "u8d985u8d986u8d982u8d8b6u8db8c" oru800 "" .. epilogue else return require 'module message boxu800' .main 'ombox' type type_param image image text pu800u82etext frame count expiry frameu82eargs "expiry" oru800 frameu82eargs "u8d985u8d986u8d982u8d8b6u8db8c" oru800 "" .. epilogue endu800 endu800 return pu800 