<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
<head>
<title>Qt.git - Qt s a cross-platform application framework that is used for developing application software that can be run on various software and hardware platforms with little or no change in the underlying codebase, while still being a native application with native capabilities and speed.</title>
<meta name='generator' content='cgit v0.12'/>
<meta name='robots' content='index, nofollow'/>
<link rel='stylesheet' type='text/css' href='/cgit-data/cgit-techsat.css'/>
<link rel='shortcut icon' href='/favicon.ico'/>
<link rel='alternate' title='Atom feed' href='http://service.techsat.com/oss-git/Qt.git/atom/tests/auto/q3textedit?h=v4.7.1' type='application/atom+xml'/>
</head>
<body>
<div id='cgit'><table id='header'>
<tr>
<td class='logo' rowspan='2'><a href='/oss-git/'><img src='/cgit-data/cgit.png' alt='cgit logo'/></a></td>
<td class='main'><a href='/oss-git/'>index</a> : <a title='Qt.git' href='/oss-git/Qt.git/'>Qt.git</a></td><td class='form'><form method='get' action=''>
<input type='hidden' name='id' value='26a1acf139f7a444bc68d9a1540d418c41aa89ec'/><select name='h' onchange='this.form.submit();'>
<option value='QT_5_12_3'>QT_5_12_3</option>
<option value='QT_5_13_1'>QT_5_13_1</option>
<option value='QT_5_13_2'>QT_5_13_2</option>
<option value='QT_5_14'>QT_5_14</option>
<option value='master'>master</option>
</select> <input type='submit' name='' value='switch'/></form></td></tr>
<tr><td class='sub'>Qt s a cross-platform application framework that is used for developing application software that can be run on various software and hardware platforms with little or no change in the underlying codebase, while still being a native application with native capabilities and speed.</td><td class='sub right'></td></tr></table>
<table class='tabs'><tr><td>
<a href='/oss-git/Qt.git/?h=v4.7.1'>summary</a><a href='/oss-git/Qt.git/refs/?h=v4.7.1&amp;id=26a1acf139f7a444bc68d9a1540d418c41aa89ec'>refs</a><a href='/oss-git/Qt.git/log/tests/auto/q3textedit?h=v4.7.1'>log</a><a class='active' href='/oss-git/Qt.git/tree/tests/auto/q3textedit?h=v4.7.1&amp;id=26a1acf139f7a444bc68d9a1540d418c41aa89ec'>tree</a><a href='/oss-git/Qt.git/commit/tests/auto/q3textedit?h=v4.7.1&amp;id=26a1acf139f7a444bc68d9a1540d418c41aa89ec'>commit</a><a href='/oss-git/Qt.git/diff/tests/auto/q3textedit?h=v4.7.1&amp;id=26a1acf139f7a444bc68d9a1540d418c41aa89ec'>diff</a><a href='/oss-git/Qt.git/stats/tests/auto/q3textedit?h=v4.7.1'>stats</a></td><td class='form'><form class='right' method='get' action='/oss-git/Qt.git/log/tests/auto/q3textedit'>
<input type='hidden' name='h' value='v4.7.1'/><input type='hidden' name='id' value='26a1acf139f7a444bc68d9a1540d418c41aa89ec'/><select name='qt'>
<option value='grep'>log msg</option>
<option value='author'>author</option>
<option value='committer'>committer</option>
<option value='range'>range</option>
</select>
<input class='txt' type='text' size='10' name='q' value=''/>
<input type='submit' value='search'/>
</form>
</td></tr></table>
<div class='path'>path: <a href='/oss-git/Qt.git/tree/?h=v4.7.1&amp;id=26a1acf139f7a444bc68d9a1540d418c41aa89ec'>root</a>/<a href='/oss-git/Qt.git/tree/tests?h=v4.7.1&amp;id=26a1acf139f7a444bc68d9a1540d418c41aa89ec'>tests</a>/<a href='/oss-git/Qt.git/tree/tests/auto?h=v4.7.1&amp;id=26a1acf139f7a444bc68d9a1540d418c41aa89ec'>auto</a>/<a href='/oss-git/Qt.git/tree/tests/auto/q3textedit?h=v4.7.1&amp;id=26a1acf139f7a444bc68d9a1540d418c41aa89ec'>q3textedit</a></div><div class='content'><table summary='tree listing' class='list'>
<tr class='nohover'><th class='left'>Mode</th><th class='left'>Name</th><th class='right'>Size</th><th/></tr>
<tr><td class='ls-mode'>-rw-r--r--</td><td><a class='ls-blob gitignore' href='/oss-git/Qt.git/tree/tests/auto/q3textedit/.gitignore?h=v4.7.1&amp;id=26a1acf139f7a444bc68d9a1540d418c41aa89ec'>.gitignore</a></td><td class='ls-size'>15</td><td><a class='button' href='/oss-git/Qt.git/log/tests/auto/q3textedit/.gitignore?h=v4.7.1&amp;id=26a1acf139f7a444bc68d9a1540d418c41aa89ec'>log</a><a class='button' href='/oss-git/Qt.git/stats/tests/auto/q3textedit/.gitignore?h=v4.7.1'>stats</a><a class='button' href='/oss-git/Qt.git/plain/tests/auto/q3textedit/.gitignore?h=v4.7.1&amp;id=26a1acf139f7a444bc68d9a1540d418c41aa89ec'>plain</a></td></tr>
<tr><td class='ls-mode'>-rw-r--r--</td><td><a class='ls-blob pro' href='/oss-git/Qt.git/tree/tests/auto/q3textedit/q3textedit.pro?h=v4.7.1&amp;id=26a1acf139f7a444bc68d9a1540d418c41aa89ec'>q3textedit.pro</a></td><td class='ls-size'>120</td><td><a class='button' href='/oss-git/Qt.git/log/tests/auto/q3textedit/q3textedit.pro?h=v4.7.1&amp;id=26a1acf139f7a444bc68d9a1540d418c41aa89ec'>log</a><a class='button' href='/oss-git/Qt.git/stats/tests/auto/q3textedit/q3textedit.pro?h=v4.7.1'>stats</a><a class='button' href='/oss-git/Qt.git/plain/tests/auto/q3textedit/q3textedit.pro?h=v4.7.1&amp;id=26a1acf139f7a444bc68d9a1540d418c41aa89ec'>plain</a></td></tr>
id='n62' href='#n62'>62</a>
<a id='n63' href='#n63'>63</a>
<a id='n64' href='#n64'>64</a>
<a id='n65' href='#n65'>65</a>
<a id='n66' href='#n66'>66</a>
<a id='n67' href='#n67'>67</a>
<a id='n68' href='#n68'>68</a>
<a id='n69' href='#n69'>69</a>
<a id='n70' href='#n70'>70</a>
<a id='n71' href='#n71'>71</a>
<a id='n72' href='#n72'>72</a>
<a id='n73' href='#n73'>73</a>
<a id='n74' href='#n74'>74</a>
<a id='n75' href='#n75'>75</a>
<a id='n76' href='#n76'>76</a>
<a id='n77' href='#n77'>77</a>
<a id='n78' href='#n78'>78</a>
<a id='n79' href='#n79'>79</a>
<a id='n80' href='#n80'>80</a>
<a id='n81' href='#n81'>81</a>
<a id='n82' href='#n82'>82</a>
<a id='n83' href='#n83'>83</a>
<a id='n84' href='#n84'>84</a>
<a id='n85' href='#n85'>85</a>
<a id='n86' href='#n86'>86</a>
<a id='n87' href='#n87'>87</a>
<a id='n88' href='#n88'>88</a>
<a id='n89' href='#n89'>89</a>
<a id='n90' href='#n90'>90</a>
<a id='n91' href='#n91'>91</a>
<a id='n92' href='#n92'>92</a>
<a id='n93' href='#n93'>93</a>
<a id='n94' href='#n94'>94</a>
<a id='n95' href='#n95'>95</a>
<a id='n96' href='#n96'>96</a>
<a id='n97' href='#n97'>97</a>
<a id='n98' href='#n98'>98</a>
<a id='n99' href='#n99'>99</a>
<a id='n100' href='#n100'>100</a>
<a id='n101' href='#n101'>101</a>
<a id='n102' href='#n102'>102</a>
<a id='n103' href='#n103'>103</a>
<a id='n104' href='#n104'>104</a>
<a id='n105' href='#n105'>105</a>
<a id='n106' href='#n106'>106</a>
<a id='n107' href='#n107'>107</a>
<a id='n108' href='#n108'>108</a>
<a id='n109' href='#n109'>109</a>
<a id='n110' href='#n110'>110</a>
<a id='n111' href='#n111'>111</a>
<a id='n112' href='#n112'>112</a>
<a id='n113' href='#n113'>113</a>
<a id='n114' href='#n114'>114</a>
<a id='n115' href='#n115'>115</a>
<a id='n116' href='#n116'>116</a>
<a id='n117' href='#n117'>117</a>
<a id='n118' href='#n118'>118</a>
<a id='n119' href='#n119'>119</a>
<a id='n120' href='#n120'>120</a>
<a id='n121' href='#n121'>121</a>
<a id='n122' href='#n122'>122</a>
<a id='n123' href='#n123'>123</a>
<a id='n124' href='#n124'>124</a>
<a id='n125' href='#n125'>125</a>
<a id='n126' href='#n126'>126</a>
<a id='n127' href='#n127'>127</a>
<a id='n128' href='#n128'>128</a>
<a id='n129' href='#n129'>129</a>
<a id='n130' href='#n130'>130</a>
<a id='n131' href='#n131'>131</a>
<a id='n132' href='#n132'>132</a>
<a id='n133' href='#n133'>133</a>
<a id='n134' href='#n134'>134</a>
<a id='n135' href='#n135'>135</a>
<a id='n136' href='#n136'>136</a>
<a id='n137' href='#n137'>137</a>
<a id='n138' href='#n138'>138</a>
<a id='n139' href='#n139'>139</a>
<a id='n140' href='#n140'>140</a>
<a id='n141' href='#n141'>141</a>
<a id='n142' href='#n142'>142</a>
<a id='n143' href='#n143'>143</a>
<a id='n144' href='#n144'>144</a>
<a id='n145' href='#n145'>145</a>
<a id='n146' href='#n146'>146</a>
<a id='n147' href='#n147'>147</a>
<a id='n148' href='#n148'>148</a>
<a id='n149' href='#n149'>149</a>
<a id='n150' href='#n150'>150</a>
<a id='n151' href='#n151'>151</a>
<a id='n152' href='#n152'>152</a>
<a id='n153' href='#n153'>153</a>
<a id='n154' href='#n154'>154</a>
<a id='n155' href='#n155'>155</a>
<a id='n156' href='#n156'>156</a>
<a id='n157' href='#n157'>157</a>
<a id='n158' href='#n158'>158</a>
<a id='n159' href='#n159'>159</a>
<a id='n160' href='#n160'>160</a>
<a id='n161' href='#n161'>161</a>
<a id='n162' href='#n162'>162</a>
<a id='n163' href='#n163'>163</a>
<a id='n164' href='#n164'>164</a>
<a id='n165' href='#n165'>165</a>
<a id='n166' href='#n166'>166</a>
<a id='n167' href='#n167'>167</a>
<a id='n168' href='#n168'>168</a>
<a id='n169' href='#n169'>169</a>
<a id='n170' href='#n170'>170</a>
<a id='n171' href='#n171'>171</a>
<a id='n172' href='#n172'>172</a>
<a id='n173' href='#n173'>173</a>
<a id='n174' href='#n174'>174</a>
<a id='n175' href='#n175'>175</a>
<a id='n176' href='#n176'>176</a>
<a id='n177' href='#n177'>177</a>
<a id='n178' href='#n178'>178</a>
<a id='n179' href='#n179'>179</a>
<a id='n180' href='#n180'>180</a>
<a id='n181' href='#n181'>181</a>
<a id='n182' href='#n182'>182</a>
<a id='n183' href='#n183'>183</a>
<a id='n184' href='#n184'>184</a>
<a id='n185' href='#n185'>185</a>
<a id='n186' href='#n186'>186</a>
<a id='n187' href='#n187'>187</a>
<a id='n188' href='#n188'>188</a>
<a id='n189' href='#n189'>189</a>
<a id='n190' href='#n190'>190</a>
<a id='n191' href='#n191'>191</a>
<a id='n192' href='#n192'>192</a>
<a id='n193' href='#n193'>193</a>
<a id='n194' href='#n194'>194</a>
<a id='n195' href='#n195'>195</a>
<a id='n196' href='#n196'>196</a>
<a id='n197' href='#n197'>197</a>
<a id='n198' href='#n198'>198</a>
<a id='n199' href='#n199'>199</a>
<a id='n200' href='#n200'>200</a>
<a id='n201' href='#n201'>201</a>
<a id='n202' href='#n202'>202</a>
<a id='n203' href='#n203'>203</a>
<a id='n204' href='#n204'>204</a>
<a id='n205' href='#n205'>205</a>
<a id='n206' href='#n206'>206</a>
<a id='n207' href='#n207'>207</a>
<a id='n208' href='#n208'>208</a>
<a id='n209' href='#n209'>209</a>
<a id='n210' href='#n210'>210</a>
<a id='n211' href='#n211'>211</a>
<a id='n212' href='#n212'>212</a>
<a id='n213' href='#n213'>213</a>
<a id='n214' href='#n214'>214</a>
<a id='n215' href='#n215'>215</a>
<a id='n216' href='#n216'>216</a>
<a id='n217' href='#n217'>217</a>
<a id='n218' href='#n218'>218</a>
<a id='n219' href='#n219'>219</a>
<a id='n220' href='#n220'>220</a>
<a id='n221' href='#n221'>221</a>
<a id='n222' href='#n222'>222</a>
<a id='n223' href='#n223'>223</a>
<a id='n224' href='#n224'>224</a>
<a id='n225' href='#n225'>225</a>
<a id='n226' href='#n226'>226</a>
<a id='n227' href='#n227'>227</a>
<a id='n228' href='#n228'>228</a>
<a id='n229' href='#n229'>229</a>
<a id='n230' href='#n230'>230</a>
<a id='n231' href='#n231'>231</a>
<a id='n232' href='#n232'>232</a>
<a id='n233' href='#n233'>233</a>
<a id='n234' href='#n234'>234</a>
<a id='n235' href='#n235'>235</a>
<a id='n236' href='#n236'>236</a>
<a id='n237' href='#n237'>237</a>
<a id='n238' href='#n238'>238</a>
<a id='n239' href='#n239'>239</a>
<a id='n240' href='#n240'>240</a>
<a id='n241' href='#n241'>241</a>
<a id='n242' href='#n242'>242</a>
<a id='n243' href='#n243'>243</a>
<a id='n244' href='#n244'>244</a>
<a id='n245' href='#n245'>245</a>
<a id='n246' href='#n246'>246</a>
<a id='n247' href='#n247'>247</a>
<a id='n248' href='#n248'>248</a>
<a id='n249' href='#n249'>249</a>
<a id='n250' href='#n250'>250</a>
<a id='n251' href='#n251'>251</a>
<a id='n252' href='#n252'>252</a>
<a id='n253' href='#n253'>253</a>
<a id='n254' href='#n254'>254</a>
<a id='n255' href='#n255'>255</a>
<a id='n256' href='#n256'>256</a>
<a id='n257' href='#n257'>257</a>
<a id='n258' href='#n258'>258</a>
<a id='n259' href='#n259'>259</a>
<a id='n260' href='#n260'>260</a>
<a id='n261' href='#n261'>261</a>
<a id='n262' href='#n262'>262</a>
<a id='n263' href='#n263'>263</a>
<a id='n264' href='#n264'>264</a>
<a id='n265' href='#n265'>265</a>
<a id='n266' href='#n266'>266</a>
<a id='n267' href='#n267'>267</a>
<a id='n268' href='#n268'>268</a>
<a id='n269' href='#n269'>269</a>
<a id='n270' href='#n270'>270</a>
<a id='n271' href='#n271'>271</a>
<a id='n272' href='#n272'>272</a>
<a id='n273' href='#n273'>273</a>
<a id='n274' href='#n274'>274</a>
<a id='n275' href='#n275'>275</a>
<a id='n276' href='#n276'>276</a>
<a id='n277' href='#n277'>277</a>
<a id='n278' href='#n278'>278</a>
<a id='n279' href='#n279'>279</a>
<a id='n280' href='#n280'>280</a>
<a id='n281' href='#n281'>281</a>
<a id='n282' href='#n282'>282</a>
<a id='n283' href='#n283'>283</a>
<a id='n284' href='#n284'>284</a>
<a id='n285' href='#n285'>285</a>
<a id='n286' href='#n286'>286</a>
<a id='n287' href='#n287'>287</a>
<a id='n288' href='#n288'>288</a>
<a id='n289' href='#n289'>289</a>
<a id='n290' href='#n290'>290</a>
<a id='n291' href='#n291'>291</a>
<a id='n292' href='#n292'>292</a>
<a id='n293' href='#n293'>293</a>
<a id='n294' href='#n294'>294</a>
<a id='n295' href='#n295'>295</a>
<a id='n296' href='#n296'>296</a>
<a id='n297' href='#n297'>297</a>
<a id='n298' href='#n298'>298</a>
<a id='n299' href='#n299'>299</a>
<a id='n300' href='#n300'>300</a>
<a id='n301' href='#n301'>301</a>
<a id='n302' href='#n302'>302</a>
<a id='n303' href='#n303'>303</a>
<a id='n304' href='#n304'>304</a>
<a id='n305' href='#n305'>305</a>
<a id='n306' href='#n306'>306</a>
<a id='n307' href='#n307'>307</a>
<a id='n308' href='#n308'>308</a>
<a id='n309' href='#n309'>309</a>
<a id='n310' href='#n310'>310</a>
<a id='n311' href='#n311'>311</a>
<a id='n312' href='#n312'>312</a>
<a id='n313' href='#n313'>313</a>
<a id='n314' href='#n314'>314</a>
<a id='n315' href='#n315'>315</a>
<a id='n316' href='#n316'>316</a>
<a id='n317' href='#n317'>317</a>
<a id='n318' href='#n318'>318</a>
<a id='n319' href='#n319'>319</a>
<a id='n320' href='#n320'>320</a>
<a id='n321' href='#n321'>321</a>
<a id='n322' href='#n322'>322</a>
<a id='n323' href='#n323'>323</a>
<a id='n324' href='#n324'>324</a>
<a id='n325' href='#n325'>325</a>
<a id='n326' href='#n326'>326</a>
<a id='n327' href='#n327'>327</a>
<a id='n328' href='#n328'>328</a>
<a id='n329' href='#n329'>329</a>
<a id='n330' href='#n330'>330</a>
<a id='n331' href='#n331'>331</a>
<a id='n332' href='#n332'>332</a>
<a id='n333' href='#n333'>333</a>
<a id='n334' href='#n334'>334</a>
<a id='n335' href='#n335'>335</a>
<a id='n336' href='#n336'>336</a>
<a id='n337' href='#n337'>337</a>
<a id='n338' href='#n338'>338</a>
<a id='n339' href='#n339'>339</a>
<a id='n340' href='#n340'>340</a>
<a id='n341' href='#n341'>341</a>
<a id='n342' href='#n342'>342</a>
<a id='n343' href='#n343'>343</a>
<a id='n344' href='#n344'>344</a>
<a id='n345' href='#n345'>345</a>
<a id='n346' href='#n346'>346</a>
<a id='n347' href='#n347'>347</a>
<a id='n348' href='#n348'>348</a>
<a id='n349' href='#n349'>349</a>
<a id='n350' href='#n350'>350</a>
<a id='n351' href='#n351'>351</a>
<a id='n352' href='#n352'>352</a>
<a id='n353' href='#n353'>353</a>
<a id='n354' href='#n354'>354</a>
<a id='n355' href='#n355'>355</a>
<a id='n356' href='#n356'>356</a>
<a id='n357' href='#n357'>357</a>
<a id='n358' href='#n358'>358</a>
<a id='n359' href='#n359'>359</a>
<a id='n360' href='#n360'>360</a>
<a id='n361' href='#n361'>361</a>
<a id='n362' href='#n362'>362</a>
<a id='n363' href='#n363'>363</a>
<a id='n364' href='#n364'>364</a>
<a id='n365' href='#n365'>365</a>
<a id='n366' href='#n366'>366</a>
<a id='n367' href='#n367'>367</a>
<a id='n368' href='#n368'>368</a>
<a id='n369' href='#n369'>369</a>
<a id='n370' href='#n370'>370</a>
<a id='n371' href='#n371'>371</a>
<a id='n372' href='#n372'>372</a>
<a id='n373' href='#n373'>373</a>
<a id='n374' href='#n374'>374</a>
<a id='n375' href='#n375'>375</a>
<a id='n376' href='#n376'>376</a>
<a id='n377' href='#n377'>377</a>
<a id='n378' href='#n378'>378</a>
<a id='n379' href='#n379'>379</a>
<a id='n380' href='#n380'>380</a>
<a id='n381' href='#n381'>381</a>
<a id='n382' href='#n382'>382</a>
<a id='n383' href='#n383'>383</a>
<a id='n384' href='#n384'>384</a>
<a id='n385' href='#n385'>385</a>
<a id='n386' href='#n386'>386</a>
<a id='n387' href='#n387'>387</a>
<a id='n388' href='#n388'>388</a>
<a id='n389' href='#n389'>389</a>
<a id='n390' href='#n390'>390</a>
<a id='n391' href='#n391'>391</a>
<a id='n392' href='#n392'>392</a>
<a id='n393' href='#n393'>393</a>
<a id='n394' href='#n394'>394</a>
<a id='n395' href='#n395'>395</a>
<a id='n396' href='#n396'>396</a>
<a id='n397' href='#n397'>397</a>
<a id='n398' href='#n398'>398</a>
<a id='n399' href='#n399'>399</a>
<a id='n400' href='#n400'>400</a>
<a id='n401' href='#n401'>401</a>
<a id='n402' href='#n402'>402</a>
<a id='n403' href='#n403'>403</a>
<a id='n404' href='#n404'>404</a>
<a id='n405' href='#n405'>405</a>
<a id='n406' href='#n406'>406</a>
<a id='n407' href='#n407'>407</a>
<a id='n408' href='#n408'>408</a>
<a id='n409' href='#n409'>409</a>
<a id='n410' href='#n410'>410</a>
<a id='n411' href='#n411'>411</a>
<a id='n412' href='#n412'>412</a>
<a id='n413' href='#n413'>413</a>
<a id='n414' href='#n414'>414</a>
<a id='n415' href='#n415'>415</a>
<a id='n416' href='#n416'>416</a>
<a id='n417' href='#n417'>417</a>
<a id='n418' href='#n418'>418</a>
<a id='n419' href='#n419'>419</a>
<a id='n420' href='#n420'>420</a>
<a id='n421' href='#n421'>421</a>
<a id='n422' href='#n422'>422</a>
<a id='n423' href='#n423'>423</a>
<a id='n424' href='#n424'>424</a>
<a id='n425' href='#n425'>425</a>
<a id='n426' href='#n426'>426</a>
<a id='n427' href='#n427'>427</a>
<a id='n428' href='#n428'>428</a>
<a id='n429' href='#n429'>429</a>
<a id='n430' href='#n430'>430</a>
<a id='n431' href='#n431'>431</a>
<a id='n432' href='#n432'>432</a>
<a id='n433' href='#n433'>433</a>
<a id='n434' href='#n434'>434</a>
<a id='n435' href='#n435'>435</a>
<a id='n436' href='#n436'>436</a>
<a id='n437' href='#n437'>437</a>
<a id='n438' href='#n438'>438</a>
<a id='n439' href='#n439'>439</a>
<a id='n440' href='#n440'>440</a>
<a id='n441' href='#n441'>441</a>
<a id='n442' href='#n442'>442</a>
<a id='n443' href='#n443'>443</a>
<a id='n444' href='#n444'>444</a>
<a id='n445' href='#n445'>445</a>
<a id='n446' href='#n446'>446</a>
<a id='n447' href='#n447'>447</a>
<a id='n448' href='#n448'>448</a>
<a id='n449' href='#n449'>449</a>
<a id='n450' href='#n450'>450</a>
<a id='n451' href='#n451'>451</a>
<a id='n452' href='#n452'>452</a>
<a id='n453' href='#n453'>453</a>
<a id='n454' href='#n454'>454</a>
<a id='n455' href='#n455'>455</a>
<a id='n456' href='#n456'>456</a>
<a id='n457' href='#n457'>457</a>
<a id='n458' href='#n458'>458</a>
<a id='n459' href='#n459'>459</a>
<a id='n460' href='#n460'>460</a>
<a id='n461' href='#n461'>461</a>
<a id='n462' href='#n462'>462</a>
<a id='n463' href='#n463'>463</a>
<a id='n464' href='#n464'>464</a>
<a id='n465' href='#n465'>465</a>
<a id='n466' href='#n466'>466</a>
<a id='n467' href='#n467'>467</a>
<a id='n468' href='#n468'>468</a>
<a id='n469' href='#n469'>469</a>
<a id='n470' href='#n470'>470</a>
<a id='n471' href='#n471'>471</a>
<a id='n472' href='#n472'>472</a>
<a id='n473' href='#n473'>473</a>
<a id='n474' href='#n474'>474</a>
<a id='n475' href='#n475'>475</a>
<a id='n476' href='#n476'>476</a>
<a id='n477' href='#n477'>477</a>
<a id='n478' href='#n478'>478</a>
<a id='n479' href='#n479'>479</a>
<a id='n480' href='#n480'>480</a>
<a id='n481' href='#n481'>481</a>
<a id='n482' href='#n482'>482</a>
<a id='n483' href='#n483'>483</a>
<a id='n484' href='#n484'>484</a>
<a id='n485' href='#n485'>485</a>
<a id='n486' href='#n486'>486</a>
<a id='n487' href='#n487'>487</a>
<a id='n488' href='#n488'>488</a>
<a id='n489' href='#n489'>489</a>
<a id='n490' href='#n490'>490</a>
<a id='n491' href='#n491'>491</a>
<a id='n492' href='#n492'>492</a>
<a id='n493' href='#n493'>493</a>
<a id='n494' href='#n494'>494</a>
<a id='n495' href='#n495'>495</a>
<a id='n496' href='#n496'>496</a>
<a id='n497' href='#n497'>497</a>
<a id='n498' href='#n498'>498</a>
<a id='n499' href='#n499'>499</a>
<a id='n500' href='#n500'>500</a>
<a id='n501' href='#n501'>501</a>
<a id='n502' href='#n502'>502</a>
<a id='n503' href='#n503'>503</a>
<a id='n504' href='#n504'>504</a>
<a id='n505' href='#n505'>505</a>
<a id='n506' href='#n506'>506</a>
<a id='n507' href='#n507'>507</a>
<a id='n508' href='#n508'>508</a>
<a id='n509' href='#n509'>509</a>
<a id='n510' href='#n510'>510</a>
<a id='n511' href='#n511'>511</a>
<a id='n512' href='#n512'>512</a>
<a id='n513' href='#n513'>513</a>
<a id='n514' href='#n514'>514</a>
<a id='n515' href='#n515'>515</a>
<a id='n516' href='#n516'>516</a>
<a id='n517' href='#n517'>517</a>
<a id='n518' href='#n518'>518</a>
<a id='n519' href='#n519'>519</a>
<a id='n520' href='#n520'>520</a>
<a id='n521' href='#n521'>521</a>
<a id='n522' href='#n522'>522</a>
<a id='n523' href='#n523'>523</a>
<a id='n524' href='#n524'>524</a>
<a id='n525' href='#n525'>525</a>
<a id='n526' href='#n526'>526</a>
<a id='n527' href='#n527'>527</a>
<a id='n528' href='#n528'>528</a>
<a id='n529' href='#n529'>529</a>
<a id='n530' href='#n530'>530</a>
<a id='n531' href='#n531'>531</a>
<a id='n532' href='#n532'>532</a>
<a id='n533' href='#n533'>533</a>
<a id='n534' href='#n534'>534</a>
<a id='n535' href='#n535'>535</a>
<a id='n536' href='#n536'>536</a>
<a id='n537' href='#n537'>537</a>
<a id='n538' href='#n538'>538</a>
<a id='n539' href='#n539'>539</a>
<a id='n540' href='#n540'>540</a>
<a id='n541' href='#n541'>541</a>
<a id='n542' href='#n542'>542</a>
<a id='n543' href='#n543'>543</a>
<a id='n544' href='#n544'>544</a>
<a id='n545' href='#n545'>545</a>
<a id='n546' href='#n546'>546</a>
<a id='n547' href='#n547'>547</a>
<a id='n548' href='#n548'>548</a>
<a id='n549' href='#n549'>549</a>
<a id='n550' href='#n550'>550</a>
<a id='n551' href='#n551'>551</a>
<a id='n552' href='#n552'>552</a>
<a id='n553' href='#n553'>553</a>
<a id='n554' href='#n554'>554</a>
<a id='n555' href='#n555'>555</a>
<a id='n556' href='#n556'>556</a>
<a id='n557' href='#n557'>557</a>
<a id='n558' href='#n558'>558</a>
<a id='n559' href='#n559'>559</a>
<a id='n560' href='#n560'>560</a>
<a id='n561' href='#n561'>561</a>
<a id='n562' href='#n562'>562</a>
<a id='n563' href='#n563'>563</a>
<a id='n564' href='#n564'>564</a>
<a id='n565' href='#n565'>565</a>
<a id='n566' href='#n566'>566</a>
<a id='n567' href='#n567'>567</a>
<a id='n568' href='#n568'>568</a>
<a id='n569' href='#n569'>569</a>
<a id='n570' href='#n570'>570</a>
<a id='n571' href='#n571'>571</a>
<a id='n572' href='#n572'>572</a>
<a id='n573' href='#n573'>573</a>
<a id='n574' href='#n574'>574</a>
<a id='n575' href='#n575'>575</a>
<a id='n576' href='#n576'>576</a>
<a id='n577' href='#n577'>577</a>
<a id='n578' href='#n578'>578</a>
<a id='n579' href='#n579'>579</a>
<a id='n580' href='#n580'>580</a>
<a id='n581' href='#n581'>581</a>
<a id='n582' href='#n582'>582</a>
<a id='n583' href='#n583'>583</a>
<a id='n584' href='#n584'>584</a>
<a id='n585' href='#n585'>585</a>
<a id='n586' href='#n586'>586</a>
<a id='n587' href='#n587'>587</a>
<a id='n588' href='#n588'>588</a>
<a id='n589' href='#n589'>589</a>
<a id='n590' href='#n590'>590</a>
<a id='n591' href='#n591'>591</a>
<a id='n592' href='#n592'>592</a>
<a id='n593' href='#n593'>593</a>
<a id='n594' href='#n594'>594</a>
<a id='n595' href='#n595'>595</a>
<a id='n596' href='#n596'>596</a>
<a id='n597' href='#n597'>597</a>
<a id='n598' href='#n598'>598</a>
<a id='n599' href='#n599'>599</a>
<a id='n600' href='#n600'>600</a>
<a id='n601' href='#n601'>601</a>
<a id='n602' href='#n602'>602</a>
<a id='n603' href='#n603'>603</a>
<a id='n604' href='#n604'>604</a>
<a id='n605' href='#n605'>605</a>
<a id='n606' href='#n606'>606</a>
<a id='n607' href='#n607'>607</a>
<a id='n608' href='#n608'>608</a>
<a id='n609' href='#n609'>609</a>
<a id='n610' href='#n610'>610</a>
<a id='n611' href='#n611'>611</a>
<a id='n612' href='#n612'>612</a>
<a id='n613' href='#n613'>613</a>
<a id='n614' href='#n614'>614</a>
<a id='n615' href='#n615'>615</a>
<a id='n616' href='#n616'>616</a>
<a id='n617' href='#n617'>617</a>
<a id='n618' href='#n618'>618</a>
<a id='n619' href='#n619'>619</a>
<a id='n620' href='#n620'>620</a>
<a id='n621' href='#n621'>621</a>
<a id='n622' href='#n622'>622</a>
<a id='n623' href='#n623'>623</a>
<a id='n624' href='#n624'>624</a>
<a id='n625' href='#n625'>625</a>
<a id='n626' href='#n626'>626</a>
<a id='n627' href='#n627'>627</a>
<a id='n628' href='#n628'>628</a>
<a id='n629' href='#n629'>629</a>
<a id='n630' href='#n630'>630</a>
<a id='n631' href='#n631'>631</a>
<a id='n632' href='#n632'>632</a>
<a id='n633' href='#n633'>633</a>
<a id='n634' href='#n634'>634</a>
<a id='n635' href='#n635'>635</a>
<a id='n636' href='#n636'>636</a>
<a id='n637' href='#n637'>637</a>
<a id='n638' href='#n638'>638</a>
<a id='n639' href='#n639'>639</a>
<a id='n640' href='#n640'>640</a>
<a id='n641' href='#n641'>641</a>
<a id='n642' href='#n642'>642</a>
<a id='n643' href='#n643'>643</a>
<a id='n644' href='#n644'>644</a>
<a id='n645' href='#n645'>645</a>
<a id='n646' href='#n646'>646</a>
<a id='n647' href='#n647'>647</a>
<a id='n648' href='#n648'>648</a>
<a id='n649' href='#n649'>649</a>
<a id='n650' href='#n650'>650</a>
<a id='n651' href='#n651'>651</a>
<a id='n652' href='#n652'>652</a>
<a id='n653' href='#n653'>653</a>
<a id='n654' href='#n654'>654</a>
<a id='n655' href='#n655'>655</a>
<a id='n656' href='#n656'>656</a>
<a id='n657' href='#n657'>657</a>
<a id='n658' href='#n658'>658</a>
<a id='n659' href='#n659'>659</a>
<a id='n660' href='#n660'>660</a>
<a id='n661' href='#n661'>661</a>
<a id='n662' href='#n662'>662</a>
<a id='n663' href='#n663'>663</a>
<a id='n664' href='#n664'>664</a>
<a id='n665' href='#n665'>665</a>
<a id='n666' href='#n666'>666</a>
<a id='n667' href='#n667'>667</a>
<a id='n668' href='#n668'>668</a>
<a id='n669' href='#n669'>669</a>
<a id='n670' href='#n670'>670</a>
<a id='n671' href='#n671'>671</a>
<a id='n672' href='#n672'>672</a>
<a id='n673' href='#n673'>673</a>
<a id='n674' href='#n674'>674</a>
<a id='n675' href='#n675'>675</a>
<a id='n676' href='#n676'>676</a>
<a id='n677' href='#n677'>677</a>
<a id='n678' href='#n678'>678</a>
<a id='n679' href='#n679'>679</a>
<a id='n680' href='#n680'>680</a>
<a id='n681' href='#n681'>681</a>
<a id='n682' href='#n682'>682</a>
<a id='n683' href='#n683'>683</a>
<a id='n684' href='#n684'>684</a>
<a id='n685' href='#n685'>685</a>
<a id='n686' href='#n686'>686</a>
<a id='n687' href='#n687'>687</a>
<a id='n688' href='#n688'>688</a>
<a id='n689' href='#n689'>689</a>
<a id='n690' href='#n690'>690</a>
<a id='n691' href='#n691'>691</a>
<a id='n692' href='#n692'>692</a>
<a id='n693' href='#n693'>693</a>
<a id='n694' href='#n694'>694</a>
<a id='n695' href='#n695'>695</a>
<a id='n696' href='#n696'>696</a>
<a id='n697' href='#n697'>697</a>
<a id='n698' href='#n698'>698</a>
<a id='n699' href='#n699'>699</a>
<a id='n700' href='#n700'>700</a>
<a id='n701' href='#n701'>701</a>
<a id='n702' href='#n702'>702</a>
<a id='n703' href='#n703'>703</a>
<a id='n704' href='#n704'>704</a>
<a id='n705' href='#n705'>705</a>
<a id='n706' href='#n706'>706</a>
<a id='n707' href='#n707'>707</a>
<a id='n708' href='#n708'>708</a>
<a id='n709' href='#n709'>709</a>
<a id='n710' href='#n710'>710</a>
<a id='n711' href='#n711'>711</a>
<a id='n712' href='#n712'>712</a>
<a id='n713' href='#n713'>713</a>
<a id='n714' href='#n714'>714</a>
<a id='n715' href='#n715'>715</a>
<a id='n716' href='#n716'>716</a>
<a id='n717' href='#n717'>717</a>
<a id='n718' href='#n718'>718</a>
<a id='n719' href='#n719'>719</a>
<a id='n720' href='#n720'>720</a>
<a id='n721' href='#n721'>721</a>
<a id='n722' href='#n722'>722</a>
<a id='n723' href='#n723'>723</a>
<a id='n724' href='#n724'>724</a>
<a id='n725' href='#n725'>725</a>
<a id='n726' href='#n726'>726</a>
<a id='n727' href='#n727'>727</a>
<a id='n728' href='#n728'>728</a>
<a id='n729' href='#n729'>729</a>
<a id='n730' href='#n730'>730</a>
<a id='n731' href='#n731'>731</a>
<a id='n732' href='#n732'>732</a>
<a id='n733' href='#n733'>733</a>
<a id='n734' href='#n734'>734</a>
<a id='n735' href='#n735'>735</a>
<a id='n736' href='#n736'>736</a>
<a id='n737' href='#n737'>737</a>
<a id='n738' href='#n738'>738</a>
<a id='n739' href='#n739'>739</a>
<a id='n740' href='#n740'>740</a>
<a id='n741' href='#n741'>741</a>
<a id='n742' href='#n742'>742</a>
<a id='n743' href='#n743'>743</a>
<a id='n744' href='#n744'>744</a>
<a id='n745' href='#n745'>745</a>
<a id='n746' href='#n746'>746</a>
<a id='n747' href='#n747'>747</a>
<a id='n748' href='#n748'>748</a>
<a id='n749' href='#n749'>749</a>
<a id='n750' href='#n750'>750</a>
<a id='n751' href='#n751'>751</a>
<a id='n752' href='#n752'>752</a>
<a id='n753' href='#n753'>753</a>
<a id='n754' href='#n754'>754</a>
<a id='n755' href='#n755'>755</a>
<a id='n756' href='#n756'>756</a>
<a id='n757' href='#n757'>757</a>
<a id='n758' href='#n758'>758</a>
<a id='n759' href='#n759'>759</a>
<a id='n760' href='#n760'>760</a>
<a id='n761' href='#n761'>761</a>
<a id='n762' href='#n762'>762</a>
<a id='n763' href='#n763'>763</a>
<a id='n764' href='#n764'>764</a>
<a id='n765' href='#n765'>765</a>
<a id='n766' href='#n766'>766</a>
<a id='n767' href='#n767'>767</a>
<a id='n768' href='#n768'>768</a>
<a id='n769' href='#n769'>769</a>
<a id='n770' href='#n770'>770</a>
<a id='n771' href='#n771'>771</a>
<a id='n772' href='#n772'>772</a>
<a id='n773' href='#n773'>773</a>
<a id='n774' href='#n774'>774</a>
<a id='n775' href='#n775'>775</a>
<a id='n776' href='#n776'>776</a>
<a id='n777' href='#n777'>777</a>
<a id='n778' href='#n778'>778</a>
<a id='n779' href='#n779'>779</a>
<a id='n780' href='#n780'>780</a>
<a id='n781' href='#n781'>781</a>
<a id='n782' href='#n782'>782</a>
<a id='n783' href='#n783'>783</a>
<a id='n784' href='#n784'>784</a>
<a id='n785' href='#n785'>785</a>
<a id='n786' href='#n786'>786</a>
<a id='n787' href='#n787'>787</a>
<a id='n788' href='#n788'>788</a>
<a id='n789' href='#n789'>789</a>
<a id='n790' href='#n790'>790</a>
<a id='n791' href='#n791'>791</a>
<a id='n792' href='#n792'>792</a>
<a id='n793' href='#n793'>793</a>
<a id='n794' href='#n794'>794</a>
<a id='n795' href='#n795'>795</a>
<a id='n796' href='#n796'>796</a>
<a id='n797' href='#n797'>797</a>
<a id='n798' href='#n798'>798</a>
<a id='n799' href='#n799'>799</a>
<a id='n800' href='#n800'>800</a>
<a id='n801' href='#n801'>801</a>
<a id='n802' href='#n802'>802</a>
<a id='n803' href='#n803'>803</a>
<a id='n804' href='#n804'>804</a>
<a id='n805' href='#n805'>805</a>
<a id='n806' href='#n806'>806</a>
<a id='n807' href='#n807'>807</a>
<a id='n808' href='#n808'>808</a>
<a id='n809' href='#n809'>809</a>
<a id='n810' href='#n810'>810</a>
<a id='n811' href='#n811'>811</a>
<a id='n812' href='#n812'>812</a>
<a id='n813' href='#n813'>813</a>
<a id='n814' href='#n814'>814</a>
<a id='n815' href='#n815'>815</a>
<a id='n816' href='#n816'>816</a>
<a id='n817' href='#n817'>817</a>
<a id='n818' href='#n818'>818</a>
<a id='n819' href='#n819'>819</a>
<a id='n820' href='#n820'>820</a>
<a id='n821' href='#n821'>821</a>
<a id='n822' href='#n822'>822</a>
<a id='n823' href='#n823'>823</a>
<a id='n824' href='#n824'>824</a>
<a id='n825' href='#n825'>825</a>
<a id='n826' href='#n826'>826</a>
<a id='n827' href='#n827'>827</a>
<a id='n828' href='#n828'>828</a>
<a id='n829' href='#n829'>829</a>
<a id='n830' href='#n830'>830</a>
<a id='n831' href='#n831'>831</a>
<a id='n832' href='#n832'>832</a>
<a id='n833' href='#n833'>833</a>
<a id='n834' href='#n834'>834</a>
<a id='n835' href='#n835'>835</a>
<a id='n836' href='#n836'>836</a>
<a id='n837' href='#n837'>837</a>
<a id='n838' href='#n838'>838</a>
<a id='n839' href='#n839'>839</a>
<a id='n840' href='#n840'>840</a>
<a id='n841' href='#n841'>841</a>
<a id='n842' href='#n842'>842</a>
<a id='n843' href='#n843'>843</a>
<a id='n844' href='#n844'>844</a>
<a id='n845' href='#n845'>845</a>
<a id='n846' href='#n846'>846</a>
<a id='n847' href='#n847'>847</a>
<a id='n848' href='#n848'>848</a>
<a id='n849' href='#n849'>849</a>
<a id='n850' href='#n850'>850</a>
<a id='n851' href='#n851'>851</a>
<a id='n852' href='#n852'>852</a>
<a id='n853' href='#n853'>853</a>
<a id='n854' href='#n854'>854</a>
<a id='n855' href='#n855'>855</a>
<a id='n856' href='#n856'>856</a>
<a id='n857' href='#n857'>857</a>
<a id='n858' href='#n858'>858</a>
<a id='n859' href='#n859'>859</a>
<a id='n860' href='#n860'>860</a>
<a id='n861' href='#n861'>861</a>
<a id='n862' href='#n862'>862</a>
<a id='n863' href='#n863'>863</a>
<a id='n864' href='#n864'>864</a>
<a id='n865' href='#n865'>865</a>
<a id='n866' href='#n866'>866</a>
<a id='n867' href='#n867'>867</a>
<a id='n868' href='#n868'>868</a>
<a id='n869' href='#n869'>869</a>
<a id='n870' href='#n870'>870</a>
<a id='n871' href='#n871'>871</a>
<a id='n872' href='#n872'>872</a>
<a id='n873' href='#n873'>873</a>
<a id='n874' href='#n874'>874</a>
<a id='n875' href='#n875'>875</a>
<a id='n876' href='#n876'>876</a>
<a id='n877' href='#n877'>877</a>
<a id='n878' href='#n878'>878</a>
<a id='n879' href='#n879'>879</a>
<a id='n880' href='#n880'>880</a>
<a id='n881' href='#n881'>881</a>
<a id='n882' href='#n882'>882</a>
<a id='n883' href='#n883'>883</a>
<a id='n884' href='#n884'>884</a>
<a id='n885' href='#n885'>885</a>
<a id='n886' href='#n886'>886</a>
<a id='n887' href='#n887'>887</a>
<a id='n888' href='#n888'>888</a>
<a id='n889' href='#n889'>889</a>
<a id='n890' href='#n890'>890</a>
<a id='n891' href='#n891'>891</a>
<a id='n892' href='#n892'>892</a>
<a id='n893' href='#n893'>893</a>
<a id='n894' href='#n894'>894</a>
<a id='n895' href='#n895'>895</a>
<a id='n896' href='#n896'>896</a>
<a id='n897' href='#n897'>897</a>
<a id='n898' href='#n898'>898</a>
<a id='n899' href='#n899'>899</a>
<a id='n900' href='#n900'>900</a>
<a id='n901' href='#n901'>901</a>
<a id='n902' href='#n902'>902</a>
<a id='n903' href='#n903'>903</a>
<a id='n904' href='#n904'>904</a>
<a id='n905' href='#n905'>905</a>
<a id='n906' href='#n906'>906</a>
<a id='n907' href='#n907'>907</a>
<a id='n908' href='#n908'>908</a>
<a id='n909' href='#n909'>909</a>
<a id='n910' href='#n910'>910</a>
<a id='n911' href='#n911'>911</a>
<a id='n912' href='#n912'>912</a>
<a id='n913' href='#n913'>913</a>
<a id='n914' href='#n914'>914</a>
<a id='n915' href='#n915'>915</a>
<a id='n916' href='#n916'>916</a>
<a id='n917' href='#n917'>917</a>
<a id='n918' href='#n918'>918</a>
<a id='n919' href='#n919'>919</a>
<a id='n920' href='#n920'>920</a>
<a id='n921' href='#n921'>921</a>
<a id='n922' href='#n922'>922</a>
<a id='n923' href='#n923'>923</a>
<a id='n924' href='#n924'>924</a>
<a id='n925' href='#n925'>925</a>
<a id='n926' href='#n926'>926</a>
<a id='n927' href='#n927'>927</a>
<a id='n928' href='#n928'>928</a>
<a id='n929' href='#n929'>929</a>
<a id='n930' href='#n930'>930</a>
<a id='n931' href='#n931'>931</a>
<a id='n932' href='#n932'>932</a>
<a id='n933' href='#n933'>933</a>
<a id='n934' href='#n934'>934</a>
<a id='n935' href='#n935'>935</a>
<a id='n936' href='#n936'>936</a>
<a id='n937' href='#n937'>937</a>
<a id='n938' href='#n938'>938</a>
<a id='n939' href='#n939'>939</a>
<a id='n940' href='#n940'>940</a>
<a id='n941' href='#n941'>941</a>
<a id='n942' href='#n942'>942</a>
<a id='n943' href='#n943'>943</a>
<a id='n944' href='#n944'>944</a>
<a id='n945' href='#n945'>945</a>
<a id='n946' href='#n946'>946</a>
<a id='n947' href='#n947'>947</a>
<a id='n948' href='#n948'>948</a>
<a id='n949' href='#n949'>949</a>
<a id='n950' href='#n950'>950</a>
<a id='n951' href='#n951'>951</a>
<a id='n952' href='#n952'>952</a>
<a id='n953' href='#n953'>953</a>
<a id='n954' href='#n954'>954</a>
<a id='n955' href='#n955'>955</a>
<a id='n956' href='#n956'>956</a>
<a id='n957' href='#n957'>957</a>
<a id='n958' href='#n958'>958</a>
<a id='n959' href='#n959'>959</a>
<a id='n960' href='#n960'>960</a>
<a id='n961' href='#n961'>961</a>
<a id='n962' href='#n962'>962</a>
<a id='n963' href='#n963'>963</a>
<a id='n964' href='#n964'>964</a>
<a id='n965' href='#n965'>965</a>
<a id='n966' href='#n966'>966</a>
<a id='n967' href='#n967'>967</a>
<a id='n968' href='#n968'>968</a>
<a id='n969' href='#n969'>969</a>
<a id='n970' href='#n970'>970</a>
<a id='n971' href='#n971'>971</a>
<a id='n972' href='#n972'>972</a>
<a id='n973' href='#n973'>973</a>
<a id='n974' href='#n974'>974</a>
<a id='n975' href='#n975'>975</a>
<a id='n976' href='#n976'>976</a>
<a id='n977' href='#n977'>977</a>
<a id='n978' href='#n978'>978</a>
<a id='n979' href='#n979'>979</a>
<a id='n980' href='#n980'>980</a>
<a id='n981' href='#n981'>981</a>
<a id='n982' href='#n982'>982</a>
<a id='n983' href='#n983'>983</a>
<a id='n984' href='#n984'>984</a>
<a id='n985' href='#n985'>985</a>
<a id='n986' href='#n986'>986</a>
<a id='n987' href='#n987'>987</a>
<a id='n988' href='#n988'>988</a>
<a id='n989' href='#n989'>989</a>
<a id='n990' href='#n990'>990</a>
<a id='n991' href='#n991'>991</a>
<a id='n992' href='#n992'>992</a>
<a id='n993' href='#n993'>993</a>
<a id='n994' href='#n994'>994</a>
<a id='n995' href='#n995'>995</a>
<a id='n996' href='#n996'>996</a>
<a id='n997' href='#n997'>997</a>
<a id='n998' href='#n998'>998</a>
<a id='n999' href='#n999'>999</a>
<a id='n1000' href='#n1000'>1000</a>
<a id='n1001' href='#n1001'>1001</a>
<a id='n1002' href='#n1002'>1002</a>
<a id='n1003' href='#n1003'>1003</a>
<a id='n1004' href='#n1004'>1004</a>
<a id='n1005' href='#n1005'>1005</a>
<a id='n1006' href='#n1006'>1006</a>
<a id='n1007' href='#n1007'>1007</a>
<a id='n1008' href='#n1008'>1008</a>
<a id='n1009' href='#n1009'>1009</a>
<a id='n1010' href='#n1010'>1010</a>
<a id='n1011' href='#n1011'>1011</a>
<a id='n1012' href='#n1012'>1012</a>
<a id='n1013' href='#n1013'>1013</a>
<a id='n1014' href='#n1014'>1014</a>
<a id='n1015' href='#n1015'>1015</a>
<a id='n1016' href='#n1016'>1016</a>
<a id='n1017' href='#n1017'>1017</a>
<a id='n1018' href='#n1018'>1018</a>
<a id='n1019' href='#n1019'>1019</a>
<a id='n1020' href='#n1020'>1020</a>
<a id='n1021' href='#n1021'>1021</a>
<a id='n1022' href='#n1022'>1022</a>
<a id='n1023' href='#n1023'>1023</a>
<a id='n1024' href='#n1024'>1024</a>
<a id='n1025' href='#n1025'>1025</a>
<a id='n1026' href='#n1026'>1026</a>
<a id='n1027' href='#n1027'>1027</a>
<a id='n1028' href='#n1028'>1028</a>
<a id='n1029' href='#n1029'>1029</a>
<a id='n1030' href='#n1030'>1030</a>
<a id='n1031' href='#n1031'>1031</a>
<a id='n1032' href='#n1032'>1032</a>
<a id='n1033' href='#n1033'>1033</a>
<a id='n1034' href='#n1034'>1034</a>
<a id='n1035' href='#n1035'>1035</a>
<a id='n1036' href='#n1036'>1036</a>
<a id='n1037' href='#n1037'>1037</a>
<a id='n1038' href='#n1038'>1038</a>
<a id='n1039' href='#n1039'>1039</a>
<a id='n1040' href='#n1040'>1040</a>
<a id='n1041' href='#n1041'>1041</a>
<a id='n1042' href='#n1042'>1042</a>
<a id='n1043' href='#n1043'>1043</a>
<a id='n1044' href='#n1044'>1044</a>
<a id='n1045' href='#n1045'>1045</a>
<a id='n1046' href='#n1046'>1046</a>
<a id='n1047' href='#n1047'>1047</a>
<a id='n1048' href='#n1048'>1048</a>
<a id='n1049' href='#n1049'>1049</a>
<a id='n1050' href='#n1050'>1050</a>
<a id='n1051' href='#n1051'>1051</a>
<a id='n1052' href='#n1052'>1052</a>
<a id='n1053' href='#n1053'>1053</a>
<a id='n1054' href='#n1054'>1054</a>
<a id='n1055' href='#n1055'>1055</a>
<a id='n1056' href='#n1056'>1056</a>
<a id='n1057' href='#n1057'>1057</a>
<a id='n1058' href='#n1058'>1058</a>
<a id='n1059' href='#n1059'>1059</a>
<a id='n1060' href='#n1060'>1060</a>
<a id='n1061' href='#n1061'>1061</a>
<a id='n1062' href='#n1062'>1062</a>
<a id='n1063' href='#n1063'>1063</a>
<a id='n1064' href='#n1064'>1064</a>
<a id='n1065' href='#n1065'>1065</a>
<a id='n1066' href='#n1066'>1066</a>
<a id='n1067' href='#n1067'>1067</a>
<a id='n1068' href='#n1068'>1068</a>
<a id='n1069' href='#n1069'>1069</a>
<a id='n1070' href='#n1070'>1070</a>
<a id='n1071' href='#n1071'>1071</a>
<a id='n1072' href='#n1072'>1072</a>
<a id='n1073' href='#n1073'>1073</a>
<a id='n1074' href='#n1074'>1074</a>
<a id='n1075' href='#n1075'>1075</a>
<a id='n1076' href='#n1076'>1076</a>
<a id='n1077' href='#n1077'>1077</a>
<a id='n1078' href='#n1078'>1078</a>
<a id='n1079' href='#n1079'>1079</a>
<a id='n1080' href='#n1080'>1080</a>
<a id='n1081' href='#n1081'>1081</a>
<a id='n1082' href='#n1082'>1082</a>
<a id='n1083' href='#n1083'>1083</a>
<a id='n1084' href='#n1084'>1084</a>
<a id='n1085' href='#n1085'>1085</a>
<a id='n1086' href='#n1086'>1086</a>
<a id='n1087' href='#n1087'>1087</a>
<a id='n1088' href='#n1088'>1088</a>
<a id='n1089' href='#n1089'>1089</a>
<a id='n1090' href='#n1090'>1090</a>
<a id='n1091' href='#n1091'>1091</a>
<a id='n1092' href='#n1092'>1092</a>
<a id='n1093' href='#n1093'>1093</a>
<a id='n1094' href='#n1094'>1094</a>
<a id='n1095' href='#n1095'>1095</a>
<a id='n1096' href='#n1096'>1096</a>
<a id='n1097' href='#n1097'>1097</a>
<a id='n1098' href='#n1098'>1098</a>
<a id='n1099' href='#n1099'>1099</a>
<a id='n1100' href='#n1100'>1100</a>
<a id='n1101' href='#n1101'>1101</a>
<a id='n1102' href='#n1102'>1102</a>
<a id='n1103' href='#n1103'>1103</a>
<a id='n1104' href='#n1104'>1104</a>
<a id='n1105' href='#n1105'>1105</a>
<a id='n1106' href='#n1106'>1106</a>
<a id='n1107' href='#n1107'>1107</a>
<a id='n1108' href='#n1108'>1108</a>
<a id='n1109' href='#n1109'>1109</a>
<a id='n1110' href='#n1110'>1110</a>
<a id='n1111' href='#n1111'>1111</a>
<a id='n1112' href='#n1112'>1112</a>
<a id='n1113' href='#n1113'>1113</a>
<a id='n1114' href='#n1114'>1114</a>
<a id='n1115' href='#n1115'>1115</a>
<a id='n1116' href='#n1116'>1116</a>
<a id='n1117' href='#n1117'>1117</a>
<a id='n1118' href='#n1118'>1118</a>
<a id='n1119' href='#n1119'>1119</a>
<a id='n1120' href='#n1120'>1120</a>
<a id='n1121' href='#n1121'>1121</a>
<a id='n1122' href='#n1122'>1122</a>
<a id='n1123' href='#n1123'>1123</a>
<a id='n1124' href='#n1124'>1124</a>
<a id='n1125' href='#n1125'>1125</a>
<a id='n1126' href='#n1126'>1126</a>
<a id='n1127' href='#n1127'>1127</a>
<a id='n1128' href='#n1128'>1128</a>
<a id='n1129' href='#n1129'>1129</a>
<a id='n1130' href='#n1130'>1130</a>
<a id='n1131' href='#n1131'>1131</a>
<a id='n1132' href='#n1132'>1132</a>
<a id='n1133' href='#n1133'>1133</a>
<a id='n1134' href='#n1134'>1134</a>
<a id='n1135' href='#n1135'>1135</a>
<a id='n1136' href='#n1136'>1136</a>
<a id='n1137' href='#n1137'>1137</a>
<a id='n1138' href='#n1138'>1138</a>
<a id='n1139' href='#n1139'>1139</a>
<a id='n1140' href='#n1140'>1140</a>
<a id='n1141' href='#n1141'>1141</a>
<a id='n1142' href='#n1142'>1142</a>
<a id='n1143' href='#n1143'>1143</a>
<a id='n1144' href='#n1144'>1144</a>
<a id='n1145' href='#n1145'>1145</a>
<a id='n1146' href='#n1146'>1146</a>
<a id='n1147' href='#n1147'>1147</a>
<a id='n1148' href='#n1148'>1148</a>
<a id='n1149' href='#n1149'>1149</a>
<a id='n1150' href='#n1150'>1150</a>
<a id='n1151' href='#n1151'>1151</a>
<a id='n1152' href='#n1152'>1152</a>
<a id='n1153' href='#n1153'>1153</a>
<a id='n1154' href='#n1154'>1154</a>
<a id='n1155' href='#n1155'>1155</a>
<a id='n1156' href='#n1156'>1156</a>
<a id='n1157' href='#n1157'>1157</a>
<a id='n1158' href='#n1158'>1158</a>
<a id='n1159' href='#n1159'>1159</a>
<a id='n1160' href='#n1160'>1160</a>
<a id='n1161' href='#n1161'>1161</a>
<a id='n1162' href='#n1162'>1162</a>
<a id='n1163' href='#n1163'>1163</a>
<a id='n1164' href='#n1164'>1164</a>
<a id='n1165' href='#n1165'>1165</a>
<a id='n1166' href='#n1166'>1166</a>
<a id='n1167' href='#n1167'>1167</a>
<a id='n1168' href='#n1168'>1168</a>
<a id='n1169' href='#n1169'>1169</a>
<a id='n1170' href='#n1170'>1170</a>
<a id='n1171' href='#n1171'>1171</a>
<a id='n1172' href='#n1172'>1172</a>
<a id='n1173' href='#n1173'>1173</a>
<a id='n1174' href='#n1174'>1174</a>
<a id='n1175' href='#n1175'>1175</a>
<a id='n1176' href='#n1176'>1176</a>
<a id='n1177' href='#n1177'>1177</a>
<a id='n1178' href='#n1178'>1178</a>
<a id='n1179' href='#n1179'>1179</a>
<a id='n1180' href='#n1180'>1180</a>
<a id='n1181' href='#n1181'>1181</a>
<a id='n1182' href='#n1182'>1182</a>
<a id='n1183' href='#n1183'>1183</a>
<a id='n1184' href='#n1184'>1184</a>
<a id='n1185' href='#n1185'>1185</a>
<a id='n1186' href='#n1186'>1186</a>
<a id='n1187' href='#n1187'>1187</a>
<a id='n1188' href='#n1188'>1188</a>
<a id='n1189' href='#n1189'>1189</a>
<a id='n1190' href='#n1190'>1190</a>
<a id='n1191' href='#n1191'>1191</a>
<a id='n1192' href='#n1192'>1192</a>
<a id='n1193' href='#n1193'>1193</a>
<a id='n1194' href='#n1194'>1194</a>
<a id='n1195' href='#n1195'>1195</a>
<a id='n1196' href='#n1196'>1196</a>
<a id='n1197' href='#n1197'>1197</a>
<a id='n1198' href='#n1198'>1198</a>
<a id='n1199' href='#n1199'>1199</a>
<a id='n1200' href='#n1200'>1200</a>
<a id='n1201' href='#n1201'>1201</a>
<a id='n1202' href='#n1202'>1202</a>
<a id='n1203' href='#n1203'>1203</a>
<a id='n1204' href='#n1204'>1204</a>
<a id='n1205' href='#n1205'>1205</a>
<a id='n1206' href='#n1206'>1206</a>
<a id='n1207' href='#n1207'>1207</a>
<a id='n1208' href='#n1208'>1208</a>
<a id='n1209' href='#n1209'>1209</a>
<a id='n1210' href='#n1210'>1210</a>
<a id='n1211' href='#n1211'>1211</a>
<a id='n1212' href='#n1212'>1212</a>
<a id='n1213' href='#n1213'>1213</a>
<a id='n1214' href='#n1214'>1214</a>
<a id='n1215' href='#n1215'>1215</a>
<a id='n1216' href='#n1216'>1216</a>
<a id='n1217' href='#n1217'>1217</a>
<a id='n1218' href='#n1218'>1218</a>
<a id='n1219' href='#n1219'>1219</a>
<a id='n1220' href='#n1220'>1220</a>
<a id='n1221' href='#n1221'>1221</a>
<a id='n1222' href='#n1222'>1222</a>
<a id='n1223' href='#n1223'>1223</a>
<a id='n1224' href='#n1224'>1224</a>
<a id='n1225' href='#n1225'>1225</a>
<a id='n1226' href='#n1226'>1226</a>
<a id='n1227' href='#n1227'>1227</a>
<a id='n1228' href='#n1228'>1228</a>
<a id='n1229' href='#n1229'>1229</a>
<a id='n1230' href='#n1230'>1230</a>
<a id='n1231' href='#n1231'>1231</a>
<a id='n1232' href='#n1232'>1232</a>
<a id='n1233' href='#n1233'>1233</a>
<a id='n1234' href='#n1234'>1234</a>
<a id='n1235' href='#n1235'>1235</a>
<a id='n1236' href='#n1236'>1236</a>
<a id='n1237' href='#n1237'>1237</a>
<a id='n1238' href='#n1238'>1238</a>
<a id='n1239' href='#n1239'>1239</a>
<a id='n1240' href='#n1240'>1240</a>
<a id='n1241' href='#n1241'>1241</a>
<a id='n1242' href='#n1242'>1242</a>
<a id='n1243' href='#n1243'>1243</a>
<a id='n1244' href='#n1244'>1244</a>
<a id='n1245' href='#n1245'>1245</a>
<a id='n1246' href='#n1246'>1246</a>
<a id='n1247' href='#n1247'>1247</a>
<a id='n1248' href='#n1248'>1248</a>
<a id='n1249' href='#n1249'>1249</a>
<a id='n1250' href='#n1250'>1250</a>
<a id='n1251' href='#n1251'>1251</a>
<a id='n1252' href='#n1252'>1252</a>
<a id='n1253' href='#n1253'>1253</a>
<a id='n1254' href='#n1254'>1254</a>
<a id='n1255' href='#n1255'>1255</a>
<a id='n1256' href='#n1256'>1256</a>
<a id='n1257' href='#n1257'>1257</a>
<a id='n1258' href='#n1258'>1258</a>
<a id='n1259' href='#n1259'>1259</a>
<a id='n1260' href='#n1260'>1260</a>
<a id='n1261' href='#n1261'>1261</a>
<a id='n1262' href='#n1262'>1262</a>
<a id='n1263' href='#n1263'>1263</a>
<a id='n1264' href='#n1264'>1264</a>
<a id='n1265' href='#n1265'>1265</a>
<a id='n1266' href='#n1266'>1266</a>
<a id='n1267' href='#n1267'>1267</a>
<a id='n1268' href='#n1268'>1268</a>
<a id='n1269' href='#n1269'>1269</a>
<a id='n1270' href='#n1270'>1270</a>
<a id='n1271' href='#n1271'>1271</a>
<a id='n1272' href='#n1272'>1272</a>
<a id='n1273' href='#n1273'>1273</a>
<a id='n1274' href='#n1274'>1274</a>
<a id='n1275' href='#n1275'>1275</a>
<a id='n1276' href='#n1276'>1276</a>
<a id='n1277' href='#n1277'>1277</a>
<a id='n1278' href='#n1278'>1278</a>
<a id='n1279' href='#n1279'>1279</a>
<a id='n1280' href='#n1280'>1280</a>
<a id='n1281' href='#n1281'>1281</a>
<a id='n1282' href='#n1282'>1282</a>
<a id='n1283' href='#n1283'>1283</a>
<a id='n1284' href='#n1284'>1284</a>
<a id='n1285' href='#n1285'>1285</a>
<a id='n1286' href='#n1286'>1286</a>
<a id='n1287' href='#n1287'>1287</a>
<a id='n1288' href='#n1288'>1288</a>
<a id='n1289' href='#n1289'>1289</a>
<a id='n1290' href='#n1290'>1290</a>
<a id='n1291' href='#n1291'>1291</a>
<a id='n1292' href='#n1292'>1292</a>
<a id='n1293' href='#n1293'>1293</a>
<a id='n1294' href='#n1294'>1294</a>
<a id='n1295' href='#n1295'>1295</a>
<a id='n1296' href='#n1296'>1296</a>
<a id='n1297' href='#n1297'>1297</a>
<a id='n1298' href='#n1298'>1298</a>
<a id='n1299' href='#n1299'>1299</a>
<a id='n1300' href='#n1300'>1300</a>
<a id='n1301' href='#n1301'>1301</a>
<a id='n1302' href='#n1302'>1302</a>
<a id='n1303' href='#n1303'>1303</a>
<a id='n1304' href='#n1304'>1304</a>
<a id='n1305' href='#n1305'>1305</a>
<a id='n1306' href='#n1306'>1306</a>
<a id='n1307' href='#n1307'>1307</a>
<a id='n1308' href='#n1308'>1308</a>
<a id='n1309' href='#n1309'>1309</a>
<a id='n1310' href='#n1310'>1310</a>
<a id='n1311' href='#n1311'>1311</a>
<a id='n1312' href='#n1312'>1312</a>
<a id='n1313' href='#n1313'>1313</a>
<a id='n1314' href='#n1314'>1314</a>
<a id='n1315' href='#n1315'>1315</a>
<a id='n1316' href='#n1316'>1316</a>
<a id='n1317' href='#n1317'>1317</a>
<a id='n1318' href='#n1318'>1318</a>
<a id='n1319' href='#n1319'>1319</a>
<a id='n1320' href='#n1320'>1320</a>
<a id='n1321' href='#n1321'>1321</a>
<a id='n1322' href='#n1322'>1322</a>
<a id='n1323' href='#n1323'>1323</a>
<a id='n1324' href='#n1324'>1324</a>
<a id='n1325' href='#n1325'>1325</a>
<a id='n1326' href='#n1326'>1326</a>
<a id='n1327' href='#n1327'>1327</a>
<a id='n1328' href='#n1328'>1328</a>
<a id='n1329' href='#n1329'>1329</a>
<a id='n1330' href='#n1330'>1330</a>
<a id='n1331' href='#n1331'>1331</a>
<a id='n1332' href='#n1332'>1332</a>
<a id='n1333' href='#n1333'>1333</a>
<a id='n1334' href='#n1334'>1334</a>
<a id='n1335' href='#n1335'>1335</a>
<a id='n1336' href='#n1336'>1336</a>
<a id='n1337' href='#n1337'>1337</a>
<a id='n1338' href='#n1338'>1338</a>
<a id='n1339' href='#n1339'>1339</a>
<a id='n1340' href='#n1340'>1340</a>
<a id='n1341' href='#n1341'>1341</a>
<a id='n1342' href='#n1342'>1342</a>
<a id='n1343' href='#n1343'>1343</a>
<a id='n1344' href='#n1344'>1344</a>
<a id='n1345' href='#n1345'>1345</a>
<a id='n1346' href='#n1346'>1346</a>
<a id='n1347' href='#n1347'>1347</a>
<a id='n1348' href='#n1348'>1348</a>
<a id='n1349' href='#n1349'>1349</a>
<a id='n1350' href='#n1350'>1350</a>
<a id='n1351' href='#n1351'>1351</a>
<a id='n1352' href='#n1352'>1352</a>
<a id='n1353' href='#n1353'>1353</a>
<a id='n1354' href='#n1354'>1354</a>
<a id='n1355' href='#n1355'>1355</a>
<a id='n1356' href='#n1356'>1356</a>
<a id='n1357' href='#n1357'>1357</a>
<a id='n1358' href='#n1358'>1358</a>
<a id='n1359' href='#n1359'>1359</a>
<a id='n1360' href='#n1360'>1360</a>
<a id='n1361' href='#n1361'>1361</a>
<a id='n1362' href='#n1362'>1362</a>
<a id='n1363' href='#n1363'>1363</a>
<a id='n1364' href='#n1364'>1364</a>
<a id='n1365' href='#n1365'>1365</a>
<a id='n1366' href='#n1366'>1366</a>
<a id='n1367' href='#n1367'>1367</a>
<a id='n1368' href='#n1368'>1368</a>
<a id='n1369' href='#n1369'>1369</a>
<a id='n1370' href='#n1370'>1370</a>
<a id='n1371' href='#n1371'>1371</a>
<a id='n1372' href='#n1372'>1372</a>
<a id='n1373' href='#n1373'>1373</a>
<a id='n1374' href='#n1374'>1374</a>
<a id='n1375' href='#n1375'>1375</a>
<a id='n1376' href='#n1376'>1376</a>
<a id='n1377' href='#n1377'>1377</a>
<a id='n1378' href='#n1378'>1378</a>
<a id='n1379' href='#n1379'>1379</a>
<a id='n1380' href='#n1380'>1380</a>
<a id='n1381' href='#n1381'>1381</a>
<a id='n1382' href='#n1382'>1382</a>
<a id='n1383' href='#n1383'>1383</a>
<a id='n1384' href='#n1384'>1384</a>
<a id='n1385' href='#n1385'>1385</a>
<a id='n1386' href='#n1386'>1386</a>
<a id='n1387' href='#n1387'>1387</a>
<a id='n1388' href='#n1388'>1388</a>
<a id='n1389' href='#n1389'>1389</a>
<a id='n1390' href='#n1390'>1390</a>
<a id='n1391' href='#n1391'>1391</a>
<a id='n1392' href='#n1392'>1392</a>
<a id='n1393' href='#n1393'>1393</a>
<a id='n1394' href='#n1394'>1394</a>
<a id='n1395' href='#n1395'>1395</a>
<a id='n1396' href='#n1396'>1396</a>
<a id='n1397' href='#n1397'>1397</a>
<a id='n1398' href='#n1398'>1398</a>
<a id='n1399' href='#n1399'>1399</a>
<a id='n1400' href='#n1400'>1400</a>
<a id='n1401' href='#n1401'>1401</a>
<a id='n1402' href='#n1402'>1402</a>
<a id='n1403' href='#n1403'>1403</a>
<a id='n1404' href='#n1404'>1404</a>
<a id='n1405' href='#n1405'>1405</a>
<a id='n1406' href='#n1406'>1406</a>
<a id='n1407' href='#n1407'>1407</a>
<a id='n1408' href='#n1408'>1408</a>
<a id='n1409' href='#n1409'>1409</a>
<a id='n1410' href='#n1410'>1410</a>
<a id='n1411' href='#n1411'>1411</a>
<a id='n1412' href='#n1412'>1412</a>
<a id='n1413' href='#n1413'>1413</a>
<a id='n1414' href='#n1414'>1414</a>
<a id='n1415' href='#n1415'>1415</a>
<a id='n1416' href='#n1416'>1416</a>
<a id='n1417' href='#n1417'>1417</a>
<a id='n1418' href='#n1418'>1418</a>
<a id='n1419' href='#n1419'>1419</a>
<a id='n1420' href='#n1420'>1420</a>
<a id='n1421' href='#n1421'>1421</a>
<a id='n1422' href='#n1422'>1422</a>
<a id='n1423' href='#n1423'>1423</a>
<a id='n1424' href='#n1424'>1424</a>
<a id='n1425' href='#n1425'>1425</a>
<a id='n1426' href='#n1426'>1426</a>
<a id='n1427' href='#n1427'>1427</a>
<a id='n1428' href='#n1428'>1428</a>
<a id='n1429' href='#n1429'>1429</a>
<a id='n1430' href='#n1430'>1430</a>
<a id='n1431' href='#n1431'>1431</a>
<a id='n1432' href='#n1432'>1432</a>
<a id='n1433' href='#n1433'>1433</a>
<a id='n1434' href='#n1434'>1434</a>
<a id='n1435' href='#n1435'>1435</a>
<a id='n1436' href='#n1436'>1436</a>
<a id='n1437' href='#n1437'>1437</a>
<a id='n1438' href='#n1438'>1438</a>
<a id='n1439' href='#n1439'>1439</a>
<a id='n1440' href='#n1440'>1440</a>
<a id='n1441' href='#n1441'>1441</a>
<a id='n1442' href='#n1442'>1442</a>
<a id='n1443' href='#n1443'>1443</a>
<a id='n1444' href='#n1444'>1444</a>
<a id='n1445' href='#n1445'>1445</a>
<a id='n1446' href='#n1446'>1446</a>
<a id='n1447' href='#n1447'>1447</a>
<a id='n1448' href='#n1448'>1448</a>
<a id='n1449' href='#n1449'>1449</a>
<a id='n1450' href='#n1450'>1450</a>
<a id='n1451' href='#n1451'>1451</a>
<a id='n1452' href='#n1452'>1452</a>
<a id='n1453' href='#n1453'>1453</a>
<a id='n1454' href='#n1454'>1454</a>
<a id='n1455' href='#n1455'>1455</a>
<a id='n1456' href='#n1456'>1456</a>
<a id='n1457' href='#n1457'>1457</a>
<a id='n1458' href='#n1458'>1458</a>
<a id='n1459' href='#n1459'>1459</a>
<a id='n1460' href='#n1460'>1460</a>
<a id='n1461' href='#n1461'>1461</a>
<a id='n1462' href='#n1462'>1462</a>
<a id='n1463' href='#n1463'>1463</a>
<a id='n1464' href='#n1464'>1464</a>
<a id='n1465' href='#n1465'>1465</a>
<a id='n1466' href='#n1466'>1466</a>
<a id='n1467' href='#n1467'>1467</a>
<a id='n1468' href='#n1468'>1468</a>
<a id='n1469' href='#n1469'>1469</a>
<a id='n1470' href='#n1470'>1470</a>
<a id='n1471' href='#n1471'>1471</a>
<a id='n1472' href='#n1472'>1472</a>
<a id='n1473' href='#n1473'>1473</a>
<a id='n1474' href='#n1474'>1474</a>
<a id='n1475' href='#n1475'>1475</a>
<a id='n1476' href='#n1476'>1476</a>
<a id='n1477' href='#n1477'>1477</a>
<a id='n1478' href='#n1478'>1478</a>
<a id='n1479' href='#n1479'>1479</a>
<a id='n1480' href='#n1480'>1480</a>
<a id='n1481' href='#n1481'>1481</a>
<a id='n1482' href='#n1482'>1482</a>
<a id='n1483' href='#n1483'>1483</a>
<a id='n1484' href='#n1484'>1484</a>
<a id='n1485' href='#n1485'>1485</a>
<a id='n1486' href='#n1486'>1486</a>
<a id='n1487' href='#n1487'>1487</a>
<a id='n1488' href='#n1488'>1488</a>
<a id='n1489' href='#n1489'>1489</a>
<a id='n1490' href='#n1490'>1490</a>
<a id='n1491' href='#n1491'>1491</a>
<a id='n1492' href='#n1492'>1492</a>
<a id='n1493' href='#n1493'>1493</a>
<a id='n1494' href='#n1494'>1494</a>
<a id='n1495' href='#n1495'>1495</a>
<a id='n1496' href='#n1496'>1496</a>
<a id='n1497' href='#n1497'>1497</a>
<a id='n1498' href='#n1498'>1498</a>
<a id='n1499' href='#n1499'>1499</a>
<a id='n1500' href='#n1500'>1500</a>
<a id='n1501' href='#n1501'>1501</a>
<a id='n1502' href='#n1502'>1502</a>
<a id='n1503' href='#n1503'>1503</a>
<a id='n1504' href='#n1504'>1504</a>
<a id='n1505' href='#n1505'>1505</a>
<a id='n1506' href='#n1506'>1506</a>
<a id='n1507' href='#n1507'>1507</a>
<a id='n1508' href='#n1508'>1508</a>
<a id='n1509' href='#n1509'>1509</a>
<a id='n1510' href='#n1510'>1510</a>
<a id='n1511' href='#n1511'>1511</a>
<a id='n1512' href='#n1512'>1512</a>
<a id='n1513' href='#n1513'>1513</a>
<a id='n1514' href='#n1514'>1514</a>
<a id='n1515' href='#n1515'>1515</a>
<a id='n1516' href='#n1516'>1516</a>
<a id='n1517' href='#n1517'>1517</a>
<a id='n1518' href='#n1518'>1518</a>
<a id='n1519' href='#n1519'>1519</a>
<a id='n1520' href='#n1520'>1520</a>
<a id='n1521' href='#n1521'>1521</a>
<a id='n1522' href='#n1522'>1522</a>
<a id='n1523' href='#n1523'>1523</a>
<a id='n1524' href='#n1524'>1524</a>
<a id='n1525' href='#n1525'>1525</a>
<a id='n1526' href='#n1526'>1526</a>
<a id='n1527' href='#n1527'>1527</a>
<a id='n1528' href='#n1528'>1528</a>
<a id='n1529' href='#n1529'>1529</a>
<a id='n1530' href='#n1530'>1530</a>
<a id='n1531' href='#n1531'>1531</a>
<a id='n1532' href='#n1532'>1532</a>
<a id='n1533' href='#n1533'>1533</a>
<a id='n1534' href='#n1534'>1534</a>
<a id='n1535' href='#n1535'>1535</a>
<a id='n1536' href='#n1536'>1536</a>
<a id='n1537' href='#n1537'>1537</a>
<a id='n1538' href='#n1538'>1538</a>
<a id='n1539' href='#n1539'>1539</a>
<a id='n1540' href='#n1540'>1540</a>
<a id='n1541' href='#n1541'>1541</a>
<a id='n1542' href='#n1542'>1542</a>
<a id='n1543' href='#n1543'>1543</a>
<a id='n1544' href='#n1544'>1544</a>
<a id='n1545' href='#n1545'>1545</a>
<a id='n1546' href='#n1546'>1546</a>
<a id='n1547' href='#n1547'>1547</a>
<a id='n1548' href='#n1548'>1548</a>
<a id='n1549' href='#n1549'>1549</a>
<a id='n1550' href='#n1550'>1550</a>
<a id='n1551' href='#n1551'>1551</a>
<a id='n1552' href='#n1552'>1552</a>
<a id='n1553' href='#n1553'>1553</a>
<a id='n1554' href='#n1554'>1554</a>
<a id='n1555' href='#n1555'>1555</a>
<a id='n1556' href='#n1556'>1556</a>
<a id='n1557' href='#n1557'>1557</a>
<a id='n1558' href='#n1558'>1558</a>
<a id='n1559' href='#n1559'>1559</a>
<a id='n1560' href='#n1560'>1560</a>
<a id='n1561' href='#n1561'>1561</a>
<a id='n1562' href='#n1562'>1562</a>
<a id='n1563' href='#n1563'>1563</a>
<a id='n1564' href='#n1564'>1564</a>
<a id='n1565' href='#n1565'>1565</a>
<a id='n1566' href='#n1566'>1566</a>
<a id='n1567' href='#n1567'>1567</a>
<a id='n1568' href='#n1568'>1568</a>
<a id='n1569' href='#n1569'>1569</a>
<a id='n1570' href='#n1570'>1570</a>
<a id='n1571' href='#n1571'>1571</a>
<a id='n1572' href='#n1572'>1572</a>
<a id='n1573' href='#n1573'>1573</a>
<a id='n1574' href='#n1574'>1574</a>
<a id='n1575' href='#n1575'>1575</a>
<a id='n1576' href='#n1576'>1576</a>
<a id='n1577' href='#n1577'>1577</a>
<a id='n1578' href='#n1578'>1578</a>
<a id='n1579' href='#n1579'>1579</a>
<a id='n1580' href='#n1580'>1580</a>
<a id='n1581' href='#n1581'>1581</a>
<a id='n1582' href='#n1582'>1582</a>
<a id='n1583' href='#n1583'>1583</a>
<a id='n1584' href='#n1584'>1584</a>
<a id='n1585' href='#n1585'>1585</a>
<a id='n1586' href='#n1586'>1586</a>
<a id='n1587' href='#n1587'>1587</a>
<a id='n1588' href='#n1588'>1588</a>
<a id='n1589' href='#n1589'>1589</a>
<a id='n1590' href='#n1590'>1590</a>
<a id='n1591' href='#n1591'>1591</a>
<a id='n1592' href='#n1592'>1592</a>
<a id='n1593' href='#n1593'>1593</a>
<a id='n1594' href='#n1594'>1594</a>
<a id='n1595' href='#n1595'>1595</a>
<a id='n1596' href='#n1596'>1596</a>
<a id='n1597' href='#n1597'>1597</a>
<a id='n1598' href='#n1598'>1598</a>
<a id='n1599' href='#n1599'>1599</a>
<a id='n1600' href='#n1600'>1600</a>
<a id='n1601' href='#n1601'>1601</a>
<a id='n1602' href='#n1602'>1602</a>
<a id='n1603' href='#n1603'>1603</a>
<a id='n1604' href='#n1604'>1604</a>
<a id='n1605' href='#n1605'>1605</a>
<a id='n1606' href='#n1606'>1606</a>
<a id='n1607' href='#n1607'>1607</a>
<a id='n1608' href='#n1608'>1608</a>
<a id='n1609' href='#n1609'>1609</a>
<a id='n1610' href='#n1610'>1610</a>
<a id='n1611' href='#n1611'>1611</a>
<a id='n1612' href='#n1612'>1612</a>
<a id='n1613' href='#n1613'>1613</a>
<a id='n1614' href='#n1614'>1614</a>
<a id='n1615' href='#n1615'>1615</a>
<a id='n1616' href='#n1616'>1616</a>
<a id='n1617' href='#n1617'>1617</a>
<a id='n1618' href='#n1618'>1618</a>
<a id='n1619' href='#n1619'>1619</a>
<a id='n1620' href='#n1620'>1620</a>
<a id='n1621' href='#n1621'>1621</a>
<a id='n1622' href='#n1622'>1622</a>
<a id='n1623' href='#n1623'>1623</a>
<a id='n1624' href='#n1624'>1624</a>
<a id='n1625' href='#n1625'>1625</a>
<a id='n1626' href='#n1626'>1626</a>
<a id='n1627' href='#n1627'>1627</a>
<a id='n1628' href='#n1628'>1628</a>
<a id='n1629' href='#n1629'>1629</a>
<a id='n1630' href='#n1630'>1630</a>
<a id='n1631' href='#n1631'>1631</a>
<a id='n1632' href='#n1632'>1632</a>
<a id='n1633' href='#n1633'>1633</a>
<a id='n1634' href='#n1634'>1634</a>
<a id='n1635' href='#n1635'>1635</a>
<a id='n1636' href='#n1636'>1636</a>
<a id='n1637' href='#n1637'>1637</a>
<a id='n1638' href='#n1638'>1638</a>
<a id='n1639' href='#n1639'>1639</a>
<a id='n1640' href='#n1640'>1640</a>
<a id='n1641' href='#n1641'>1641</a>
<a id='n1642' href='#n1642'>1642</a>
<a id='n1643' href='#n1643'>1643</a>
<a id='n1644' href='#n1644'>1644</a>
<a id='n1645' href='#n1645'>1645</a>
<a id='n1646' href='#n1646'>1646</a>
<a id='n1647' href='#n1647'>1647</a>
<a id='n1648' href='#n1648'>1648</a>
<a id='n1649' href='#n1649'>1649</a>
<a id='n1650' href='#n1650'>1650</a>
<a id='n1651' href='#n1651'>1651</a>
<a id='n1652' href='#n1652'>1652</a>
<a id='n1653' href='#n1653'>1653</a>
<a id='n1654' href='#n1654'>1654</a>
<a id='n1655' href='#n1655'>1655</a>
<a id='n1656' href='#n1656'>1656</a>
<a id='n1657' href='#n1657'>1657</a>
<a id='n1658' href='#n1658'>1658</a>
<a id='n1659' href='#n1659'>1659</a>
<a id='n1660' href='#n1660'>1660</a>
<a id='n1661' href='#n1661'>1661</a>
<a id='n1662' href='#n1662'>1662</a>
<a id='n1663' href='#n1663'>1663</a>
<a id='n1664' href='#n1664'>1664</a>
<a id='n1665' href='#n1665'>1665</a>
<a id='n1666' href='#n1666'>1666</a>
<a id='n1667' href='#n1667'>1667</a>
<a id='n1668' href='#n1668'>1668</a>
<a id='n1669' href='#n1669'>1669</a>
<a id='n1670' href='#n1670'>1670</a>
<a id='n1671' href='#n1671'>1671</a>
<a id='n1672' href='#n1672'>1672</a>
<a id='n1673' href='#n1673'>1673</a>
<a id='n1674' href='#n1674'>1674</a>
<a id='n1675' href='#n1675'>1675</a>
<a id='n1676' href='#n1676'>1676</a>
<a id='n1677' href='#n1677'>1677</a>
<a id='n1678' href='#n1678'>1678</a>
<a id='n1679' href='#n1679'>1679</a>
<a id='n1680' href='#n1680'>1680</a>
<a id='n1681' href='#n1681'>1681</a>
<a id='n1682' href='#n1682'>1682</a>
<a id='n1683' href='#n1683'>1683</a>
<a id='n1684' href='#n1684'>1684</a>
<a id='n1685' href='#n1685'>1685</a>
<a id='n1686' href='#n1686'>1686</a>
<a id='n1687' href='#n1687'>1687</a>
<a id='n1688' href='#n1688'>1688</a>
<a id='n1689' href='#n1689'>1689</a>
<a id='n1690' href='#n1690'>1690</a>
<a id='n1691' href='#n1691'>1691</a>
<a id='n1692' href='#n1692'>1692</a>
<a id='n1693' href='#n1693'>1693</a>
<a id='n1694' href='#n1694'>1694</a>
<a id='n1695' href='#n1695'>1695</a>
<a id='n1696' href='#n1696'>1696</a>
<a id='n1697' href='#n1697'>1697</a>
<a id='n1698' href='#n1698'>1698</a>
<a id='n1699' href='#n1699'>1699</a>
<a id='n1700' href='#n1700'>1700</a>
<a id='n1701' href='#n1701'>1701</a>
<a id='n1702' href='#n1702'>1702</a>
<a id='n1703' href='#n1703'>1703</a>
<a id='n1704' href='#n1704'>1704</a>
<a id='n1705' href='#n1705'>1705</a>
<a id='n1706' href='#n1706'>1706</a>
<a id='n1707' href='#n1707'>1707</a>
<a id='n1708' href='#n1708'>1708</a>
<a id='n1709' href='#n1709'>1709</a>
<a id='n1710' href='#n1710'>1710</a>
<a id='n1711' href='#n1711'>1711</a>
<a id='n1712' href='#n1712'>1712</a>
<a id='n1713' href='#n1713'>1713</a>
<a id='n1714' href='#n1714'>1714</a>
<a id='n1715' href='#n1715'>1715</a>
<a id='n1716' href='#n1716'>1716</a>
<a id='n1717' href='#n1717'>1717</a>
<a id='n1718' href='#n1718'>1718</a>
<a id='n1719' href='#n1719'>1719</a>
<a id='n1720' href='#n1720'>1720</a>
<a id='n1721' href='#n1721'>1721</a>
<a id='n1722' href='#n1722'>1722</a>
<a id='n1723' href='#n1723'>1723</a>
<a id='n1724' href='#n1724'>1724</a>
<a id='n1725' href='#n1725'>1725</a>
<a id='n1726' href='#n1726'>1726</a>
<a id='n1727' href='#n1727'>1727</a>
<a id='n1728' href='#n1728'>1728</a>
<a id='n1729' href='#n1729'>1729</a>
<a id='n1730' href='#n1730'>1730</a>
<a id='n1731' href='#n1731'>1731</a>
<a id='n1732' href='#n1732'>1732</a>
<a id='n1733' href='#n1733'>1733</a>
<a id='n1734' href='#n1734'>1734</a>
<a id='n1735' href='#n1735'>1735</a>
<a id='n1736' href='#n1736'>1736</a>
<a id='n1737' href='#n1737'>1737</a>
<a id='n1738' href='#n1738'>1738</a>
<a id='n1739' href='#n1739'>1739</a>
<a id='n1740' href='#n1740'>1740</a>
<a id='n1741' href='#n1741'>1741</a>
<a id='n1742' href='#n1742'>1742</a>
<a id='n1743' href='#n1743'>1743</a>
<a id='n1744' href='#n1744'>1744</a>
<a id='n1745' href='#n1745'>1745</a>
<a id='n1746' href='#n1746'>1746</a>
<a id='n1747' href='#n1747'>1747</a>
<a id='n1748' href='#n1748'>1748</a>
<a id='n1749' href='#n1749'>1749</a>
<a id='n1750' href='#n1750'>1750</a>
<a id='n1751' href='#n1751'>1751</a>
<a id='n1752' href='#n1752'>1752</a>
<a id='n1753' href='#n1753'>1753</a>
<a id='n1754' href='#n1754'>1754</a>
<a id='n1755' href='#n1755'>1755</a>
<a id='n1756' href='#n1756'>1756</a>
<a id='n1757' href='#n1757'>1757</a>
<a id='n1758' href='#n1758'>1758</a>
<a id='n1759' href='#n1759'>1759</a>
<a id='n1760' href='#n1760'>1760</a>
<a id='n1761' href='#n1761'>1761</a>
<a id='n1762' href='#n1762'>1762</a>
<a id='n1763' href='#n1763'>1763</a>
<a id='n1764' href='#n1764'>1764</a>
<a id='n1765' href='#n1765'>1765</a>
<a id='n1766' href='#n1766'>1766</a>
<a id='n1767' href='#n1767'>1767</a>
<a id='n1768' href='#n1768'>1768</a>
<a id='n1769' href='#n1769'>1769</a>
<a id='n1770' href='#n1770'>1770</a>
<a id='n1771' href='#n1771'>1771</a>
<a id='n1772' href='#n1772'>1772</a>
<a id='n1773' href='#n1773'>1773</a>
<a id='n1774' href='#n1774'>1774</a>
<a id='n1775' href='#n1775'>1775</a>
<a id='n1776' href='#n1776'>1776</a>
<a id='n1777' href='#n1777'>1777</a>
<a id='n1778' href='#n1778'>1778</a>
<a id='n1779' href='#n1779'>1779</a>
<a id='n1780' href='#n1780'>1780</a>
<a id='n1781' href='#n1781'>1781</a>
<a id='n1782' href='#n1782'>1782</a>
<a id='n1783' href='#n1783'>1783</a>
<a id='n1784' href='#n1784'>1784</a>
<a id='n1785' href='#n1785'>1785</a>
<a id='n1786' href='#n1786'>1786</a>
<a id='n1787' href='#n1787'>1787</a>
<a id='n1788' href='#n1788'>1788</a>
<a id='n1789' href='#n1789'>1789</a>
<a id='n1790' href='#n1790'>1790</a>
<a id='n1791' href='#n1791'>1791</a>
<a id='n1792' href='#n1792'>1792</a>
<a id='n1793' href='#n1793'>1793</a>
<a id='n1794' href='#n1794'>1794</a>
<a id='n1795' href='#n1795'>1795</a>
<a id='n1796' href='#n1796'>1796</a>
<a id='n1797' href='#n1797'>1797</a>
<a id='n1798' href='#n1798'>1798</a>
<a id='n1799' href='#n1799'>1799</a>
<a id='n1800' href='#n1800'>1800</a>
<a id='n1801' href='#n1801'>1801</a>
<a id='n1802' href='#n1802'>1802</a>
<a id='n1803' href='#n1803'>1803</a>
<a id='n1804' href='#n1804'>1804</a>
<a id='n1805' href='#n1805'>1805</a>
<a id='n1806' href='#n1806'>1806</a>
<a id='n1807' href='#n1807'>1807</a>
<a id='n1808' href='#n1808'>1808</a>
<a id='n1809' href='#n1809'>1809</a>
<a id='n1810' href='#n1810'>1810</a>
<a id='n1811' href='#n1811'>1811</a>
<a id='n1812' href='#n1812'>1812</a>
<a id='n1813' href='#n1813'>1813</a>
<a id='n1814' href='#n1814'>1814</a>
<a id='n1815' href='#n1815'>1815</a>
<a id='n1816' href='#n1816'>1816</a>
<a id='n1817' href='#n1817'>1817</a>
<a id='n1818' href='#n1818'>1818</a>
<a id='n1819' href='#n1819'>1819</a>
<a id='n1820' href='#n1820'>1820</a>
<a id='n1821' href='#n1821'>1821</a>
<a id='n1822' href='#n1822'>1822</a>
<a id='n1823' href='#n1823'>1823</a>
<a id='n1824' href='#n1824'>1824</a>
<a id='n1825' href='#n1825'>1825</a>
<a id='n1826' href='#n1826'>1826</a>
<a id='n1827' href='#n1827'>1827</a>
<a id='n1828' href='#n1828'>1828</a>
<a id='n1829' href='#n1829'>1829</a>
<a id='n1830' href='#n1830'>1830</a>
<a id='n1831' href='#n1831'>1831</a>
<a id='n1832' href='#n1832'>1832</a>
<a id='n1833' href='#n1833'>1833</a>
<a id='n1834' href='#n1834'>1834</a>
<a id='n1835' href='#n1835'>1835</a>
<a id='n1836' href='#n1836'>1836</a>
<a id='n1837' href='#n1837'>1837</a>
<a id='n1838' href='#n1838'>1838</a>
<a id='n1839' href='#n1839'>1839</a>
<a id='n1840' href='#n1840'>1840</a>
<a id='n1841' href='#n1841'>1841</a>
<a id='n1842' href='#n1842'>1842</a>
<a id='n1843' href='#n1843'>1843</a>
<a id='n1844' href='#n1844'>1844</a>
<a id='n1845' href='#n1845'>1845</a>
<a id='n1846' href='#n1846'>1846</a>
<a id='n1847' href='#n1847'>1847</a>
<a id='n1848' href='#n1848'>1848</a>
<a id='n1849' href='#n1849'>1849</a>
<a id='n1850' href='#n1850'>1850</a>
<a id='n1851' href='#n1851'>1851</a>
<a id='n1852' href='#n1852'>1852</a>
<a id='n1853' href='#n1853'>1853</a>
<a id='n1854' href='#n1854'>1854</a>
<a id='n1855' href='#n1855'>1855</a>
<a id='n1856' href='#n1856'>1856</a>
<a id='n1857' href='#n1857'>1857</a>
<a id='n1858' href='#n1858'>1858</a>
<a id='n1859' href='#n1859'>1859</a>
<a id='n1860' href='#n1860'>1860</a>
<a id='n1861' href='#n1861'>1861</a>
<a id='n1862' href='#n1862'>1862</a>
<a id='n1863' href='#n1863'>1863</a>
<a id='n1864' href='#n1864'>1864</a>
<a id='n1865' href='#n1865'>1865</a>
<a id='n1866' href='#n1866'>1866</a>
<a id='n1867' href='#n1867'>1867</a>
<a id='n1868' href='#n1868'>1868</a>
<a id='n1869' href='#n1869'>1869</a>
<a id='n1870' href='#n1870'>1870</a>
<a id='n1871' href='#n1871'>1871</a>
<a id='n1872' href='#n1872'>1872</a>
<a id='n1873' href='#n1873'>1873</a>
<a id='n1874' href='#n1874'>1874</a>
<a id='n1875' href='#n1875'>1875</a>
<a id='n1876' href='#n1876'>1876</a>
<a id='n1877' href='#n1877'>1877</a>
<a id='n1878' href='#n1878'>1878</a>
<a id='n1879' href='#n1879'>1879</a>
<a id='n1880' href='#n1880'>1880</a>
<a id='n1881' href='#n1881'>1881</a>
<a id='n1882' href='#n1882'>1882</a>
<a id='n1883' href='#n1883'>1883</a>
<a id='n1884' href='#n1884'>1884</a>
<a id='n1885' href='#n1885'>1885</a>
<a id='n1886' href='#n1886'>1886</a>
<a id='n1887' href='#n1887'>1887</a>
<a id='n1888' href='#n1888'>1888</a>
<a id='n1889' href='#n1889'>1889</a>
<a id='n1890' href='#n1890'>1890</a>
<a id='n1891' href='#n1891'>1891</a>
<a id='n1892' href='#n1892'>1892</a>
<a id='n1893' href='#n1893'>1893</a>
<a id='n1894' href='#n1894'>1894</a>
<a id='n1895' href='#n1895'>1895</a>
<a id='n1896' href='#n1896'>1896</a>
<a id='n1897' href='#n1897'>1897</a>
<a id='n1898' href='#n1898'>1898</a>
<a id='n1899' href='#n1899'>1899</a>
<a id='n1900' href='#n1900'>1900</a>
<a id='n1901' href='#n1901'>1901</a>
<a id='n1902' href='#n1902'>1902</a>
<a id='n1903' href='#n1903'>1903</a>
<a id='n1904' href='#n1904'>1904</a>
<a id='n1905' href='#n1905'>1905</a>
<a id='n1906' href='#n1906'>1906</a>
<a id='n1907' href='#n1907'>1907</a>
<a id='n1908' href='#n1908'>1908</a>
<a id='n1909' href='#n1909'>1909</a>
<a id='n1910' href='#n1910'>1910</a>
<a id='n1911' href='#n1911'>1911</a>
<a id='n1912' href='#n1912'>1912</a>
<a id='n1913' href='#n1913'>1913</a>
<a id='n1914' href='#n1914'>1914</a>
<a id='n1915' href='#n1915'>1915</a>
<a id='n1916' href='#n1916'>1916</a>
<a id='n1917' href='#n1917'>1917</a>
<a id='n1918' href='#n1918'>1918</a>
<a id='n1919' href='#n1919'>1919</a>
<a id='n1920' href='#n1920'>1920</a>
<a id='n1921' href='#n1921'>1921</a>
<a id='n1922' href='#n1922'>1922</a>
<a id='n1923' href='#n1923'>1923</a>
<a id='n1924' href='#n1924'>1924</a>
<a id='n1925' href='#n1925'>1925</a>
<a id='n1926' href='#n1926'>1926</a>
<a id='n1927' href='#n1927'>1927</a>
<a id='n1928' href='#n1928'>1928</a>
<a id='n1929' href='#n1929'>1929</a>
<a id='n1930' href='#n1930'>1930</a>
<a id='n1931' href='#n1931'>1931</a>
<a id='n1932' href='#n1932'>1932</a>
<a id='n1933' href='#n1933'>1933</a>
<a id='n1934' href='#n1934'>1934</a>
<a id='n1935' href='#n1935'>1935</a>
<a id='n1936' href='#n1936'>1936</a>
<a id='n1937' href='#n1937'>1937</a>
<a id='n1938' href='#n1938'>1938</a>
<a id='n1939' href='#n1939'>1939</a>
<a id='n1940' href='#n1940'>1940</a>
<a id='n1941' href='#n1941'>1941</a>
<a id='n1942' href='#n1942'>1942</a>
<a id='n1943' href='#n1943'>1943</a>
<a id='n1944' href='#n1944'>1944</a>
<a id='n1945' href='#n1945'>1945</a>
<a id='n1946' href='#n1946'>1946</a>
<a id='n1947' href='#n1947'>1947</a>
<a id='n1948' href='#n1948'>1948</a>
<a id='n1949' href='#n1949'>1949</a>
<a id='n1950' href='#n1950'>1950</a>
<a id='n1951' href='#n1951'>1951</a>
<a id='n1952' href='#n1952'>1952</a>
<a id='n1953' href='#n1953'>1953</a>
<a id='n1954' href='#n1954'>1954</a>
<a id='n1955' href='#n1955'>1955</a>
<a id='n1956' href='#n1956'>1956</a>
<a id='n1957' href='#n1957'>1957</a>
<a id='n1958' href='#n1958'>1958</a>
<a id='n1959' href='#n1959'>1959</a>
<a id='n1960' href='#n1960'>1960</a>
<a id='n1961' href='#n1961'>1961</a>
<a id='n1962' href='#n1962'>1962</a>
<a id='n1963' href='#n1963'>1963</a>
<a id='n1964' href='#n1964'>1964</a>
<a id='n1965' href='#n1965'>1965</a>
<a id='n1966' href='#n1966'>1966</a>
<a id='n1967' href='#n1967'>1967</a>
<a id='n1968' href='#n1968'>1968</a>
<a id='n1969' href='#n1969'>1969</a>
<a id='n1970' href='#n1970'>1970</a>
<a id='n1971' href='#n1971'>1971</a>
<a id='n1972' href='#n1972'>1972</a>
<a id='n1973' href='#n1973'>1973</a>
<a id='n1974' href='#n1974'>1974</a>
<a id='n1975' href='#n1975'>1975</a>
<a id='n1976' href='#n1976'>1976</a>
<a id='n1977' href='#n1977'>1977</a>
<a id='n1978' href='#n1978'>1978</a>
<a id='n1979' href='#n1979'>1979</a>
<a id='n1980' href='#n1980'>1980</a>
<a id='n1981' href='#n1981'>1981</a>
<a id='n1982' href='#n1982'>1982</a>
<a id='n1983' href='#n1983'>1983</a>
<a id='n1984' href='#n1984'>1984</a>
<a id='n1985' href='#n1985'>1985</a>
<a id='n1986' href='#n1986'>1986</a>
<a id='n1987' href='#n1987'>1987</a>
<a id='n1988' href='#n1988'>1988</a>
<a id='n1989' href='#n1989'>1989</a>
<a id='n1990' href='#n1990'>1990</a>
<a id='n1991' href='#n1991'>1991</a>
<a id='n1992' href='#n1992'>1992</a>
<a id='n1993' href='#n1993'>1993</a>
<a id='n1994' href='#n1994'>1994</a>
<a id='n1995' href='#n1995'>1995</a>
<a id='n1996' href='#n1996'>1996</a>
<a id='n1997' href='#n1997'>1997</a>
<a id='n1998' href='#n1998'>1998</a>
<a id='n1999' href='#n1999'>1999</a>
<a id='n2000' href='#n2000'>2000</a>
<a id='n2001' href='#n2001'>2001</a>
<a id='n2002' href='#n2002'>2002</a>
<a id='n2003' href='#n2003'>2003</a>
<a id='n2004' href='#n2004'>2004</a>
<a id='n2005' href='#n2005'>2005</a>
<a id='n2006' href='#n2006'>2006</a>
<a id='n2007' href='#n2007'>2007</a>
<a id='n2008' href='#n2008'>2008</a>
<a id='n2009' href='#n2009'>2009</a>
<a id='n2010' href='#n2010'>2010</a>
<a id='n2011' href='#n2011'>2011</a>
<a id='n2012' href='#n2012'>2012</a>
<a id='n2013' href='#n2013'>2013</a>
<a id='n2014' href='#n2014'>2014</a>
<a id='n2015' href='#n2015'>2015</a>
<a id='n2016' href='#n2016'>2016</a>
<a id='n2017' href='#n2017'>2017</a>
<a id='n2018' href='#n2018'>2018</a>
<a id='n2019' href='#n2019'>2019</a>
<a id='n2020' href='#n2020'>2020</a>
<a id='n2021' href='#n2021'>2021</a>
<a id='n2022' href='#n2022'>2022</a>
<a id='n2023' href='#n2023'>2023</a>
<a id='n2024' href='#n2024'>2024</a>
<a id='n2025' href='#n2025'>2025</a>
<a id='n2026' href='#n2026'>2026</a>
<a id='n2027' href='#n2027'>2027</a>
<a id='n2028' href='#n2028'>2028</a>
<a id='n2029' href='#n2029'>2029</a>
<a id='n2030' href='#n2030'>2030</a>
<a id='n2031' href='#n2031'>2031</a>
<a id='n2032' href='#n2032'>2032</a>
<a id='n2033' href='#n2033'>2033</a>
<a id='n2034' href='#n2034'>2034</a>
<a id='n2035' href='#n2035'>2035</a>
<a id='n2036' href='#n2036'>2036</a>
<a id='n2037' href='#n2037'>2037</a>
<a id='n2038' href='#n2038'>2038</a>
<a id='n2039' href='#n2039'>2039</a>
<a id='n2040' href='#n2040'>2040</a>
<a id='n2041' href='#n2041'>2041</a>
<a id='n2042' href='#n2042'>2042</a>
<a id='n2043' href='#n2043'>2043</a>
<a id='n2044' href='#n2044'>2044</a>
<a id='n2045' href='#n2045'>2045</a>
<a id='n2046' href='#n2046'>2046</a>
<a id='n2047' href='#n2047'>2047</a>
<a id='n2048' href='#n2048'>2048</a>
<a id='n2049' href='#n2049'>2049</a>
<a id='n2050' href='#n2050'>2050</a>
<a id='n2051' href='#n2051'>2051</a>
<a id='n2052' href='#n2052'>2052</a>
<a id='n2053' href='#n2053'>2053</a>
<a id='n2054' href='#n2054'>2054</a>
<a id='n2055' href='#n2055'>2055</a>
<a id='n2056' href='#n2056'>2056</a>
<a id='n2057' href='#n2057'>2057</a>
<a id='n2058' href='#n2058'>2058</a>
<a id='n2059' href='#n2059'>2059</a>
<a id='n2060' href='#n2060'>2060</a>
<a id='n2061' href='#n2061'>2061</a>
<a id='n2062' href='#n2062'>2062</a>
<a id='n2063' href='#n2063'>2063</a>
<a id='n2064' href='#n2064'>2064</a>
<a id='n2065' href='#n2065'>2065</a>
<a id='n2066' href='#n2066'>2066</a>
<a id='n2067' href='#n2067'>2067</a>
<a id='n2068' href='#n2068'>2068</a>
<a id='n2069' href='#n2069'>2069</a>
<a id='n2070' href='#n2070'>2070</a>
<a id='n2071' href='#n2071'>2071</a>
<a id='n2072' href='#n2072'>2072</a>
<a id='n2073' href='#n2073'>2073</a>
<a id='n2074' href='#n2074'>2074</a>
<a id='n2075' href='#n2075'>2075</a>
<a id='n2076' href='#n2076'>2076</a>
<a id='n2077' href='#n2077'>2077</a>
<a id='n2078' href='#n2078'>2078</a>
<a id='n2079' href='#n2079'>2079</a>
<a id='n2080' href='#n2080'>2080</a>
<a id='n2081' href='#n2081'>2081</a>
<a id='n2082' href='#n2082'>2082</a>
<a id='n2083' href='#n2083'>2083</a>
<a id='n2084' href='#n2084'>2084</a>
<a id='n2085' href='#n2085'>2085</a>
<a id='n2086' href='#n2086'>2086</a>
<a id='n2087' href='#n2087'>2087</a>
<a id='n2088' href='#n2088'>2088</a>
<a id='n2089' href='#n2089'>2089</a>
<a id='n2090' href='#n2090'>2090</a>
<a id='n2091' href='#n2091'>2091</a>
<a id='n2092' href='#n2092'>2092</a>
<a id='n2093' href='#n2093'>2093</a>
<a id='n2094' href='#n2094'>2094</a>
<a id='n2095' href='#n2095'>2095</a>
<a id='n2096' href='#n2096'>2096</a>
<a id='n2097' href='#n2097'>2097</a>
<a id='n2098' href='#n2098'>2098</a>
<a id='n2099' href='#n2099'>2099</a>
<a id='n2100' href='#n2100'>2100</a>
<a id='n2101' href='#n2101'>2101</a>
<a id='n2102' href='#n2102'>2102</a>
<a id='n2103' href='#n2103'>2103</a>
<a id='n2104' href='#n2104'>2104</a>
<a id='n2105' href='#n2105'>2105</a>
<a id='n2106' href='#n2106'>2106</a>
<a id='n2107' href='#n2107'>2107</a>
<a id='n2108' href='#n2108'>2108</a>
<a id='n2109' href='#n2109'>2109</a>
<a id='n2110' href='#n2110'>2110</a>
<a id='n2111' href='#n2111'>2111</a>
<a id='n2112' href='#n2112'>2112</a>
<a id='n2113' href='#n2113'>2113</a>
<a id='n2114' href='#n2114'>2114</a>
<a id='n2115' href='#n2115'>2115</a>
<a id='n2116' href='#n2116'>2116</a>
<a id='n2117' href='#n2117'>2117</a>
<a id='n2118' href='#n2118'>2118</a>
<a id='n2119' href='#n2119'>2119</a>
<a id='n2120' href='#n2120'>2120</a>
<a id='n2121' href='#n2121'>2121</a>
<a id='n2122' href='#n2122'>2122</a>
<a id='n2123' href='#n2123'>2123</a>
<a id='n2124' href='#n2124'>2124</a>
<a id='n2125' href='#n2125'>2125</a>
<a id='n2126' href='#n2126'>2126</a>
<a id='n2127' href='#n2127'>2127</a>
<a id='n2128' href='#n2128'>2128</a>
<a id='n2129' href='#n2129'>2129</a>
<a id='n2130' href='#n2130'>2130</a>
<a id='n2131' href='#n2131'>2131</a>
<a id='n2132' href='#n2132'>2132</a>
<a id='n2133' href='#n2133'>2133</a>
<a id='n2134' href='#n2134'>2134</a>
<a id='n2135' href='#n2135'>2135</a>
<a id='n2136' href='#n2136'>2136</a>
<a id='n2137' href='#n2137'>2137</a>
<a id='n2138' href='#n2138'>2138</a>
<a id='n2139' href='#n2139'>2139</a>
<a id='n2140' href='#n2140'>2140</a>
<a id='n2141' href='#n2141'>2141</a>
<a id='n2142' href='#n2142'>2142</a>
<a id='n2143' href='#n2143'>2143</a>
<a id='n2144' href='#n2144'>2144</a>
<a id='n2145' href='#n2145'>2145</a>
<a id='n2146' href='#n2146'>2146</a>
<a id='n2147' href='#n2147'>2147</a>
<a id='n2148' href='#n2148'>2148</a>
<a id='n2149' href='#n2149'>2149</a>
<a id='n2150' href='#n2150'>2150</a>
<a id='n2151' href='#n2151'>2151</a>
<a id='n2152' href='#n2152'>2152</a>
<a id='n2153' href='#n2153'>2153</a>
<a id='n2154' href='#n2154'>2154</a>
<a id='n2155' href='#n2155'>2155</a>
<a id='n2156' href='#n2156'>2156</a>
<a id='n2157' href='#n2157'>2157</a>
<a id='n2158' href='#n2158'>2158</a>
<a id='n2159' href='#n2159'>2159</a>
<a id='n2160' href='#n2160'>2160</a>
<a id='n2161' href='#n2161'>2161</a>
<a id='n2162' href='#n2162'>2162</a>
<a id='n2163' href='#n2163'>2163</a>
<a id='n2164' href='#n2164'>2164</a>
<a id='n2165' href='#n2165'>2165</a>
<a id='n2166' href='#n2166'>2166</a>
<a id='n2167' href='#n2167'>2167</a>
<a id='n2168' href='#n2168'>2168</a>
<a id='n2169' href='#n2169'>2169</a>
<a id='n2170' href='#n2170'>2170</a>
<a id='n2171' href='#n2171'>2171</a>
<a id='n2172' href='#n2172'>2172</a>
<a id='n2173' href='#n2173'>2173</a>
<a id='n2174' href='#n2174'>2174</a>
<a id='n2175' href='#n2175'>2175</a>
<a id='n2176' href='#n2176'>2176</a>
<a id='n2177' href='#n2177'>2177</a>
<a id='n2178' href='#n2178'>2178</a>
<a id='n2179' href='#n2179'>2179</a>
<a id='n2180' href='#n2180'>2180</a>
<a id='n2181' href='#n2181'>2181</a>
<a id='n2182' href='#n2182'>2182</a>
<a id='n2183' href='#n2183'>2183</a>
<a id='n2184' href='#n2184'>2184</a>
<a id='n2185' href='#n2185'>2185</a>
<a id='n2186' href='#n2186'>2186</a>
<a id='n2187' href='#n2187'>2187</a>
<a id='n2188' href='#n2188'>2188</a>
<a id='n2189' href='#n2189'>2189</a>
<a id='n2190' href='#n2190'>2190</a>
<a id='n2191' href='#n2191'>2191</a>
<a id='n2192' href='#n2192'>2192</a>
<a id='n2193' href='#n2193'>2193</a>
<a id='n2194' href='#n2194'>2194</a>
<a id='n2195' href='#n2195'>2195</a>
<a id='n2196' href='#n2196'>2196</a>
<a id='n2197' href='#n2197'>2197</a>
<a id='n2198' href='#n2198'>2198</a>
<a id='n2199' href='#n2199'>2199</a>
<a id='n2200' href='#n2200'>2200</a>
<a id='n2201' href='#n2201'>2201</a>
<a id='n2202' href='#n2202'>2202</a>
<a id='n2203' href='#n2203'>2203</a>
<a id='n2204' href='#n2204'>2204</a>
<a id='n2205' href='#n2205'>2205</a>
<a id='n2206' href='#n2206'>2206</a>
<a id='n2207' href='#n2207'>2207</a>
<a id='n2208' href='#n2208'>2208</a>
<a id='n2209' href='#n2209'>2209</a>
<a id='n2210' href='#n2210'>2210</a>
<a id='n2211' href='#n2211'>2211</a>
<a id='n2212' href='#n2212'>2212</a>
<a id='n2213' href='#n2213'>2213</a>
<a id='n2214' href='#n2214'>2214</a>
<a id='n2215' href='#n2215'>2215</a>
<a id='n2216' href='#n2216'>2216</a>
<a id='n2217' href='#n2217'>2217</a>
<a id='n2218' href='#n2218'>2218</a>
<a id='n2219' href='#n2219'>2219</a>
<a id='n2220' href='#n2220'>2220</a>
<a id='n2221' href='#n2221'>2221</a>
<a id='n2222' href='#n2222'>2222</a>
<a id='n2223' href='#n2223'>2223</a>
<a id='n2224' href='#n2224'>2224</a>
<a id='n2225' href='#n2225'>2225</a>
<a id='n2226' href='#n2226'>2226</a>
<a id='n2227' href='#n2227'>2227</a>
<a id='n2228' href='#n2228'>2228</a>
<a id='n2229' href='#n2229'>2229</a>
<a id='n2230' href='#n2230'>2230</a>
<a id='n2231' href='#n2231'>2231</a>
<a id='n2232' href='#n2232'>2232</a>
<a id='n2233' href='#n2233'>2233</a>
<a id='n2234' href='#n2234'>2234</a>
<a id='n2235' href='#n2235'>2235</a>
<a id='n2236' href='#n2236'>2236</a>
<a id='n2237' href='#n2237'>2237</a>
<a id='n2238' href='#n2238'>2238</a>
<a id='n2239' href='#n2239'>2239</a>
<a id='n2240' href='#n2240'>2240</a>
<a id='n2241' href='#n2241'>2241</a>
<a id='n2242' href='#n2242'>2242</a>
<a id='n2243' href='#n2243'>2243</a>
<a id='n2244' href='#n2244'>2244</a>
<a id='n2245' href='#n2245'>2245</a>
<a id='n2246' href='#n2246'>2246</a>
<a id='n2247' href='#n2247'>2247</a>
<a id='n2248' href='#n2248'>2248</a>
<a id='n2249' href='#n2249'>2249</a>
<a id='n2250' href='#n2250'>2250</a>
<a id='n2251' href='#n2251'>2251</a>
<a id='n2252' href='#n2252'>2252</a>
<a id='n2253' href='#n2253'>2253</a>
<a id='n2254' href='#n2254'>2254</a>
<a id='n2255' href='#n2255'>2255</a>
<a id='n2256' href='#n2256'>2256</a>
<a id='n2257' href='#n2257'>2257</a>
<a id='n2258' href='#n2258'>2258</a>
<a id='n2259' href='#n2259'>2259</a>
<a id='n2260' href='#n2260'>2260</a>
<a id='n2261' href='#n2261'>2261</a>
<a id='n2262' href='#n2262'>2262</a>
<a id='n2263' href='#n2263'>2263</a>
<a id='n2264' href='#n2264'>2264</a>
<a id='n2265' href='#n2265'>2265</a>
<a id='n2266' href='#n2266'>2266</a>
<a id='n2267' href='#n2267'>2267</a>
<a id='n2268' href='#n2268'>2268</a>
<a id='n2269' href='#n2269'>2269</a>
<a id='n2270' href='#n2270'>2270</a>
<a id='n2271' href='#n2271'>2271</a>
<a id='n2272' href='#n2272'>2272</a>
<a id='n2273' href='#n2273'>2273</a>
<a id='n2274' href='#n2274'>2274</a>
<a id='n2275' href='#n2275'>2275</a>
<a id='n2276' href='#n2276'>2276</a>
<a id='n2277' href='#n2277'>2277</a>
<a id='n2278' href='#n2278'>2278</a>
<a id='n2279' href='#n2279'>2279</a>
<a id='n2280' href='#n2280'>2280</a>
<a id='n2281' href='#n2281'>2281</a>
<a id='n2282' href='#n2282'>2282</a>
<a id='n2283' href='#n2283'>2283</a>
<a id='n2284' href='#n2284'>2284</a>
<a id='n2285' href='#n2285'>2285</a>
<a id='n2286' href='#n2286'>2286</a>
<a id='n2287' href='#n2287'>2287</a>
<a id='n2288' href='#n2288'>2288</a>
<a id='n2289' href='#n2289'>2289</a>
<a id='n2290' href='#n2290'>2290</a>
<a id='n2291' href='#n2291'>2291</a>
<a id='n2292' href='#n2292'>2292</a>
<a id='n2293' href='#n2293'>2293</a>
<a id='n2294' href='#n2294'>2294</a>
<a id='n2295' href='#n2295'>2295</a>
<a id='n2296' href='#n2296'>2296</a>
<a id='n2297' href='#n2297'>2297</a>
<a id='n2298' href='#n2298'>2298</a>
<a id='n2299' href='#n2299'>2299</a>
<a id='n2300' href='#n2300'>2300</a>
<a id='n2301' href='#n2301'>2301</a>
<a id='n2302' href='#n2302'>2302</a>
<a id='n2303' href='#n2303'>2303</a>
<a id='n2304' href='#n2304'>2304</a>
<a id='n2305' href='#n2305'>2305</a>
<a id='n2306' href='#n2306'>2306</a>
<a id='n2307' href='#n2307'>2307</a>
<a id='n2308' href='#n2308'>2308</a>
<a id='n2309' href='#n2309'>2309</a>
<a id='n2310' href='#n2310'>2310</a>
<a id='n2311' href='#n2311'>2311</a>
<a id='n2312' href='#n2312'>2312</a>
<a id='n2313' href='#n2313'>2313</a>
<a id='n2314' href='#n2314'>2314</a>
<a id='n2315' href='#n2315'>2315</a>
<a id='n2316' href='#n2316'>2316</a>
<a id='n2317' href='#n2317'>2317</a>
<a id='n2318' href='#n2318'>2318</a>
<a id='n2319' href='#n2319'>2319</a>
<a id='n2320' href='#n2320'>2320</a>
<a id='n2321' href='#n2321'>2321</a>
<a id='n2322' href='#n2322'>2322</a>
<a id='n2323' href='#n2323'>2323</a>
<a id='n2324' href='#n2324'>2324</a>
<a id='n2325' href='#n2325'>2325</a>
<a id='n2326' href='#n2326'>2326</a>
<a id='n2327' href='#n2327'>2327</a>
<a id='n2328' href='#n2328'>2328</a>
<a id='n2329' href='#n2329'>2329</a>
<a id='n2330' href='#n2330'>2330</a>
<a id='n2331' href='#n2331'>2331</a>
<a id='n2332' href='#n2332'>2332</a>
<a id='n2333' href='#n2333'>2333</a>
<a id='n2334' href='#n2334'>2334</a>
<a id='n2335' href='#n2335'>2335</a>
<a id='n2336' href='#n2336'>2336</a>
<a id='n2337' href='#n2337'>2337</a>
<a id='n2338' href='#n2338'>2338</a>
<a id='n2339' href='#n2339'>2339</a>
<a id='n2340' href='#n2340'>2340</a>
<a id='n2341' href='#n2341'>2341</a>
<a id='n2342' href='#n2342'>2342</a>
<a id='n2343' href='#n2343'>2343</a>
<a id='n2344' href='#n2344'>2344</a>
<a id='n2345' href='#n2345'>2345</a>
<a id='n2346' href='#n2346'>2346</a>
<a id='n2347' href='#n2347'>2347</a>
<a id='n2348' href='#n2348'>2348</a>
<a id='n2349' href='#n2349'>2349</a>
<a id='n2350' href='#n2350'>2350</a>
<a id='n2351' href='#n2351'>2351</a>
<a id='n2352' href='#n2352'>2352</a>
<a id='n2353' href='#n2353'>2353</a>
<a id='n2354' href='#n2354'>2354</a>
<a id='n2355' href='#n2355'>2355</a>
<a id='n2356' href='#n2356'>2356</a>
<a id='n2357' href='#n2357'>2357</a>
<a id='n2358' href='#n2358'>2358</a>
<a id='n2359' href='#n2359'>2359</a>
<a id='n2360' href='#n2360'>2360</a>
<a id='n2361' href='#n2361'>2361</a>
<a id='n2362' href='#n2362'>2362</a>
<a id='n2363' href='#n2363'>2363</a>
<a id='n2364' href='#n2364'>2364</a>
<a id='n2365' href='#n2365'>2365</a>
<a id='n2366' href='#n2366'>2366</a>
<a id='n2367' href='#n2367'>2367</a>
<a id='n2368' href='#n2368'>2368</a>
<a id='n2369' href='#n2369'>2369</a>
<a id='n2370' href='#n2370'>2370</a>
<a id='n2371' href='#n2371'>2371</a>
<a id='n2372' href='#n2372'>2372</a>
<a id='n2373' href='#n2373'>2373</a>
<a id='n2374' href='#n2374'>2374</a>
<a id='n2375' href='#n2375'>2375</a>
<a id='n2376' href='#n2376'>2376</a>
<a id='n2377' href='#n2377'>2377</a>
<a id='n2378' href='#n2378'>2378</a>
<a id='n2379' href='#n2379'>2379</a>
<a id='n2380' href='#n2380'>2380</a>
<a id='n2381' href='#n2381'>2381</a>
<a id='n2382' href='#n2382'>2382</a>
<a id='n2383' href='#n2383'>2383</a>
<a id='n2384' href='#n2384'>2384</a>
<a id='n2385' href='#n2385'>2385</a>
<a id='n2386' href='#n2386'>2386</a>
<a id='n2387' href='#n2387'>2387</a>
<a id='n2388' href='#n2388'>2388</a>
<a id='n2389' href='#n2389'>2389</a>
<a id='n2390' href='#n2390'>2390</a>
<a id='n2391' href='#n2391'>2391</a>
<a id='n2392' href='#n2392'>2392</a>
<a id='n2393' href='#n2393'>2393</a>
<a id='n2394' href='#n2394'>2394</a>
<a id='n2395' href='#n2395'>2395</a>
<a id='n2396' href='#n2396'>2396</a>
<a id='n2397' href='#n2397'>2397</a>
<a id='n2398' href='#n2398'>2398</a>
<a id='n2399' href='#n2399'>2399</a>
<a id='n2400' href='#n2400'>2400</a>
<a id='n2401' href='#n2401'>2401</a>
<a id='n2402' href='#n2402'>2402</a>
<a id='n2403' href='#n2403'>2403</a>
<a id='n2404' href='#n2404'>2404</a>
<a id='n2405' href='#n2405'>2405</a>
<a id='n2406' href='#n2406'>2406</a>
<a id='n2407' href='#n2407'>2407</a>
<a id='n2408' href='#n2408'>2408</a>
<a id='n2409' href='#n2409'>2409</a>
<a id='n2410' href='#n2410'>2410</a>
<a id='n2411' href='#n2411'>2411</a>
<a id='n2412' href='#n2412'>2412</a>
<a id='n2413' href='#n2413'>2413</a>
<a id='n2414' href='#n2414'>2414</a>
<a id='n2415' href='#n2415'>2415</a>
<a id='n2416' href='#n2416'>2416</a>
<a id='n2417' href='#n2417'>2417</a>
<a id='n2418' href='#n2418'>2418</a>
<a id='n2419' href='#n2419'>2419</a>
<a id='n2420' href='#n2420'>2420</a>
<a id='n2421' href='#n2421'>2421</a>
<a id='n2422' href='#n2422'>2422</a>
<a id='n2423' href='#n2423'>2423</a>
<a id='n2424' href='#n2424'>2424</a>
<a id='n2425' href='#n2425'>2425</a>
<a id='n2426' href='#n2426'>2426</a>
<a id='n2427' href='#n2427'>2427</a>
<a id='n2428' href='#n2428'>2428</a>
<a id='n2429' href='#n2429'>2429</a>
<a id='n2430' href='#n2430'>2430</a>
<a id='n2431' href='#n2431'>2431</a>
<a id='n2432' href='#n2432'>2432</a>
<a id='n2433' href='#n2433'>2433</a>
<a id='n2434' href='#n2434'>2434</a>
<a id='n2435' href='#n2435'>2435</a>
<a id='n2436' href='#n2436'>2436</a>
<a id='n2437' href='#n2437'>2437</a>
<a id='n2438' href='#n2438'>2438</a>
<a id='n2439' href='#n2439'>2439</a>
<a id='n2440' href='#n2440'>2440</a>
<a id='n2441' href='#n2441'>2441</a>
<a id='n2442' href='#n2442'>2442</a>
<a id='n2443' href='#n2443'>2443</a>
<a id='n2444' href='#n2444'>2444</a>
<a id='n2445' href='#n2445'>2445</a>
<a id='n2446' href='#n2446'>2446</a>
<a id='n2447' href='#n2447'>2447</a>
<a id='n2448' href='#n2448'>2448</a>
<a id='n2449' href='#n2449'>2449</a>
<a id='n2450' href='#n2450'>2450</a>
<a id='n2451' href='#n2451'>2451</a>
<a id='n2452' href='#n2452'>2452</a>
<a id='n2453' href='#n2453'>2453</a>
<a id='n2454' href='#n2454'>2454</a>
<a id='n2455' href='#n2455'>2455</a>
<a id='n2456' href='#n2456'>2456</a>
<a id='n2457' href='#n2457'>2457</a>
<a id='n2458' href='#n2458'>2458</a>
<a id='n2459' href='#n2459'>2459</a>
<a id='n2460' href='#n2460'>2460</a>
<a id='n2461' href='#n2461'>2461</a>
<a id='n2462' href='#n2462'>2462</a>
<a id='n2463' href='#n2463'>2463</a>
<a id='n2464' href='#n2464'>2464</a>
<a id='n2465' href='#n2465'>2465</a>
<a id='n2466' href='#n2466'>2466</a>
<a id='n2467' href='#n2467'>2467</a>
<a id='n2468' href='#n2468'>2468</a>
<a id='n2469' href='#n2469'>2469</a>
<a id='n2470' href='#n2470'>2470</a>
<a id='n2471' href='#n2471'>2471</a>
<a id='n2472' href='#n2472'>2472</a>
<a id='n2473' href='#n2473'>2473</a>
<a id='n2474' href='#n2474'>2474</a>
<a id='n2475' href='#n2475'>2475</a>
<a id='n2476' href='#n2476'>2476</a>
<a id='n2477' href='#n2477'>2477</a>
<a id='n2478' href='#n2478'>2478</a>
<a id='n2479' href='#n2479'>2479</a>
<a id='n2480' href='#n2480'>2480</a>
<a id='n2481' href='#n2481'>2481</a>
<a id='n2482' href='#n2482'>2482</a>
<a id='n2483' href='#n2483'>2483</a>
<a id='n2484' href='#n2484'>2484</a>
<a id='n2485' href='#n2485'>2485</a>
<a id='n2486' href='#n2486'>2486</a>
<a id='n2487' href='#n2487'>2487</a>
<a id='n2488' href='#n2488'>2488</a>
<a id='n2489' href='#n2489'>2489</a>
<a id='n2490' href='#n2490'>2490</a>
<a id='n2491' href='#n2491'>2491</a>
<a id='n2492' href='#n2492'>2492</a>
<a id='n2493' href='#n2493'>2493</a>
<a id='n2494' href='#n2494'>2494</a>
<a id='n2495' href='#n2495'>2495</a>
<a id='n2496' href='#n2496'>2496</a>
<a id='n2497' href='#n2497'>2497</a>
<a id='n2498' href='#n2498'>2498</a>
<a id='n2499' href='#n2499'>2499</a>
<a id='n2500' href='#n2500'>2500</a>
<a id='n2501' href='#n2501'>2501</a>
<a id='n2502' href='#n2502'>2502</a>
<a id='n2503' href='#n2503'>2503</a>
<a id='n2504' href='#n2504'>2504</a>
<a id='n2505' href='#n2505'>2505</a>
<a id='n2506' href='#n2506'>2506</a>
<a id='n2507' href='#n2507'>2507</a>
<a id='n2508' href='#n2508'>2508</a>
<a id='n2509' href='#n2509'>2509</a>
<a id='n2510' href='#n2510'>2510</a>
<a id='n2511' href='#n2511'>2511</a>
<a id='n2512' href='#n2512'>2512</a>
<a id='n2513' href='#n2513'>2513</a>
<a id='n2514' href='#n2514'>2514</a>
<a id='n2515' href='#n2515'>2515</a>
<a id='n2516' href='#n2516'>2516</a>
<a id='n2517' href='#n2517'>2517</a>
<a id='n2518' href='#n2518'>2518</a>
<a id='n2519' href='#n2519'>2519</a>
<a id='n2520' href='#n2520'>2520</a>
<a id='n2521' href='#n2521'>2521</a>
<a id='n2522' href='#n2522'>2522</a>
<a id='n2523' href='#n2523'>2523</a>
<a id='n2524' href='#n2524'>2524</a>
<a id='n2525' href='#n2525'>2525</a>
<a id='n2526' href='#n2526'>2526</a>
<a id='n2527' href='#n2527'>2527</a>
<a id='n2528' href='#n2528'>2528</a>
<a id='n2529' href='#n2529'>2529</a>
<a id='n2530' href='#n2530'>2530</a>
<a id='n2531' href='#n2531'>2531</a>
<a id='n2532' href='#n2532'>2532</a>
<a id='n2533' href='#n2533'>2533</a>
<a id='n2534' href='#n2534'>2534</a>
<a id='n2535' href='#n2535'>2535</a>
<a id='n2536' href='#n2536'>2536</a>
<a id='n2537' href='#n2537'>2537</a>
<a id='n2538' href='#n2538'>2538</a>
<a id='n2539' href='#n2539'>2539</a>
<a id='n2540' href='#n2540'>2540</a>
<a id='n2541' href='#n2541'>2541</a>
<a id='n2542' href='#n2542'>2542</a>
<a id='n2543' href='#n2543'>2543</a>
<a id='n2544' href='#n2544'>2544</a>
<a id='n2545' href='#n2545'>2545</a>
<a id='n2546' href='#n2546'>2546</a>
<a id='n2547' href='#n2547'>2547</a>
<a id='n2548' href='#n2548'>2548</a>
<a id='n2549' href='#n2549'>2549</a>
<a id='n2550' href='#n2550'>2550</a>
<a id='n2551' href='#n2551'>2551</a>
<a id='n2552' href='#n2552'>2552</a>
<a id='n2553' href='#n2553'>2553</a>
<a id='n2554' href='#n2554'>2554</a>
<a id='n2555' href='#n2555'>2555</a>
<a id='n2556' href='#n2556'>2556</a>
<a id='n2557' href='#n2557'>2557</a>
<a id='n2558' href='#n2558'>2558</a>
<a id='n2559' href='#n2559'>2559</a>
<a id='n2560' href='#n2560'>2560</a>
<a id='n2561' href='#n2561'>2561</a>
<a id='n2562' href='#n2562'>2562</a>
<a id='n2563' href='#n2563'>2563</a>
<a id='n2564' href='#n2564'>2564</a>
<a id='n2565' href='#n2565'>2565</a>
<a id='n2566' href='#n2566'>2566</a>
<a id='n2567' href='#n2567'>2567</a>
<a id='n2568' href='#n2568'>2568</a>
<a id='n2569' href='#n2569'>2569</a>
<a id='n2570' href='#n2570'>2570</a>
<a id='n2571' href='#n2571'>2571</a>
<a id='n2572' href='#n2572'>2572</a>
<a id='n2573' href='#n2573'>2573</a>
<a id='n2574' href='#n2574'>2574</a>
<a id='n2575' href='#n2575'>2575</a>
<a id='n2576' href='#n2576'>2576</a>
<a id='n2577' href='#n2577'>2577</a>
<a id='n2578' href='#n2578'>2578</a>
<a id='n2579' href='#n2579'>2579</a>
<a id='n2580' href='#n2580'>2580</a>
<a id='n2581' href='#n2581'>2581</a>
<a id='n2582' href='#n2582'>2582</a>
<a id='n2583' href='#n2583'>2583</a>
<a id='n2584' href='#n2584'>2584</a>
<a id='n2585' href='#n2585'>2585</a>
<a id='n2586' href='#n2586'>2586</a>
<a id='n2587' href='#n2587'>2587</a>
<a id='n2588' href='#n2588'>2588</a>
<a id='n2589' href='#n2589'>2589</a>
<a id='n2590' href='#n2590'>2590</a>
<a id='n2591' href='#n2591'>2591</a>
<a id='n2592' href='#n2592'>2592</a>
<a id='n2593' href='#n2593'>2593</a>
<a id='n2594' href='#n2594'>2594</a>
<a id='n2595' href='#n2595'>2595</a>
<a id='n2596' href='#n2596'>2596</a>
<a id='n2597' href='#n2597'>2597</a>
<a id='n2598' href='#n2598'>2598</a>
<a id='n2599' href='#n2599'>2599</a>
<a id='n2600' href='#n2600'>2600</a>
<a id='n2601' href='#n2601'>2601</a>
<a id='n2602' href='#n2602'>2602</a>
<a id='n2603' href='#n2603'>2603</a>
<a id='n2604' href='#n2604'>2604</a>
<a id='n2605' href='#n2605'>2605</a>
<a id='n2606' href='#n2606'>2606</a>
<a id='n2607' href='#n2607'>2607</a>
<a id='n2608' href='#n2608'>2608</a>
<a id='n2609' href='#n2609'>2609</a>
<a id='n2610' href='#n2610'>2610</a>
<a id='n2611' href='#n2611'>2611</a>
<a id='n2612' href='#n2612'>2612</a>
<a id='n2613' href='#n2613'>2613</a>
<a id='n2614' href='#n2614'>2614</a>
<a id='n2615' href='#n2615'>2615</a>
<a id='n2616' href='#n2616'>2616</a>
<a id='n2617' href='#n2617'>2617</a>
<a id='n2618' href='#n2618'>2618</a>
<a id='n2619' href='#n2619'>2619</a>
<a id='n2620' href='#n2620'>2620</a>
<a id='n2621' href='#n2621'>2621</a>
<a id='n2622' href='#n2622'>2622</a>
<a id='n2623' href='#n2623'>2623</a>
<a id='n2624' href='#n2624'>2624</a>
<a id='n2625' href='#n2625'>2625</a>
<a id='n2626' href='#n2626'>2626</a>
<a id='n2627' href='#n2627'>2627</a>
<a id='n2628' href='#n2628'>2628</a>
<a id='n2629' href='#n2629'>2629</a>
<a id='n2630' href='#n2630'>2630</a>
<a id='n2631' href='#n2631'>2631</a>
<a id='n2632' href='#n2632'>2632</a>
<a id='n2633' href='#n2633'>2633</a>
<a id='n2634' href='#n2634'>2634</a>
<a id='n2635' href='#n2635'>2635</a>
<a id='n2636' href='#n2636'>2636</a>
<a id='n2637' href='#n2637'>2637</a>
<a id='n2638' href='#n2638'>2638</a>
<a id='n2639' href='#n2639'>2639</a>
<a id='n2640' href='#n2640'>2640</a>
<a id='n2641' href='#n2641'>2641</a>
<a id='n2642' href='#n2642'>2642</a>
<a id='n2643' href='#n2643'>2643</a>
<a id='n2644' href='#n2644'>2644</a>
<a id='n2645' href='#n2645'>2645</a>
<a id='n2646' href='#n2646'>2646</a>
<a id='n2647' href='#n2647'>2647</a>
<a id='n2648' href='#n2648'>2648</a>
<a id='n2649' href='#n2649'>2649</a>
<a id='n2650' href='#n2650'>2650</a>
<a id='n2651' href='#n2651'>2651</a>
<a id='n2652' href='#n2652'>2652</a>
<a id='n2653' href='#n2653'>2653</a>
<a id='n2654' href='#n2654'>2654</a>
<a id='n2655' href='#n2655'>2655</a>
<a id='n2656' href='#n2656'>2656</a>
<a id='n2657' href='#n2657'>2657</a>
<a id='n2658' href='#n2658'>2658</a>
<a id='n2659' href='#n2659'>2659</a>
<a id='n2660' href='#n2660'>2660</a>
<a id='n2661' href='#n2661'>2661</a>
<a id='n2662' href='#n2662'>2662</a>
<a id='n2663' href='#n2663'>2663</a>
<a id='n2664' href='#n2664'>2664</a>
<a id='n2665' href='#n2665'>2665</a>
<a id='n2666' href='#n2666'>2666</a>
<a id='n2667' href='#n2667'>2667</a>
<a id='n2668' href='#n2668'>2668</a>
<a id='n2669' href='#n2669'>2669</a>
<a id='n2670' href='#n2670'>2670</a>
<a id='n2671' href='#n2671'>2671</a>
<a id='n2672' href='#n2672'>2672</a>
<a id='n2673' href='#n2673'>2673</a>
<a id='n2674' href='#n2674'>2674</a>
<a id='n2675' href='#n2675'>2675</a>
<a id='n2676' href='#n2676'>2676</a>
<a id='n2677' href='#n2677'>2677</a>
<a id='n2678' href='#n2678'>2678</a>
<a id='n2679' href='#n2679'>2679</a>
<a id='n2680' href='#n2680'>2680</a>
<a id='n2681' href='#n2681'>2681</a>
<a id='n2682' href='#n2682'>2682</a>
<a id='n2683' href='#n2683'>2683</a>
<a id='n2684' href='#n2684'>2684</a>
<a id='n2685' href='#n2685'>2685</a>
<a id='n2686' href='#n2686'>2686</a>
<a id='n2687' href='#n2687'>2687</a>
<a id='n2688' href='#n2688'>2688</a>
<a id='n2689' href='#n2689'>2689</a>
<a id='n2690' href='#n2690'>2690</a>
<a id='n2691' href='#n2691'>2691</a>
<a id='n2692' href='#n2692'>2692</a>
<a id='n2693' href='#n2693'>2693</a>
<a id='n2694' href='#n2694'>2694</a>
<a id='n2695' href='#n2695'>2695</a>
<a id='n2696' href='#n2696'>2696</a>
<a id='n2697' href='#n2697'>2697</a>
<a id='n2698' href='#n2698'>2698</a>
<a id='n2699' href='#n2699'>2699</a>
<a id='n2700' href='#n2700'>2700</a>
<a id='n2701' href='#n2701'>2701</a>
<a id='n2702' href='#n2702'>2702</a>
<a id='n2703' href='#n2703'>2703</a>
<a id='n2704' href='#n2704'>2704</a>
<a id='n2705' href='#n2705'>2705</a>
<a id='n2706' href='#n2706'>2706</a>
<a id='n2707' href='#n2707'>2707</a>
<a id='n2708' href='#n2708'>2708</a>
<a id='n2709' href='#n2709'>2709</a>
<a id='n2710' href='#n2710'>2710</a>
<a id='n2711' href='#n2711'>2711</a>
<a id='n2712' href='#n2712'>2712</a>
<a id='n2713' href='#n2713'>2713</a>
<a id='n2714' href='#n2714'>2714</a>
<a id='n2715' href='#n2715'>2715</a>
<a id='n2716' href='#n2716'>2716</a>
<a id='n2717' href='#n2717'>2717</a>
<a id='n2718' href='#n2718'>2718</a>
<a id='n2719' href='#n2719'>2719</a>
<a id='n2720' href='#n2720'>2720</a>
<a id='n2721' href='#n2721'>2721</a>
<a id='n2722' href='#n2722'>2722</a>
<a id='n2723' href='#n2723'>2723</a>
<a id='n2724' href='#n2724'>2724</a>
<a id='n2725' href='#n2725'>2725</a>
<a id='n2726' href='#n2726'>2726</a>
<a id='n2727' href='#n2727'>2727</a>
<a id='n2728' href='#n2728'>2728</a>
<a id='n2729' href='#n2729'>2729</a>
<a id='n2730' href='#n2730'>2730</a>
<a id='n2731' href='#n2731'>2731</a>
<a id='n2732' href='#n2732'>2732</a>
<a id='n2733' href='#n2733'>2733</a>
<a id='n2734' href='#n2734'>2734</a>
<a id='n2735' href='#n2735'>2735</a>
<a id='n2736' href='#n2736'>2736</a>
<a id='n2737' href='#n2737'>2737</a>
<a id='n2738' href='#n2738'>2738</a>
<a id='n2739' href='#n2739'>2739</a>
<a id='n2740' href='#n2740'>2740</a>
<a id='n2741' href='#n2741'>2741</a>
<a id='n2742' href='#n2742'>2742</a>
<a id='n2743' href='#n2743'>2743</a>
<a id='n2744' href='#n2744'>2744</a>
<a id='n2745' href='#n2745'>2745</a>
<a id='n2746' href='#n2746'>2746</a>
<a id='n2747' href='#n2747'>2747</a>
<a id='n2748' href='#n2748'>2748</a>
<a id='n2749' href='#n2749'>2749</a>
<a id='n2750' href='#n2750'>2750</a>
<a id='n2751' href='#n2751'>2751</a>
<a id='n2752' href='#n2752'>2752</a>
<a id='n2753' href='#n2753'>2753</a>
<a id='n2754' href='#n2754'>2754</a>
<a id='n2755' href='#n2755'>2755</a>
<a id='n2756' href='#n2756'>2756</a>
<a id='n2757' href='#n2757'>2757</a>
<a id='n2758' href='#n2758'>2758</a>
<a id='n2759' href='#n2759'>2759</a>
<a id='n2760' href='#n2760'>2760</a>
<a id='n2761' href='#n2761'>2761</a>
<a id='n2762' href='#n2762'>2762</a>
<a id='n2763' href='#n2763'>2763</a>
<a id='n2764' href='#n2764'>2764</a>
<a id='n2765' href='#n2765'>2765</a>
<a id='n2766' href='#n2766'>2766</a>
<a id='n2767' href='#n2767'>2767</a>
<a id='n2768' href='#n2768'>2768</a>
<a id='n2769' href='#n2769'>2769</a>
<a id='n2770' href='#n2770'>2770</a>
<a id='n2771' href='#n2771'>2771</a>
<a id='n2772' href='#n2772'>2772</a>
<a id='n2773' href='#n2773'>2773</a>
<a id='n2774' href='#n2774'>2774</a>
<a id='n2775' href='#n2775'>2775</a>
<a id='n2776' href='#n2776'>2776</a>
<a id='n2777' href='#n2777'>2777</a>
<a id='n2778' href='#n2778'>2778</a>
<a id='n2779' href='#n2779'>2779</a>
<a id='n2780' href='#n2780'>2780</a>
<a id='n2781' href='#n2781'>2781</a>
<a id='n2782' href='#n2782'>2782</a>
<a id='n2783' href='#n2783'>2783</a>
<a id='n2784' href='#n2784'>2784</a>
<a id='n2785' href='#n2785'>2785</a>
<a id='n2786' href='#n2786'>2786</a>
<a id='n2787' href='#n2787'>2787</a>
<a id='n2788' href='#n2788'>2788</a>
<a id='n2789' href='#n2789'>2789</a>
<a id='n2790' href='#n2790'>2790</a>
<a id='n2791' href='#n2791'>2791</a>
<a id='n2792' href='#n2792'>2792</a>
<a id='n2793' href='#n2793'>2793</a>
<a id='n2794' href='#n2794'>2794</a>
<a id='n2795' href='#n2795'>2795</a>
<a id='n2796' href='#n2796'>2796</a>
<a id='n2797' href='#n2797'>2797</a>
<a id='n2798' href='#n2798'>2798</a>
<a id='n2799' href='#n2799'>2799</a>
<a id='n2800' href='#n2800'>2800</a>
<a id='n2801' href='#n2801'>2801</a>
<a id='n2802' href='#n2802'>2802</a>
<a id='n2803' href='#n2803'>2803</a>
<a id='n2804' href='#n2804'>2804</a>
<a id='n2805' href='#n2805'>2805</a>
<a id='n2806' href='#n2806'>2806</a>
<a id='n2807' href='#n2807'>2807</a>
<a id='n2808' href='#n2808'>2808</a>
<a id='n2809' href='#n2809'>2809</a>
<a id='n2810' href='#n2810'>2810</a>
<a id='n2811' href='#n2811'>2811</a>
<a id='n2812' href='#n2812'>2812</a>
<a id='n2813' href='#n2813'>2813</a>
<a id='n2814' href='#n2814'>2814</a>
<a id='n2815' href='#n2815'>2815</a>
<a id='n2816' href='#n2816'>2816</a>
<a id='n2817' href='#n2817'>2817</a>
<a id='n2818' href='#n2818'>2818</a>
<a id='n2819' href='#n2819'>2819</a>
<a id='n2820' href='#n2820'>2820</a>
<a id='n2821' href='#n2821'>2821</a>
<a id='n2822' href='#n2822'>2822</a>
<a id='n2823' href='#n2823'>2823</a>
<a id='n2824' href='#n2824'>2824</a>
<a id='n2825' href='#n2825'>2825</a>
<a id='n2826' href='#n2826'>2826</a>
<a id='n2827' href='#n2827'>2827</a>
<a id='n2828' href='#n2828'>2828</a>
<a id='n2829' href='#n2829'>2829</a>
<a id='n2830' href='#n2830'>2830</a>
<a id='n2831' href='#n2831'>2831</a>
<a id='n2832' href='#n2832'>2832</a>
<a id='n2833' href='#n2833'>2833</a>
<a id='n2834' href='#n2834'>2834</a>
<a id='n2835' href='#n2835'>2835</a>
<a id='n2836' href='#n2836'>2836</a>
<a id='n2837' href='#n2837'>2837</a>
<a id='n2838' href='#n2838'>2838</a>
<a id='n2839' href='#n2839'>2839</a>
<a id='n2840' href='#n2840'>2840</a>
<a id='n2841' href='#n2841'>2841</a>
<a id='n2842' href='#n2842'>2842</a>
<a id='n2843' href='#n2843'>2843</a>
<a id='n2844' href='#n2844'>2844</a>
<a id='n2845' href='#n2845'>2845</a>
<a id='n2846' href='#n2846'>2846</a>
<a id='n2847' href='#n2847'>2847</a>
<a id='n2848' href='#n2848'>2848</a>
<a id='n2849' href='#n2849'>2849</a>
<a id='n2850' href='#n2850'>2850</a>
<a id='n2851' href='#n2851'>2851</a>
<a id='n2852' href='#n2852'>2852</a>
<a id='n2853' href='#n2853'>2853</a>
<a id='n2854' href='#n2854'>2854</a>
<a id='n2855' href='#n2855'>2855</a>
<a id='n2856' href='#n2856'>2856</a>
<a id='n2857' href='#n2857'>2857</a>
<a id='n2858' href='#n2858'>2858</a>
<a id='n2859' href='#n2859'>2859</a>
<a id='n2860' href='#n2860'>2860</a>
<a id='n2861' href='#n2861'>2861</a>
<a id='n2862' href='#n2862'>2862</a>
<a id='n2863' href='#n2863'>2863</a>
<a id='n2864' href='#n2864'>2864</a>
<a id='n2865' href='#n2865'>2865</a>
<a id='n2866' href='#n2866'>2866</a>
<a id='n2867' href='#n2867'>2867</a>
<a id='n2868' href='#n2868'>2868</a>
<a id='n2869' href='#n2869'>2869</a>
<a id='n2870' href='#n2870'>2870</a>
<a id='n2871' href='#n2871'>2871</a>
<a id='n2872' href='#n2872'>2872</a>
<a id='n2873' href='#n2873'>2873</a>
<a id='n2874' href='#n2874'>2874</a>
<a id='n2875' href='#n2875'>2875</a>
<a id='n2876' href='#n2876'>2876</a>
<a id='n2877' href='#n2877'>2877</a>
<a id='n2878' href='#n2878'>2878</a>
<a id='n2879' href='#n2879'>2879</a>
<a id='n2880' href='#n2880'>2880</a>
<a id='n2881' href='#n2881'>2881</a>
<a id='n2882' href='#n2882'>2882</a>
<a id='n2883' href='#n2883'>2883</a>
<a id='n2884' href='#n2884'>2884</a>
<a id='n2885' href='#n2885'>2885</a>
<a id='n2886' href='#n2886'>2886</a>
<a id='n2887' href='#n2887'>2887</a>
<a id='n2888' href='#n2888'>2888</a>
<a id='n2889' href='#n2889'>2889</a>
<a id='n2890' href='#n2890'>2890</a>
<a id='n2891' href='#n2891'>2891</a>
<a id='n2892' href='#n2892'>2892</a>
<a id='n2893' href='#n2893'>2893</a>
<a id='n2894' href='#n2894'>2894</a>
<a id='n2895' href='#n2895'>2895</a>
<a id='n2896' href='#n2896'>2896</a>
<a id='n2897' href='#n2897'>2897</a>
<a id='n2898' href='#n2898'>2898</a>
<a id='n2899' href='#n2899'>2899</a>
<a id='n2900' href='#n2900'>2900</a>
<a id='n2901' href='#n2901'>2901</a>
<a id='n2902' href='#n2902'>2902</a>
<a id='n2903' href='#n2903'>2903</a>
<a id='n2904' href='#n2904'>2904</a>
<a id='n2905' href='#n2905'>2905</a>
<a id='n2906' href='#n2906'>2906</a>
<a id='n2907' href='#n2907'>2907</a>
<a id='n2908' href='#n2908'>2908</a>
<a id='n2909' href='#n2909'>2909</a>
<a id='n2910' href='#n2910'>2910</a>
<a id='n2911' href='#n2911'>2911</a>
<a id='n2912' href='#n2912'>2912</a>
<a id='n2913' href='#n2913'>2913</a>
<a id='n2914' href='#n2914'>2914</a>
<a id='n2915' href='#n2915'>2915</a>
<a id='n2916' href='#n2916'>2916</a>
<a id='n2917' href='#n2917'>2917</a>
<a id='n2918' href='#n2918'>2918</a>
<a id='n2919' href='#n2919'>2919</a>
<a id='n2920' href='#n2920'>2920</a>
<a id='n2921' href='#n2921'>2921</a>
<a id='n2922' href='#n2922'>2922</a>
<a id='n2923' href='#n2923'>2923</a>
<a id='n2924' href='#n2924'>2924</a>
<a id='n2925' href='#n2925'>2925</a>
<a id='n2926' href='#n2926'>2926</a>
<a id='n2927' href='#n2927'>2927</a>
<a id='n2928' href='#n2928'>2928</a>
<a id='n2929' href='#n2929'>2929</a>
<a id='n2930' href='#n2930'>2930</a>
<a id='n2931' href='#n2931'>2931</a>
<a id='n2932' href='#n2932'>2932</a>
<a id='n2933' href='#n2933'>2933</a>
<a id='n2934' href='#n2934'>2934</a>
<a id='n2935' href='#n2935'>2935</a>
<a id='n2936' href='#n2936'>2936</a>
<a id='n2937' href='#n2937'>2937</a>
<a id='n2938' href='#n2938'>2938</a>
<a id='n2939' href='#n2939'>2939</a>
<a id='n2940' href='#n2940'>2940</a>
<a id='n2941' href='#n2941'>2941</a>
<a id='n2942' href='#n2942'>2942</a>
<a id='n2943' href='#n2943'>2943</a>
<a id='n2944' href='#n2944'>2944</a>
<a id='n2945' href='#n2945'>2945</a>
<a id='n2946' href='#n2946'>2946</a>
<a id='n2947' href='#n2947'>2947</a>
<a id='n2948' href='#n2948'>2948</a>
<a id='n2949' href='#n2949'>2949</a>
<a id='n2950' href='#n2950'>2950</a>
<a id='n2951' href='#n2951'>2951</a>
<a id='n2952' href='#n2952'>2952</a>
<a id='n2953' href='#n2953'>2953</a>
<a id='n2954' href='#n2954'>2954</a>
<a id='n2955' href='#n2955'>2955</a>
<a id='n2956' href='#n2956'>2956</a>
<a id='n2957' href='#n2957'>2957</a>
<a id='n2958' href='#n2958'>2958</a>
<a id='n2959' href='#n2959'>2959</a>
<a id='n2960' href='#n2960'>2960</a>
<a id='n2961' href='#n2961'>2961</a>
<a id='n2962' href='#n2962'>2962</a>
<a id='n2963' href='#n2963'>2963</a>
<a id='n2964' href='#n2964'>2964</a>
<a id='n2965' href='#n2965'>2965</a>
<a id='n2966' href='#n2966'>2966</a>
<a id='n2967' href='#n2967'>2967</a>
<a id='n2968' href='#n2968'>2968</a>
<a id='n2969' href='#n2969'>2969</a>
<a id='n2970' href='#n2970'>2970</a>
<a id='n2971' href='#n2971'>2971</a>
<a id='n2972' href='#n2972'>2972</a>
<a id='n2973' href='#n2973'>2973</a>
<a id='n2974' href='#n2974'>2974</a>
<a id='n2975' href='#n2975'>2975</a>
<a id='n2976' href='#n2976'>2976</a>
<a id='n2977' href='#n2977'>2977</a>
<a id='n2978' href='#n2978'>2978</a>
<a id='n2979' href='#n2979'>2979</a>
<a id='n2980' href='#n2980'>2980</a>
<a id='n2981' href='#n2981'>2981</a>
<a id='n2982' href='#n2982'>2982</a>
<a id='n2983' href='#n2983'>2983</a>
<a id='n2984' href='#n2984'>2984</a>
<a id='n2985' href='#n2985'>2985</a>
<a id='n2986' href='#n2986'>2986</a>
<a id='n2987' href='#n2987'>2987</a>
<a id='n2988' href='#n2988'>2988</a>
<a id='n2989' href='#n2989'>2989</a>
<a id='n2990' href='#n2990'>2990</a>
<a id='n2991' href='#n2991'>2991</a>
<a id='n2992' href='#n2992'>2992</a>
<a id='n2993' href='#n2993'>2993</a>
<a id='n2994' href='#n2994'>2994</a>
<a id='n2995' href='#n2995'>2995</a>
<a id='n2996' href='#n2996'>2996</a>
<a id='n2997' href='#n2997'>2997</a>
<a id='n2998' href='#n2998'>2998</a>
<a id='n2999' href='#n2999'>2999</a>
<a id='n3000' href='#n3000'>3000</a>
<a id='n3001' href='#n3001'>3001</a>
<a id='n3002' href='#n3002'>3002</a>
<a id='n3003' href='#n3003'>3003</a>
<a id='n3004' href='#n3004'>3004</a>
<a id='n3005' href='#n3005'>3005</a>
<a id='n3006' href='#n3006'>3006</a>
<a id='n3007' href='#n3007'>3007</a>
<a id='n3008' href='#n3008'>3008</a>
<a id='n3009' href='#n3009'>3009</a>
<a id='n3010' href='#n3010'>3010</a>
<a id='n3011' href='#n3011'>3011</a>
<a id='n3012' href='#n3012'>3012</a>
<a id='n3013' href='#n3013'>3013</a>
<a id='n3014' href='#n3014'>3014</a>
<a id='n3015' href='#n3015'>3015</a>
<a id='n3016' href='#n3016'>3016</a>
<a id='n3017' href='#n3017'>3017</a>
<a id='n3018' href='#n3018'>3018</a>
<a id='n3019' href='#n3019'>3019</a>
<a id='n3020' href='#n3020'>3020</a>
<a id='n3021' href='#n3021'>3021</a>
<a id='n3022' href='#n3022'>3022</a>
<a id='n3023' href='#n3023'>3023</a>
<a id='n3024' href='#n3024'>3024</a>
<a id='n3025' href='#n3025'>3025</a>
<a id='n3026' href='#n3026'>3026</a>
<a id='n3027' href='#n3027'>3027</a>
<a id='n3028' href='#n3028'>3028</a>
<a id='n3029' href='#n3029'>3029</a>
<a id='n3030' href='#n3030'>3030</a>
<a id='n3031' href='#n3031'>3031</a>
<a id='n3032' href='#n3032'>3032</a>
<a id='n3033' href='#n3033'>3033</a>
<a id='n3034' href='#n3034'>3034</a>
<a id='n3035' href='#n3035'>3035</a>
<a id='n3036' href='#n3036'>3036</a>
<a id='n3037' href='#n3037'>3037</a>
<a id='n3038' href='#n3038'>3038</a>
<a id='n3039' href='#n3039'>3039</a>
<a id='n3040' href='#n3040'>3040</a>
<a id='n3041' href='#n3041'>3041</a>
<a id='n3042' href='#n3042'>3042</a>
<a id='n3043' href='#n3043'>3043</a>
<a id='n3044' href='#n3044'>3044</a>
<a id='n3045' href='#n3045'>3045</a>
<a id='n3046' href='#n3046'>3046</a>
<a id='n3047' href='#n3047'>3047</a>
<a id='n3048' href='#n3048'>3048</a>
<a id='n3049' href='#n3049'>3049</a>
<a id='n3050' href='#n3050'>3050</a>
<a id='n3051' href='#n3051'>3051</a>
<a id='n3052' href='#n3052'>3052</a>
<a id='n3053' href='#n3053'>3053</a>
<a id='n3054' href='#n3054'>3054</a>
<a id='n3055' href='#n3055'>3055</a>
<a id='n3056' href='#n3056'>3056</a>
<a id='n3057' href='#n3057'>3057</a>
<a id='n3058' href='#n3058'>3058</a>
<a id='n3059' href='#n3059'>3059</a>
<a id='n3060' href='#n3060'>3060</a>
<a id='n3061' href='#n3061'>3061</a>
<a id='n3062' href='#n3062'>3062</a>
<a id='n3063' href='#n3063'>3063</a>
<a id='n3064' href='#n3064'>3064</a>
<a id='n3065' href='#n3065'>3065</a>
<a id='n3066' href='#n3066'>3066</a>
<a id='n3067' href='#n3067'>3067</a>
<a id='n3068' href='#n3068'>3068</a>
<a id='n3069' href='#n3069'>3069</a>
<a id='n3070' href='#n3070'>3070</a>
<a id='n3071' href='#n3071'>3071</a>
<a id='n3072' href='#n3072'>3072</a>
<a id='n3073' href='#n3073'>3073</a>
<a id='n3074' href='#n3074'>3074</a>
<a id='n3075' href='#n3075'>3075</a>
<a id='n3076' href='#n3076'>3076</a>
<a id='n3077' href='#n3077'>3077</a>
<a id='n3078' href='#n3078'>3078</a>
<a id='n3079' href='#n3079'>3079</a>
<a id='n3080' href='#n3080'>3080</a>
<a id='n3081' href='#n3081'>3081</a>
<a id='n3082' href='#n3082'>3082</a>
<a id='n3083' href='#n3083'>3083</a>
<a id='n3084' href='#n3084'>3084</a>
<a id='n3085' href='#n3085'>3085</a>
<a id='n3086' href='#n3086'>3086</a>
<a id='n3087' href='#n3087'>3087</a>
<a id='n3088' href='#n3088'>3088</a>
<a id='n3089' href='#n3089'>3089</a>
<a id='n3090' href='#n3090'>3090</a>
<a id='n3091' href='#n3091'>3091</a>
<a id='n3092' href='#n3092'>3092</a>
<a id='n3093' href='#n3093'>3093</a>
<a id='n3094' href='#n3094'>3094</a>
<a id='n3095' href='#n3095'>3095</a>
<a id='n3096' href='#n3096'>3096</a>
<a id='n3097' href='#n3097'>3097</a>
<a id='n3098' href='#n3098'>3098</a>
<a id='n3099' href='#n3099'>3099</a>
<a id='n3100' href='#n3100'>3100</a>
<a id='n3101' href='#n3101'>3101</a>
<a id='n3102' href='#n3102'>3102</a>
<a id='n3103' href='#n3103'>3103</a>
<a id='n3104' href='#n3104'>3104</a>
<a id='n3105' href='#n3105'>3105</a>
<a id='n3106' href='#n3106'>3106</a>
<a id='n3107' href='#n3107'>3107</a>
<a id='n3108' href='#n3108'>3108</a>
<a id='n3109' href='#n3109'>3109</a>
<a id='n3110' href='#n3110'>3110</a>
<a id='n3111' href='#n3111'>3111</a>
<a id='n3112' href='#n3112'>3112</a>
<a id='n3113' href='#n3113'>3113</a>
<a id='n3114' href='#n3114'>3114</a>
<a id='n3115' href='#n3115'>3115</a>
<a id='n3116' href='#n3116'>3116</a>
<a id='n3117' href='#n3117'>3117</a>
<a id='n3118' href='#n3118'>3118</a>
<a id='n3119' href='#n3119'>3119</a>
<a id='n3120' href='#n3120'>3120</a>
<a id='n3121' href='#n3121'>3121</a>
<a id='n3122' href='#n3122'>3122</a>
<a id='n3123' href='#n3123'>3123</a>
<a id='n3124' href='#n3124'>3124</a>
<a id='n3125' href='#n3125'>3125</a>
<a id='n3126' href='#n3126'>3126</a>
<a id='n3127' href='#n3127'>3127</a>
<a id='n3128' href='#n3128'>3128</a>
<a id='n3129' href='#n3129'>3129</a>
<a id='n3130' href='#n3130'>3130</a>
<a id='n3131' href='#n3131'>3131</a>
<a id='n3132' href='#n3132'>3132</a>
<a id='n3133' href='#n3133'>3133</a>
<a id='n3134' href='#n3134'>3134</a>
<a id='n3135' href='#n3135'>3135</a>
<a id='n3136' href='#n3136'>3136</a>
<a id='n3137' href='#n3137'>3137</a>
<a id='n3138' href='#n3138'>3138</a>
<a id='n3139' href='#n3139'>3139</a>
<a id='n3140' href='#n3140'>3140</a>
<a id='n3141' href='#n3141'>3141</a>
<a id='n3142' href='#n3142'>3142</a>
<a id='n3143' href='#n3143'>3143</a>
<a id='n3144' href='#n3144'>3144</a>
<a id='n3145' href='#n3145'>3145</a>
<a id='n3146' href='#n3146'>3146</a>
<a id='n3147' href='#n3147'>3147</a>
<a id='n3148' href='#n3148'>3148</a>
<a id='n3149' href='#n3149'>3149</a>
<a id='n3150' href='#n3150'>3150</a>
<a id='n3151' href='#n3151'>3151</a>
<a id='n3152' href='#n3152'>3152</a>
<a id='n3153' href='#n3153'>3153</a>
<a id='n3154' href='#n3154'>3154</a>
<a id='n3155' href='#n3155'>3155</a>
<a id='n3156' href='#n3156'>3156</a>
<a id='n3157' href='#n3157'>3157</a>
<a id='n3158' href='#n3158'>3158</a>
<a id='n3159' href='#n3159'>3159</a>
<a id='n3160' href='#n3160'>3160</a>
<a id='n3161' href='#n3161'>3161</a>
<a id='n3162' href='#n3162'>3162</a>
<a id='n3163' href='#n3163'>3163</a>
<a id='n3164' href='#n3164'>3164</a>
<a id='n3165' href='#n3165'>3165</a>
<a id='n3166' href='#n3166'>3166</a>
<a id='n3167' href='#n3167'>3167</a>
<a id='n3168' href='#n3168'>3168</a>
<a id='n3169' href='#n3169'>3169</a>
<a id='n3170' href='#n3170'>3170</a>
<a id='n3171' href='#n3171'>3171</a>
<a id='n3172' href='#n3172'>3172</a>
<a id='n3173' href='#n3173'>3173</a>
<a id='n3174' href='#n3174'>3174</a>
<a id='n3175' href='#n3175'>3175</a>
<a id='n3176' href='#n3176'>3176</a>
<a id='n3177' href='#n3177'>3177</a>
<a id='n3178' href='#n3178'>3178</a>
<a id='n3179' href='#n3179'>3179</a>
<a id='n3180' href='#n3180'>3180</a>
<a id='n3181' href='#n3181'>3181</a>
<a id='n3182' href='#n3182'>3182</a>
<a id='n3183' href='#n3183'>3183</a>
<a id='n3184' href='#n3184'>3184</a>
<a id='n3185' href='#n3185'>3185</a>
<a id='n3186' href='#n3186'>3186</a>
<a id='n3187' href='#n3187'>3187</a>
<a id='n3188' href='#n3188'>3188</a>
<a id='n3189' href='#n3189'>3189</a>
<a id='n3190' href='#n3190'>3190</a>
<a id='n3191' href='#n3191'>3191</a>
<a id='n3192' href='#n3192'>3192</a>
<a id='n3193' href='#n3193'>3193</a>
<a id='n3194' href='#n3194'>3194</a>
<a id='n3195' href='#n3195'>3195</a>
<a id='n3196' href='#n3196'>3196</a>
<a id='n3197' href='#n3197'>3197</a>
<a id='n3198' href='#n3198'>3198</a>
<a id='n3199' href='#n3199'>3199</a>
<a id='n3200' href='#n3200'>3200</a>
<a id='n3201' href='#n3201'>3201</a>
<a id='n3202' href='#n3202'>3202</a>
<a id='n3203' href='#n3203'>3203</a>
<a id='n3204' href='#n3204'>3204</a>
<a id='n3205' href='#n3205'>3205</a>
<a id='n3206' href='#n3206'>3206</a>
<a id='n3207' href='#n3207'>3207</a>
<a id='n3208' href='#n3208'>3208</a>
<a id='n3209' href='#n3209'>3209</a>
<a id='n3210' href='#n3210'>3210</a>
<a id='n3211' href='#n3211'>3211</a>
<a id='n3212' href='#n3212'>3212</a>
<a id='n3213' href='#n3213'>3213</a>
<a id='n3214' href='#n3214'>3214</a>
<a id='n3215' href='#n3215'>3215</a>
<a id='n3216' href='#n3216'>3216</a>
<a id='n3217' href='#n3217'>3217</a>
<a id='n3218' href='#n3218'>3218</a>
<a id='n3219' href='#n3219'>3219</a>
<a id='n3220' href='#n3220'>3220</a>
<a id='n3221' href='#n3221'>3221</a>
<a id='n3222' href='#n3222'>3222</a>
<a id='n3223' href='#n3223'>3223</a>
<a id='n3224' href='#n3224'>3224</a>
<a id='n3225' href='#n3225'>3225</a>
<a id='n3226' href='#n3226'>3226</a>
<a id='n3227' href='#n3227'>3227</a>
<a id='n3228' href='#n3228'>3228</a>
<a id='n3229' href='#n3229'>3229</a>
<a id='n3230' href='#n3230'>3230</a>
<a id='n3231' href='#n3231'>3231</a>
<a id='n3232' href='#n3232'>3232</a>
<a id='n3233' href='#n3233'>3233</a>
<a id='n3234' href='#n3234'>3234</a>
<a id='n3235' href='#n3235'>3235</a>
<a id='n3236' href='#n3236'>3236</a>
<a id='n3237' href='#n3237'>3237</a>
<a id='n3238' href='#n3238'>3238</a>
<a id='n3239' href='#n3239'>3239</a>
<a id='n3240' href='#n3240'>3240</a>
<a id='n3241' href='#n3241'>3241</a>
<a id='n3242' href='#n3242'>3242</a>
<a id='n3243' href='#n3243'>3243</a>
<a id='n3244' href='#n3244'>3244</a>
<a id='n3245' href='#n3245'>3245</a>
<a id='n3246' href='#n3246'>3246</a>
<a id='n3247' href='#n3247'>3247</a>
<a id='n3248' href='#n3248'>3248</a>
<a id='n3249' href='#n3249'>3249</a>
<a id='n3250' href='#n3250'>3250</a>
<a id='n3251' href='#n3251'>3251</a>
<a id='n3252' href='#n3252'>3252</a>
<a id='n3253' href='#n3253'>3253</a>
<a id='n3254' href='#n3254'>3254</a>
<a id='n3255' href='#n3255'>3255</a>
<a id='n3256' href='#n3256'>3256</a>
<a id='n3257' href='#n3257'>3257</a>
<a id='n3258' href='#n3258'>3258</a>
<a id='n3259' href='#n3259'>3259</a>
<a id='n3260' href='#n3260'>3260</a>
<a id='n3261' href='#n3261'>3261</a>
<a id='n3262' href='#n3262'>3262</a>
<a id='n3263' href='#n3263'>3263</a>
<a id='n3264' href='#n3264'>3264</a>
<a id='n3265' href='#n3265'>3265</a>
<a id='n3266' href='#n3266'>3266</a>
<a id='n3267' href='#n3267'>3267</a>
<a id='n3268' href='#n3268'>3268</a>
<a id='n3269' href='#n3269'>3269</a>
<a id='n3270' href='#n3270'>3270</a>
<a id='n3271' href='#n3271'>3271</a>
<a id='n3272' href='#n3272'>3272</a>
<a id='n3273' href='#n3273'>3273</a>
<a id='n3274' href='#n3274'>3274</a>
<a id='n3275' href='#n3275'>3275</a>
<a id='n3276' href='#n3276'>3276</a>
<a id='n3277' href='#n3277'>3277</a>
<a id='n3278' href='#n3278'>3278</a>
<a id='n3279' href='#n3279'>3279</a>
<a id='n3280' href='#n3280'>3280</a>
<a id='n3281' href='#n3281'>3281</a>
<a id='n3282' href='#n3282'>3282</a>
<a id='n3283' href='#n3283'>3283</a>
<a id='n3284' href='#n3284'>3284</a>
<a id='n3285' href='#n3285'>3285</a>
<a id='n3286' href='#n3286'>3286</a>
<a id='n3287' href='#n3287'>3287</a>
<a id='n3288' href='#n3288'>3288</a>
<a id='n3289' href='#n3289'>3289</a>
<a id='n3290' href='#n3290'>3290</a>
<a id='n3291' href='#n3291'>3291</a>
<a id='n3292' href='#n3292'>3292</a>
<a id='n3293' href='#n3293'>3293</a>
<a id='n3294' href='#n3294'>3294</a>
<a id='n3295' href='#n3295'>3295</a>
<a id='n3296' href='#n3296'>3296</a>
<a id='n3297' href='#n3297'>3297</a>
<a id='n3298' href='#n3298'>3298</a>
<a id='n3299' href='#n3299'>3299</a>
<a id='n3300' href='#n3300'>3300</a>
<a id='n3301' href='#n3301'>3301</a>
<a id='n3302' href='#n3302'>3302</a>
<a id='n3303' href='#n3303'>3303</a>
<a id='n3304' href='#n3304'>3304</a>
<a id='n3305' href='#n3305'>3305</a>
<a id='n3306' href='#n3306'>3306</a>
<a id='n3307' href='#n3307'>3307</a>
<a id='n3308' href='#n3308'>3308</a>
<a id='n3309' href='#n3309'>3309</a>
<a id='n3310' href='#n3310'>3310</a>
<a id='n3311' href='#n3311'>3311</a>
<a id='n3312' href='#n3312'>3312</a>
<a id='n3313' href='#n3313'>3313</a>
<a id='n3314' href='#n3314'>3314</a>
<a id='n3315' href='#n3315'>3315</a>
<a id='n3316' href='#n3316'>3316</a>
<a id='n3317' href='#n3317'>3317</a>
<a id='n3318' href='#n3318'>3318</a>
<a id='n3319' href='#n3319'>3319</a>
<a id='n3320' href='#n3320'>3320</a>
<a id='n3321' href='#n3321'>3321</a>
<a id='n3322' href='#n3322'>3322</a>
<a id='n3323' href='#n3323'>3323</a>
<a id='n3324' href='#n3324'>3324</a>
<a id='n3325' href='#n3325'>3325</a>
<a id='n3326' href='#n3326'>3326</a>
<a id='n3327' href='#n3327'>3327</a>
<a id='n3328' href='#n3328'>3328</a>
<a id='n3329' href='#n3329'>3329</a>
<a id='n3330' href='#n3330'>3330</a>
<a id='n3331' href='#n3331'>3331</a>
<a id='n3332' href='#n3332'>3332</a>
<a id='n3333' href='#n3333'>3333</a>
<a id='n3334' href='#n3334'>3334</a>
<a id='n3335' href='#n3335'>3335</a>
<a id='n3336' href='#n3336'>3336</a>
<a id='n3337' href='#n3337'>3337</a>
<a id='n3338' href='#n3338'>3338</a>
<a id='n3339' href='#n3339'>3339</a>
<a id='n3340' href='#n3340'>3340</a>
<a id='n3341' href='#n3341'>3341</a>
<a id='n3342' href='#n3342'>3342</a>
<a id='n3343' href='#n3343'>3343</a>
<a id='n3344' href='#n3344'>3344</a>
<a id='n3345' href='#n3345'>3345</a>
<a id='n3346' href='#n3346'>3346</a>
<a id='n3347' href='#n3347'>3347</a>
<a id='n3348' href='#n3348'>3348</a>
<a id='n3349' href='#n3349'>3349</a>
<a id='n3350' href='#n3350'>3350</a>
<a id='n3351' href='#n3351'>3351</a>
<a id='n3352' href='#n3352'>3352</a>
<a id='n3353' href='#n3353'>3353</a>
<a id='n3354' href='#n3354'>3354</a>
<a id='n3355' href='#n3355'>3355</a>
<a id='n3356' href='#n3356'>3356</a>
<a id='n3357' href='#n3357'>3357</a>
<a id='n3358' href='#n3358'>3358</a>
<a id='n3359' href='#n3359'>3359</a>
<a id='n3360' href='#n3360'>3360</a>
<a id='n3361' href='#n3361'>3361</a>
<a id='n3362' href='#n3362'>3362</a>
<a id='n3363' href='#n3363'>3363</a>
<a id='n3364' href='#n3364'>3364</a>
<a id='n3365' href='#n3365'>3365</a>
<a id='n3366' href='#n3366'>3366</a>
<a id='n3367' href='#n3367'>3367</a>
<a id='n3368' href='#n3368'>3368</a>
<a id='n3369' href='#n3369'>3369</a>
<a id='n3370' href='#n3370'>3370</a>
<a id='n3371' href='#n3371'>3371</a>
<a id='n3372' href='#n3372'>3372</a>
<a id='n3373' href='#n3373'>3373</a>
<a id='n3374' href='#n3374'>3374</a>
<a id='n3375' href='#n3375'>3375</a>
<a id='n3376' href='#n3376'>3376</a>
<a id='n3377' href='#n3377'>3377</a>
<a id='n3378' href='#n3378'>3378</a>
<a id='n3379' href='#n3379'>3379</a>
<a id='n3380' href='#n3380'>3380</a>
<a id='n3381' href='#n3381'>3381</a>
<a id='n3382' href='#n3382'>3382</a>
<a id='n3383' href='#n3383'>3383</a>
<a id='n3384' href='#n3384'>3384</a>
<a id='n3385' href='#n3385'>3385</a>
<a id='n3386' href='#n3386'>3386</a>
<a id='n3387' href='#n3387'>3387</a>
<a id='n3388' href='#n3388'>3388</a>
<a id='n3389' href='#n3389'>3389</a>
<a id='n3390' href='#n3390'>3390</a>
<a id='n3391' href='#n3391'>3391</a>
<a id='n3392' href='#n3392'>3392</a>
<a id='n3393' href='#n3393'>3393</a>
<a id='n3394' href='#n3394'>3394</a>
<a id='n3395' href='#n3395'>3395</a>
<a id='n3396' href='#n3396'>3396</a>
<a id='n3397' href='#n3397'>3397</a>
<a id='n3398' href='#n3398'>3398</a>
<a id='n3399' href='#n3399'>3399</a>
<a id='n3400' href='#n3400'>3400</a>
<a id='n3401' href='#n3401'>3401</a>
<a id='n3402' href='#n3402'>3402</a>
<a id='n3403' href='#n3403'>3403</a>
<a id='n3404' href='#n3404'>3404</a>
<a id='n3405' href='#n3405'>3405</a>
<a id='n3406' href='#n3406'>3406</a>
<a id='n3407' href='#n3407'>3407</a>
<a id='n3408' href='#n3408'>3408</a>
<a id='n3409' href='#n3409'>3409</a>
<a id='n3410' href='#n3410'>3410</a>
<a id='n3411' href='#n3411'>3411</a>
<a id='n3412' href='#n3412'>3412</a>
<a id='n3413' href='#n3413'>3413</a>
<a id='n3414' href='#n3414'>3414</a>
<a id='n3415' href='#n3415'>3415</a>
<a id='n3416' href='#n3416'>3416</a>
<a id='n3417' href='#n3417'>3417</a>
<a id='n3418' href='#n3418'>3418</a>
<a id='n3419' href='#n3419'>3419</a>
<a id='n3420' href='#n3420'>3420</a>
<a id='n3421' href='#n3421'>3421</a>
<a id='n3422' href='#n3422'>3422</a>
<a id='n3423' href='#n3423'>3423</a>
<a id='n3424' href='#n3424'>3424</a>
<a id='n3425' href='#n3425'>3425</a>
<a id='n3426' href='#n3426'>3426</a>
<a id='n3427' href='#n3427'>3427</a>
<a id='n3428' href='#n3428'>3428</a>
<a id='n3429' href='#n3429'>3429</a>
<a id='n3430' href='#n3430'>3430</a>
<a id='n3431' href='#n3431'>3431</a>
<a id='n3432' href='#n3432'>3432</a>
<a id='n3433' href='#n3433'>3433</a>
<a id='n3434' href='#n3434'>3434</a>
<a id='n3435' href='#n3435'>3435</a>
<a id='n3436' href='#n3436'>3436</a>
<a id='n3437' href='#n3437'>3437</a>
<a id='n3438' href='#n3438'>3438</a>
<a id='n3439' href='#n3439'>3439</a>
<a id='n3440' href='#n3440'>3440</a>
<a id='n3441' href='#n3441'>3441</a>
<a id='n3442' href='#n3442'>3442</a>
<a id='n3443' href='#n3443'>3443</a>
<a id='n3444' href='#n3444'>3444</a>
<a id='n3445' href='#n3445'>3445</a>
<a id='n3446' href='#n3446'>3446</a>
<a id='n3447' href='#n3447'>3447</a>
<a id='n3448' href='#n3448'>3448</a>
<a id='n3449' href='#n3449'>3449</a>
<a id='n3450' href='#n3450'>3450</a>
<a id='n3451' href='#n3451'>3451</a>
<a id='n3452' href='#n3452'>3452</a>
<a id='n3453' href='#n3453'>3453</a>
<a id='n3454' href='#n3454'>3454</a>
<a id='n3455' href='#n3455'>3455</a>
<a id='n3456' href='#n3456'>3456</a>
<a id='n3457' href='#n3457'>3457</a>
<a id='n3458' href='#n3458'>3458</a>
<a id='n3459' href='#n3459'>3459</a>
<a id='n3460' href='#n3460'>3460</a>
<a id='n3461' href='#n3461'>3461</a>
<a id='n3462' href='#n3462'>3462</a>
<a id='n3463' href='#n3463'>3463</a>
<a id='n3464' href='#n3464'>3464</a>
<a id='n3465' href='#n3465'>3465</a>
<a id='n3466' href='#n3466'>3466</a>
<a id='n3467' href='#n3467'>3467</a>
<a id='n3468' href='#n3468'>3468</a>
<a id='n3469' href='#n3469'>3469</a>
<a id='n3470' href='#n3470'>3470</a>
<a id='n3471' href='#n3471'>3471</a>
<a id='n3472' href='#n3472'>3472</a>
<a id='n3473' href='#n3473'>3473</a>
<a id='n3474' href='#n3474'>3474</a>
<a id='n3475' href='#n3475'>3475</a>
<a id='n3476' href='#n3476'>3476</a>
<a id='n3477' href='#n3477'>3477</a>
<a id='n3478' href='#n3478'>3478</a>
<a id='n3479' href='#n3479'>3479</a>
<a id='n3480' href='#n3480'>3480</a>
<a id='n3481' href='#n3481'>3481</a>
<a id='n3482' href='#n3482'>3482</a>
<a id='n3483' href='#n3483'>3483</a>
<a id='n3484' href='#n3484'>3484</a>
<a id='n3485' href='#n3485'>3485</a>
<a id='n3486' href='#n3486'>3486</a>
<a id='n3487' href='#n3487'>3487</a>
<a id='n3488' href='#n3488'>3488</a>
<a id='n3489' href='#n3489'>3489</a>
<a id='n3490' href='#n3490'>3490</a>
<a id='n3491' href='#n3491'>3491</a>
<a id='n3492' href='#n3492'>3492</a>
<a id='n3493' href='#n3493'>3493</a>
<a id='n3494' href='#n3494'>3494</a>
<a id='n3495' href='#n3495'>3495</a>
<a id='n3496' href='#n3496'>3496</a>
<a id='n3497' href='#n3497'>3497</a>
<a id='n3498' href='#n3498'>3498</a>
<a id='n3499' href='#n3499'>3499</a>
<a id='n3500' href='#n3500'>3500</a>
<a id='n3501' href='#n3501'>3501</a>
<a id='n3502' href='#n3502'>3502</a>
<a id='n3503' href='#n3503'>3503</a>
<a id='n3504' href='#n3504'>3504</a>
<a id='n3505' href='#n3505'>3505</a>
<a id='n3506' href='#n3506'>3506</a>
<a id='n3507' href='#n3507'>3507</a>
<a id='n3508' href='#n3508'>3508</a>
<a id='n3509' href='#n3509'>3509</a>
<a id='n3510' href='#n3510'>3510</a>
<a id='n3511' href='#n3511'>3511</a>
<a id='n3512' href='#n3512'>3512</a>
<a id='n3513' href='#n3513'>3513</a>
<a id='n3514' href='#n3514'>3514</a>
<a id='n3515' href='#n3515'>3515</a>
<a id='n3516' href='#n3516'>3516</a>
<a id='n3517' href='#n3517'>3517</a>
<a id='n3518' href='#n3518'>3518</a>
<a id='n3519' href='#n3519'>3519</a>
<a id='n3520' href='#n3520'>3520</a>
<a id='n3521' href='#n3521'>3521</a>
<a id='n3522' href='#n3522'>3522</a>
<a id='n3523' href='#n3523'>3523</a>
<a id='n3524' href='#n3524'>3524</a>
<a id='n3525' href='#n3525'>3525</a>
<a id='n3526' href='#n3526'>3526</a>
<a id='n3527' href='#n3527'>3527</a>
<a id='n3528' href='#n3528'>3528</a>
<a id='n3529' href='#n3529'>3529</a>
<a id='n3530' href='#n3530'>3530</a>
<a id='n3531' href='#n3531'>3531</a>
<a id='n3532' href='#n3532'>3532</a>
<a id='n3533' href='#n3533'>3533</a>
<a id='n3534' href='#n3534'>3534</a>
<a id='n3535' href='#n3535'>3535</a>
<a id='n3536' href='#n3536'>3536</a>
<a id='n3537' href='#n3537'>3537</a>
<a id='n3538' href='#n3538'>3538</a>
<a id='n3539' href='#n3539'>3539</a>
<a id='n3540' href='#n3540'>3540</a>
<a id='n3541' href='#n3541'>3541</a>
<a id='n3542' href='#n3542'>3542</a>
<a id='n3543' href='#n3543'>3543</a>
<a id='n3544' href='#n3544'>3544</a>
<a id='n3545' href='#n3545'>3545</a>
<a id='n3546' href='#n3546'>3546</a>
<a id='n3547' href='#n3547'>3547</a>
<a id='n3548' href='#n3548'>3548</a>
<a id='n3549' href='#n3549'>3549</a>
<a id='n3550' href='#n3550'>3550</a>
<a id='n3551' href='#n3551'>3551</a>
<a id='n3552' href='#n3552'>3552</a>
<a id='n3553' href='#n3553'>3553</a>
<a id='n3554' href='#n3554'>3554</a>
<a id='n3555' href='#n3555'>3555</a>
<a id='n3556' href='#n3556'>3556</a>
<a id='n3557' href='#n3557'>3557</a>
<a id='n3558' href='#n3558'>3558</a>
<a id='n3559' href='#n3559'>3559</a>
<a id='n3560' href='#n3560'>3560</a>
<a id='n3561' href='#n3561'>3561</a>
<a id='n3562' href='#n3562'>3562</a>
<a id='n3563' href='#n3563'>3563</a>
<a id='n3564' href='#n3564'>3564</a>
<a id='n3565' href='#n3565'>3565</a>
<a id='n3566' href='#n3566'>3566</a>
<a id='n3567' href='#n3567'>3567</a>
<a id='n3568' href='#n3568'>3568</a>
<a id='n3569' href='#n3569'>3569</a>
<a id='n3570' href='#n3570'>3570</a>
<a id='n3571' href='#n3571'>3571</a>
<a id='n3572' href='#n3572'>3572</a>
<a id='n3573' href='#n3573'>3573</a>
<a id='n3574' href='#n3574'>3574</a>
<a id='n3575' href='#n3575'>3575</a>
<a id='n3576' href='#n3576'>3576</a>
<a id='n3577' href='#n3577'>3577</a>
<a id='n3578' href='#n3578'>3578</a>
<a id='n3579' href='#n3579'>3579</a>
<a id='n3580' href='#n3580'>3580</a>
<a id='n3581' href='#n3581'>3581</a>
<a id='n3582' href='#n3582'>3582</a>
<a id='n3583' href='#n3583'>3583</a>
<a id='n3584' href='#n3584'>3584</a>
<a id='n3585' href='#n3585'>3585</a>
<a id='n3586' href='#n3586'>3586</a>
<a id='n3587' href='#n3587'>3587</a>
<a id='n3588' href='#n3588'>3588</a>
<a id='n3589' href='#n3589'>3589</a>
<a id='n3590' href='#n3590'>3590</a>
<a id='n3591' href='#n3591'>3591</a>
<a id='n3592' href='#n3592'>3592</a>
<a id='n3593' href='#n3593'>3593</a>
<a id='n3594' href='#n3594'>3594</a>
<a id='n3595' href='#n3595'>3595</a>
<a id='n3596' href='#n3596'>3596</a>
<a id='n3597' href='#n3597'>3597</a>
<a id='n3598' href='#n3598'>3598</a>
<a id='n3599' href='#n3599'>3599</a>
<a id='n3600' href='#n3600'>3600</a>
<a id='n3601' href='#n3601'>3601</a>
<a id='n3602' href='#n3602'>3602</a>
<a id='n3603' href='#n3603'>3603</a>
<a id='n3604' href='#n3604'>3604</a>
<a id='n3605' href='#n3605'>3605</a>
<a id='n3606' href='#n3606'>3606</a>
<a id='n3607' href='#n3607'>3607</a>
<a id='n3608' href='#n3608'>3608</a>
<a id='n3609' href='#n3609'>3609</a>
<a id='n3610' href='#n3610'>3610</a>
<a id='n3611' href='#n3611'>3611</a>
<a id='n3612' href='#n3612'>3612</a>
<a id='n3613' href='#n3613'>3613</a>
<a id='n3614' href='#n3614'>3614</a>
<a id='n3615' href='#n3615'>3615</a>
<a id='n3616' href='#n3616'>3616</a>
<a id='n3617' href='#n3617'>3617</a>
<a id='n3618' href='#n3618'>3618</a>
<a id='n3619' href='#n3619'>3619</a>
<a id='n3620' href='#n3620'>3620</a>
<a id='n3621' href='#n3621'>3621</a>
<a id='n3622' href='#n3622'>3622</a>
<a id='n3623' href='#n3623'>3623</a>
<a id='n3624' href='#n3624'>3624</a>
<a id='n3625' href='#n3625'>3625</a>
<a id='n3626' href='#n3626'>3626</a>
<a id='n3627' href='#n3627'>3627</a>
<a id='n3628' href='#n3628'>3628</a>
<a id='n3629' href='#n3629'>3629</a>
<a id='n3630' href='#n3630'>3630</a>
<a id='n3631' href='#n3631'>3631</a>
<a id='n3632' href='#n3632'>3632</a>
<a id='n3633' href='#n3633'>3633</a>
<a id='n3634' href='#n3634'>3634</a>
<a id='n3635' href='#n3635'>3635</a>
<a id='n3636' href='#n3636'>3636</a>
<a id='n3637' href='#n3637'>3637</a>
<a id='n3638' href='#n3638'>3638</a>
<a id='n3639' href='#n3639'>3639</a>
<a id='n3640' href='#n3640'>3640</a>
<a id='n3641' href='#n3641'>3641</a>
<a id='n3642' href='#n3642'>3642</a>
<a id='n3643' href='#n3643'>3643</a>
<a id='n3644' href='#n3644'>3644</a>
<a id='n3645' href='#n3645'>3645</a>
<a id='n3646' href='#n3646'>3646</a>
<a id='n3647' href='#n3647'>3647</a>
<a id='n3648' href='#n3648'>3648</a>
<a id='n3649' href='#n3649'>3649</a>
<a id='n3650' href='#n3650'>3650</a>
<a id='n3651' href='#n3651'>3651</a>
<a id='n3652' href='#n3652'>3652</a>
<a id='n3653' href='#n3653'>3653</a>
<a id='n3654' href='#n3654'>3654</a>
<a id='n3655' href='#n3655'>3655</a>
<a id='n3656' href='#n3656'>3656</a>
<a id='n3657' href='#n3657'>3657</a>
<a id='n3658' href='#n3658'>3658</a>
<a id='n3659' href='#n3659'>3659</a>
<a id='n3660' href='#n3660'>3660</a>
<a id='n3661' href='#n3661'>3661</a>
<a id='n3662' href='#n3662'>3662</a>
<a id='n3663' href='#n3663'>3663</a>
<a id='n3664' href='#n3664'>3664</a>
<a id='n3665' href='#n3665'>3665</a>
<a id='n3666' href='#n3666'>3666</a>
<a id='n3667' href='#n3667'>3667</a>
<a id='n3668' href='#n3668'>3668</a>
<a id='n3669' href='#n3669'>3669</a>
<a id='n3670' href='#n3670'>3670</a>
<a id='n3671' href='#n3671'>3671</a>
<a id='n3672' href='#n3672'>3672</a>
<a id='n3673' href='#n3673'>3673</a>
<a id='n3674' href='#n3674'>3674</a>
<a id='n3675' href='#n3675'>3675</a>
<a id='n3676' href='#n3676'>3676</a>
<a id='n3677' href='#n3677'>3677</a>
<a id='n3678' href='#n3678'>3678</a>
<a id='n3679' href='#n3679'>3679</a>
<a id='n3680' href='#n3680'>3680</a>
<a id='n3681' href='#n3681'>3681</a>
<a id='n3682' href='#n3682'>3682</a>
<a id='n3683' href='#n3683'>3683</a>
<a id='n3684' href='#n3684'>3684</a>
<a id='n3685' href='#n3685'>3685</a>
<a id='n3686' href='#n3686'>3686</a>
<a id='n3687' href='#n3687'>3687</a>
<a id='n3688' href='#n3688'>3688</a>
<a id='n3689' href='#n3689'>3689</a>
<a id='n3690' href='#n3690'>3690</a>
<a id='n3691' href='#n3691'>3691</a>
<a id='n3692' href='#n3692'>3692</a>
<a id='n3693' href='#n3693'>3693</a>
<a id='n3694' href='#n3694'>3694</a>
<a id='n3695' href='#n3695'>3695</a>
<a id='n3696' href='#n3696'>3696</a>
<a id='n3697' href='#n3697'>3697</a>
<a id='n3698' href='#n3698'>3698</a>
<a id='n3699' href='#n3699'>3699</a>
<a id='n3700' href='#n3700'>3700</a>
<a id='n3701' href='#n3701'>3701</a>
<a id='n3702' href='#n3702'>3702</a>
<a id='n3703' href='#n3703'>3703</a>
<a id='n3704' href='#n3704'>3704</a>
<a id='n3705' href='#n3705'>3705</a>
<a id='n3706' href='#n3706'>3706</a>
<a id='n3707' href='#n3707'>3707</a>
<a id='n3708' href='#n3708'>3708</a>
<a id='n3709' href='#n3709'>3709</a>
<a id='n3710' href='#n3710'>3710</a>
<a id='n3711' href='#n3711'>3711</a>
<a id='n3712' href='#n3712'>3712</a>
<a id='n3713' href='#n3713'>3713</a>
<a id='n3714' href='#n3714'>3714</a>
<a id='n3715' href='#n3715'>3715</a>
<a id='n3716' href='#n3716'>3716</a>
<a id='n3717' href='#n3717'>3717</a>
<a id='n3718' href='#n3718'>3718</a>
<a id='n3719' href='#n3719'>3719</a>
<a id='n3720' href='#n3720'>3720</a>
<a id='n3721' href='#n3721'>3721</a>
<a id='n3722' href='#n3722'>3722</a>
<a id='n3723' href='#n3723'>3723</a>
<a id='n3724' href='#n3724'>3724</a>
<a id='n3725' href='#n3725'>3725</a>
<a id='n3726' href='#n3726'>3726</a>
<a id='n3727' href='#n3727'>3727</a>
<a id='n3728' href='#n3728'>3728</a>
<a id='n3729' href='#n3729'>3729</a>
<a id='n3730' href='#n3730'>3730</a>
<a id='n3731' href='#n3731'>3731</a>
<a id='n3732' href='#n3732'>3732</a>
<a id='n3733' href='#n3733'>3733</a>
<a id='n3734' href='#n3734'>3734</a>
<a id='n3735' href='#n3735'>3735</a>
<a id='n3736' href='#n3736'>3736</a>
<a id='n3737' href='#n3737'>3737</a>
<a id='n3738' href='#n3738'>3738</a>
<a id='n3739' href='#n3739'>3739</a>
<a id='n3740' href='#n3740'>3740</a>
<a id='n3741' href='#n3741'>3741</a>
<a id='n3742' href='#n3742'>3742</a>
<a id='n3743' href='#n3743'>3743</a>
<a id='n3744' href='#n3744'>3744</a>
<a id='n3745' href='#n3745'>3745</a>
<a id='n3746' href='#n3746'>3746</a>
<a id='n3747' href='#n3747'>3747</a>
<a id='n3748' href='#n3748'>3748</a>
<a id='n3749' href='#n3749'>3749</a>
<a id='n3750' href='#n3750'>3750</a>
<a id='n3751' href='#n3751'>3751</a>
<a id='n3752' href='#n3752'>3752</a>
<a id='n3753' href='#n3753'>3753</a>
<a id='n3754' href='#n3754'>3754</a>
<a id='n3755' href='#n3755'>3755</a>
<a id='n3756' href='#n3756'>3756</a>
<a id='n3757' href='#n3757'>3757</a>
<a id='n3758' href='#n3758'>3758</a>
<a id='n3759' href='#n3759'>3759</a>
<a id='n3760' href='#n3760'>3760</a>
<a id='n3761' href='#n3761'>3761</a>
<a id='n3762' href='#n3762'>3762</a>
<a id='n3763' href='#n3763'>3763</a>
<a id='n3764' href='#n3764'>3764</a>
<a id='n3765' href='#n3765'>3765</a>
<a id='n3766' href='#n3766'>3766</a>
<a id='n3767' href='#n3767'>3767</a>
<a id='n3768' href='#n3768'>3768</a>
<a id='n3769' href='#n3769'>3769</a>
<a id='n3770' href='#n3770'>3770</a>
<a id='n3771' href='#n3771'>3771</a>
<a id='n3772' href='#n3772'>3772</a>
<a id='n3773' href='#n3773'>3773</a>
<a id='n3774' href='#n3774'>3774</a>
<a id='n3775' href='#n3775'>3775</a>
<a id='n3776' href='#n3776'>3776</a>
<a id='n3777' href='#n3777'>3777</a>
<a id='n3778' href='#n3778'>3778</a>
<a id='n3779' href='#n3779'>3779</a>
<a id='n3780' href='#n3780'>3780</a>
<a id='n3781' href='#n3781'>3781</a>
<a id='n3782' href='#n3782'>3782</a>
<a id='n3783' href='#n3783'>3783</a>
<a id='n3784' href='#n3784'>3784</a>
<a id='n3785' href='#n3785'>3785</a>
<a id='n3786' href='#n3786'>3786</a>
<a id='n3787' href='#n3787'>3787</a>
<a id='n3788' href='#n3788'>3788</a>
<a id='n3789' href='#n3789'>3789</a>
<a id='n3790' href='#n3790'>3790</a>
<a id='n3791' href='#n3791'>3791</a>
<a id='n3792' href='#n3792'>3792</a>
<a id='n3793' href='#n3793'>3793</a>
<a id='n3794' href='#n3794'>3794</a>
<a id='n3795' href='#n3795'>3795</a>
<a id='n3796' href='#n3796'>3796</a>
<a id='n3797' href='#n3797'>3797</a>
<a id='n3798' href='#n3798'>3798</a>
<a id='n3799' href='#n3799'>3799</a>
<a id='n3800' href='#n3800'>3800</a>
<a id='n3801' href='#n3801'>3801</a>
<a id='n3802' href='#n3802'>3802</a>
<a id='n3803' href='#n3803'>3803</a>
<a id='n3804' href='#n3804'>3804</a>
<a id='n3805' href='#n3805'>3805</a>
<a id='n3806' href='#n3806'>3806</a>
<a id='n3807' href='#n3807'>3807</a>
<a id='n3808' href='#n3808'>3808</a>
<a id='n3809' href='#n3809'>3809</a>
<a id='n3810' href='#n3810'>3810</a>
<a id='n3811' href='#n3811'>3811</a>
<a id='n3812' href='#n3812'>3812</a>
<a id='n3813' href='#n3813'>3813</a>
<a id='n3814' href='#n3814'>3814</a>
<a id='n3815' href='#n3815'>3815</a>
<a id='n3816' href='#n3816'>3816</a>
<a id='n3817' href='#n3817'>3817</a>
<a id='n3818' href='#n3818'>3818</a>
<a id='n3819' href='#n3819'>3819</a>
<a id='n3820' href='#n3820'>3820</a>
<a id='n3821' href='#n3821'>3821</a>
<a id='n3822' href='#n3822'>3822</a>
<a id='n3823' href='#n3823'>3823</a>
<a id='n3824' href='#n3824'>3824</a>
<a id='n3825' href='#n3825'>3825</a>
<a id='n3826' href='#n3826'>3826</a>
<a id='n3827' href='#n3827'>3827</a>
<a id='n3828' href='#n3828'>3828</a>
<a id='n3829' href='#n3829'>3829</a>
<a id='n3830' href='#n3830'>3830</a>
<a id='n3831' href='#n3831'>3831</a>
<a id='n3832' href='#n3832'>3832</a>
<a id='n3833' href='#n3833'>3833</a>
<a id='n3834' href='#n3834'>3834</a>
<a id='n3835' href='#n3835'>3835</a>
<a id='n3836' href='#n3836'>3836</a>
<a id='n3837' href='#n3837'>3837</a>
<a id='n3838' href='#n3838'>3838</a>
<a id='n3839' href='#n3839'>3839</a>
<a id='n3840' href='#n3840'>3840</a>
<a id='n3841' href='#n3841'>3841</a>
<a id='n3842' href='#n3842'>3842</a>
<a id='n3843' href='#n3843'>3843</a>
<a id='n3844' href='#n3844'>3844</a>
<a id='n3845' href='#n3845'>3845</a>
<a id='n3846' href='#n3846'>3846</a>
<a id='n3847' href='#n3847'>3847</a>
<a id='n3848' href='#n3848'>3848</a>
<a id='n3849' href='#n3849'>3849</a>
<a id='n3850' href='#n3850'>3850</a>
<a id='n3851' href='#n3851'>3851</a>
<a id='n3852' href='#n3852'>3852</a>
<a id='n3853' href='#n3853'>3853</a>
<a id='n3854' href='#n3854'>3854</a>
<a id='n3855' href='#n3855'>3855</a>
<a id='n3856' href='#n3856'>3856</a>
<a id='n3857' href='#n3857'>3857</a>
<a id='n3858' href='#n3858'>3858</a>
<a id='n3859' href='#n3859'>3859</a>
<a id='n3860' href='#n3860'>3860</a>
<a id='n3861' href='#n3861'>3861</a>
<a id='n3862' href='#n3862'>3862</a>
<a id='n3863' href='#n3863'>3863</a>
<a id='n3864' href='#n3864'>3864</a>
<a id='n3865' href='#n3865'>3865</a>
<a id='n3866' href='#n3866'>3866</a>
<a id='n3867' href='#n3867'>3867</a>
<a id='n3868' href='#n3868'>3868</a>
<a id='n3869' href='#n3869'>3869</a>
<a id='n3870' href='#n3870'>3870</a>
<a id='n3871' href='#n3871'>3871</a>
<a id='n3872' href='#n3872'>3872</a>
<a id='n3873' href='#n3873'>3873</a>
<a id='n3874' href='#n3874'>3874</a>
<a id='n3875' href='#n3875'>3875</a>
<a id='n3876' href='#n3876'>3876</a>
<a id='n3877' href='#n3877'>3877</a>
<a id='n3878' href='#n3878'>3878</a>
<a id='n3879' href='#n3879'>3879</a>
<a id='n3880' href='#n3880'>3880</a>
<a id='n3881' href='#n3881'>3881</a>
<a id='n3882' href='#n3882'>3882</a>
<a id='n3883' href='#n3883'>3883</a>
<a id='n3884' href='#n3884'>3884</a>
<a id='n3885' href='#n3885'>3885</a>
<a id='n3886' href='#n3886'>3886</a>
<a id='n3887' href='#n3887'>3887</a>
<a id='n3888' href='#n3888'>3888</a>
<a id='n3889' href='#n3889'>3889</a>
<a id='n3890' href='#n3890'>3890</a>
<a id='n3891' href='#n3891'>3891</a>
<a id='n3892' href='#n3892'>3892</a>
<a id='n3893' href='#n3893'>3893</a>
<a id='n3894' href='#n3894'>3894</a>
<a id='n3895' href='#n3895'>3895</a>
<a id='n3896' href='#n3896'>3896</a>
<a id='n3897' href='#n3897'>3897</a>
<a id='n3898' href='#n3898'>3898</a>
<a id='n3899' href='#n3899'>3899</a>
<a id='n3900' href='#n3900'>3900</a>
<a id='n3901' href='#n3901'>3901</a>
<a id='n3902' href='#n3902'>3902</a>
<a id='n3903' href='#n3903'>3903</a>
<a id='n3904' href='#n3904'>3904</a>
<a id='n3905' href='#n3905'>3905</a>
<a id='n3906' href='#n3906'>3906</a>
<a id='n3907' href='#n3907'>3907</a>
<a id='n3908' href='#n3908'>3908</a>
<a id='n3909' href='#n3909'>3909</a>
<a id='n3910' href='#n3910'>3910</a>
<a id='n3911' href='#n3911'>3911</a>
<a id='n3912' href='#n3912'>3912</a>
<a id='n3913' href='#n3913'>3913</a>
<a id='n3914' href='#n3914'>3914</a>
<a id='n3915' href='#n3915'>3915</a>
<a id='n3916' href='#n3916'>3916</a>
<a id='n3917' href='#n3917'>3917</a>
<a id='n3918' href='#n3918'>3918</a>
<a id='n3919' href='#n3919'>3919</a>
<a id='n3920' href='#n3920'>3920</a>
<a id='n3921' href='#n3921'>3921</a>
<a id='n3922' href='#n3922'>3922</a>
<a id='n3923' href='#n3923'>3923</a>
<a id='n3924' href='#n3924'>3924</a>
<a id='n3925' href='#n3925'>3925</a>
<a id='n3926' href='#n3926'>3926</a>
<a id='n3927' href='#n3927'>3927</a>
<a id='n3928' href='#n3928'>3928</a>
<a id='n3929' href='#n3929'>3929</a>
<a id='n3930' href='#n3930'>3930</a>
<a id='n3931' href='#n3931'>3931</a>
<a id='n3932' href='#n3932'>3932</a>
<a id='n3933' href='#n3933'>3933</a>
<a id='n3934' href='#n3934'>3934</a>
<a id='n3935' href='#n3935'>3935</a>
<a id='n3936' href='#n3936'>3936</a>
<a id='n3937' href='#n3937'>3937</a>
<a id='n3938' href='#n3938'>3938</a>
<a id='n3939' href='#n3939'>3939</a>
<a id='n3940' href='#n3940'>3940</a>
<a id='n3941' href='#n3941'>3941</a>
<a id='n3942' href='#n3942'>3942</a>
<a id='n3943' href='#n3943'>3943</a>
<a id='n3944' href='#n3944'>3944</a>
<a id='n3945' href='#n3945'>3945</a>
<a id='n3946' href='#n3946'>3946</a>
<a id='n3947' href='#n3947'>3947</a>
<a id='n3948' href='#n3948'>3948</a>
<a id='n3949' href='#n3949'>3949</a>
<a id='n3950' href='#n3950'>3950</a>
<a id='n3951' href='#n3951'>3951</a>
<a id='n3952' href='#n3952'>3952</a>
<a id='n3953' href='#n3953'>3953</a>
<a id='n3954' href='#n3954'>3954</a>
<a id='n3955' href='#n3955'>3955</a>
<a id='n3956' href='#n3956'>3956</a>
<a id='n3957' href='#n3957'>3957</a>
<a id='n3958' href='#n3958'>3958</a>
<a id='n3959' href='#n3959'>3959</a>
<a id='n3960' href='#n3960'>3960</a>
<a id='n3961' href='#n3961'>3961</a>
<a id='n3962' href='#n3962'>3962</a>
<a id='n3963' href='#n3963'>3963</a>
<a id='n3964' href='#n3964'>3964</a>
<a id='n3965' href='#n3965'>3965</a>
<a id='n3966' href='#n3966'>3966</a>
<a id='n3967' href='#n3967'>3967</a>
<a id='n3968' href='#n3968'>3968</a>
<a id='n3969' href='#n3969'>3969</a>
<a id='n3970' href='#n3970'>3970</a>
<a id='n3971' href='#n3971'>3971</a>
<a id='n3972' href='#n3972'>3972</a>
<a id='n3973' href='#n3973'>3973</a>
<a id='n3974' href='#n3974'>3974</a>
<a id='n3975' href='#n3975'>3975</a>
<a id='n3976' href='#n3976'>3976</a>
<a id='n3977' href='#n3977'>3977</a>
<a id='n3978' href='#n3978'>3978</a>
<a id='n3979' href='#n3979'>3979</a>
<a id='n3980' href='#n3980'>3980</a>
<a id='n3981' href='#n3981'>3981</a>
<a id='n3982' href='#n3982'>3982</a>
<a id='n3983' href='#n3983'>3983</a>
<a id='n3984' href='#n3984'>3984</a>
<a id='n3985' href='#n3985'>3985</a>
<a id='n3986' href='#n3986'>3986</a>
<a id='n3987' href='#n3987'>3987</a>
<a id='n3988' href='#n3988'>3988</a>
<a id='n3989' href='#n3989'>3989</a>
<a id='n3990' href='#n3990'>3990</a>
<a id='n3991' href='#n3991'>3991</a>
<a id='n3992' href='#n3992'>3992</a>
<a id='n3993' href='#n3993'>3993</a>
<a id='n3994' href='#n3994'>3994</a>
<a id='n3995' href='#n3995'>3995</a>
<a id='n3996' href='#n3996'>3996</a>
<a id='n3997' href='#n3997'>3997</a>
<a id='n3998' href='#n3998'>3998</a>
<a id='n3999' href='#n3999'>3999</a>
<a id='n4000' href='#n4000'>4000</a>
<a id='n4001' href='#n4001'>4001</a>
<a id='n4002' href='#n4002'>4002</a>
<a id='n4003' href='#n4003'>4003</a>
<a id='n4004' href='#n4004'>4004</a>
<a id='n4005' href='#n4005'>4005</a>
<a id='n4006' href='#n4006'>4006</a>
<a id='n4007' href='#n4007'>4007</a>
<a id='n4008' href='#n4008'>4008</a>
<a id='n4009' href='#n4009'>4009</a>
<a id='n4010' href='#n4010'>4010</a>
<a id='n4011' href='#n4011'>4011</a>
<a id='n4012' href='#n4012'>4012</a>
<a id='n4013' href='#n4013'>4013</a>
<a id='n4014' href='#n4014'>4014</a>
<a id='n4015' href='#n4015'>4015</a>
<a id='n4016' href='#n4016'>4016</a>
<a id='n4017' href='#n4017'>4017</a>
<a id='n4018' href='#n4018'>4018</a>
<a id='n4019' href='#n4019'>4019</a>
<a id='n4020' href='#n4020'>4020</a>
<a id='n4021' href='#n4021'>4021</a>
<a id='n4022' href='#n4022'>4022</a>
<a id='n4023' href='#n4023'>4023</a>
<a id='n4024' href='#n4024'>4024</a>
<a id='n4025' href='#n4025'>4025</a>
<a id='n4026' href='#n4026'>4026</a>
<a id='n4027' href='#n4027'>4027</a>
<a id='n4028' href='#n4028'>4028</a>
<a id='n4029' href='#n4029'>4029</a>
<a id='n4030' href='#n4030'>4030</a>
<a id='n4031' href='#n4031'>4031</a>
<a id='n4032' href='#n4032'>4032</a>
<a id='n4033' href='#n4033'>4033</a>
<a id='n4034' href='#n4034'>4034</a>
<a id='n4035' href='#n4035'>4035</a>
<a id='n4036' href='#n4036'>4036</a>
<a id='n4037' href='#n4037'>4037</a>
<a id='n4038' href='#n4038'>4038</a>
<a id='n4039' href='#n4039'>4039</a>
<a id='n4040' href='#n4040'>4040</a>
<a id='n4041' href='#n4041'>4041</a>
<a id='n4042' href='#n4042'>4042</a>
<a id='n4043' href='#n4043'>4043</a>
<a id='n4044' href='#n4044'>4044</a>
<a id='n4045' href='#n4045'>4045</a>
<a id='n4046' href='#n4046'>4046</a>
<a id='n4047' href='#n4047'>4047</a>
<a id='n4048' href='#n4048'>4048</a>
<a id='n4049' href='#n4049'>4049</a>
<a id='n4050' href='#n4050'>4050</a>
<a id='n4051' href='#n4051'>4051</a>
<a id='n4052' href='#n4052'>4052</a>
<a id='n4053' href='#n4053'>4053</a>
<a id='n4054' href='#n4054'>4054</a>
<a id='n4055' href='#n4055'>4055</a>
<a id='n4056' href='#n4056'>4056</a>
<a id='n4057' href='#n4057'>4057</a>
<a id='n4058' href='#n4058'>4058</a>
<a id='n4059' href='#n4059'>4059</a>
<a id='n4060' href='#n4060'>4060</a>
<a id='n4061' href='#n4061'>4061</a>
<a id='n4062' href='#n4062'>4062</a>
<a id='n4063' href='#n4063'>4063</a>
<a id='n4064' href='#n4064'>4064</a>
<a id='n4065' href='#n4065'>4065</a>
<a id='n4066' href='#n4066'>4066</a>
<a id='n4067' href='#n4067'>4067</a>
<a id='n4068' href='#n4068'>4068</a>
<a id='n4069' href='#n4069'>4069</a>
<a id='n4070' href='#n4070'>4070</a>
<a id='n4071' href='#n4071'>4071</a>
<a id='n4072' href='#n4072'>4072</a>
<a id='n4073' href='#n4073'>4073</a>
<a id='n4074' href='#n4074'>4074</a>
<a id='n4075' href='#n4075'>4075</a>
<a id='n4076' href='#n4076'>4076</a>
<a id='n4077' href='#n4077'>4077</a>
<a id='n4078' href='#n4078'>4078</a>
<a id='n4079' href='#n4079'>4079</a>
<a id='n4080' href='#n4080'>4080</a>
<a id='n4081' href='#n4081'>4081</a>
<a id='n4082' href='#n4082'>4082</a>
<a id='n4083' href='#n4083'>4083</a>
<a id='n4084' href='#n4084'>4084</a>
<a id='n4085' href='#n4085'>4085</a>
<a id='n4086' href='#n4086'>4086</a>
<a id='n4087' href='#n4087'>4087</a>
<a id='n4088' href='#n4088'>4088</a>
<a id='n4089' href='#n4089'>4089</a>
<a id='n4090' href='#n4090'>4090</a>
<a id='n4091' href='#n4091'>4091</a>
<a id='n4092' href='#n4092'>4092</a>
<a id='n4093' href='#n4093'>4093</a>
<a id='n4094' href='#n4094'>4094</a>
<a id='n4095' href='#n4095'>4095</a>
<a id='n4096' href='#n4096'>4096</a>
<a id='n4097' href='#n4097'>4097</a>
<a id='n4098' href='#n4098'>4098</a>
<a id='n4099' href='#n4099'>4099</a>
<a id='n4100' href='#n4100'>4100</a>
<a id='n4101' href='#n4101'>4101</a>
<a id='n4102' href='#n4102'>4102</a>
<a id='n4103' href='#n4103'>4103</a>
<a id='n4104' href='#n4104'>4104</a>
<a id='n4105' href='#n4105'>4105</a>
<a id='n4106' href='#n4106'>4106</a>
<a id='n4107' href='#n4107'>4107</a>
<a id='n4108' href='#n4108'>4108</a>
<a id='n4109' href='#n4109'>4109</a>
<a id='n4110' href='#n4110'>4110</a>
<a id='n4111' href='#n4111'>4111</a>
<a id='n4112' href='#n4112'>4112</a>
<a id='n4113' href='#n4113'>4113</a>
<a id='n4114' href='#n4114'>4114</a>
<a id='n4115' href='#n4115'>4115</a>
<a id='n4116' href='#n4116'>4116</a>
<a id='n4117' href='#n4117'>4117</a>
<a id='n4118' href='#n4118'>4118</a>
<a id='n4119' href='#n4119'>4119</a>
<a id='n4120' href='#n4120'>4120</a>
<a id='n4121' href='#n4121'>4121</a>
<a id='n4122' href='#n4122'>4122</a>
<a id='n4123' href='#n4123'>4123</a>
<a id='n4124' href='#n4124'>4124</a>
<a id='n4125' href='#n4125'>4125</a>
<a id='n4126' href='#n4126'>4126</a>
<a id='n4127' href='#n4127'>4127</a>
<a id='n4128' href='#n4128'>4128</a>
<a id='n4129' href='#n4129'>4129</a>
<a id='n4130' href='#n4130'>4130</a>
<a id='n4131' href='#n4131'>4131</a>
<a id='n4132' href='#n4132'>4132</a>
<a id='n4133' href='#n4133'>4133</a>
<a id='n4134' href='#n4134'>4134</a>
<a id='n4135' href='#n4135'>4135</a>
<a id='n4136' href='#n4136'>4136</a>
<a id='n4137' href='#n4137'>4137</a>
<a id='n4138' href='#n4138'>4138</a>
<a id='n4139' href='#n4139'>4139</a>
<a id='n4140' href='#n4140'>4140</a>
<a id='n4141' href='#n4141'>4141</a>
<a id='n4142' href='#n4142'>4142</a>
<a id='n4143' href='#n4143'>4143</a>
<a id='n4144' href='#n4144'>4144</a>
<a id='n4145' href='#n4145'>4145</a>
<a id='n4146' href='#n4146'>4146</a>
<a id='n4147' href='#n4147'>4147</a>
<a id='n4148' href='#n4148'>4148</a>
<a id='n4149' href='#n4149'>4149</a>
<a id='n4150' href='#n4150'>4150</a>
<a id='n4151' href='#n4151'>4151</a>
<a id='n4152' href='#n4152'>4152</a>
<a id='n4153' href='#n4153'>4153</a>
<a id='n4154' href='#n4154'>4154</a>
<a id='n4155' href='#n4155'>4155</a>
<a id='n4156' href='#n4156'>4156</a>
<a id='n4157' href='#n4157'>4157</a>
<a id='n4158' href='#n4158'>4158</a>
<a id='n4159' href='#n4159'>4159</a>
<a id='n4160' href='#n4160'>4160</a>
<a id='n4161' href='#n4161'>4161</a>
<a id='n4162' href='#n4162'>4162</a>
<a id='n4163' href='#n4163'>4163</a>
<a id='n4164' href='#n4164'>4164</a>
<a id='n4165' href='#n4165'>4165</a>
<a id='n4166' href='#n4166'>4166</a>
<a id='n4167' href='#n4167'>4167</a>
<a id='n4168' href='#n4168'>4168</a>
<a id='n4169' href='#n4169'>4169</a>
<a id='n4170' href='#n4170'>4170</a>
<a id='n4171' href='#n4171'>4171</a>
<a id='n4172' href='#n4172'>4172</a>
<a id='n4173' href='#n4173'>4173</a>
<a id='n4174' href='#n4174'>4174</a>
<a id='n4175' href='#n4175'>4175</a>
<a id='n4176' href='#n4176'>4176</a>
<a id='n4177' href='#n4177'>4177</a>
<a id='n4178' href='#n4178'>4178</a>
<a id='n4179' href='#n4179'>4179</a>
<a id='n4180' href='#n4180'>4180</a>
<a id='n4181' href='#n4181'>4181</a>
<a id='n4182' href='#n4182'>4182</a>
<a id='n4183' href='#n4183'>4183</a>
<a id='n4184' href='#n4184'>4184</a>
<a id='n4185' href='#n4185'>4185</a>
<a id='n4186' href='#n4186'>4186</a>
<a id='n4187' href='#n4187'>4187</a>
<a id='n4188' href='#n4188'>4188</a>
<a id='n4189' href='#n4189'>4189</a>
<a id='n4190' href='#n4190'>4190</a>
<a id='n4191' href='#n4191'>4191</a>
<a id='n4192' href='#n4192'>4192</a>
<a id='n4193' href='#n4193'>4193</a>
<a id='n4194' href='#n4194'>4194</a>
<a id='n4195' href='#n4195'>4195</a>
<a id='n4196' href='#n4196'>4196</a>
<a id='n4197' href='#n4197'>4197</a>
<a id='n4198' href='#n4198'>4198</a>
<a id='n4199' href='#n4199'>4199</a>
<a id='n4200' href='#n4200'>4200</a>
<a id='n4201' href='#n4201'>4201</a>
<a id='n4202' href='#n4202'>4202</a>
<a id='n4203' href='#n4203'>4203</a>
<a id='n4204' href='#n4204'>4204</a>
<a id='n4205' href='#n4205'>4205</a>
<a id='n4206' href='#n4206'>4206</a>
<a id='n4207' href='#n4207'>4207</a>
<a id='n4208' href='#n4208'>4208</a>
<a id='n4209' href='#n4209'>4209</a>
<a id='n4210' href='#n4210'>4210</a>
<a id='n4211' href='#n4211'>4211</a>
<a id='n4212' href='#n4212'>4212</a>
<a id='n4213' href='#n4213'>4213</a>
<a id='n4214' href='#n4214'>4214</a>
<a id='n4215' href='#n4215'>4215</a>
<a id='n4216' href='#n4216'>4216</a>
<a id='n4217' href='#n4217'>4217</a>
<a id='n4218' href='#n4218'>4218</a>
<a id='n4219' href='#n4219'>4219</a>
<a id='n4220' href='#n4220'>4220</a>
<a id='n4221' href='#n4221'>4221</a>
<a id='n4222' href='#n4222'>4222</a>
<a id='n4223' href='#n4223'>4223</a>
<a id='n4224' href='#n4224'>4224</a>
<a id='n4225' href='#n4225'>4225</a>
<a id='n4226' href='#n4226'>4226</a>
<a id='n4227' href='#n4227'>4227</a>
<a id='n4228' href='#n4228'>4228</a>
<a id='n4229' href='#n4229'>4229</a>
<a id='n4230' href='#n4230'>4230</a>
<a id='n4231' href='#n4231'>4231</a>
<a id='n4232' href='#n4232'>4232</a>
<a id='n4233' href='#n4233'>4233</a>
<a id='n4234' href='#n4234'>4234</a>
<a id='n4235' href='#n4235'>4235</a>
<a id='n4236' href='#n4236'>4236</a>
<a id='n4237' href='#n4237'>4237</a>
<a id='n4238' href='#n4238'>4238</a>
<a id='n4239' href='#n4239'>4239</a>
<a id='n4240' href='#n4240'>4240</a>
<a id='n4241' href='#n4241'>4241</a>
<a id='n4242' href='#n4242'>4242</a>
<a id='n4243' href='#n4243'>4243</a>
<a id='n4244' href='#n4244'>4244</a>
<a id='n4245' href='#n4245'>4245</a>
<a id='n4246' href='#n4246'>4246</a>
<a id='n4247' href='#n4247'>4247</a>
<a id='n4248' href='#n4248'>4248</a>
<a id='n4249' href='#n4249'>4249</a>
<a id='n4250' href='#n4250'>4250</a>
<a id='n4251' href='#n4251'>4251</a>
<a id='n4252' href='#n4252'>4252</a>
<a id='n4253' href='#n4253'>4253</a>
<a id='n4254' href='#n4254'>4254</a>
<a id='n4255' href='#n4255'>4255</a>
<a id='n4256' href='#n4256'>4256</a>
<a id='n4257' href='#n4257'>4257</a>
<a id='n4258' href='#n4258'>4258</a>
<a id='n4259' href='#n4259'>4259</a>
<a id='n4260' href='#n4260'>4260</a>
<a id='n4261' href='#n4261'>4261</a>
<a id='n4262' href='#n4262'>4262</a>
<a id='n4263' href='#n4263'>4263</a>
<a id='n4264' href='#n4264'>4264</a>
<a id='n4265' href='#n4265'>4265</a>
<a id='n4266' href='#n4266'>4266</a>
<a id='n4267' href='#n4267'>4267</a>
<a id='n4268' href='#n4268'>4268</a>
<a id='n4269' href='#n4269'>4269</a>
<a id='n4270' href='#n4270'>4270</a>
<a id='n4271' href='#n4271'>4271</a>
<a id='n4272' href='#n4272'>4272</a>
<a id='n4273' href='#n4273'>4273</a>
<a id='n4274' href='#n4274'>4274</a>
<a id='n4275' href='#n4275'>4275</a>
<a id='n4276' href='#n4276'>4276</a>
<a id='n4277' href='#n4277'>4277</a>
<a id='n4278' href='#n4278'>4278</a>
<a id='n4279' href='#n4279'>4279</a>
<a id='n4280' href='#n4280'>4280</a>
<a id='n4281' href='#n4281'>4281</a>
<a id='n4282' href='#n4282'>4282</a>
<a id='n4283' href='#n4283'>4283</a>
<a id='n4284' href='#n4284'>4284</a>
<a id='n4285' href='#n4285'>4285</a>
<a id='n4286' href='#n4286'>4286</a>
<a id='n4287' href='#n4287'>4287</a>
<a id='n4288' href='#n4288'>4288</a>
<a id='n4289' href='#n4289'>4289</a>
<a id='n4290' href='#n4290'>4290</a>
<a id='n4291' href='#n4291'>4291</a>
<a id='n4292' href='#n4292'>4292</a>
<a id='n4293' href='#n4293'>4293</a>
<a id='n4294' href='#n4294'>4294</a>
<a id='n4295' href='#n4295'>4295</a>
<a id='n4296' href='#n4296'>4296</a>
<a id='n4297' href='#n4297'>4297</a>
<a id='n4298' href='#n4298'>4298</a>
<a id='n4299' href='#n4299'>4299</a>
<a id='n4300' href='#n4300'>4300</a>
<a id='n4301' href='#n4301'>4301</a>
<a id='n4302' href='#n4302'>4302</a>
<a id='n4303' href='#n4303'>4303</a>
<a id='n4304' href='#n4304'>4304</a>
<a id='n4305' href='#n4305'>4305</a>
<a id='n4306' href='#n4306'>4306</a>
<a id='n4307' href='#n4307'>4307</a>
<a id='n4308' href='#n4308'>4308</a>
<a id='n4309' href='#n4309'>4309</a>
<a id='n4310' href='#n4310'>4310</a>
<a id='n4311' href='#n4311'>4311</a>
<a id='n4312' href='#n4312'>4312</a>
<a id='n4313' href='#n4313'>4313</a>
<a id='n4314' href='#n4314'>4314</a>
<a id='n4315' href='#n4315'>4315</a>
<a id='n4316' href='#n4316'>4316</a>
<a id='n4317' href='#n4317'>4317</a>
<a id='n4318' href='#n4318'>4318</a>
<a id='n4319' href='#n4319'>4319</a>
<a id='n4320' href='#n4320'>4320</a>
<a id='n4321' href='#n4321'>4321</a>
<a id='n4322' href='#n4322'>4322</a>
<a id='n4323' href='#n4323'>4323</a>
<a id='n4324' href='#n4324'>4324</a>
<a id='n4325' href='#n4325'>4325</a>
<a id='n4326' href='#n4326'>4326</a>
<a id='n4327' href='#n4327'>4327</a>
<a id='n4328' href='#n4328'>4328</a>
<a id='n4329' href='#n4329'>4329</a>
<a id='n4330' href='#n4330'>4330</a>
<a id='n4331' href='#n4331'>4331</a>
<a id='n4332' href='#n4332'>4332</a>
<a id='n4333' href='#n4333'>4333</a>
<a id='n4334' href='#n4334'>4334</a>
<a id='n4335' href='#n4335'>4335</a>
<a id='n4336' href='#n4336'>4336</a>
<a id='n4337' href='#n4337'>4337</a>
<a id='n4338' href='#n4338'>4338</a>
<a id='n4339' href='#n4339'>4339</a>
<a id='n4340' href='#n4340'>4340</a>
<a id='n4341' href='#n4341'>4341</a>
<a id='n4342' href='#n4342'>4342</a>
<a id='n4343' href='#n4343'>4343</a>
<a id='n4344' href='#n4344'>4344</a>
<a id='n4345' href='#n4345'>4345</a>
<a id='n4346' href='#n4346'>4346</a>
<a id='n4347' href='#n4347'>4347</a>
<a id='n4348' href='#n4348'>4348</a>
<a id='n4349' href='#n4349'>4349</a>
<a id='n4350' href='#n4350'>4350</a>
<a id='n4351' href='#n4351'>4351</a>
<a id='n4352' href='#n4352'>4352</a>
<a id='n4353' href='#n4353'>4353</a>
<a id='n4354' href='#n4354'>4354</a>
<a id='n4355' href='#n4355'>4355</a>
<a id='n4356' href='#n4356'>4356</a>
<a id='n4357' href='#n4357'>4357</a>
<a id='n4358' href='#n4358'>4358</a>
<a id='n4359' href='#n4359'>4359</a>
<a id='n4360' href='#n4360'>4360</a>
<a id='n4361' href='#n4361'>4361</a>
<a id='n4362' href='#n4362'>4362</a>
<a id='n4363' href='#n4363'>4363</a>
<a id='n4364' href='#n4364'>4364</a>
<a id='n4365' href='#n4365'>4365</a>
<a id='n4366' href='#n4366'>4366</a>
<a id='n4367' href='#n4367'>4367</a>
<a id='n4368' href='#n4368'>4368</a>
<a id='n4369' href='#n4369'>4369</a>
<a id='n4370' href='#n4370'>4370</a>
<a id='n4371' href='#n4371'>4371</a>
<a id='n4372' href='#n4372'>4372</a>
<a id='n4373' href='#n4373'>4373</a>
<a id='n4374' href='#n4374'>4374</a>
<a id='n4375' href='#n4375'>4375</a>
<a id='n4376' href='#n4376'>4376</a>
<a id='n4377' href='#n4377'>4377</a>
<a id='n4378' href='#n4378'>4378</a>
<a id='n4379' href='#n4379'>4379</a>
<a id='n4380' href='#n4380'>4380</a>
<a id='n4381' href='#n4381'>4381</a>
<a id='n4382' href='#n4382'>4382</a>
<a id='n4383' href='#n4383'>4383</a>
<a id='n4384' href='#n4384'>4384</a>
<a id='n4385' href='#n4385'>4385</a>
<a id='n4386' href='#n4386'>4386</a>
<a id='n4387' href='#n4387'>4387</a>
<a id='n4388' href='#n4388'>4388</a>
<a id='n4389' href='#n4389'>4389</a>
<a id='n4390' href='#n4390'>4390</a>
<a id='n4391' href='#n4391'>4391</a>
<a id='n4392' href='#n4392'>4392</a>
<a id='n4393' href='#n4393'>4393</a>
<a id='n4394' href='#n4394'>4394</a>
<a id='n4395' href='#n4395'>4395</a>
<a id='n4396' href='#n4396'>4396</a>
<a id='n4397' href='#n4397'>4397</a>
<a id='n4398' href='#n4398'>4398</a>
<a id='n4399' href='#n4399'>4399</a>
<a id='n4400' href='#n4400'>4400</a>
<a id='n4401' href='#n4401'>4401</a>
<a id='n4402' href='#n4402'>4402</a>
<a id='n4403' href='#n4403'>4403</a>
<a id='n4404' href='#n4404'>4404</a>
<a id='n4405' href='#n4405'>4405</a>
<a id='n4406' href='#n4406'>4406</a>
<a id='n4407' href='#n4407'>4407</a>
<a id='n4408' href='#n4408'>4408</a>
<a id='n4409' href='#n4409'>4409</a>
<a id='n4410' href='#n4410'>4410</a>
<a id='n4411' href='#n4411'>4411</a>
<a id='n4412' href='#n4412'>4412</a>
<a id='n4413' href='#n4413'>4413</a>
<a id='n4414' href='#n4414'>4414</a>
<a id='n4415' href='#n4415'>4415</a>
<a id='n4416' href='#n4416'>4416</a>
<a id='n4417' href='#n4417'>4417</a>
<a id='n4418' href='#n4418'>4418</a>
<a id='n4419' href='#n4419'>4419</a>
<a id='n4420' href='#n4420'>4420</a>
<a id='n4421' href='#n4421'>4421</a>
<a id='n4422' href='#n4422'>4422</a>
<a id='n4423' href='#n4423'>4423</a>
<a id='n4424' href='#n4424'>4424</a>
<a id='n4425' href='#n4425'>4425</a>
<a id='n4426' href='#n4426'>4426</a>
<a id='n4427' href='#n4427'>4427</a>
<a id='n4428' href='#n4428'>4428</a>
<a id='n4429' href='#n4429'>4429</a>
<a id='n4430' href='#n4430'>4430</a>
<a id='n4431' href='#n4431'>4431</a>
<a id='n4432' href='#n4432'>4432</a>
<a id='n4433' href='#n4433'>4433</a>
<a id='n4434' href='#n4434'>4434</a>
<a id='n4435' href='#n4435'>4435</a>
<a id='n4436' href='#n4436'>4436</a>
<a id='n4437' href='#n4437'>4437</a>
<a id='n4438' href='#n4438'>4438</a>
<a id='n4439' href='#n4439'>4439</a>
<a id='n4440' href='#n4440'>4440</a>
<a id='n4441' href='#n4441'>4441</a>
<a id='n4442' href='#n4442'>4442</a>
<a id='n4443' href='#n4443'>4443</a>
<a id='n4444' href='#n4444'>4444</a>
<a id='n4445' href='#n4445'>4445</a>
<a id='n4446' href='#n4446'>4446</a>
<a id='n4447' href='#n4447'>4447</a>
<a id='n4448' href='#n4448'>4448</a>
<a id='n4449' href='#n4449'>4449</a>
<a id='n4450' href='#n4450'>4450</a>
<a id='n4451' href='#n4451'>4451</a>
<a id='n4452' href='#n4452'>4452</a>
<a id='n4453' href='#n4453'>4453</a>
<a id='n4454' href='#n4454'>4454</a>
<a id='n4455' href='#n4455'>4455</a>
<a id='n4456' href='#n4456'>4456</a>
<a id='n4457' href='#n4457'>4457</a>
<a id='n4458' href='#n4458'>4458</a>
<a id='n4459' href='#n4459'>4459</a>
<a id='n4460' href='#n4460'>4460</a>
<a id='n4461' href='#n4461'>4461</a>
<a id='n4462' href='#n4462'>4462</a>
<a id='n4463' href='#n4463'>4463</a>
<a id='n4464' href='#n4464'>4464</a>
<a id='n4465' href='#n4465'>4465</a>
<a id='n4466' href='#n4466'>4466</a>
<a id='n4467' href='#n4467'>4467</a>
<a id='n4468' href='#n4468'>4468</a>
<a id='n4469' href='#n4469'>4469</a>
<a id='n4470' href='#n4470'>4470</a>
<a id='n4471' href='#n4471'>4471</a>
<a id='n4472' href='#n4472'>4472</a>
<a id='n4473' href='#n4473'>4473</a>
<a id='n4474' href='#n4474'>4474</a>
<a id='n4475' href='#n4475'>4475</a>
<a id='n4476' href='#n4476'>4476</a>
<a id='n4477' href='#n4477'>4477</a>
<a id='n4478' href='#n4478'>4478</a>
<a id='n4479' href='#n4479'>4479</a>
<a id='n4480' href='#n4480'>4480</a>
<a id='n4481' href='#n4481'>4481</a>
<a id='n4482' href='#n4482'>4482</a>
<a id='n4483' href='#n4483'>4483</a>
<a id='n4484' href='#n4484'>4484</a>
<a id='n4485' href='#n4485'>4485</a>
<a id='n4486' href='#n4486'>4486</a>
<a id='n4487' href='#n4487'>4487</a>
<a id='n4488' href='#n4488'>4488</a>
<a id='n4489' href='#n4489'>4489</a>
<a id='n4490' href='#n4490'>4490</a>
<a id='n4491' href='#n4491'>4491</a>
<a id='n4492' href='#n4492'>4492</a>
<a id='n4493' href='#n4493'>4493</a>
<a id='n4494' href='#n4494'>4494</a>
<a id='n4495' href='#n4495'>4495</a>
<a id='n4496' href='#n4496'>4496</a>
<a id='n4497' href='#n4497'>4497</a>
<a id='n4498' href='#n4498'>4498</a>
<a id='n4499' href='#n4499'>4499</a>
<a id='n4500' href='#n4500'>4500</a>
<a id='n4501' href='#n4501'>4501</a>
<a id='n4502' href='#n4502'>4502</a>
<a id='n4503' href='#n4503'>4503</a>
<a id='n4504' href='#n4504'>4504</a>
<a id='n4505' href='#n4505'>4505</a>
<a id='n4506' href='#n4506'>4506</a>
<a id='n4507' href='#n4507'>4507</a>
<a id='n4508' href='#n4508'>4508</a>
<a id='n4509' href='#n4509'>4509</a>
<a id='n4510' href='#n4510'>4510</a>
<a id='n4511' href='#n4511'>4511</a>
<a id='n4512' href='#n4512'>4512</a>
<a id='n4513' href='#n4513'>4513</a>
<a id='n4514' href='#n4514'>4514</a>
<a id='n4515' href='#n4515'>4515</a>
<a id='n4516' href='#n4516'>4516</a>
<a id='n4517' href='#n4517'>4517</a>
<a id='n4518' href='#n4518'>4518</a>
<a id='n4519' href='#n4519'>4519</a>
<a id='n4520' href='#n4520'>4520</a>
<a id='n4521' href='#n4521'>4521</a>
<a id='n4522' href='#n4522'>4522</a>
<a id='n4523' href='#n4523'>4523</a>
<a id='n4524' href='#n4524'>4524</a>
<a id='n4525' href='#n4525'>4525</a>
<a id='n4526' href='#n4526'>4526</a>
<a id='n4527' href='#n4527'>4527</a>
<a id='n4528' href='#n4528'>4528</a>
<a id='n4529' href='#n4529'>4529</a>
<a id='n4530' href='#n4530'>4530</a>
<a id='n4531' href='#n4531'>4531</a>
<a id='n4532' href='#n4532'>4532</a>
<a id='n4533' href='#n4533'>4533</a>
<a id='n4534' href='#n4534'>4534</a>
<a id='n4535' href='#n4535'>4535</a>
<a id='n4536' href='#n4536'>4536</a>
<a id='n4537' href='#n4537'>4537</a>
<a id='n4538' href='#n4538'>4538</a>
<a id='n4539' href='#n4539'>4539</a>
<a id='n4540' href='#n4540'>4540</a>
<a id='n4541' href='#n4541'>4541</a>
<a id='n4542' href='#n4542'>4542</a>
<a id='n4543' href='#n4543'>4543</a>
<a id='n4544' href='#n4544'>4544</a>
<a id='n4545' href='#n4545'>4545</a>
<a id='n4546' href='#n4546'>4546</a>
<a id='n4547' href='#n4547'>4547</a>
<a id='n4548' href='#n4548'>4548</a>
<a id='n4549' href='#n4549'>4549</a>
<a id='n4550' href='#n4550'>4550</a>
<a id='n4551' href='#n4551'>4551</a>
<a id='n4552' href='#n4552'>4552</a>
<a id='n4553' href='#n4553'>4553</a>
<a id='n4554' href='#n4554'>4554</a>
<a id='n4555' href='#n4555'>4555</a>
<a id='n4556' href='#n4556'>4556</a>
<a id='n4557' href='#n4557'>4557</a>
<a id='n4558' href='#n4558'>4558</a>
<a id='n4559' href='#n4559'>4559</a>
<a id='n4560' href='#n4560'>4560</a>
<a id='n4561' href='#n4561'>4561</a>
<a id='n4562' href='#n4562'>4562</a>
<a id='n4563' href='#n4563'>4563</a>
<a id='n4564' href='#n4564'>4564</a>
<a id='n4565' href='#n4565'>4565</a>
<a id='n4566' href='#n4566'>4566</a>
<a id='n4567' href='#n4567'>4567</a>
<a id='n4568' href='#n4568'>4568</a>
<a id='n4569' href='#n4569'>4569</a>
<a id='n4570' href='#n4570'>4570</a>
<a id='n4571' href='#n4571'>4571</a>
<a id='n4572' href='#n4572'>4572</a>
<a id='n4573' href='#n4573'>4573</a>
<a id='n4574' href='#n4574'>4574</a>
<a id='n4575' href='#n4575'>4575</a>
<a id='n4576' href='#n4576'>4576</a>
<a id='n4577' href='#n4577'>4577</a>
<a id='n4578' href='#n4578'>4578</a>
<a id='n4579' href='#n4579'>4579</a>
<a id='n4580' href='#n4580'>4580</a>
<a id='n4581' href='#n4581'>4581</a>
<a id='n4582' href='#n4582'>4582</a>
<a id='n4583' href='#n4583'>4583</a>
<a id='n4584' href='#n4584'>4584</a>
<a id='n4585' href='#n4585'>4585</a>
<a id='n4586' href='#n4586'>4586</a>
<a id='n4587' href='#n4587'>4587</a>
<a id='n4588' href='#n4588'>4588</a>
<a id='n4589' href='#n4589'>4589</a>
<a id='n4590' href='#n4590'>4590</a>
<a id='n4591' href='#n4591'>4591</a>
<a id='n4592' href='#n4592'>4592</a>
<a id='n4593' href='#n4593'>4593</a>
<a id='n4594' href='#n4594'>4594</a>
<a id='n4595' href='#n4595'>4595</a>
<a id='n4596' href='#n4596'>4596</a>
<a id='n4597' href='#n4597'>4597</a>
<a id='n4598' href='#n4598'>4598</a>
<a id='n4599' href='#n4599'>4599</a>
<a id='n4600' href='#n4600'>4600</a>
<a id='n4601' href='#n4601'>4601</a>
<a id='n4602' href='#n4602'>4602</a>
<a id='n4603' href='#n4603'>4603</a>
<a id='n4604' href='#n4604'>4604</a>
<a id='n4605' href='#n4605'>4605</a>
<a id='n4606' href='#n4606'>4606</a>
<a id='n4607' href='#n4607'>4607</a>
<a id='n4608' href='#n4608'>4608</a>
<a id='n4609' href='#n4609'>4609</a>
<a id='n4610' href='#n4610'>4610</a>
<a id='n4611' href='#n4611'>4611</a>
<a id='n4612' href='#n4612'>4612</a>
<a id='n4613' href='#n4613'>4613</a>
<a id='n4614' href='#n4614'>4614</a>
<a id='n4615' href='#n4615'>4615</a>
<a id='n4616' href='#n4616'>4616</a>
<a id='n4617' href='#n4617'>4617</a>
<a id='n4618' href='#n4618'>4618</a>
<a id='n4619' href='#n4619'>4619</a>
<a id='n4620' href='#n4620'>4620</a>
<a id='n4621' href='#n4621'>4621</a>
<a id='n4622' href='#n4622'>4622</a>
<a id='n4623' href='#n4623'>4623</a>
<a id='n4624' href='#n4624'>4624</a>
<a id='n4625' href='#n4625'>4625</a>
<a id='n4626' href='#n4626'>4626</a>
<a id='n4627' href='#n4627'>4627</a>
<a id='n4628' href='#n4628'>4628</a>
<a id='n4629' href='#n4629'>4629</a>
<a id='n4630' href='#n4630'>4630</a>
<a id='n4631' href='#n4631'>4631</a>
<a id='n4632' href='#n4632'>4632</a>
<a id='n4633' href='#n4633'>4633</a>
<a id='n4634' href='#n4634'>4634</a>
<a id='n4635' href='#n4635'>4635</a>
<a id='n4636' href='#n4636'>4636</a>
<a id='n4637' href='#n4637'>4637</a>
<a id='n4638' href='#n4638'>4638</a>
<a id='n4639' href='#n4639'>4639</a>
<a id='n4640' href='#n4640'>4640</a>
<a id='n4641' href='#n4641'>4641</a>
<a id='n4642' href='#n4642'>4642</a>
<a id='n4643' href='#n4643'>4643</a>
<a id='n4644' href='#n4644'>4644</a>
<a id='n4645' href='#n4645'>4645</a>
<a id='n4646' href='#n4646'>4646</a>
<a id='n4647' href='#n4647'>4647</a>
<a id='n4648' href='#n4648'>4648</a>
<a id='n4649' href='#n4649'>4649</a>
<a id='n4650' href='#n4650'>4650</a>
<a id='n4651' href='#n4651'>4651</a>
<a id='n4652' href='#n4652'>4652</a>
<a id='n4653' href='#n4653'>4653</a>
<a id='n4654' href='#n4654'>4654</a>
<a id='n4655' href='#n4655'>4655</a>
<a id='n4656' href='#n4656'>4656</a>
<a id='n4657' href='#n4657'>4657</a>
<a id='n4658' href='#n4658'>4658</a>
<a id='n4659' href='#n4659'>4659</a>
<a id='n4660' href='#n4660'>4660</a>
<a id='n4661' href='#n4661'>4661</a>
<a id='n4662' href='#n4662'>4662</a>
<a id='n4663' href='#n4663'>4663</a>
<a id='n4664' href='#n4664'>4664</a>
<a id='n4665' href='#n4665'>4665</a>
<a id='n4666' href='#n4666'>4666</a>
<a id='n4667' href='#n4667'>4667</a>
<a id='n4668' href='#n4668'>4668</a>
<a id='n4669' href='#n4669'>4669</a>
<a id='n4670' href='#n4670'>4670</a>
<a id='n4671' href='#n4671'>4671</a>
<a id='n4672' href='#n4672'>4672</a>
<a id='n4673' href='#n4673'>4673</a>
<a id='n4674' href='#n4674'>4674</a>
<a id='n4675' href='#n4675'>4675</a>
<a id='n4676' href='#n4676'>4676</a>
<a id='n4677' href='#n4677'>4677</a>
<a id='n4678' href='#n4678'>4678</a>
<a id='n4679' href='#n4679'>4679</a>
<a id='n4680' href='#n4680'>4680</a>
<a id='n4681' href='#n4681'>4681</a>
<a id='n4682' href='#n4682'>4682</a>
<a id='n4683' href='#n4683'>4683</a>
<a id='n4684' href='#n4684'>4684</a>
<a id='n4685' href='#n4685'>4685</a>
<a id='n4686' href='#n4686'>4686</a>
<a id='n4687' href='#n4687'>4687</a>
<a id='n4688' href='#n4688'>4688</a>
<a id='n4689' href='#n4689'>4689</a>
<a id='n4690' href='#n4690'>4690</a>
<a id='n4691' href='#n4691'>4691</a>
<a id='n4692' href='#n4692'>4692</a>
<a id='n4693' href='#n4693'>4693</a>
<a id='n4694' href='#n4694'>4694</a>
<a id='n4695' href='#n4695'>4695</a>
<a id='n4696' href='#n4696'>4696</a>
<a id='n4697' href='#n4697'>4697</a>
<a id='n4698' href='#n4698'>4698</a>
<a id='n4699' href='#n4699'>4699</a>
<a id='n4700' href='#n4700'>4700</a>
<a id='n4701' href='#n4701'>4701</a>
<a id='n4702' href='#n4702'>4702</a>
<a id='n4703' href='#n4703'>4703</a>
<a id='n4704' href='#n4704'>4704</a>
<a id='n4705' href='#n4705'>4705</a>
<a id='n4706' href='#n4706'>4706</a>
<a id='n4707' href='#n4707'>4707</a>
<a id='n4708' href='#n4708'>4708</a>
<a id='n4709' href='#n4709'>4709</a>
<a id='n4710' href='#n4710'>4710</a>
<a id='n4711' href='#n4711'>4711</a>
<a id='n4712' href='#n4712'>4712</a>
<a id='n4713' href='#n4713'>4713</a>
<a id='n4714' href='#n4714'>4714</a>
<a id='n4715' href='#n4715'>4715</a>
<a id='n4716' href='#n4716'>4716</a>
<a id='n4717' href='#n4717'>4717</a>
<a id='n4718' href='#n4718'>4718</a>
<a id='n4719' href='#n4719'>4719</a>
<a id='n4720' href='#n4720'>4720</a>
<a id='n4721' href='#n4721'>4721</a>
<a id='n4722' href='#n4722'>4722</a>
<a id='n4723' href='#n4723'>4723</a>
<a id='n4724' href='#n4724'>4724</a>
<a id='n4725' href='#n4725'>4725</a>
<a id='n4726' href='#n4726'>4726</a>
<a id='n4727' href='#n4727'>4727</a>
<a id='n4728' href='#n4728'>4728</a>
<a id='n4729' href='#n4729'>4729</a>
<a id='n4730' href='#n4730'>4730</a>
<a id='n4731' href='#n4731'>4731</a>
<a id='n4732' href='#n4732'>4732</a>
<a id='n4733' href='#n4733'>4733</a>
<a id='n4734' href='#n4734'>4734</a>
<a id='n4735' href='#n4735'>4735</a>
<a id='n4736' href='#n4736'>4736</a>
<a id='n4737' href='#n4737'>4737</a>
<a id='n4738' href='#n4738'>4738</a>
<a id='n4739' href='#n4739'>4739</a>
<a id='n4740' href='#n4740'>4740</a>
<a id='n4741' href='#n4741'>4741</a>
<a id='n4742' href='#n4742'>4742</a>
<a id='n4743' href='#n4743'>4743</a>
<a id='n4744' href='#n4744'>4744</a>
<a id='n4745' href='#n4745'>4745</a>
<a id='n4746' href='#n4746'>4746</a>
<a id='n4747' href='#n4747'>4747</a>
<a id='n4748' href='#n4748'>4748</a>
<a id='n4749' href='#n4749'>4749</a>
<a id='n4750' href='#n4750'>4750</a>
<a id='n4751' href='#n4751'>4751</a>
<a id='n4752' href='#n4752'>4752</a>
<a id='n4753' href='#n4753'>4753</a>
<a id='n4754' href='#n4754'>4754</a>
<a id='n4755' href='#n4755'>4755</a>
<a id='n4756' href='#n4756'>4756</a>
<a id='n4757' href='#n4757'>4757</a>
<a id='n4758' href='#n4758'>4758</a>
<a id='n4759' href='#n4759'>4759</a>
<a id='n4760' href='#n4760'>4760</a>
<a id='n4761' href='#n4761'>4761</a>
<a id='n4762' href='#n4762'>4762</a>
<a id='n4763' href='#n4763'>4763</a>
<a id='n4764' href='#n4764'>4764</a>
<a id='n4765' href='#n4765'>4765</a>
<a id='n4766' href='#n4766'>4766</a>
<a id='n4767' href='#n4767'>4767</a>
<a id='n4768' href='#n4768'>4768</a>
<a id='n4769' href='#n4769'>4769</a>
<a id='n4770' href='#n4770'>4770</a>
<a id='n4771' href='#n4771'>4771</a>
<a id='n4772' href='#n4772'>4772</a>
<a id='n4773' href='#n4773'>4773</a>
<a id='n4774' href='#n4774'>4774</a>
<a id='n4775' href='#n4775'>4775</a>
<a id='n4776' href='#n4776'>4776</a>
<a id='n4777' href='#n4777'>4777</a>
<a id='n4778' href='#n4778'>4778</a>
<a id='n4779' href='#n4779'>4779</a>
<a id='n4780' href='#n4780'>4780</a>
<a id='n4781' href='#n4781'>4781</a>
<a id='n4782' href='#n4782'>4782</a>
<a id='n4783' href='#n4783'>4783</a>
<a id='n4784' href='#n4784'>4784</a>
<a id='n4785' href='#n4785'>4785</a>
<a id='n4786' href='#n4786'>4786</a>
<a id='n4787' href='#n4787'>4787</a>
<a id='n4788' href='#n4788'>4788</a>
<a id='n4789' href='#n4789'>4789</a>
<a id='n4790' href='#n4790'>4790</a>
<a id='n4791' href='#n4791'>4791</a>
<a id='n4792' href='#n4792'>4792</a>
<a id='n4793' href='#n4793'>4793</a>
<a id='n4794' href='#n4794'>4794</a>
<a id='n4795' href='#n4795'>4795</a>
<a id='n4796' href='#n4796'>4796</a>
<a id='n4797' href='#n4797'>4797</a>
<a id='n4798' href='#n4798'>4798</a>
<a id='n4799' href='#n4799'>4799</a>
<a id='n4800' href='#n4800'>4800</a>
<a id='n4801' href='#n4801'>4801</a>
<a id='n4802' href='#n4802'>4802</a>
<a id='n4803' href='#n4803'>4803</a>
<a id='n4804' href='#n4804'>4804</a>
<a id='n4805' href='#n4805'>4805</a>
<a id='n4806' href='#n4806'>4806</a>
<a id='n4807' href='#n4807'>4807</a>
<a id='n4808' href='#n4808'>4808</a>
<a id='n4809' href='#n4809'>4809</a>
<a id='n4810' href='#n4810'>4810</a>
<a id='n4811' href='#n4811'>4811</a>
<a id='n4812' href='#n4812'>4812</a>
<a id='n4813' href='#n4813'>4813</a>
<a id='n4814' href='#n4814'>4814</a>
<a id='n4815' href='#n4815'>4815</a>
<a id='n4816' href='#n4816'>4816</a>
<a id='n4817' href='#n4817'>4817</a>
<a id='n4818' href='#n4818'>4818</a>
<a id='n4819' href='#n4819'>4819</a>
<a id='n4820' href='#n4820'>4820</a>
<a id='n4821' href='#n4821'>4821</a>
<a id='n4822' href='#n4822'>4822</a>
<a id='n4823' href='#n4823'>4823</a>
<a id='n4824' href='#n4824'>4824</a>
<a id='n4825' href='#n4825'>4825</a>
<a id='n4826' href='#n4826'>4826</a>
<a id='n4827' href='#n4827'>4827</a>
<a id='n4828' href='#n4828'>4828</a>
<a id='n4829' href='#n4829'>4829</a>
<a id='n4830' href='#n4830'>4830</a>
<a id='n4831' href='#n4831'>4831</a>
<a id='n4832' href='#n4832'>4832</a>
<a id='n4833' href='#n4833'>4833</a>
<a id='n4834' href='#n4834'>4834</a>
<a id='n4835' href='#n4835'>4835</a>
<a id='n4836' href='#n4836'>4836</a>
<a id='n4837' href='#n4837'>4837</a>
<a id='n4838' href='#n4838'>4838</a>
<a id='n4839' href='#n4839'>4839</a>
<a id='n4840' href='#n4840'>4840</a>
<a id='n4841' href='#n4841'>4841</a>
<a id='n4842' href='#n4842'>4842</a>
<a id='n4843' href='#n4843'>4843</a>
<a id='n4844' href='#n4844'>4844</a>
<a id='n4845' href='#n4845'>4845</a>
<a id='n4846' href='#n4846'>4846</a>
<a id='n4847' href='#n4847'>4847</a>
<a id='n4848' href='#n4848'>4848</a>
<a id='n4849' href='#n4849'>4849</a>
<a id='n4850' href='#n4850'>4850</a>
<a id='n4851' href='#n4851'>4851</a>
<a id='n4852' href='#n4852'>4852</a>
<a id='n4853' href='#n4853'>4853</a>
<a id='n4854' href='#n4854'>4854</a>
<a id='n4855' href='#n4855'>4855</a>
<a id='n4856' href='#n4856'>4856</a>
<a id='n4857' href='#n4857'>4857</a>
<a id='n4858' href='#n4858'>4858</a>
<a id='n4859' href='#n4859'>4859</a>
<a id='n4860' href='#n4860'>4860</a>
<a id='n4861' href='#n4861'>4861</a>
<a id='n4862' href='#n4862'>4862</a>
<a id='n4863' href='#n4863'>4863</a>
<a id='n4864' href='#n4864'>4864</a>
<a id='n4865' href='#n4865'>4865</a>
<a id='n4866' href='#n4866'>4866</a>
<a id='n4867' href='#n4867'>4867</a>
<a id='n4868' href='#n4868'>4868</a>
<a id='n4869' href='#n4869'>4869</a>
<a id='n4870' href='#n4870'>4870</a>
<a id='n4871' href='#n4871'>4871</a>
<a id='n4872' href='#n4872'>4872</a>
<a id='n4873' href='#n4873'>4873</a>
<a id='n4874' href='#n4874'>4874</a>
<a id='n4875' href='#n4875'>4875</a>
<a id='n4876' href='#n4876'>4876</a>
<a id='n4877' href='#n4877'>4877</a>
<a id='n4878' href='#n4878'>4878</a>
<a id='n4879' href='#n4879'>4879</a>
<a id='n4880' href='#n4880'>4880</a>
<a id='n4881' href='#n4881'>4881</a>
<a id='n4882' href='#n4882'>4882</a>
<a id='n4883' href='#n4883'>4883</a>
<a id='n4884' href='#n4884'>4884</a>
<a id='n4885' href='#n4885'>4885</a>
<a id='n4886' href='#n4886'>4886</a>
<a id='n4887' href='#n4887'>4887</a>
<a id='n4888' href='#n4888'>4888</a>
<a id='n4889' href='#n4889'>4889</a>
<a id='n4890' href='#n4890'>4890</a>
<a id='n4891' href='#n4891'>4891</a>
<a id='n4892' href='#n4892'>4892</a>
<a id='n4893' href='#n4893'>4893</a>
<a id='n4894' href='#n4894'>4894</a>
<a id='n4895' href='#n4895'>4895</a>
<a id='n4896' href='#n4896'>4896</a>
<a id='n4897' href='#n4897'>4897</a>
<a id='n4898' href='#n4898'>4898</a>
<a id='n4899' href='#n4899'>4899</a>
<a id='n4900' href='#n4900'>4900</a>
<a id='n4901' href='#n4901'>4901</a>
<a id='n4902' href='#n4902'>4902</a>
<a id='n4903' href='#n4903'>4903</a>
<a id='n4904' href='#n4904'>4904</a>
<a id='n4905' href='#n4905'>4905</a>
<a id='n4906' href='#n4906'>4906</a>
<a id='n4907' href='#n4907'>4907</a>
<a id='n4908' href='#n4908'>4908</a>
<a id='n4909' href='#n4909'>4909</a>
<a id='n4910' href='#n4910'>4910</a>
<a id='n4911' href='#n4911'>4911</a>
<a id='n4912' href='#n4912'>4912</a>
<a id='n4913' href='#n4913'>4913</a>
<a id='n4914' href='#n4914'>4914</a>
<a id='n4915' href='#n4915'>4915</a>
<a id='n4916' href='#n4916'>4916</a>
<a id='n4917' href='#n4917'>4917</a>
<a id='n4918' href='#n4918'>4918</a>
<a id='n4919' href='#n4919'>4919</a>
<a id='n4920' href='#n4920'>4920</a>
<a id='n4921' href='#n4921'>4921</a>
<a id='n4922' href='#n4922'>4922</a>
<a id='n4923' href='#n4923'>4923</a>
<a id='n4924' href='#n4924'>4924</a>
<a id='n4925' href='#n4925'>4925</a>
<a id='n4926' href='#n4926'>4926</a>
<a id='n4927' href='#n4927'>4927</a>
<a id='n4928' href='#n4928'>4928</a>
<a id='n4929' href='#n4929'>4929</a>
<a id='n4930' href='#n4930'>4930</a>
<a id='n4931' href='#n4931'>4931</a>
<a id='n4932' href='#n4932'>4932</a>
<a id='n4933' href='#n4933'>4933</a>
<a id='n4934' href='#n4934'>4934</a>
<a id='n4935' href='#n4935'>4935</a>
<a id='n4936' href='#n4936'>4936</a>
<a id='n4937' href='#n4937'>4937</a>
<a id='n4938' href='#n4938'>4938</a>
<a id='n4939' href='#n4939'>4939</a>
<a id='n4940' href='#n4940'>4940</a>
<a id='n4941' href='#n4941'>4941</a>
<a id='n4942' href='#n4942'>4942</a>
<a id='n4943' href='#n4943'>4943</a>
<a id='n4944' href='#n4944'>4944</a>
<a id='n4945' href='#n4945'>4945</a>
<a id='n4946' href='#n4946'>4946</a>
<a id='n4947' href='#n4947'>4947</a>
<a id='n4948' href='#n4948'>4948</a>
<a id='n4949' href='#n4949'>4949</a>
<a id='n4950' href='#n4950'>4950</a>
<a id='n4951' href='#n4951'>4951</a>
<a id='n4952' href='#n4952'>4952</a>
<a id='n4953' href='#n4953'>4953</a>
<a id='n4954' href='#n4954'>4954</a>
<a id='n4955' href='#n4955'>4955</a>
<a id='n4956' href='#n4956'>4956</a>
<a id='n4957' href='#n4957'>4957</a>
<a id='n4958' href='#n4958'>4958</a>
<a id='n4959' href='#n4959'>4959</a>
<a id='n4960' href='#n4960'>4960</a>
<a id='n4961' href='#n4961'>4961</a>
<a id='n4962' href='#n4962'>4962</a>
<a id='n4963' href='#n4963'>4963</a>
<a id='n4964' href='#n4964'>4964</a>
<a id='n4965' href='#n4965'>4965</a>
<a id='n4966' href='#n4966'>4966</a>
<a id='n4967' href='#n4967'>4967</a>
<a id='n4968' href='#n4968'>4968</a>
<a id='n4969' href='#n4969'>4969</a>
<a id='n4970' href='#n4970'>4970</a>
<a id='n4971' href='#n4971'>4971</a>
<a id='n4972' href='#n4972'>4972</a>
<a id='n4973' href='#n4973'>4973</a>
<a id='n4974' href='#n4974'>4974</a>
<a id='n4975' href='#n4975'>4975</a>
<a id='n4976' href='#n4976'>4976</a>
<a id='n4977' href='#n4977'>4977</a>
<a id='n4978' href='#n4978'>4978</a>
<a id='n4979' href='#n4979'>4979</a>
<a id='n4980' href='#n4980'>4980</a>
<a id='n4981' href='#n4981'>4981</a>
<a id='n4982' href='#n4982'>4982</a>
<a id='n4983' href='#n4983'>4983</a>
<a id='n4984' href='#n4984'>4984</a>
<a id='n4985' href='#n4985'>4985</a>
<a id='n4986' href='#n4986'>4986</a>
<a id='n4987' href='#n4987'>4987</a>
<a id='n4988' href='#n4988'>4988</a>
<a id='n4989' href='#n4989'>4989</a>
<a id='n4990' href='#n4990'>4990</a>
<a id='n4991' href='#n4991'>4991</a>
<a id='n4992' href='#n4992'>4992</a>
<a id='n4993' href='#n4993'>4993</a>
<a id='n4994' href='#n4994'>4994</a>
<a id='n4995' href='#n4995'>4995</a>
<a id='n4996' href='#n4996'>4996</a>
<a id='n4997' href='#n4997'>4997</a>
<a id='n4998' href='#n4998'>4998</a>
<a id='n4999' href='#n4999'>4999</a>
<a id='n5000' href='#n5000'>5000</a>
<a id='n5001' href='#n5001'>5001</a>
<a id='n5002' href='#n5002'>5002</a>
<a id='n5003' href='#n5003'>5003</a>
<a id='n5004' href='#n5004'>5004</a>
<a id='n5005' href='#n5005'>5005</a>
<a id='n5006' href='#n5006'>5006</a>
<a id='n5007' href='#n5007'>5007</a>
<a id='n5008' href='#n5008'>5008</a>
<a id='n5009' href='#n5009'>5009</a>
<a id='n5010' href='#n5010'>5010</a>
<a id='n5011' href='#n5011'>5011</a>
<a id='n5012' href='#n5012'>5012</a>
<a id='n5013' href='#n5013'>5013</a>
<a id='n5014' href='#n5014'>5014</a>
<a id='n5015' href='#n5015'>5015</a>
<a id='n5016' href='#n5016'>5016</a>
<a id='n5017' href='#n5017'>5017</a>
<a id='n5018' href='#n5018'>5018</a>
<a id='n5019' href='#n5019'>5019</a>
<a id='n5020' href='#n5020'>5020</a>
<a id='n5021' href='#n5021'>5021</a>
<a id='n5022' href='#n5022'>5022</a>
<a id='n5023' href='#n5023'>5023</a>
<a id='n5024' href='#n5024'>5024</a>
<a id='n5025' href='#n5025'>5025</a>
<a id='n5026' href='#n5026'>5026</a>
<a id='n5027' href='#n5027'>5027</a>
<a id='n5028' href='#n5028'>5028</a>
<a id='n5029' href='#n5029'>5029</a>
<a id='n5030' href='#n5030'>5030</a>
<a id='n5031' href='#n5031'>5031</a>
<a id='n5032' href='#n5032'>5032</a>
<a id='n5033' href='#n5033'>5033</a>
<a id='n5034' href='#n5034'>5034</a>
<a id='n5035' href='#n5035'>5035</a>
<a id='n5036' href='#n5036'>5036</a>
<a id='n5037' href='#n5037'>5037</a>
<a id='n5038' href='#n5038'>5038</a>
<a id='n5039' href='#n5039'>5039</a>
<a id='n5040' href='#n5040'>5040</a>
<a id='n5041' href='#n5041'>5041</a>
<a id='n5042' href='#n5042'>5042</a>
<a id='n5043' href='#n5043'>5043</a>
<a id='n5044' href='#n5044'>5044</a>
<a id='n5045' href='#n5045'>5045</a>
<a id='n5046' href='#n5046'>5046</a>
<a id='n5047' href='#n5047'>5047</a>
<a id='n5048' href='#n5048'>5048</a>
<a id='n5049' href='#n5049'>5049</a>
<a id='n5050' href='#n5050'>5050</a>
<a id='n5051' href='#n5051'>5051</a>
<a id='n5052' href='#n5052'>5052</a>
<a id='n5053' href='#n5053'>5053</a>
<a id='n5054' href='#n5054'>5054</a>
<a id='n5055' href='#n5055'>5055</a>
<a id='n5056' href='#n5056'>5056</a>
<a id='n5057' href='#n5057'>5057</a>
<a id='n5058' href='#n5058'>5058</a>
<a id='n5059' href='#n5059'>5059</a>
<a id='n5060' href='#n5060'>5060</a>
<a id='n5061' href='#n5061'>5061</a>
<a id='n5062' href='#n5062'>5062</a>
<a id='n5063' href='#n5063'>5063</a>
<a id='n5064' href='#n5064'>5064</a>
<a id='n5065' href='#n5065'>5065</a>
<a id='n5066' href='#n5066'>5066</a>
<a id='n5067' href='#n5067'>5067</a>
<a id='n5068' href='#n5068'>5068</a>
<a id='n5069' href='#n5069'>5069</a>
<a id='n5070' href='#n5070'>5070</a>
<a id='n5071' href='#n5071'>5071</a>
<a id='n5072' href='#n5072'>5072</a>
<a id='n5073' href='#n5073'>5073</a>
<a id='n5074' href='#n5074'>5074</a>
<a id='n5075' href='#n5075'>5075</a>
<a id='n5076' href='#n5076'>5076</a>
<a id='n5077' href='#n5077'>5077</a>
<a id='n5078' href='#n5078'>5078</a>
<a id='n5079' href='#n5079'>5079</a>
<a id='n5080' href='#n5080'>5080</a>
<a id='n5081' href='#n5081'>5081</a>
<a id='n5082' href='#n5082'>5082</a>
<a id='n5083' href='#n5083'>5083</a>
<a id='n5084' href='#n5084'>5084</a>
<a id='n5085' href='#n5085'>5085</a>
<a id='n5086' href='#n5086'>5086</a>
<a id='n5087' href='#n5087'>5087</a>
<a id='n5088' href='#n5088'>5088</a>
<a id='n5089' href='#n5089'>5089</a>
<a id='n5090' href='#n5090'>5090</a>
<a id='n5091' href='#n5091'>5091</a>
<a id='n5092' href='#n5092'>5092</a>
<a id='n5093' href='#n5093'>5093</a>
<a id='n5094' href='#n5094'>5094</a>
<a id='n5095' href='#n5095'>5095</a>
<a id='n5096' href='#n5096'>5096</a>
<a id='n5097' href='#n5097'>5097</a>
<a id='n5098' href='#n5098'>5098</a>
<a id='n5099' href='#n5099'>5099</a>
<a id='n5100' href='#n5100'>5100</a>
<a id='n5101' href='#n5101'>5101</a>
<a id='n5102' href='#n5102'>5102</a>
<a id='n5103' href='#n5103'>5103</a>
<a id='n5104' href='#n5104'>5104</a>
<a id='n5105' href='#n5105'>5105</a>
<a id='n5106' href='#n5106'>5106</a>
<a id='n5107' href='#n5107'>5107</a>
<a id='n5108' href='#n5108'>5108</a>
<a id='n5109' href='#n5109'>5109</a>
<a id='n5110' href='#n5110'>5110</a>
<a id='n5111' href='#n5111'>5111</a>
<a id='n5112' href='#n5112'>5112</a>
<a id='n5113' href='#n5113'>5113</a>
<a id='n5114' href='#n5114'>5114</a>
<a id='n5115' href='#n5115'>5115</a>
<a id='n5116' href='#n5116'>5116</a>
<a id='n5117' href='#n5117'>5117</a>
<a id='n5118' href='#n5118'>5118</a>
<a id='n5119' href='#n5119'>5119</a>
<a id='n5120' href='#n5120'>5120</a>
<a id='n5121' href='#n5121'>5121</a>
<a id='n5122' href='#n5122'>5122</a>
<a id='n5123' href='#n5123'>5123</a>
<a id='n5124' href='#n5124'>5124</a>
<a id='n5125' href='#n5125'>5125</a>
<a id='n5126' href='#n5126'>5126</a>
<a id='n5127' href='#n5127'>5127</a>
<a id='n5128' href='#n5128'>5128</a>
<a id='n5129' href='#n5129'>5129</a>
<a id='n5130' href='#n5130'>5130</a>
<a id='n5131' href='#n5131'>5131</a>
<a id='n5132' href='#n5132'>5132</a>
<a id='n5133' href='#n5133'>5133</a>
<a id='n5134' href='#n5134'>5134</a>
<a id='n5135' href='#n5135'>5135</a>
<a id='n5136' href='#n5136'>5136</a>
<a id='n5137' href='#n5137'>5137</a>
<a id='n5138' href='#n5138'>5138</a>
<a id='n5139' href='#n5139'>5139</a>
<a id='n5140' href='#n5140'>5140</a>
<a id='n5141' href='#n5141'>5141</a>
<a id='n5142' href='#n5142'>5142</a>
<a id='n5143' href='#n5143'>5143</a>
<a id='n5144' href='#n5144'>5144</a>
<a id='n5145' href='#n5145'>5145</a>
<a id='n5146' href='#n5146'>5146</a>
<a id='n5147' href='#n5147'>5147</a>
<a id='n5148' href='#n5148'>5148</a>
<a id='n5149' href='#n5149'>5149</a>
<a id='n5150' href='#n5150'>5150</a>
<a id='n5151' href='#n5151'>5151</a>
<a id='n5152' href='#n5152'>5152</a>
<a id='n5153' href='#n5153'>5153</a>
<a id='n5154' href='#n5154'>5154</a>
<a id='n5155' href='#n5155'>5155</a>
<a id='n5156' href='#n5156'>5156</a>
<a id='n5157' href='#n5157'>5157</a>
<a id='n5158' href='#n5158'>5158</a>
<a id='n5159' href='#n5159'>5159</a>
<a id='n5160' href='#n5160'>5160</a>
<a id='n5161' href='#n5161'>5161</a>
<a id='n5162' href='#n5162'>5162</a>
<a id='n5163' href='#n5163'>5163</a>
<a id='n5164' href='#n5164'>5164</a>
<a id='n5165' href='#n5165'>5165</a>
<a id='n5166' href='#n5166'>5166</a>
<a id='n5167' href='#n5167'>5167</a>
<a id='n5168' href='#n5168'>5168</a>
<a id='n5169' href='#n5169'>5169</a>
<a id='n5170' href='#n5170'>5170</a>
<a id='n5171' href='#n5171'>5171</a>
<a id='n5172' href='#n5172'>5172</a>
<a id='n5173' href='#n5173'>5173</a>
<a id='n5174' href='#n5174'>5174</a>
<a id='n5175' href='#n5175'>5175</a>
<a id='n5176' href='#n5176'>5176</a>
<a id='n5177' href='#n5177'>5177</a>
<a id='n5178' href='#n5178'>5178</a>
<a id='n5179' href='#n5179'>5179</a>
<a id='n5180' href='#n5180'>5180</a>
<a id='n5181' href='#n5181'>5181</a>
<a id='n5182' href='#n5182'>5182</a>
<a id='n5183' href='#n5183'>5183</a>
<a id='n5184' href='#n5184'>5184</a>
<a id='n5185' href='#n5185'>5185</a>
<a id='n5186' href='#n5186'>5186</a>
<a id='n5187' href='#n5187'>5187</a>
<a id='n5188' href='#n5188'>5188</a>
<a id='n5189' href='#n5189'>5189</a>
<a id='n5190' href='#n5190'>5190</a>
<a id='n5191' href='#n5191'>5191</a>
<a id='n5192' href='#n5192'>5192</a>
<a id='n5193' href='#n5193'>5193</a>
<a id='n5194' href='#n5194'>5194</a>
<a id='n5195' href='#n5195'>5195</a>
<a id='n5196' href='#n5196'>5196</a>
<a id='n5197' href='#n5197'>5197</a>
<a id='n5198' href='#n5198'>5198</a>
<a id='n5199' href='#n5199'>5199</a>
<a id='n5200' href='#n5200'>5200</a>
<a id='n5201' href='#n5201'>5201</a>
<a id='n5202' href='#n5202'>5202</a>
<a id='n5203' href='#n5203'>5203</a>
<a id='n5204' href='#n5204'>5204</a>
<a id='n5205' href='#n5205'>5205</a>
<a id='n5206' href='#n5206'>5206</a>
<a id='n5207' href='#n5207'>5207</a>
<a id='n5208' href='#n5208'>5208</a>
<a id='n5209' href='#n5209'>5209</a>
<a id='n5210' href='#n5210'>5210</a>
<a id='n5211' href='#n5211'>5211</a>
<a id='n5212' href='#n5212'>5212</a>
<a id='n5213' href='#n5213'>5213</a>
<a id='n5214' href='#n5214'>5214</a>
<a id='n5215' href='#n5215'>5215</a>
<a id='n5216' href='#n5216'>5216</a>
<a id='n5217' href='#n5217'>5217</a>
<a id='n5218' href='#n5218'>5218</a>
<a id='n5219' href='#n5219'>5219</a>
<a id='n5220' href='#n5220'>5220</a>
<a id='n5221' href='#n5221'>5221</a>
<a id='n5222' href='#n5222'>5222</a>
<a id='n5223' href='#n5223'>5223</a>
<a id='n5224' href='#n5224'>5224</a>
<a id='n5225' href='#n5225'>5225</a>
<a id='n5226' href='#n5226'>5226</a>
<a id='n5227' href='#n5227'>5227</a>
<a id='n5228' href='#n5228'>5228</a>
<a id='n5229' href='#n5229'>5229</a>
<a id='n5230' href='#n5230'>5230</a>
<a id='n5231' href='#n5231'>5231</a>
<a id='n5232' href='#n5232'>5232</a>
<a id='n5233' href='#n5233'>5233</a>
<a id='n5234' href='#n5234'>5234</a>
<a id='n5235' href='#n5235'>5235</a>
<a id='n5236' href='#n5236'>5236</a>
<a id='n5237' href='#n5237'>5237</a>
<a id='n5238' href='#n5238'>5238</a>
<a id='n5239' href='#n5239'>5239</a>
<a id='n5240' href='#n5240'>5240</a>
<a id='n5241' href='#n5241'>5241</a>
<a id='n5242' href='#n5242'>5242</a>
<a id='n5243' href='#n5243'>5243</a>
<a id='n5244' href='#n5244'>5244</a>
<a id='n5245' href='#n5245'>5245</a>
<a id='n5246' href='#n5246'>5246</a>
<a id='n5247' href='#n5247'>5247</a>
<a id='n5248' href='#n5248'>5248</a>
<a id='n5249' href='#n5249'>5249</a>
<a id='n5250' href='#n5250'>5250</a>
<a id='n5251' href='#n5251'>5251</a>
<a id='n5252' href='#n5252'>5252</a>
<a id='n5253' href='#n5253'>5253</a>
<a id='n5254' href='#n5254'>5254</a>
<a id='n5255' href='#n5255'>5255</a>
<a id='n5256' href='#n5256'>5256</a>
<a id='n5257' href='#n5257'>5257</a>
<a id='n5258' href='#n5258'>5258</a>
<a id='n5259' href='#n5259'>5259</a>
<a id='n5260' href='#n5260'>5260</a>
<a id='n5261' href='#n5261'>5261</a>
<a id='n5262' href='#n5262'>5262</a>
<a id='n5263' href='#n5263'>5263</a>
<a id='n5264' href='#n5264'>5264</a>
<a id='n5265' href='#n5265'>5265</a>
<a id='n5266' href='#n5266'>5266</a>
<a id='n5267' href='#n5267'>5267</a>
<a id='n5268' href='#n5268'>5268</a>
<a id='n5269' href='#n5269'>5269</a>
<a id='n5270' href='#n5270'>5270</a>
<a id='n5271' href='#n5271'>5271</a>
<a id='n5272' href='#n5272'>5272</a>
<a id='n5273' href='#n5273'>5273</a>
<a id='n5274' href='#n5274'>5274</a>
<a id='n5275' href='#n5275'>5275</a>
<a id='n5276' href='#n5276'>5276</a>
<a id='n5277' href='#n5277'>5277</a>
<a id='n5278' href='#n5278'>5278</a>
<a id='n5279' href='#n5279'>5279</a>
<a id='n5280' href='#n5280'>5280</a>
<a id='n5281' href='#n5281'>5281</a>
<a id='n5282' href='#n5282'>5282</a>
<a id='n5283' href='#n5283'>5283</a>
<a id='n5284' href='#n5284'>5284</a>
<a id='n5285' href='#n5285'>5285</a>
<a id='n5286' href='#n5286'>5286</a>
<a id='n5287' href='#n5287'>5287</a>
<a id='n5288' href='#n5288'>5288</a>
<a id='n5289' href='#n5289'>5289</a>
<a id='n5290' href='#n5290'>5290</a>
<a id='n5291' href='#n5291'>5291</a>
<a id='n5292' href='#n5292'>5292</a>
<a id='n5293' href='#n5293'>5293</a>
<a id='n5294' href='#n5294'>5294</a>
<a id='n5295' href='#n5295'>5295</a>
<a id='n5296' href='#n5296'>5296</a>
<a id='n5297' href='#n5297'>5297</a>
<a id='n5298' href='#n5298'>5298</a>
<a id='n5299' href='#n5299'>5299</a>
<a id='n5300' href='#n5300'>5300</a>
<a id='n5301' href='#n5301'>5301</a>
<a id='n5302' href='#n5302'>5302</a>
<a id='n5303' href='#n5303'>5303</a>
<a id='n5304' href='#n5304'>5304</a>
<a id='n5305' href='#n5305'>5305</a>
<a id='n5306' href='#n5306'>5306</a>
<a id='n5307' href='#n5307'>5307</a>
<a id='n5308' href='#n5308'>5308</a>
<a id='n5309' href='#n5309'>5309</a>
<a id='n5310' href='#n5310'>5310</a>
<a id='n5311' href='#n5311'>5311</a>
<a id='n5312' href='#n5312'>5312</a>
<a id='n5313' href='#n5313'>5313</a>
<a id='n5314' href='#n5314'>5314</a>
<a id='n5315' href='#n5315'>5315</a>
<a id='n5316' href='#n5316'>5316</a>
<a id='n5317' href='#n5317'>5317</a>
<a id='n5318' href='#n5318'>5318</a>
<a id='n5319' href='#n5319'>5319</a>
<a id='n5320' href='#n5320'>5320</a>
<a id='n5321' href='#n5321'>5321</a>
<a id='n5322' href='#n5322'>5322</a>
<a id='n5323' href='#n5323'>5323</a>
<a id='n5324' href='#n5324'>5324</a>
<a id='n5325' href='#n5325'>5325</a>
<a id='n5326' href='#n5326'>5326</a>
<a id='n5327' href='#n5327'>5327</a>
<a id='n5328' href='#n5328'>5328</a>
<a id='n5329' href='#n5329'>5329</a>
<a id='n5330' href='#n5330'>5330</a>
<a id='n5331' href='#n5331'>5331</a>
<a id='n5332' href='#n5332'>5332</a>
<a id='n5333' href='#n5333'>5333</a>
<a id='n5334' href='#n5334'>5334</a>
<a id='n5335' href='#n5335'>5335</a>
<a id='n5336' href='#n5336'>5336</a>
<a id='n5337' href='#n5337'>5337</a>
<a id='n5338' href='#n5338'>5338</a>
<a id='n5339' href='#n5339'>5339</a>
<a id='n5340' href='#n5340'>5340</a>
<a id='n5341' href='#n5341'>5341</a>
<a id='n5342' href='#n5342'>5342</a>
<a id='n5343' href='#n5343'>5343</a>
<a id='n5344' href='#n5344'>5344</a>
<a id='n5345' href='#n5345'>5345</a>
<a id='n5346' href='#n5346'>5346</a>
<a id='n5347' href='#n5347'>5347</a>
<a id='n5348' href='#n5348'>5348</a>
<a id='n5349' href='#n5349'>5349</a>
<a id='n5350' href='#n5350'>5350</a>
<a id='n5351' href='#n5351'>5351</a>
<a id='n5352' href='#n5352'>5352</a>
<a id='n5353' href='#n5353'>5353</a>
<a id='n5354' href='#n5354'>5354</a>
<a id='n5355' href='#n5355'>5355</a>
<a id='n5356' href='#n5356'>5356</a>
<a id='n5357' href='#n5357'>5357</a>
<a id='n5358' href='#n5358'>5358</a>
<a id='n5359' href='#n5359'>5359</a>
<a id='n5360' href='#n5360'>5360</a>
<a id='n5361' href='#n5361'>5361</a>
<a id='n5362' href='#n5362'>5362</a>
<a id='n5363' href='#n5363'>5363</a>
<a id='n5364' href='#n5364'>5364</a>
<a id='n5365' href='#n5365'>5365</a>
<a id='n5366' href='#n5366'>5366</a>
<a id='n5367' href='#n5367'>5367</a>
<a id='n5368' href='#n5368'>5368</a>
<a id='n5369' href='#n5369'>5369</a>
<a id='n5370' href='#n5370'>5370</a>
<a id='n5371' href='#n5371'>5371</a>
<a id='n5372' href='#n5372'>5372</a>
<a id='n5373' href='#n5373'>5373</a>
<a id='n5374' href='#n5374'>5374</a>
<a id='n5375' href='#n5375'>5375</a>
<a id='n5376' href='#n5376'>5376</a>
<a id='n5377' href='#n5377'>5377</a>
<a id='n5378' href='#n5378'>5378</a>
<a id='n5379' href='#n5379'>5379</a>
<a id='n5380' href='#n5380'>5380</a>
<a id='n5381' href='#n5381'>5381</a>
<a id='n5382' href='#n5382'>5382</a>
<a id='n5383' href='#n5383'>5383</a>
<a id='n5384' href='#n5384'>5384</a>
<a id='n5385' href='#n5385'>5385</a>
<a id='n5386' href='#n5386'>5386</a>
<a id='n5387' href='#n5387'>5387</a>
<a id='n5388' href='#n5388'>5388</a>
<a id='n5389' href='#n5389'>5389</a>
<a id='n5390' href='#n5390'>5390</a>
<a id='n5391' href='#n5391'>5391</a>
<a id='n5392' href='#n5392'>5392</a>
<a id='n5393' href='#n5393'>5393</a>
<a id='n5394' href='#n5394'>5394</a>
<a id='n5395' href='#n5395'>5395</a>
<a id='n5396' href='#n5396'>5396</a>
<a id='n5397' href='#n5397'>5397</a>
<a id='n5398' href='#n5398'>5398</a>
<a id='n5399' href='#n5399'>5399</a>
<a id='n5400' href='#n5400'>5400</a>
<a id='n5401' href='#n5401'>5401</a>
<a id='n5402' href='#n5402'>5402</a>
<a id='n5403' href='#n5403'>5403</a>
<a id='n5404' href='#n5404'>5404</a>
<a id='n5405' href='#n5405'>5405</a>
<a id='n5406' href='#n5406'>5406</a>
<a id='n5407' href='#n5407'>5407</a>
<a id='n5408' href='#n5408'>5408</a>
<a id='n5409' href='#n5409'>5409</a>
<a id='n5410' href='#n5410'>5410</a>
<a id='n5411' href='#n5411'>5411</a>
<a id='n5412' href='#n5412'>5412</a>
<a id='n5413' href='#n5413'>5413</a>
<a id='n5414' href='#n5414'>5414</a>
<a id='n5415' href='#n5415'>5415</a>
<a id='n5416' href='#n5416'>5416</a>
<a id='n5417' href='#n5417'>5417</a>
<a id='n5418' href='#n5418'>5418</a>
<a id='n5419' href='#n5419'>5419</a>
<a id='n5420' href='#n5420'>5420</a>
<a id='n5421' href='#n5421'>5421</a>
<a id='n5422' href='#n5422'>5422</a>
<a id='n5423' href='#n5423'>5423</a>
<a id='n5424' href='#n5424'>5424</a>
<a id='n5425' href='#n5425'>5425</a>
<a id='n5426' href='#n5426'>5426</a>
<a id='n5427' href='#n5427'>5427</a>
<a id='n5428' href='#n5428'>5428</a>
<a id='n5429' href='#n5429'>5429</a>
<a id='n5430' href='#n5430'>5430</a>
<a id='n5431' href='#n5431'>5431</a>
<a id='n5432' href='#n5432'>5432</a>
<a id='n5433' href='#n5433'>5433</a>
<a id='n5434' href='#n5434'>5434</a>
<a id='n5435' href='#n5435'>5435</a>
<a id='n5436' href='#n5436'>5436</a>
<a id='n5437' href='#n5437'>5437</a>
<a id='n5438' href='#n5438'>5438</a>
<a id='n5439' href='#n5439'>5439</a>
<a id='n5440' href='#n5440'>5440</a>
<a id='n5441' href='#n5441'>5441</a>
<a id='n5442' href='#n5442'>5442</a>
<a id='n5443' href='#n5443'>5443</a>
<a id='n5444' href='#n5444'>5444</a>
<a id='n5445' href='#n5445'>5445</a>
<a id='n5446' href='#n5446'>5446</a>
<a id='n5447' href='#n5447'>5447</a>
<a id='n5448' href='#n5448'>5448</a>
<a id='n5449' href='#n5449'>5449</a>
<a id='n5450' href='#n5450'>5450</a>
<a id='n5451' href='#n5451'>5451</a>
<a id='n5452' href='#n5452'>5452</a>
<a id='n5453' href='#n5453'>5453</a>
<a id='n5454' href='#n5454'>5454</a>
<a id='n5455' href='#n5455'>5455</a>
<a id='n5456' href='#n5456'>5456</a>
<a id='n5457' href='#n5457'>5457</a>
<a id='n5458' href='#n5458'>5458</a>
<a id='n5459' href='#n5459'>5459</a>
<a id='n5460' href='#n5460'>5460</a>
<a id='n5461' href='#n5461'>5461</a>
<a id='n5462' href='#n5462'>5462</a>
<a id='n5463' href='#n5463'>5463</a>
<a id='n5464' href='#n5464'>5464</a>
<a id='n5465' href='#n5465'>5465</a>
<a id='n5466' href='#n5466'>5466</a>
<a id='n5467' href='#n5467'>5467</a>
<a id='n5468' href='#n5468'>5468</a>
<a id='n5469' href='#n5469'>5469</a>
<a id='n5470' href='#n5470'>5470</a>
<a id='n5471' href='#n5471'>5471</a>
<a id='n5472' href='#n5472'>5472</a>
<a id='n5473' href='#n5473'>5473</a>
<a id='n5474' href='#n5474'>5474</a>
<a id='n5475' href='#n5475'>5475</a>
<a id='n5476' href='#n5476'>5476</a>
<a id='n5477' href='#n5477'>5477</a>
<a id='n5478' href='#n5478'>5478</a>
<a id='n5479' href='#n5479'>5479</a>
<a id='n5480' href='#n5480'>5480</a>
<a id='n5481' href='#n5481'>5481</a>
<a id='n5482' href='#n5482'>5482</a>
<a id='n5483' href='#n5483'>5483</a>
<a id='n5484' href='#n5484'>5484</a>
<a id='n5485' href='#n5485'>5485</a>
<a id='n5486' href='#n5486'>5486</a>
<a id='n5487' href='#n5487'>5487</a>
<a id='n5488' href='#n5488'>5488</a>
<a id='n5489' href='#n5489'>5489</a>
<a id='n5490' href='#n5490'>5490</a>
<a id='n5491' href='#n5491'>5491</a>
<a id='n5492' href='#n5492'>5492</a>
<a id='n5493' href='#n5493'>5493</a>
<a id='n5494' href='#n5494'>5494</a>
<a id='n5495' href='#n5495'>5495</a>
<a id='n5496' href='#n5496'>5496</a>
<a id='n5497' href='#n5497'>5497</a>
<a id='n5498' href='#n5498'>5498</a>
<a id='n5499' href='#n5499'>5499</a>
<a id='n5500' href='#n5500'>5500</a>
<a id='n5501' href='#n5501'>5501</a>
<a id='n5502' href='#n5502'>5502</a>
<a id='n5503' href='#n5503'>5503</a>
<a id='n5504' href='#n5504'>5504</a>
<a id='n5505' href='#n5505'>5505</a>
<a id='n5506' href='#n5506'>5506</a>
<a id='n5507' href='#n5507'>5507</a>
<a id='n5508' href='#n5508'>5508</a>
<a id='n5509' href='#n5509'>5509</a>
<a id='n5510' href='#n5510'>5510</a>
<a id='n5511' href='#n5511'>5511</a>
<a id='n5512' href='#n5512'>5512</a>
<a id='n5513' href='#n5513'>5513</a>
<a id='n5514' href='#n5514'>5514</a>
<a id='n5515' href='#n5515'>5515</a>
<a id='n5516' href='#n5516'>5516</a>
<a id='n5517' href='#n5517'>5517</a>
<a id='n5518' href='#n5518'>5518</a>
<a id='n5519' href='#n5519'>5519</a>
<a id='n5520' href='#n5520'>5520</a>
<a id='n5521' href='#n5521'>5521</a>
<a id='n5522' href='#n5522'>5522</a>
<a id='n5523' href='#n5523'>5523</a>
<a id='n5524' href='#n5524'>5524</a>
<a id='n5525' href='#n5525'>5525</a>
<a id='n5526' href='#n5526'>5526</a>
<a id='n5527' href='#n5527'>5527</a>
<a id='n5528' href='#n5528'>5528</a>
<a id='n5529' href='#n5529'>5529</a>
<a id='n5530' href='#n5530'>5530</a>
<a id='n5531' href='#n5531'>5531</a>
<a id='n5532' href='#n5532'>5532</a>
<a id='n5533' href='#n5533'>5533</a>
<a id='n5534' href='#n5534'>5534</a>
<a id='n5535' href='#n5535'>5535</a>
<a id='n5536' href='#n5536'>5536</a>
<a id='n5537' href='#n5537'>5537</a>
<a id='n5538' href='#n5538'>5538</a>
<a id='n5539' href='#n5539'>5539</a>
<a id='n5540' href='#n5540'>5540</a>
<a id='n5541' href='#n5541'>5541</a>
<a id='n5542' href='#n5542'>5542</a>
<a id='n5543' href='#n5543'>5543</a>
<a id='n5544' href='#n5544'>5544</a>
<a id='n5545' href='#n5545'>5545</a>
<a id='n5546' href='#n5546'>5546</a>
<a id='n5547' href='#n5547'>5547</a>
<a id='n5548' href='#n5548'>5548</a>
<a id='n5549' href='#n5549'>5549</a>
<a id='n5550' href='#n5550'>5550</a>
<a id='n5551' href='#n5551'>5551</a>
<a id='n5552' href='#n5552'>5552</a>
<a id='n5553' href='#n5553'>5553</a>
<a id='n5554' href='#n5554'>5554</a>
<a id='n5555' href='#n5555'>5555</a>
<a id='n5556' href='#n5556'>5556</a>
<a id='n5557' href='#n5557'>5557</a>
<a id='n5558' href='#n5558'>5558</a>
<a id='n5559' href='#n5559'>5559</a>
<a id='n5560' href='#n5560'>5560</a>
<a id='n5561' href='#n5561'>5561</a>
<a id='n5562' href='#n5562'>5562</a>
<a id='n5563' href='#n5563'>5563</a>
<a id='n5564' href='#n5564'>5564</a>
<a id='n5565' href='#n5565'>5565</a>
<a id='n5566' href='#n5566'>5566</a>
<a id='n5567' href='#n5567'>5567</a>
<a id='n5568' href='#n5568'>5568</a>
<a id='n5569' href='#n5569'>5569</a>
<a id='n5570' href='#n5570'>5570</a>
<a id='n5571' href='#n5571'>5571</a>
<a id='n5572' href='#n5572'>5572</a>
<a id='n5573' href='#n5573'>5573</a>
<a id='n5574' href='#n5574'>5574</a>
<a id='n5575' href='#n5575'>5575</a>
<a id='n5576' href='#n5576'>5576</a>
<a id='n5577' href='#n5577'>5577</a>
<a id='n5578' href='#n5578'>5578</a>
<a id='n5579' href='#n5579'>5579</a>
<a id='n5580' href='#n5580'>5580</a>
<a id='n5581' href='#n5581'>5581</a>
<a id='n5582' href='#n5582'>5582</a>
<a id='n5583' href='#n5583'>5583</a>
<a id='n5584' href='#n5584'>5584</a>
<a id='n5585' href='#n5585'>5585</a>
<a id='n5586' href='#n5586'>5586</a>
<a id='n5587' href='#n5587'>5587</a>
<a id='n5588' href='#n5588'>5588</a>
<a id='n5589' href='#n5589'>5589</a>
<a id='n5590' href='#n5590'>5590</a>
<a id='n5591' href='#n5591'>5591</a>
<a id='n5592' href='#n5592'>5592</a>
<a id='n5593' href='#n5593'>5593</a>
<a id='n5594' href='#n5594'>5594</a>
<a id='n5595' href='#n5595'>5595</a>
<a id='n5596' href='#n5596'>5596</a>
<a id='n5597' href='#n5597'>5597</a>
<a id='n5598' href='#n5598'>5598</a>
<a id='n5599' href='#n5599'>5599</a>
<a id='n5600' href='#n5600'>5600</a>
<a id='n5601' href='#n5601'>5601</a>
<a id='n5602' href='#n5602'>5602</a>
<a id='n5603' href='#n5603'>5603</a>
<a id='n5604' href='#n5604'>5604</a>
<a id='n5605' href='#n5605'>5605</a>
<a id='n5606' href='#n5606'>5606</a>
<a id='n5607' href='#n5607'>5607</a>
<a id='n5608' href='#n5608'>5608</a>
<a id='n5609' href='#n5609'>5609</a>
<a id='n5610' href='#n5610'>5610</a>
<a id='n5611' href='#n5611'>5611</a>
<a id='n5612' href='#n5612'>5612</a>
<a id='n5613' href='#n5613'>5613</a>
<a id='n5614' href='#n5614'>5614</a>
<a id='n5615' href='#n5615'>5615</a>
<a id='n5616' href='#n5616'>5616</a>
<a id='n5617' href='#n5617'>5617</a>
<a id='n5618' href='#n5618'>5618</a>
<a id='n5619' href='#n5619'>5619</a>
<a id='n5620' href='#n5620'>5620</a>
<a id='n5621' href='#n5621'>5621</a>
<a id='n5622' href='#n5622'>5622</a>
<a id='n5623' href='#n5623'>5623</a>
<a id='n5624' href='#n5624'>5624</a>
<a id='n5625' href='#n5625'>5625</a>
<a id='n5626' href='#n5626'>5626</a>
<a id='n5627' href='#n5627'>5627</a>
<a id='n5628' href='#n5628'>5628</a>
<a id='n5629' href='#n5629'>5629</a>
<a id='n5630' href='#n5630'>5630</a>
<a id='n5631' href='#n5631'>5631</a>
<a id='n5632' href='#n5632'>5632</a>
<a id='n5633' href='#n5633'>5633</a>
<a id='n5634' href='#n5634'>5634</a>
<a id='n5635' href='#n5635'>5635</a>
<a id='n5636' href='#n5636'>5636</a>
<a id='n5637' href='#n5637'>5637</a>
<a id='n5638' href='#n5638'>5638</a>
<a id='n5639' href='#n5639'>5639</a>
<a id='n5640' href='#n5640'>5640</a>
<a id='n5641' href='#n5641'>5641</a>
<a id='n5642' href='#n5642'>5642</a>
<a id='n5643' href='#n5643'>5643</a>
<a id='n5644' href='#n5644'>5644</a>
<a id='n5645' href='#n5645'>5645</a>
<a id='n5646' href='#n5646'>5646</a>
<a id='n5647' href='#n5647'>5647</a>
<a id='n5648' href='#n5648'>5648</a>
<a id='n5649' href='#n5649'>5649</a>
<a id='n5650' href='#n5650'>5650</a>
<a id='n5651' href='#n5651'>5651</a>
<a id='n5652' href='#n5652'>5652</a>
<a id='n5653' href='#n5653'>5653</a>
<a id='n5654' href='#n5654'>5654</a>
<a id='n5655' href='#n5655'>5655</a>
<a id='n5656' href='#n5656'>5656</a>
<a id='n5657' href='#n5657'>5657</a>
<a id='n5658' href='#n5658'>5658</a>
<a id='n5659' href='#n5659'>5659</a>
<a id='n5660' href='#n5660'>5660</a>
<a id='n5661' href='#n5661'>5661</a>
<a id='n5662' href='#n5662'>5662</a>
<a id='n5663' href='#n5663'>5663</a>
<a id='n5664' href='#n5664'>5664</a>
<a id='n5665' href='#n5665'>5665</a>
<a id='n5666' href='#n5666'>5666</a>
<a id='n5667' href='#n5667'>5667</a>
<a id='n5668' href='#n5668'>5668</a>
<a id='n5669' href='#n5669'>5669</a>
<a id='n5670' href='#n5670'>5670</a>
<a id='n5671' href='#n5671'>5671</a>
<a id='n5672' href='#n5672'>5672</a>
<a id='n5673' href='#n5673'>5673</a>
<a id='n5674' href='#n5674'>5674</a>
<a id='n5675' href='#n5675'>5675</a>
<a id='n5676' href='#n5676'>5676</a>
<a id='n5677' href='#n5677'>5677</a>
<a id='n5678' href='#n5678'>5678</a>
<a id='n5679' href='#n5679'>5679</a>
<a id='n5680' href='#n5680'>5680</a>
<a id='n5681' href='#n5681'>5681</a>
<a id='n5682' href='#n5682'>5682</a>
<a id='n5683' href='#n5683'>5683</a>
<a id='n5684' href='#n5684'>5684</a>
<a id='n5685' href='#n5685'>5685</a>
<a id='n5686' href='#n5686'>5686</a>
<a id='n5687' href='#n5687'>5687</a>
<a id='n5688' href='#n5688'>5688</a>
<a id='n5689' href='#n5689'>5689</a>
<a id='n5690' href='#n5690'>5690</a>
<a id='n5691' href='#n5691'>5691</a>
<a id='n5692' href='#n5692'>5692</a>
<a id='n5693' href='#n5693'>5693</a>
<a id='n5694' href='#n5694'>5694</a>
<a id='n5695' href='#n5695'>5695</a>
<a id='n5696' href='#n5696'>5696</a>
<a id='n5697' href='#n5697'>5697</a>
<a id='n5698' href='#n5698'>5698</a>
<a id='n5699' href='#n5699'>5699</a>
<a id='n5700' href='#n5700'>5700</a>
<a id='n5701' href='#n5701'>5701</a>
<a id='n5702' href='#n5702'>5702</a>
<a id='n5703' href='#n5703'>5703</a>
<a id='n5704' href='#n5704'>5704</a>
<a id='n5705' href='#n5705'>5705</a>
<a id='n5706' href='#n5706'>5706</a>
<a id='n5707' href='#n5707'>5707</a>
<a id='n5708' href='#n5708'>5708</a>
<a id='n5709' href='#n5709'>5709</a>
<a id='n5710' href='#n5710'>5710</a>
<a id='n5711' href='#n5711'>5711</a>
<a id='n5712' href='#n5712'>5712</a>
<a id='n5713' href='#n5713'>5713</a>
<a id='n5714' href='#n5714'>5714</a>
<a id='n5715' href='#n5715'>5715</a>
<a id='n5716' href='#n5716'>5716</a>
<a id='n5717' href='#n5717'>5717</a>
<a id='n5718' href='#n5718'>5718</a>
<a id='n5719' href='#n5719'>5719</a>
<a id='n5720' href='#n5720'>5720</a>
<a id='n5721' href='#n5721'>5721</a>
<a id='n5722' href='#n5722'>5722</a>
<a id='n5723' href='#n5723'>5723</a>
<a id='n5724' href='#n5724'>5724</a>
<a id='n5725' href='#n5725'>5725</a>
<a id='n5726' href='#n5726'>5726</a>
<a id='n5727' href='#n5727'>5727</a>
<a id='n5728' href='#n5728'>5728</a>
<a id='n5729' href='#n5729'>5729</a>
<a id='n5730' href='#n5730'>5730</a>
<a id='n5731' href='#n5731'>5731</a>
<a id='n5732' href='#n5732'>5732</a>
<a id='n5733' href='#n5733'>5733</a>
<a id='n5734' href='#n5734'>5734</a>
<a id='n5735' href='#n5735'>5735</a>
<a id='n5736' href='#n5736'>5736</a>
<a id='n5737' href='#n5737'>5737</a>
<a id='n5738' href='#n5738'>5738</a>
<a id='n5739' href='#n5739'>5739</a>
<a id='n5740' href='#n5740'>5740</a>
<a id='n5741' href='#n5741'>5741</a>
<a id='n5742' href='#n5742'>5742</a>
<a id='n5743' href='#n5743'>5743</a>
<a id='n5744' href='#n5744'>5744</a>
<a id='n5745' href='#n5745'>5745</a>
<a id='n5746' href='#n5746'>5746</a>
<a id='n5747' href='#n5747'>5747</a>
<a id='n5748' href='#n5748'>5748</a>
<a id='n5749' href='#n5749'>5749</a>
<a id='n5750' href='#n5750'>5750</a>
<a id='n5751' href='#n5751'>5751</a>
<a id='n5752' href='#n5752'>5752</a>
<a id='n5753' href='#n5753'>5753</a>
<a id='n5754' href='#n5754'>5754</a>
<a id='n5755' href='#n5755'>5755</a>
<a id='n5756' href='#n5756'>5756</a>
<a id='n5757' href='#n5757'>5757</a>
<a id='n5758' href='#n5758'>5758</a>
<a id='n5759' href='#n5759'>5759</a>
<a id='n5760' href='#n5760'>5760</a>
<a id='n5761' href='#n5761'>5761</a>
<a id='n5762' href='#n5762'>5762</a>
<a id='n5763' href='#n5763'>5763</a>
<a id='n5764' href='#n5764'>5764</a>
<a id='n5765' href='#n5765'>5765</a>
<a id='n5766' href='#n5766'>5766</a>
<a id='n5767' href='#n5767'>5767</a>
<a id='n5768' href='#n5768'>5768</a>
<a id='n5769' href='#n5769'>5769</a>
<a id='n5770' href='#n5770'>5770</a>
<a id='n5771' href='#n5771'>5771</a>
<a id='n5772' href='#n5772'>5772</a>
<a id='n5773' href='#n5773'>5773</a>
<a id='n5774' href='#n5774'>5774</a>
<a id='n5775' href='#n5775'>5775</a>
<a id='n5776' href='#n5776'>5776</a>
<a id='n5777' href='#n5777'>5777</a>
<a id='n5778' href='#n5778'>5778</a>
<a id='n5779' href='#n5779'>5779</a>
<a id='n5780' href='#n5780'>5780</a>
<a id='n5781' href='#n5781'>5781</a>
<a id='n5782' href='#n5782'>5782</a>
<a id='n5783' href='#n5783'>5783</a>
<a id='n5784' href='#n5784'>5784</a>
<a id='n5785' href='#n5785'>5785</a>
<a id='n5786' href='#n5786'>5786</a>
<a id='n5787' href='#n5787'>5787</a>
<a id='n5788' href='#n5788'>5788</a>
<a id='n5789' href='#n5789'>5789</a>
<a id='n5790' href='#n5790'>5790</a>
<a id='n5791' href='#n5791'>5791</a>
<a id='n5792' href='#n5792'>5792</a>
<a id='n5793' href='#n5793'>5793</a>
<a id='n5794' href='#n5794'>5794</a>
<a id='n5795' href='#n5795'>5795</a>
<a id='n5796' href='#n5796'>5796</a>
<a id='n5797' href='#n5797'>5797</a>
<a id='n5798' href='#n5798'>5798</a>
<a id='n5799' href='#n5799'>5799</a>
<a id='n5800' href='#n5800'>5800</a>
<a id='n5801' href='#n5801'>5801</a>
<a id='n5802' href='#n5802'>5802</a>
<a id='n5803' href='#n5803'>5803</a>
<a id='n5804' href='#n5804'>5804</a>
<a id='n5805' href='#n5805'>5805</a>
<a id='n5806' href='#n5806'>5806</a>
<a id='n5807' href='#n5807'>5807</a>
<a id='n5808' href='#n5808'>5808</a>
<a id='n5809' href='#n5809'>5809</a>
<a id='n5810' href='#n5810'>5810</a>
<a id='n5811' href='#n5811'>5811</a>
<a id='n5812' href='#n5812'>5812</a>
<a id='n5813' href='#n5813'>5813</a>
<a id='n5814' href='#n5814'>5814</a>
<a id='n5815' href='#n5815'>5815</a>
<a id='n5816' href='#n5816'>5816</a>
<a id='n5817' href='#n5817'>5817</a>
<a id='n5818' href='#n5818'>5818</a>
<a id='n5819' href='#n5819'>5819</a>
<a id='n5820' href='#n5820'>5820</a>
<a id='n5821' href='#n5821'>5821</a>
<a id='n5822' href='#n5822'>5822</a>
<a id='n5823' href='#n5823'>5823</a>
<a id='n5824' href='#n5824'>5824</a>
<a id='n5825' href='#n5825'>5825</a>
<a id='n5826' href='#n5826'>5826</a>
<a id='n5827' href='#n5827'>5827</a>
<a id='n5828' href='#n5828'>5828</a>
<a id='n5829' href='#n5829'>5829</a>
<a id='n5830' href='#n5830'>5830</a>
<a id='n5831' href='#n5831'>5831</a>
<a id='n5832' href='#n5832'>5832</a>
<a id='n5833' href='#n5833'>5833</a>
<a id='n5834' href='#n5834'>5834</a>
<a id='n5835' href='#n5835'>5835</a>
<a id='n5836' href='#n5836'>5836</a>
<a id='n5837' href='#n5837'>5837</a>
<a id='n5838' href='#n5838'>5838</a>
<a id='n5839' href='#n5839'>5839</a>
<a id='n5840' href='#n5840'>5840</a>
<a id='n5841' href='#n5841'>5841</a>
<a id='n5842' href='#n5842'>5842</a>
<a id='n5843' href='#n5843'>5843</a>
<a id='n5844' href='#n5844'>5844</a>
<a id='n5845' href='#n5845'>5845</a>
<a id='n5846' href='#n5846'>5846</a>
<a id='n5847' href='#n5847'>5847</a>
<a id='n5848' href='#n5848'>5848</a>
<a id='n5849' href='#n5849'>5849</a>
<a id='n5850' href='#n5850'>5850</a>
<a id='n5851' href='#n5851'>5851</a>
<a id='n5852' href='#n5852'>5852</a>
<a id='n5853' href='#n5853'>5853</a>
<a id='n5854' href='#n5854'>5854</a>
<a id='n5855' href='#n5855'>5855</a>
<a id='n5856' href='#n5856'>5856</a>
<a id='n5857' href='#n5857'>5857</a>
<a id='n5858' href='#n5858'>5858</a>
<a id='n5859' href='#n5859'>5859</a>
<a id='n5860' href='#n5860'>5860</a>
<a id='n5861' href='#n5861'>5861</a>
<a id='n5862' href='#n5862'>5862</a>
<a id='n5863' href='#n5863'>5863</a>
<a id='n5864' href='#n5864'>5864</a>
<a id='n5865' href='#n5865'>5865</a>
<a id='n5866' href='#n5866'>5866</a>
<a id='n5867' href='#n5867'>5867</a>
<a id='n5868' href='#n5868'>5868</a>
<a id='n5869' href='#n5869'>5869</a>
<a id='n5870' href='#n5870'>5870</a>
<a id='n5871' href='#n5871'>5871</a>
<a id='n5872' href='#n5872'>5872</a>
<a id='n5873' href='#n5873'>5873</a>
<a id='n5874' href='#n5874'>5874</a>
<a id='n5875' href='#n5875'>5875</a>
<a id='n5876' href='#n5876'>5876</a>
<a id='n5877' href='#n5877'>5877</a>
<a id='n5878' href='#n5878'>5878</a>
<a id='n5879' href='#n5879'>5879</a>
<a id='n5880' href='#n5880'>5880</a>
<a id='n5881' href='#n5881'>5881</a>
<a id='n5882' href='#n5882'>5882</a>
<a id='n5883' href='#n5883'>5883</a>
<a id='n5884' href='#n5884'>5884</a>
<a id='n5885' href='#n5885'>5885</a>
<a id='n5886' href='#n5886'>5886</a>
<a id='n5887' href='#n5887'>5887</a>
<a id='n5888' href='#n5888'>5888</a>
<a id='n5889' href='#n5889'>5889</a>
<a id='n5890' href='#n5890'>5890</a>
<a id='n5891' href='#n5891'>5891</a>
<a id='n5892' href='#n5892'>5892</a>
<a id='n5893' href='#n5893'>5893</a>
<a id='n5894' href='#n5894'>5894</a>
<a id='n5895' href='#n5895'>5895</a>
<a id='n5896' href='#n5896'>5896</a>
<a id='n5897' href='#n5897'>5897</a>
<a id='n5898' href='#n5898'>5898</a>
<a id='n5899' href='#n5899'>5899</a>
<a id='n5900' href='#n5900'>5900</a>
<a id='n5901' href='#n5901'>5901</a>
<a id='n5902' href='#n5902'>5902</a>
<a id='n5903' href='#n5903'>5903</a>
<a id='n5904' href='#n5904'>5904</a>
<a id='n5905' href='#n5905'>5905</a>
<a id='n5906' href='#n5906'>5906</a>
<a id='n5907' href='#n5907'>5907</a>
<a id='n5908' href='#n5908'>5908</a>
<a id='n5909' href='#n5909'>5909</a>
<a id='n5910' href='#n5910'>5910</a>
<a id='n5911' href='#n5911'>5911</a>
<a id='n5912' href='#n5912'>5912</a>
<a id='n5913' href='#n5913'>5913</a>
<a id='n5914' href='#n5914'>5914</a>
<a id='n5915' href='#n5915'>5915</a>
<a id='n5916' href='#n5916'>5916</a>
<a id='n5917' href='#n5917'>5917</a>
<a id='n5918' href='#n5918'>5918</a>
<a id='n5919' href='#n5919'>5919</a>
<a id='n5920' href='#n5920'>5920</a>
<a id='n5921' href='#n5921'>5921</a>
<a id='n5922' href='#n5922'>5922</a>
<a id='n5923' href='#n5923'>5923</a>
<a id='n5924' href='#n5924'>5924</a>
<a id='n5925' href='#n5925'>5925</a>
<a id='n5926' href='#n5926'>5926</a>
<a id='n5927' href='#n5927'>5927</a>
<a id='n5928' href='#n5928'>5928</a>
<a id='n5929' href='#n5929'>5929</a>
<a id='n5930' href='#n5930'>5930</a>
<a id='n5931' href='#n5931'>5931</a>
<a id='n5932' href='#n5932'>5932</a>
<a id='n5933' href='#n5933'>5933</a>
<a id='n5934' href='#n5934'>5934</a>
<a id='n5935' href='#n5935'>5935</a>
<a id='n5936' href='#n5936'>5936</a>
<a id='n5937' href='#n5937'>5937</a>
<a id='n5938' href='#n5938'>5938</a>
<a id='n5939' href='#n5939'>5939</a>
<a id='n5940' href='#n5940'>5940</a>
<a id='n5941' href='#n5941'>5941</a>
<a id='n5942' href='#n5942'>5942</a>
<a id='n5943' href='#n5943'>5943</a>
<a id='n5944' href='#n5944'>5944</a>
<a id='n5945' href='#n5945'>5945</a>
<a id='n5946' href='#n5946'>5946</a>
<a id='n5947' href='#n5947'>5947</a>
<a id='n5948' href='#n5948'>5948</a>
<a id='n5949' href='#n5949'>5949</a>
<a id='n5950' href='#n5950'>5950</a>
<a id='n5951' href='#n5951'>5951</a>
<a id='n5952' href='#n5952'>5952</a>
<a id='n5953' href='#n5953'>5953</a>
<a id='n5954' href='#n5954'>5954</a>
<a id='n5955' href='#n5955'>5955</a>
<a id='n5956' href='#n5956'>5956</a>
<a id='n5957' href='#n5957'>5957</a>
<a id='n5958' href='#n5958'>5958</a>
<a id='n5959' href='#n5959'>5959</a>
<a id='n5960' href='#n5960'>5960</a>
<a id='n5961' href='#n5961'>5961</a>
<a id='n5962' href='#n5962'>5962</a>
<a id='n5963' href='#n5963'>5963</a>
<a id='n5964' href='#n5964'>5964</a>
<a id='n5965' href='#n5965'>5965</a>
<a id='n5966' href='#n5966'>5966</a>
<a id='n5967' href='#n5967'>5967</a>
<a id='n5968' href='#n5968'>5968</a>
<a id='n5969' href='#n5969'>5969</a>
<a id='n5970' href='#n5970'>5970</a>
<a id='n5971' href='#n5971'>5971</a>
<a id='n5972' href='#n5972'>5972</a>
<a id='n5973' href='#n5973'>5973</a>
<a id='n5974' href='#n5974'>5974</a>
<a id='n5975' href='#n5975'>5975</a>
<a id='n5976' href='#n5976'>5976</a>
<a id='n5977' href='#n5977'>5977</a>
<a id='n5978' href='#n5978'>5978</a>
<a id='n5979' href='#n5979'>5979</a>
<a id='n5980' href='#n5980'>5980</a>
<a id='n5981' href='#n5981'>5981</a>
<a id='n5982' href='#n5982'>5982</a>
<a id='n5983' href='#n5983'>5983</a>
<a id='n5984' href='#n5984'>5984</a>
<a id='n5985' href='#n5985'>5985</a>
<a id='n5986' href='#n5986'>5986</a>
<a id='n5987' href='#n5987'>5987</a>
<a id='n5988' href='#n5988'>5988</a>
<a id='n5989' href='#n5989'>5989</a>
<a id='n5990' href='#n5990'>5990</a>
<a id='n5991' href='#n5991'>5991</a>
<a id='n5992' href='#n5992'>5992</a>
<a id='n5993' href='#n5993'>5993</a>
<a id='n5994' href='#n5994'>5994</a>
<a id='n5995' href='#n5995'>5995</a>
<a id='n5996' href='#n5996'>5996</a>
<a id='n5997' href='#n5997'>5997</a>
<a id='n5998' href='#n5998'>5998</a>
<a id='n5999' href='#n5999'>5999</a>
<a id='n6000' href='#n6000'>6000</a>
<a id='n6001' href='#n6001'>6001</a>
<a id='n6002' href='#n6002'>6002</a>
<a id='n6003' href='#n6003'>6003</a>
<a id='n6004' href='#n6004'>6004</a>
<a id='n6005' href='#n6005'>6005</a>
<a id='n6006' href='#n6006'>6006</a>
<a id='n6007' href='#n6007'>6007</a>
<a id='n6008' href='#n6008'>6008</a>
<a id='n6009' href='#n6009'>6009</a>
<a id='n6010' href='#n6010'>6010</a>
<a id='n6011' href='#n6011'>6011</a>
<a id='n6012' href='#n6012'>6012</a>
<a id='n6013' href='#n6013'>6013</a>
<a id='n6014' href='#n6014'>6014</a>
<a id='n6015' href='#n6015'>6015</a>
<a id='n6016' href='#n6016'>6016</a>
<a id='n6017' href='#n6017'>6017</a>
<a id='n6018' href='#n6018'>6018</a>
<a id='n6019' href='#n6019'>6019</a>
<a id='n6020' href='#n6020'>6020</a>
<a id='n6021' href='#n6021'>6021</a>
<a id='n6022' href='#n6022'>6022</a>
<a id='n6023' href='#n6023'>6023</a>
<a id='n6024' href='#n6024'>6024</a>
<a id='n6025' href='#n6025'>6025</a>
<a id='n6026' href='#n6026'>6026</a>
<a id='n6027' href='#n6027'>6027</a>
<a id='n6028' href='#n6028'>6028</a>
<a id='n6029' href='#n6029'>6029</a>
<a id='n6030' href='#n6030'>6030</a>
<a id='n6031' href='#n6031'>6031</a>
<a id='n6032' href='#n6032'>6032</a>
<a id='n6033' href='#n6033'>6033</a>
<a id='n6034' href='#n6034'>6034</a>
<a id='n6035' href='#n6035'>6035</a>
<a id='n6036' href='#n6036'>6036</a>
<a id='n6037' href='#n6037'>6037</a>
<a id='n6038' href='#n6038'>6038</a>
<a id='n6039' href='#n6039'>6039</a>
<a id='n6040' href='#n6040'>6040</a>
<a id='n6041' href='#n6041'>6041</a>
<a id='n6042' href='#n6042'>6042</a>
<a id='n6043' href='#n6043'>6043</a>
<a id='n6044' href='#n6044'>6044</a>
<a id='n6045' href='#n6045'>6045</a>
<a id='n6046' href='#n6046'>6046</a>
<a id='n6047' href='#n6047'>6047</a>
<a id='n6048' href='#n6048'>6048</a>
<a id='n6049' href='#n6049'>6049</a>
<a id='n6050' href='#n6050'>6050</a>
<a id='n6051' href='#n6051'>6051</a>
<a id='n6052' href='#n6052'>6052</a>
<a id='n6053' href='#n6053'>6053</a>
<a id='n6054' href='#n6054'>6054</a>
<a id='n6055' href='#n6055'>6055</a>
<a id='n6056' href='#n6056'>6056</a>
<a id='n6057' href='#n6057'>6057</a>
<a id='n6058' href='#n6058'>6058</a>
<a id='n6059' href='#n6059'>6059</a>
<a id='n6060' href='#n6060'>6060</a>
<a id='n6061' href='#n6061'>6061</a>
<a id='n6062' href='#n6062'>6062</a>
<a id='n6063' href='#n6063'>6063</a>
<a id='n6064' href='#n6064'>6064</a>
<a id='n6065' href='#n6065'>6065</a>
<a id='n6066' href='#n6066'>6066</a>
<a id='n6067' href='#n6067'>6067</a>
<a id='n6068' href='#n6068'>6068</a>
<a id='n6069' href='#n6069'>6069</a>
<a id='n6070' href='#n6070'>6070</a>
<a id='n6071' href='#n6071'>6071</a>
<a id='n6072' href='#n6072'>6072</a>
<a id='n6073' href='#n6073'>6073</a>
<a id='n6074' href='#n6074'>6074</a>
<a id='n6075' href='#n6075'>6075</a>
<a id='n6076' href='#n6076'>6076</a>
<a id='n6077' href='#n6077'>6077</a>
<a id='n6078' href='#n6078'>6078</a>
<a id='n6079' href='#n6079'>6079</a>
<a id='n6080' href='#n6080'>6080</a>
<a id='n6081' href='#n6081'>6081</a>
<a id='n6082' href='#n6082'>6082</a>
<a id='n6083' href='#n6083'>6083</a>
<a id='n6084' href='#n6084'>6084</a>
<a id='n6085' href='#n6085'>6085</a>
<a id='n6086' href='#n6086'>6086</a>
<a id='n6087' href='#n6087'>6087</a>
<a id='n6088' href='#n6088'>6088</a>
<a id='n6089' href='#n6089'>6089</a>
<a id='n6090' href='#n6090'>6090</a>
<a id='n6091' href='#n6091'>6091</a>
<a id='n6092' href='#n6092'>6092</a>
<a id='n6093' href='#n6093'>6093</a>
<a id='n6094' href='#n6094'>6094</a>
<a id='n6095' href='#n6095'>6095</a>
<a id='n6096' href='#n6096'>6096</a>
<a id='n6097' href='#n6097'>6097</a>
<a id='n6098' href='#n6098'>6098</a>
<a id='n6099' href='#n6099'>6099</a>
<a id='n6100' href='#n6100'>6100</a>
<a id='n6101' href='#n6101'>6101</a>
<a id='n6102' href='#n6102'>6102</a>
<a id='n6103' href='#n6103'>6103</a>
<a id='n6104' href='#n6104'>6104</a>
<a id='n6105' href='#n6105'>6105</a>
<a id='n6106' href='#n6106'>6106</a>
<a id='n6107' href='#n6107'>6107</a>
<a id='n6108' href='#n6108'>6108</a>
<a id='n6109' href='#n6109'>6109</a>
<a id='n6110' href='#n6110'>6110</a>
<a id='n6111' href='#n6111'>6111</a>
<a id='n6112' href='#n6112'>6112</a>
<a id='n6113' href='#n6113'>6113</a>
<a id='n6114' href='#n6114'>6114</a>
<a id='n6115' href='#n6115'>6115</a>
<a id='n6116' href='#n6116'>6116</a>
<a id='n6117' href='#n6117'>6117</a>
<a id='n6118' href='#n6118'>6118</a>
<a id='n6119' href='#n6119'>6119</a>
<a id='n6120' href='#n6120'>6120</a>
<a id='n6121' href='#n6121'>6121</a>
<a id='n6122' href='#n6122'>6122</a>
<a id='n6123' href='#n6123'>6123</a>
<a id='n6124' href='#n6124'>6124</a>
<a id='n6125' href='#n6125'>6125</a>
<a id='n6126' href='#n6126'>6126</a>
<a id='n6127' href='#n6127'>6127</a>
<a id='n6128' href='#n6128'>6128</a>
<a id='n6129' href='#n6129'>6129</a>
<a id='n6130' href='#n6130'>6130</a>
<a id='n6131' href='#n6131'>6131</a>
<a id='n6132' href='#n6132'>6132</a>
<a id='n6133' href='#n6133'>6133</a>
<a id='n6134' href='#n6134'>6134</a>
<a id='n6135' href='#n6135'>6135</a>
<a id='n6136' href='#n6136'>6136</a>
<a id='n6137' href='#n6137'>6137</a>
<a id='n6138' href='#n6138'>6138</a>
<a id='n6139' href='#n6139'>6139</a>
<a id='n6140' href='#n6140'>6140</a>
<a id='n6141' href='#n6141'>6141</a>
<a id='n6142' href='#n6142'>6142</a>
<a id='n6143' href='#n6143'>6143</a>
<a id='n6144' href='#n6144'>6144</a>
<a id='n6145' href='#n6145'>6145</a>
<a id='n6146' href='#n6146'>6146</a>
<a id='n6147' href='#n6147'>6147</a>
<a id='n6148' href='#n6148'>6148</a>
<a id='n6149' href='#n6149'>6149</a>
<a id='n6150' href='#n6150'>6150</a>
<a id='n6151' href='#n6151'>6151</a>
<a id='n6152' href='#n6152'>6152</a>
<a id='n6153' href='#n6153'>6153</a>
<a id='n6154' href='#n6154'>6154</a>
<a id='n6155' href='#n6155'>6155</a>
<a id='n6156' href='#n6156'>6156</a>
<a id='n6157' href='#n6157'>6157</a>
<a id='n6158' href='#n6158'>6158</a>
<a id='n6159' href='#n6159'>6159</a>
<a id='n6160' href='#n6160'>6160</a>
<a id='n6161' href='#n6161'>6161</a>
<a id='n6162' href='#n6162'>6162</a>
<a id='n6163' href='#n6163'>6163</a>
<a id='n6164' href='#n6164'>6164</a>
<a id='n6165' href='#n6165'>6165</a>
<a id='n6166' href='#n6166'>6166</a>
<a id='n6167' href='#n6167'>6167</a>
<a id='n6168' href='#n6168'>6168</a>
<a id='n6169' href='#n6169'>6169</a>
<a id='n6170' href='#n6170'>6170</a>
<a id='n6171' href='#n6171'>6171</a>
<a id='n6172' href='#n6172'>6172</a>
<a id='n6173' href='#n6173'>6173</a>
<a id='n6174' href='#n6174'>6174</a>
<a id='n6175' href='#n6175'>6175</a>
<a id='n6176' href='#n6176'>6176</a>
<a id='n6177' href='#n6177'>6177</a>
<a id='n6178' href='#n6178'>6178</a>
<a id='n6179' href='#n6179'>6179</a>
<a id='n6180' href='#n6180'>6180</a>
<a id='n6181' href='#n6181'>6181</a>
<a id='n6182' href='#n6182'>6182</a>
<a id='n6183' href='#n6183'>6183</a>
<a id='n6184' href='#n6184'>6184</a>
<a id='n6185' href='#n6185'>6185</a>
<a id='n6186' href='#n6186'>6186</a>
<a id='n6187' href='#n6187'>6187</a>
<a id='n6188' href='#n6188'>6188</a>
<a id='n6189' href='#n6189'>6189</a>
<a id='n6190' href='#n6190'>6190</a>
<a id='n6191' href='#n6191'>6191</a>
<a id='n6192' href='#n6192'>6192</a>
<a id='n6193' href='#n6193'>6193</a>
<a id='n6194' href='#n6194'>6194</a>
<a id='n6195' href='#n6195'>6195</a>
<a id='n6196' href='#n6196'>6196</a>
<a id='n6197' href='#n6197'>6197</a>
<a id='n6198' href='#n6198'>6198</a>
<a id='n6199' href='#n6199'>6199</a>
<a id='n6200' href='#n6200'>6200</a>
<a id='n6201' href='#n6201'>6201</a>
<a id='n6202' href='#n6202'>6202</a>
<a id='n6203' href='#n6203'>6203</a>
<a id='n6204' href='#n6204'>6204</a>
<a id='n6205' href='#n6205'>6205</a>
<a id='n6206' href='#n6206'>6206</a>
<a id='n6207' href='#n6207'>6207</a>
<a id='n6208' href='#n6208'>6208</a>
<a id='n6209' href='#n6209'>6209</a>
<a id='n6210' href='#n6210'>6210</a>
<a id='n6211' href='#n6211'>6211</a>
<a id='n6212' href='#n6212'>6212</a>
<a id='n6213' href='#n6213'>6213</a>
<a id='n6214' href='#n6214'>6214</a>
<a id='n6215' href='#n6215'>6215</a>
<a id='n6216' href='#n6216'>6216</a>
<a id='n6217' href='#n6217'>6217</a>
<a id='n6218' href='#n6218'>6218</a>
<a id='n6219' href='#n6219'>6219</a>
<a id='n6220' href='#n6220'>6220</a>
<a id='n6221' href='#n6221'>6221</a>
<a id='n6222' href='#n6222'>6222</a>
<a id='n6223' href='#n6223'>6223</a>
<a id='n6224' href='#n6224'>6224</a>
<a id='n6225' href='#n6225'>6225</a>
<a id='n6226' href='#n6226'>6226</a>
<a id='n6227' href='#n6227'>6227</a>
<a id='n6228' href='#n6228'>6228</a>
<a id='n6229' href='#n6229'>6229</a>
<a id='n6230' href='#n6230'>6230</a>
<a id='n6231' href='#n6231'>6231</a>
<a id='n6232' href='#n6232'>6232</a>
<a id='n6233' href='#n6233'>6233</a>
<a id='n6234' href='#n6234'>6234</a>
<a id='n6235' href='#n6235'>6235</a>
<a id='n6236' href='#n6236'>6236</a>
<a id='n6237' href='#n6237'>6237</a>
<a id='n6238' href='#n6238'>6238</a>
<a id='n6239' href='#n6239'>6239</a>
<a id='n6240' href='#n6240'>6240</a>
<a id='n6241' href='#n6241'>6241</a>
<a id='n6242' href='#n6242'>6242</a>
<a id='n6243' href='#n6243'>6243</a>
<a id='n6244' href='#n6244'>6244</a>
<a id='n6245' href='#n6245'>6245</a>
<a id='n6246' href='#n6246'>6246</a>
<a id='n6247' href='#n6247'>6247</a>
<a id='n6248' href='#n6248'>6248</a>
<a id='n6249' href='#n6249'>6249</a>
<a id='n6250' href='#n6250'>6250</a>
<a id='n6251' href='#n6251'>6251</a>
<a id='n6252' href='#n6252'>6252</a>
<a id='n6253' href='#n6253'>6253</a>
<a id='n6254' href='#n6254'>6254</a>
<a id='n6255' href='#n6255'>6255</a>
<a id='n6256' href='#n6256'>6256</a>
<a id='n6257' href='#n6257'>6257</a>
<a id='n6258' href='#n6258'>6258</a>
<a id='n6259' href='#n6259'>6259</a>
<a id='n6260' href='#n6260'>6260</a>
<a id='n6261' href='#n6261'>6261</a>
<a id='n6262' href='#n6262'>6262</a>
<a id='n6263' href='#n6263'>6263</a>
<a id='n6264' href='#n6264'>6264</a>
<a id='n6265' href='#n6265'>6265</a>
<a id='n6266' href='#n6266'>6266</a>
<a id='n6267' href='#n6267'>6267</a>
<a id='n6268' href='#n6268'>6268</a>
<a id='n6269' href='#n6269'>6269</a>
<a id='n6270' href='#n6270'>6270</a>
<a id='n6271' href='#n6271'>6271</a>
<a id='n6272' href='#n6272'>6272</a>
<a id='n6273' href='#n6273'>6273</a>
<a id='n6274' href='#n6274'>6274</a>
<a id='n6275' href='#n6275'>6275</a>
<a id='n6276' href='#n6276'>6276</a>
<a id='n6277' href='#n6277'>6277</a>
<a id='n6278' href='#n6278'>6278</a>
<a id='n6279' href='#n6279'>6279</a>
<a id='n6280' href='#n6280'>6280</a>
<a id='n6281' href='#n6281'>6281</a>
<a id='n6282' href='#n6282'>6282</a>
<a id='n6283' href='#n6283'>6283</a>
<a id='n6284' href='#n6284'>6284</a>
<a id='n6285' href='#n6285'>6285</a>
<a id='n6286' href='#n6286'>6286</a>
<a id='n6287' href='#n6287'>6287</a>
<a id='n6288' href='#n6288'>6288</a>
<a id='n6289' href='#n6289'>6289</a>
<a id='n6290' href='#n6290'>6290</a>
<a id='n6291' href='#n6291'>6291</a>
<a id='n6292' href='#n6292'>6292</a>
<a id='n6293' href='#n6293'>6293</a>
<a id='n6294' href='#n6294'>6294</a>
<a id='n6295' href='#n6295'>6295</a>
<a id='n6296' href='#n6296'>6296</a>
<a id='n6297' href='#n6297'>6297</a>
<a id='n6298' href='#n6298'>6298</a>
<a id='n6299' href='#n6299'>6299</a>
<a id='n6300' href='#n6300'>6300</a>
<a id='n6301' href='#n6301'>6301</a>
<a id='n6302' href='#n6302'>6302</a>
<a id='n6303' href='#n6303'>6303</a>
<a id='n6304' href='#n6304'>6304</a>
<a id='n6305' href='#n6305'>6305</a>
<a id='n6306' href='#n6306'>6306</a>
<a id='n6307' href='#n6307'>6307</a>
<a id='n6308' href='#n6308'>6308</a>
<a id='n6309' href='#n6309'>6309</a>
<a id='n6310' href='#n6310'>6310</a>
<a id='n6311' href='#n6311'>6311</a>
<a id='n6312' href='#n6312'>6312</a>
<a id='n6313' href='#n6313'>6313</a>
<a id='n6314' href='#n6314'>6314</a>
<a id='n6315' href='#n6315'>6315</a>
<a id='n6316' href='#n6316'>6316</a>
<a id='n6317' href='#n6317'>6317</a>
<a id='n6318' href='#n6318'>6318</a>
<a id='n6319' href='#n6319'>6319</a>
<a id='n6320' href='#n6320'>6320</a>
<a id='n6321' href='#n6321'>6321</a>
<a id='n6322' href='#n6322'>6322</a>
<a id='n6323' href='#n6323'>6323</a>
<a id='n6324' href='#n6324'>6324</a>
<a id='n6325' href='#n6325'>6325</a>
<a id='n6326' href='#n6326'>6326</a>
<a id='n6327' href='#n6327'>6327</a>
<a id='n6328' href='#n6328'>6328</a>
<a id='n6329' href='#n6329'>6329</a>
<a id='n6330' href='#n6330'>6330</a>
<a id='n6331' href='#n6331'>6331</a>
<a id='n6332' href='#n6332'>6332</a>
<a id='n6333' href='#n6333'>6333</a>
<a id='n6334' href='#n6334'>6334</a>
<a id='n6335' href='#n6335'>6335</a>
<a id='n6336' href='#n6336'>6336</a>
<a id='n6337' href='#n6337'>6337</a>
<a id='n6338' href='#n6338'>6338</a>
<a id='n6339' href='#n6339'>6339</a>
<a id='n6340' href='#n6340'>6340</a>
<a id='n6341' href='#n6341'>6341</a>
<a id='n6342' href='#n6342'>6342</a>
<a id='n6343' href='#n6343'>6343</a>
<a id='n6344' href='#n6344'>6344</a>
<a id='n6345' href='#n6345'>6345</a>
<a id='n6346' href='#n6346'>6346</a>
<a id='n6347' href='#n6347'>6347</a>
<a id='n6348' href='#n6348'>6348</a>
<a id='n6349' href='#n6349'>6349</a>
<a id='n6350' href='#n6350'>6350</a>
<a id='n6351' href='#n6351'>6351</a>
<a id='n6352' href='#n6352'>6352</a>
<a id='n6353' href='#n6353'>6353</a>
<a id='n6354' href='#n6354'>6354</a>
<a id='n6355' href='#n6355'>6355</a>
<a id='n6356' href='#n6356'>6356</a>
<a id='n6357' href='#n6357'>6357</a>
<a id='n6358' href='#n6358'>6358</a>
<a id='n6359' href='#n6359'>6359</a>
<a id='n6360' href='#n6360'>6360</a>
<a id='n6361' href='#n6361'>6361</a>
<a id='n6362' href='#n6362'>6362</a>
<a id='n6363' href='#n6363'>6363</a>
<a id='n6364' href='#n6364'>6364</a>
<a id='n6365' href='#n6365'>6365</a>
<a id='n6366' href='#n6366'>6366</a>
<a id='n6367' href='#n6367'>6367</a>
<a id='n6368' href='#n6368'>6368</a>
<a id='n6369' href='#n6369'>6369</a>
<a id='n6370' href='#n6370'>6370</a>
<a id='n6371' href='#n6371'>6371</a>
<a id='n6372' href='#n6372'>6372</a>
<a id='n6373' href='#n6373'>6373</a>
<a id='n6374' href='#n6374'>6374</a>
<a id='n6375' href='#n6375'>6375</a>
<a id='n6376' href='#n6376'>6376</a>
<a id='n6377' href='#n6377'>6377</a>
<a id='n6378' href='#n6378'>6378</a>
<a id='n6379' href='#n6379'>6379</a>
<a id='n6380' href='#n6380'>6380</a>
<a id='n6381' href='#n6381'>6381</a>
<a id='n6382' href='#n6382'>6382</a>
<a id='n6383' href='#n6383'>6383</a>
<a id='n6384' href='#n6384'>6384</a>
<a id='n6385' href='#n6385'>6385</a>
<a id='n6386' href='#n6386'>6386</a>
<a id='n6387' href='#n6387'>6387</a>
<a id='n6388' href='#n6388'>6388</a>
<a id='n6389' href='#n6389'>6389</a>
<a id='n6390' href='#n6390'>6390</a>
<a id='n6391' href='#n6391'>6391</a>
<a id='n6392' href='#n6392'>6392</a>
<a id='n6393' href='#n6393'>6393</a>
<a id='n6394' href='#n6394'>6394</a>
<a id='n6395' href='#n6395'>6395</a>
<a id='n6396' href='#n6396'>6396</a>
<a id='n6397' href='#n6397'>6397</a>
<a id='n6398' href='#n6398'>6398</a>
<a id='n6399' href='#n6399'>6399</a>
<a id='n6400' href='#n6400'>6400</a>
<a id='n6401' href='#n6401'>6401</a>
<a id='n6402' href='#n6402'>6402</a>
<a id='n6403' href='#n6403'>6403</a>
<a id='n6404' href='#n6404'>6404</a>
<a id='n6405' href='#n6405'>6405</a>
<a id='n6406' href='#n6406'>6406</a>
<a id='n6407' href='#n6407'>6407</a>
<a id='n6408' href='#n6408'>6408</a>
<a id='n6409' href='#n6409'>6409</a>
<a id='n6410' href='#n6410'>6410</a>
<a id='n6411' href='#n6411'>6411</a>
<a id='n6412' href='#n6412'>6412</a>
<a id='n6413' href='#n6413'>6413</a>
<a id='n6414' href='#n6414'>6414</a>
<a id='n6415' href='#n6415'>6415</a>
<a id='n6416' href='#n6416'>6416</a>
<a id='n6417' href='#n6417'>6417</a>
<a id='n6418' href='#n6418'>6418</a>
<a id='n6419' href='#n6419'>6419</a>
<a id='n6420' href='#n6420'>6420</a>
<a id='n6421' href='#n6421'>6421</a>
<a id='n6422' href='#n6422'>6422</a>
<a id='n6423' href='#n6423'>6423</a>
<a id='n6424' href='#n6424'>6424</a>
<a id='n6425' href='#n6425'>6425</a>
<a id='n6426' href='#n6426'>6426</a>
<a id='n6427' href='#n6427'>6427</a>
<a id='n6428' href='#n6428'>6428</a>
<a id='n6429' href='#n6429'>6429</a>
<a id='n6430' href='#n6430'>6430</a>
<a id='n6431' href='#n6431'>6431</a>
<a id='n6432' href='#n6432'>6432</a>
<a id='n6433' href='#n6433'>6433</a>
<a id='n6434' href='#n6434'>6434</a>
<a id='n6435' href='#n6435'>6435</a>
<a id='n6436' href='#n6436'>6436</a>
<a id='n6437' href='#n6437'>6437</a>
<a id='n6438' href='#n6438'>6438</a>
<a id='n6439' href='#n6439'>6439</a>
<a id='n6440' href='#n6440'>6440</a>
<a id='n6441' href='#n6441'>6441</a>
<a id='n6442' href='#n6442'>6442</a>
<a id='n6443' href='#n6443'>6443</a>
<a id='n6444' href='#n6444'>6444</a>
<a id='n6445' href='#n6445'>6445</a>
<a id='n6446' href='#n6446'>6446</a>
<a id='n6447' href='#n6447'>6447</a>
<a id='n6448' href='#n6448'>6448</a>
<a id='n6449' href='#n6449'>6449</a>
<a id='n6450' href='#n6450'>6450</a>
<a id='n6451' href='#n6451'>6451</a>
<a id='n6452' href='#n6452'>6452</a>
<a id='n6453' href='#n6453'>6453</a>
<a id='n6454' href='#n6454'>6454</a>
<a id='n6455' href='#n6455'>6455</a>
<a id='n6456' href='#n6456'>6456</a>
<a id='n6457' href='#n6457'>6457</a>
<a id='n6458' href='#n6458'>6458</a>
<a id='n6459' href='#n6459'>6459</a>
<a id='n6460' href='#n6460'>6460</a>
<a id='n6461' href='#n6461'>6461</a>
<a id='n6462' href='#n6462'>6462</a>
<a id='n6463' href='#n6463'>6463</a>
<a id='n6464' href='#n6464'>6464</a>
<a id='n6465' href='#n6465'>6465</a>
<a id='n6466' href='#n6466'>6466</a>
<a id='n6467' href='#n6467'>6467</a>
<a id='n6468' href='#n6468'>6468</a>
<a id='n6469' href='#n6469'>6469</a>
<a id='n6470' href='#n6470'>6470</a>
<a id='n6471' href='#n6471'>6471</a>
<a id='n6472' href='#n6472'>6472</a>
<a id='n6473' href='#n6473'>6473</a>
<a id='n6474' href='#n6474'>6474</a>
<a id='n6475' href='#n6475'>6475</a>
<a id='n6476' href='#n6476'>6476</a>
<a id='n6477' href='#n6477'>6477</a>
<a id='n6478' href='#n6478'>6478</a>
<a id='n6479' href='#n6479'>6479</a>
<a id='n6480' href='#n6480'>6480</a>
<a id='n6481' href='#n6481'>6481</a>
<a id='n6482' href='#n6482'>6482</a>
<a id='n6483' href='#n6483'>6483</a>
<a id='n6484' href='#n6484'>6484</a>
<a id='n6485' href='#n6485'>6485</a>
<a id='n6486' href='#n6486'>6486</a>
<a id='n6487' href='#n6487'>6487</a>
<a id='n6488' href='#n6488'>6488</a>
<a id='n6489' href='#n6489'>6489</a>
<a id='n6490' href='#n6490'>6490</a>
<a id='n6491' href='#n6491'>6491</a>
<a id='n6492' href='#n6492'>6492</a>
<a id='n6493' href='#n6493'>6493</a>
<a id='n6494' href='#n6494'>6494</a>
<a id='n6495' href='#n6495'>6495</a>
<a id='n6496' href='#n6496'>6496</a>
<a id='n6497' href='#n6497'>6497</a>
<a id='n6498' href='#n6498'>6498</a>
<a id='n6499' href='#n6499'>6499</a>
<a id='n6500' href='#n6500'>6500</a>
<a id='n6501' href='#n6501'>6501</a>
<a id='n6502' href='#n6502'>6502</a>
<a id='n6503' href='#n6503'>6503</a>
<a id='n6504' href='#n6504'>6504</a>
<a id='n6505' href='#n6505'>6505</a>
<a id='n6506' href='#n6506'>6506</a>
<a id='n6507' href='#n6507'>6507</a>
<a id='n6508' href='#n6508'>6508</a>
<a id='n6509' href='#n6509'>6509</a>
<a id='n6510' href='#n6510'>6510</a>
<a id='n6511' href='#n6511'>6511</a>
<a id='n6512' href='#n6512'>6512</a>
<a id='n6513' href='#n6513'>6513</a>
<a id='n6514' href='#n6514'>6514</a>
<a id='n6515' href='#n6515'>6515</a>
<a id='n6516' href='#n6516'>6516</a>
<a id='n6517' href='#n6517'>6517</a>
<a id='n6518' href='#n6518'>6518</a>
<a id='n6519' href='#n6519'>6519</a>
<a id='n6520' href='#n6520'>6520</a>
<a id='n6521' href='#n6521'>6521</a>
<a id='n6522' href='#n6522'>6522</a>
<a id='n6523' href='#n6523'>6523</a>
<a id='n6524' href='#n6524'>6524</a>
<a id='n6525' href='#n6525'>6525</a>
<a id='n6526' href='#n6526'>6526</a>
<a id='n6527' href='#n6527'>6527</a>
<a id='n6528' href='#n6528'>6528</a>
<a id='n6529' href='#n6529'>6529</a>
<a id='n6530' href='#n6530'>6530</a>
<a id='n6531' href='#n6531'>6531</a>
<a id='n6532' href='#n6532'>6532</a>
<a id='n6533' href='#n6533'>6533</a>
<a id='n6534' href='#n6534'>6534</a>
<a id='n6535' href='#n6535'>6535</a>
<a id='n6536' href='#n6536'>6536</a>
<a id='n6537' href='#n6537'>6537</a>
<a id='n6538' href='#n6538'>6538</a>
<a id='n6539' href='#n6539'>6539</a>
<a id='n6540' href='#n6540'>6540</a>
<a id='n6541' href='#n6541'>6541</a>
<a id='n6542' href='#n6542'>6542</a>
<a id='n6543' href='#n6543'>6543</a>
<a id='n6544' href='#n6544'>6544</a>
<a id='n6545' href='#n6545'>6545</a>
<a id='n6546' href='#n6546'>6546</a>
<a id='n6547' href='#n6547'>6547</a>
<a id='n6548' href='#n6548'>6548</a>
<a id='n6549' href='#n6549'>6549</a>
<a id='n6550' href='#n6550'>6550</a>
<a id='n6551' href='#n6551'>6551</a>
<a id='n6552' href='#n6552'>6552</a>
<a id='n6553' href='#n6553'>6553</a>
<a id='n6554' href='#n6554'>6554</a>
<a id='n6555' href='#n6555'>6555</a>
<a id='n6556' href='#n6556'>6556</a>
<a id='n6557' href='#n6557'>6557</a>
<a id='n6558' href='#n6558'>6558</a>
<a id='n6559' href='#n6559'>6559</a>
<a id='n6560' href='#n6560'>6560</a>
<a id='n6561' href='#n6561'>6561</a>
<a id='n6562' href='#n6562'>6562</a>
<a id='n6563' href='#n6563'>6563</a>
<a id='n6564' href='#n6564'>6564</a>
<a id='n6565' href='#n6565'>6565</a>
<a id='n6566' href='#n6566'>6566</a>
<a id='n6567' href='#n6567'>6567</a>
<a id='n6568' href='#n6568'>6568</a>
<a id='n6569' href='#n6569'>6569</a>
<a id='n6570' href='#n6570'>6570</a>
<a id='n6571' href='#n6571'>6571</a>
<a id='n6572' href='#n6572'>6572</a>
<a id='n6573' href='#n6573'>6573</a>
<a id='n6574' href='#n6574'>6574</a>
<a id='n6575' href='#n6575'>6575</a>
<a id='n6576' href='#n6576'>6576</a>
<a id='n6577' href='#n6577'>6577</a>
<a id='n6578' href='#n6578'>6578</a>
<a id='n6579' href='#n6579'>6579</a>
<a id='n6580' href='#n6580'>6580</a>
<a id='n6581' href='#n6581'>6581</a>
<a id='n6582' href='#n6582'>6582</a>
<a id='n6583' href='#n6583'>6583</a>
<a id='n6584' href='#n6584'>6584</a>
<a id='n6585' href='#n6585'>6585</a>
<a id='n6586' href='#n6586'>6586</a>
<a id='n6587' href='#n6587'>6587</a>
<a id='n6588' href='#n6588'>6588</a>
<a id='n6589' href='#n6589'>6589</a>
<a id='n6590' href='#n6590'>6590</a>
<a id='n6591' href='#n6591'>6591</a>
<a id='n6592' href='#n6592'>6592</a>
<a id='n6593' href='#n6593'>6593</a>
<a id='n6594' href='#n6594'>6594</a>
<a id='n6595' href='#n6595'>6595</a>
<a id='n6596' href='#n6596'>6596</a>
<a id='n6597' href='#n6597'>6597</a>
<a id='n6598' href='#n6598'>6598</a>
<a id='n6599' href='#n6599'>6599</a>
<a id='n6600' href='#n6600'>6600</a>
<a id='n6601' href='#n6601'>6601</a>
<a id='n6602' href='#n6602'>6602</a>
<a id='n6603' href='#n6603'>6603</a>
<a id='n6604' href='#n6604'>6604</a>
<a id='n6605' href='#n6605'>6605</a>
<a id='n6606' href='#n6606'>6606</a>
<a id='n6607' href='#n6607'>6607</a>
<a id='n6608' href='#n6608'>6608</a>
<a id='n6609' href='#n6609'>6609</a>
<a id='n6610' href='#n6610'>6610</a>
<a id='n6611' href='#n6611'>6611</a>
<a id='n6612' href='#n6612'>6612</a>
<a id='n6613' href='#n6613'>6613</a>
<a id='n6614' href='#n6614'>6614</a>
<a id='n6615' href='#n6615'>6615</a>
<a id='n6616' href='#n6616'>6616</a>
<a id='n6617' href='#n6617'>6617</a>
<a id='n6618' href='#n6618'>6618</a>
<a id='n6619' href='#n6619'>6619</a>
<a id='n6620' href='#n6620'>6620</a>
<a id='n6621' href='#n6621'>6621</a>
<a id='n6622' href='#n6622'>6622</a>
<a id='n6623' href='#n6623'>6623</a>
<a id='n6624' href='#n6624'>6624</a>
<a id='n6625' href='#n6625'>6625</a>
<a id='n6626' href='#n6626'>6626</a>
<a id='n6627' href='#n6627'>6627</a>
<a id='n6628' href='#n6628'>6628</a>
<a id='n6629' href='#n6629'>6629</a>
<a id='n6630' href='#n6630'>6630</a>
<a id='n6631' href='#n6631'>6631</a>
<a id='n6632' href='#n6632'>6632</a>
<a id='n6633' href='#n6633'>6633</a>
<a id='n6634' href='#n6634'>6634</a>
<a id='n6635' href='#n6635'>6635</a>
<a id='n6636' href='#n6636'>6636</a>
<a id='n6637' href='#n6637'>6637</a>
<a id='n6638' href='#n6638'>6638</a>
<a id='n6639' href='#n6639'>6639</a>
<a id='n6640' href='#n6640'>6640</a>
<a id='n6641' href='#n6641'>6641</a>
<a id='n6642' href='#n6642'>6642</a>
<a id='n6643' href='#n6643'>6643</a>
<a id='n6644' href='#n6644'>6644</a>
<a id='n6645' href='#n6645'>6645</a>
<a id='n6646' href='#n6646'>6646</a>
<a id='n6647' href='#n6647'>6647</a>
<a id='n6648' href='#n6648'>6648</a>
<a id='n6649' href='#n6649'>6649</a>
<a id='n6650' href='#n6650'>6650</a>
<a id='n6651' href='#n6651'>6651</a>
<a id='n6652' href='#n6652'>6652</a>
<a id='n6653' href='#n6653'>6653</a>
<a id='n6654' href='#n6654'>6654</a>
<a id='n6655' href='#n6655'>6655</a>
<a id='n6656' href='#n6656'>6656</a>
<a id='n6657' href='#n6657'>6657</a>
<a id='n6658' href='#n6658'>6658</a>
<a id='n6659' href='#n6659'>6659</a>
<a id='n6660' href='#n6660'>6660</a>
<a id='n6661' href='#n6661'>6661</a>
<a id='n6662' href='#n6662'>6662</a>
<a id='n6663' href='#n6663'>6663</a>
<a id='n6664' href='#n6664'>6664</a>
<a id='n6665' href='#n6665'>6665</a>
<a id='n6666' href='#n6666'>6666</a>
<a id='n6667' href='#n6667'>6667</a>
<a id='n6668' href='#n6668'>6668</a>
<a id='n6669' href='#n6669'>6669</a>
<a id='n6670' href='#n6670'>6670</a>
<a id='n6671' href='#n6671'>6671</a>
<a id='n6672' href='#n6672'>6672</a>
<a id='n6673' href='#n6673'>6673</a>
<a id='n6674' href='#n6674'>6674</a>
<a id='n6675' href='#n6675'>6675</a>
<a id='n6676' href='#n6676'>6676</a>
<a id='n6677' href='#n6677'>6677</a>
<a id='n6678' href='#n6678'>6678</a>
<a id='n6679' href='#n6679'>6679</a>
<a id='n6680' href='#n6680'>6680</a>
<a id='n6681' href='#n6681'>6681</a>
<a id='n6682' href='#n6682'>6682</a>
<a id='n6683' href='#n6683'>6683</a>
<a id='n6684' href='#n6684'>6684</a>
<a id='n6685' href='#n6685'>6685</a>
<a id='n6686' href='#n6686'>6686</a>
<a id='n6687' href='#n6687'>6687</a>
<a id='n6688' href='#n6688'>6688</a>
<a id='n6689' href='#n6689'>6689</a>
<a id='n6690' href='#n6690'>6690</a>
<a id='n6691' href='#n6691'>6691</a>
<a id='n6692' href='#n6692'>6692</a>
<a id='n6693' href='#n6693'>6693</a>
<a id='n6694' href='#n6694'>6694</a>
<a id='n6695' href='#n6695'>6695</a>
<a id='n6696' href='#n6696'>6696</a>
<a id='n6697' href='#n6697'>6697</a>
<a id='n6698' href='#n6698'>6698</a>
<a id='n6699' href='#n6699'>6699</a>
<a id='n6700' href='#n6700'>6700</a>
<a id='n6701' href='#n6701'>6701</a>
<a id='n6702' href='#n6702'>6702</a>
<a id='n6703' href='#n6703'>6703</a>
<a id='n6704' href='#n6704'>6704</a>
<a id='n6705' href='#n6705'>6705</a>
<a id='n6706' href='#n6706'>6706</a>
<a id='n6707' href='#n6707'>6707</a>
<a id='n6708' href='#n6708'>6708</a>
<a id='n6709' href='#n6709'>6709</a>
<a id='n6710' href='#n6710'>6710</a>
<a id='n6711' href='#n6711'>6711</a>
<a id='n6712' href='#n6712'>6712</a>
<a id='n6713' href='#n6713'>6713</a>
<a id='n6714' href='#n6714'>6714</a>
<a id='n6715' href='#n6715'>6715</a>
<a id='n6716' href='#n6716'>6716</a>
<a id='n6717' href='#n6717'>6717</a>
<a id='n6718' href='#n6718'>6718</a>
<a id='n6719' href='#n6719'>6719</a>
<a id='n6720' href='#n6720'>6720</a>
<a id='n6721' href='#n6721'>6721</a>
<a id='n6722' href='#n6722'>6722</a>
<a id='n6723' href='#n6723'>6723</a>
<a id='n6724' href='#n6724'>6724</a>
<a id='n6725' href='#n6725'>6725</a>
<a id='n6726' href='#n6726'>6726</a>
<a id='n6727' href='#n6727'>6727</a>
<a id='n6728' href='#n6728'>6728</a>
<a id='n6729' href='#n6729'>6729</a>
<a id='n6730' href='#n6730'>6730</a>
<a id='n6731' href='#n6731'>6731</a>
<a id='n6732' href='#n6732'>6732</a>
<a id='n6733' href='#n6733'>6733</a>
<a id='n6734' href='#n6734'>6734</a>
<a id='n6735' href='#n6735'>6735</a>
<a id='n6736' href='#n6736'>6736</a>
<a id='n6737' href='#n6737'>6737</a>
<a id='n6738' href='#n6738'>6738</a>
<a id='n6739' href='#n6739'>6739</a>
<a id='n6740' href='#n6740'>6740</a>
<a id='n6741' href='#n6741'>6741</a>
<a id='n6742' href='#n6742'>6742</a>
<a id='n6743' href='#n6743'>6743</a>
<a id='n6744' href='#n6744'>6744</a>
<a id='n6745' href='#n6745'>6745</a>
<a id='n6746' href='#n6746'>6746</a>
<a id='n6747' href='#n6747'>6747</a>
<a id='n6748' href='#n6748'>6748</a>
<a id='n6749' href='#n6749'>6749</a>
<a id='n6750' href='#n6750'>6750</a>
<a id='n6751' href='#n6751'>6751</a>
<a id='n6752' href='#n6752'>6752</a>
<a id='n6753' href='#n6753'>6753</a>
<a id='n6754' href='#n6754'>6754</a>
<a id='n6755' href='#n6755'>6755</a>
<a id='n6756' href='#n6756'>6756</a>
<a id='n6757' href='#n6757'>6757</a>
<a id='n6758' href='#n6758'>6758</a>
<a id='n6759' href='#n6759'>6759</a>
<a id='n6760' href='#n6760'>6760</a>
<a id='n6761' href='#n6761'>6761</a>
<a id='n6762' href='#n6762'>6762</a>
<a id='n6763' href='#n6763'>6763</a>
<a id='n6764' href='#n6764'>6764</a>
<a id='n6765' href='#n6765'>6765</a>
<a id='n6766' href='#n6766'>6766</a>
<a id='n6767' href='#n6767'>6767</a>
<a id='n6768' href='#n6768'>6768</a>
<a id='n6769' href='#n6769'>6769</a>
<a id='n6770' href='#n6770'>6770</a>
<a id='n6771' href='#n6771'>6771</a>
<a id='n6772' href='#n6772'>6772</a>
<a id='n6773' href='#n6773'>6773</a>
<a id='n6774' href='#n6774'>6774</a>
<a id='n6775' href='#n6775'>6775</a>
<a id='n6776' href='#n6776'>6776</a>
<a id='n6777' href='#n6777'>6777</a>
<a id='n6778' href='#n6778'>6778</a>
<a id='n6779' href='#n6779'>6779</a>
<a id='n6780' href='#n6780'>6780</a>
<a id='n6781' href='#n6781'>6781</a>
<a id='n6782' href='#n6782'>6782</a>
<a id='n6783' href='#n6783'>6783</a>
<a id='n6784' href='#n6784'>6784</a>
<a id='n6785' href='#n6785'>6785</a>
<a id='n6786' href='#n6786'>6786</a>
<a id='n6787' href='#n6787'>6787</a>
<a id='n6788' href='#n6788'>6788</a>
<a id='n6789' href='#n6789'>6789</a>
<a id='n6790' href='#n6790'>6790</a>
<a id='n6791' href='#n6791'>6791</a>
<a id='n6792' href='#n6792'>6792</a>
<a id='n6793' href='#n6793'>6793</a>
<a id='n6794' href='#n6794'>6794</a>
<a id='n6795' href='#n6795'>6795</a>
<a id='n6796' href='#n6796'>6796</a>
<a id='n6797' href='#n6797'>6797</a>
<a id='n6798' href='#n6798'>6798</a>
<a id='n6799' href='#n6799'>6799</a>
<a id='n6800' href='#n6800'>6800</a>
<a id='n6801' href='#n6801'>6801</a>
<a id='n6802' href='#n6802'>6802</a>
<a id='n6803' href='#n6803'>6803</a>
<a id='n6804' href='#n6804'>6804</a>
<a id='n6805' href='#n6805'>6805</a>
<a id='n6806' href='#n6806'>6806</a>
<a id='n6807' href='#n6807'>6807</a>
<a id='n6808' href='#n6808'>6808</a>
<a id='n6809' href='#n6809'>6809</a>
<a id='n6810' href='#n6810'>6810</a>
<a id='n6811' href='#n6811'>6811</a>
<a id='n6812' href='#n6812'>6812</a>
<a id='n6813' href='#n6813'>6813</a>
<a id='n6814' href='#n6814'>6814</a>
<a id='n6815' href='#n6815'>6815</a>
<a id='n6816' href='#n6816'>6816</a>
<a id='n6817' href='#n6817'>6817</a>
<a id='n6818' href='#n6818'>6818</a>
<a id='n6819' href='#n6819'>6819</a>
<a id='n6820' href='#n6820'>6820</a>
<a id='n6821' href='#n6821'>6821</a>
<a id='n6822' href='#n6822'>6822</a>
<a id='n6823' href='#n6823'>6823</a>
<a id='n6824' href='#n6824'>6824</a>
<a id='n6825' href='#n6825'>6825</a>
<a id='n6826' href='#n6826'>6826</a>
<a id='n6827' href='#n6827'>6827</a>
<a id='n6828' href='#n6828'>6828</a>
<a id='n6829' href='#n6829'>6829</a>
<a id='n6830' href='#n6830'>6830</a>
<a id='n6831' href='#n6831'>6831</a>
<a id='n6832' href='#n6832'>6832</a>
<a id='n6833' href='#n6833'>6833</a>
<a id='n6834' href='#n6834'>6834</a>
<a id='n6835' href='#n6835'>6835</a>
<a id='n6836' href='#n6836'>6836</a>
<a id='n6837' href='#n6837'>6837</a>
<a id='n6838' href='#n6838'>6838</a>
<a id='n6839' href='#n6839'>6839</a>
<a id='n6840' href='#n6840'>6840</a>
<a id='n6841' href='#n6841'>6841</a>
<a id='n6842' href='#n6842'>6842</a>
<a id='n6843' href='#n6843'>6843</a>
<a id='n6844' href='#n6844'>6844</a>
<a id='n6845' href='#n6845'>6845</a>
<a id='n6846' href='#n6846'>6846</a>
<a id='n6847' href='#n6847'>6847</a>
<a id='n6848' href='#n6848'>6848</a>
<a id='n6849' href='#n6849'>6849</a>
<a id='n6850' href='#n6850'>6850</a>
<a id='n6851' href='#n6851'>6851</a>
<a id='n6852' href='#n6852'>6852</a>
<a id='n6853' href='#n6853'>6853</a>
<a id='n6854' href='#n6854'>6854</a>
<a id='n6855' href='#n6855'>6855</a>
<a id='n6856' href='#n6856'>6856</a>
<a id='n6857' href='#n6857'>6857</a>
<a id='n6858' href='#n6858'>6858</a>
<a id='n6859' href='#n6859'>6859</a>
<a id='n6860' href='#n6860'>6860</a>
<a id='n6861' href='#n6861'>6861</a>
<a id='n6862' href='#n6862'>6862</a>
<a id='n6863' href='#n6863'>6863</a>
<a id='n6864' href='#n6864'>6864</a>
<a id='n6865' href='#n6865'>6865</a>
<a id='n6866' href='#n6866'>6866</a>
<a id='n6867' href='#n6867'>6867</a>
<a id='n6868' href='#n6868'>6868</a>
<a id='n6869' href='#n6869'>6869</a>
<a id='n6870' href='#n6870'>6870</a>
<a id='n6871' href='#n6871'>6871</a>
<a id='n6872' href='#n6872'>6872</a>
<a id='n6873' href='#n6873'>6873</a>
<a id='n6874' href='#n6874'>6874</a>
<a id='n6875' href='#n6875'>6875</a>
<a id='n6876' href='#n6876'>6876</a>
<a id='n6877' href='#n6877'>6877</a>
<a id='n6878' href='#n6878'>6878</a>
<a id='n6879' href='#n6879'>6879</a>
<a id='n6880' href='#n6880'>6880</a>
<a id='n6881' href='#n6881'>6881</a>
<a id='n6882' href='#n6882'>6882</a>
<a id='n6883' href='#n6883'>6883</a>
<a id='n6884' href='#n6884'>6884</a>
<a id='n6885' href='#n6885'>6885</a>
<a id='n6886' href='#n6886'>6886</a>
<a id='n6887' href='#n6887'>6887</a>
<a id='n6888' href='#n6888'>6888</a>
<a id='n6889' href='#n6889'>6889</a>
<a id='n6890' href='#n6890'>6890</a>
<a id='n6891' href='#n6891'>6891</a>
<a id='n6892' href='#n6892'>6892</a>
<a id='n6893' href='#n6893'>6893</a>
<a id='n6894' href='#n6894'>6894</a>
<a id='n6895' href='#n6895'>6895</a>
<a id='n6896' href='#n6896'>6896</a>
<a id='n6897' href='#n6897'>6897</a>
<a id='n6898' href='#n6898'>6898</a>
<a id='n6899' href='#n6899'>6899</a>
<a id='n6900' href='#n6900'>6900</a>
<a id='n6901' href='#n6901'>6901</a>
<a id='n6902' href='#n6902'>6902</a>
<a id='n6903' href='#n6903'>6903</a>
<a id='n6904' href='#n6904'>6904</a>
<a id='n6905' href='#n6905'>6905</a>
<a id='n6906' href='#n6906'>6906</a>
<a id='n6907' href='#n6907'>6907</a>
<a id='n6908' href='#n6908'>6908</a>
<a id='n6909' href='#n6909'>6909</a>
<a id='n6910' href='#n6910'>6910</a>
<a id='n6911' href='#n6911'>6911</a>
<a id='n6912' href='#n6912'>6912</a>
<a id='n6913' href='#n6913'>6913</a>
<a id='n6914' href='#n6914'>6914</a>
<a id='n6915' href='#n6915'>6915</a>
<a id='n6916' href='#n6916'>6916</a>
<a id='n6917' href='#n6917'>6917</a>
<a id='n6918' href='#n6918'>6918</a>
<a id='n6919' href='#n6919'>6919</a>
<a id='n6920' href='#n6920'>6920</a>
<a id='n6921' href='#n6921'>6921</a>
<a id='n6922' href='#n6922'>6922</a>
<a id='n6923' href='#n6923'>6923</a>
<a id='n6924' href='#n6924'>6924</a>
<a id='n6925' href='#n6925'>6925</a>
<a id='n6926' href='#n6926'>6926</a>
<a id='n6927' href='#n6927'>6927</a>
<a id='n6928' href='#n6928'>6928</a>
<a id='n6929' href='#n6929'>6929</a>
<a id='n6930' href='#n6930'>6930</a>
<a id='n6931' href='#n6931'>6931</a>
<a id='n6932' href='#n6932'>6932</a>
<a id='n6933' href='#n6933'>6933</a>
<a id='n6934' href='#n6934'>6934</a>
<a id='n6935' href='#n6935'>6935</a>
<a id='n6936' href='#n6936'>6936</a>
<a id='n6937' href='#n6937'>6937</a>
<a id='n6938' href='#n6938'>6938</a>
<a id='n6939' href='#n6939'>6939</a>
<a id='n6940' href='#n6940'>6940</a>
<a id='n6941' href='#n6941'>6941</a>
<a id='n6942' href='#n6942'>6942</a>
<a id='n6943' href='#n6943'>6943</a>
<a id='n6944' href='#n6944'>6944</a>
<a id='n6945' href='#n6945'>6945</a>
<a id='n6946' href='#n6946'>6946</a>
<a id='n6947' href='#n6947'>6947</a>
<a id='n6948' href='#n6948'>6948</a>
<a id='n6949' href='#n6949'>6949</a>
<a id='n6950' href='#n6950'>6950</a>
<a id='n6951' href='#n6951'>6951</a>
<a id='n6952' href='#n6952'>6952</a>
<a id='n6953' href='#n6953'>6953</a>
<a id='n6954' href='#n6954'>6954</a>
<a id='n6955' href='#n6955'>6955</a>
<a id='n6956' href='#n6956'>6956</a>
<a id='n6957' href='#n6957'>6957</a>
<a id='n6958' href='#n6958'>6958</a>
<a id='n6959' href='#n6959'>6959</a>
<a id='n6960' href='#n6960'>6960</a>
<a id='n6961' href='#n6961'>6961</a>
<a id='n6962' href='#n6962'>6962</a>
<a id='n6963' href='#n6963'>6963</a>
<a id='n6964' href='#n6964'>6964</a>
<a id='n6965' href='#n6965'>6965</a>
<a id='n6966' href='#n6966'>6966</a>
<a id='n6967' href='#n6967'>6967</a>
<a id='n6968' href='#n6968'>6968</a>
<a id='n6969' href='#n6969'>6969</a>
<a id='n6970' href='#n6970'>6970</a>
<a id='n6971' href='#n6971'>6971</a>
<a id='n6972' href='#n6972'>6972</a>
<a id='n6973' href='#n6973'>6973</a>
<a id='n6974' href='#n6974'>6974</a>
<a id='n6975' href='#n6975'>6975</a>
<a id='n6976' href='#n6976'>6976</a>
<a id='n6977' href='#n6977'>6977</a>
<a id='n6978' href='#n6978'>6978</a>
<a id='n6979' href='#n6979'>6979</a>
<a id='n6980' href='#n6980'>6980</a>
<a id='n6981' href='#n6981'>6981</a>
<a id='n6982' href='#n6982'>6982</a>
<a id='n6983' href='#n6983'>6983</a>
<a id='n6984' href='#n6984'>6984</a>
<a id='n6985' href='#n6985'>6985</a>
<a id='n6986' href='#n6986'>6986</a>
<a id='n6987' href='#n6987'>6987</a>
<a id='n6988' href='#n6988'>6988</a>
<a id='n6989' href='#n6989'>6989</a>
<a id='n6990' href='#n6990'>6990</a>
<a id='n6991' href='#n6991'>6991</a>
<a id='n6992' href='#n6992'>6992</a>
<a id='n6993' href='#n6993'>6993</a>
<a id='n6994' href='#n6994'>6994</a>
<a id='n6995' href='#n6995'>6995</a>
<a id='n6996' href='#n6996'>6996</a>
<a id='n6997' href='#n6997'>6997</a>
<a id='n6998' href='#n6998'>6998</a>
<a id='n6999' href='#n6999'>6999</a>
<a id='n7000' href='#n7000'>7000</a>
<a id='n7001' href='#n7001'>7001</a>
<a id='n7002' href='#n7002'>7002</a>
<a id='n7003' href='#n7003'>7003</a>
<a id='n7004' href='#n7004'>7004</a>
<a id='n7005' href='#n7005'>7005</a>
<a id='n7006' href='#n7006'>7006</a>
<a id='n7007' href='#n7007'>7007</a>
<a id='n7008' href='#n7008'>7008</a>
<a id='n7009' href='#n7009'>7009</a>
<a id='n7010' href='#n7010'>7010</a>
<a id='n7011' href='#n7011'>7011</a>
<a id='n7012' href='#n7012'>7012</a>
<a id='n7013' href='#n7013'>7013</a>
<a id='n7014' href='#n7014'>7014</a>
<a id='n7015' href='#n7015'>7015</a>
<a id='n7016' href='#n7016'>7016</a>
<a id='n7017' href='#n7017'>7017</a>
<a id='n7018' href='#n7018'>7018</a>
<a id='n7019' href='#n7019'>7019</a>
<a id='n7020' href='#n7020'>7020</a>
<a id='n7021' href='#n7021'>7021</a>
<a id='n7022' href='#n7022'>7022</a>
<a id='n7023' href='#n7023'>7023</a>
<a id='n7024' href='#n7024'>7024</a>
<a id='n7025' href='#n7025'>7025</a>
<a id='n7026' href='#n7026'>7026</a>
<a id='n7027' href='#n7027'>7027</a>
<a id='n7028' href='#n7028'>7028</a>
<a id='n7029' href='#n7029'>7029</a>
<a id='n7030' href='#n7030'>7030</a>
<a id='n7031' href='#n7031'>7031</a>
<a id='n7032' href='#n7032'>7032</a>
<a id='n7033' href='#n7033'>7033</a>
<a id='n7034' href='#n7034'>7034</a>
<a id='n7035' href='#n7035'>7035</a>
<a id='n7036' href='#n7036'>7036</a>
<a id='n7037' href='#n7037'>7037</a>
<a id='n7038' href='#n7038'>7038</a>
<a id='n7039' href='#n7039'>7039</a>
<a id='n7040' href='#n7040'>7040</a>
<a id='n7041' href='#n7041'>7041</a>
<a id='n7042' href='#n7042'>7042</a>
<a id='n7043' href='#n7043'>7043</a>
<a id='n7044' href='#n7044'>7044</a>
<a id='n7045' href='#n7045'>7045</a>
<a id='n7046' href='#n7046'>7046</a>
<a id='n7047' href='#n7047'>7047</a>
<a id='n7048' href='#n7048'>7048</a>
<a id='n7049' href='#n7049'>7049</a>
<a id='n7050' href='#n7050'>7050</a>
<a id='n7051' href='#n7051'>7051</a>
<a id='n7052' href='#n7052'>7052</a>
<a id='n7053' href='#n7053'>7053</a>
<a id='n7054' href='#n7054'>7054</a>
<a id='n7055' href='#n7055'>7055</a>
<a id='n7056' href='#n7056'>7056</a>
<a id='n7057' href='#n7057'>7057</a>
<a id='n7058' href='#n7058'>7058</a>
<a id='n7059' href='#n7059'>7059</a>
<a id='n7060' href='#n7060'>7060</a>
<a id='n7061' href='#n7061'>7061</a>
<a id='n7062' href='#n7062'>7062</a>
<a id='n7063' href='#n7063'>7063</a>
<a id='n7064' href='#n7064'>7064</a>
<a id='n7065' href='#n7065'>7065</a>
<a id='n7066' href='#n7066'>7066</a>
<a id='n7067' href='#n7067'>7067</a>
<a id='n7068' href='#n7068'>7068</a>
<a id='n7069' href='#n7069'>7069</a>
<a id='n7070' href='#n7070'>7070</a>
<a id='n7071' href='#n7071'>7071</a>
<a id='n7072' href='#n7072'>7072</a>
<a id='n7073' href='#n7073'>7073</a>
<a id='n7074' href='#n7074'>7074</a>
<a id='n7075' href='#n7075'>7075</a>
<a id='n7076' href='#n7076'>7076</a>
<a id='n7077' href='#n7077'>7077</a>
<a id='n7078' href='#n7078'>7078</a>
<a id='n7079' href='#n7079'>7079</a>
<a id='n7080' href='#n7080'>7080</a>
<a id='n7081' href='#n7081'>7081</a>
<a id='n7082' href='#n7082'>7082</a>
<a id='n7083' href='#n7083'>7083</a>
<a id='n7084' href='#n7084'>7084</a>
<a id='n7085' href='#n7085'>7085</a>
<a id='n7086' href='#n7086'>7086</a>
<a id='n7087' href='#n7087'>7087</a>
<a id='n7088' href='#n7088'>7088</a>
<a id='n7089' href='#n7089'>7089</a>
<a id='n7090' href='#n7090'>7090</a>
<a id='n7091' href='#n7091'>7091</a>
<a id='n7092' href='#n7092'>7092</a>
<a id='n7093' href='#n7093'>7093</a>
<a id='n7094' href='#n7094'>7094</a>
<a id='n7095' href='#n7095'>7095</a>
<a id='n7096' href='#n7096'>7096</a>
<a id='n7097' href='#n7097'>7097</a>
<a id='n7098' href='#n7098'>7098</a>
<a id='n7099' href='#n7099'>7099</a>
<a id='n7100' href='#n7100'>7100</a>
<a id='n7101' href='#n7101'>7101</a>
<a id='n7102' href='#n7102'>7102</a>
<a id='n7103' href='#n7103'>7103</a>
<a id='n7104' href='#n7104'>7104</a>
<a id='n7105' href='#n7105'>7105</a>
<a id='n7106' href='#n7106'>7106</a>
<a id='n7107' href='#n7107'>7107</a>
<a id='n7108' href='#n7108'>7108</a>
<a id='n7109' href='#n7109'>7109</a>
<a id='n7110' href='#n7110'>7110</a>
<a id='n7111' href='#n7111'>7111</a>
<a id='n7112' href='#n7112'>7112</a>
<a id='n7113' href='#n7113'>7113</a>
<a id='n7114' href='#n7114'>7114</a>
<a id='n7115' href='#n7115'>7115</a>
<a id='n7116' href='#n7116'>7116</a>
<a id='n7117' href='#n7117'>7117</a>
<a id='n7118' href='#n7118'>7118</a>
<a id='n7119' href='#n7119'>7119</a>
<a id='n7120' href='#n7120'>7120</a>
<a id='n7121' href='#n7121'>7121</a>
<a id='n7122' href='#n7122'>7122</a>
<a id='n7123' href='#n7123'>7123</a>
<a id='n7124' href='#n7124'>7124</a>
<a id='n7125' href='#n7125'>7125</a>
<a id='n7126' href='#n7126'>7126</a>
<a id='n7127' href='#n7127'>7127</a>
<a id='n7128' href='#n7128'>7128</a>
<a id='n7129' href='#n7129'>7129</a>
<a id='n7130' href='#n7130'>7130</a>
<a id='n7131' href='#n7131'>7131</a>
<a id='n7132' href='#n7132'>7132</a>
<a id='n7133' href='#n7133'>7133</a>
<a id='n7134' href='#n7134'>7134</a>
<a id='n7135' href='#n7135'>7135</a>
<a id='n7136' href='#n7136'>7136</a>
<a id='n7137' href='#n7137'>7137</a>
<a id='n7138' href='#n7138'>7138</a>
<a id='n7139' href='#n7139'>7139</a>
<a id='n7140' href='#n7140'>7140</a>
<a id='n7141' href='#n7141'>7141</a>
<a id='n7142' href='#n7142'>7142</a>
<a id='n7143' href='#n7143'>7143</a>
<a id='n7144' href='#n7144'>7144</a>
<a id='n7145' href='#n7145'>7145</a>
<a id='n7146' href='#n7146'>7146</a>
<a id='n7147' href='#n7147'>7147</a>
<a id='n7148' href='#n7148'>7148</a>
<a id='n7149' href='#n7149'>7149</a>
<a id='n7150' href='#n7150'>7150</a>
<a id='n7151' href='#n7151'>7151</a>
<a id='n7152' href='#n7152'>7152</a>
<a id='n7153' href='#n7153'>7153</a>
<a id='n7154' href='#n7154'>7154</a>
<a id='n7155' href='#n7155'>7155</a>
<a id='n7156' href='#n7156'>7156</a>
<a id='n7157' href='#n7157'>7157</a>
<a id='n7158' href='#n7158'>7158</a>
<a id='n7159' href='#n7159'>7159</a>
<a id='n7160' href='#n7160'>7160</a>
<a id='n7161' href='#n7161'>7161</a>
<a id='n7162' href='#n7162'>7162</a>
<a id='n7163' href='#n7163'>7163</a>
<a id='n7164' href='#n7164'>7164</a>
<a id='n7165' href='#n7165'>7165</a>
<a id='n7166' href='#n7166'>7166</a>
<a id='n7167' href='#n7167'>7167</a>
<a id='n7168' href='#n7168'>7168</a>
<a id='n7169' href='#n7169'>7169</a>
<a id='n7170' href='#n7170'>7170</a>
<a id='n7171' href='#n7171'>7171</a>
<a id='n7172' href='#n7172'>7172</a>
<a id='n7173' href='#n7173'>7173</a>
<a id='n7174' href='#n7174'>7174</a>
<a id='n7175' href='#n7175'>7175</a>
<a id='n7176' href='#n7176'>7176</a>
<a id='n7177' href='#n7177'>7177</a>
<a id='n7178' href='#n7178'>7178</a>
<a id='n7179' href='#n7179'>7179</a>
<a id='n7180' href='#n7180'>7180</a>
<a id='n7181' href='#n7181'>7181</a>
<a id='n7182' href='#n7182'>7182</a>
<a id='n7183' href='#n7183'>7183</a>
<a id='n7184' href='#n7184'>7184</a>
<a id='n7185' href='#n7185'>7185</a>
<a id='n7186' href='#n7186'>7186</a>
<a id='n7187' href='#n7187'>7187</a>
<a id='n7188' href='#n7188'>7188</a>
<a id='n7189' href='#n7189'>7189</a>
<a id='n7190' href='#n7190'>7190</a>
<a id='n7191' href='#n7191'>7191</a>
<a id='n7192' href='#n7192'>7192</a>
<a id='n7193' href='#n7193'>7193</a>
<a id='n7194' href='#n7194'>7194</a>
<a id='n7195' href='#n7195'>7195</a>
<a id='n7196' href='#n7196'>7196</a>
<a id='n7197' href='#n7197'>7197</a>
<a id='n7198' href='#n7198'>7198</a>
<a id='n7199' href='#n7199'>7199</a>
<a id='n7200' href='#n7200'>7200</a>
<a id='n7201' href='#n7201'>7201</a>
<a id='n7202' href='#n7202'>7202</a>
<a id='n7203' href='#n7203'>7203</a>
<a id='n7204' href='#n7204'>7204</a>
<a id='n7205' href='#n7205'>7205</a>
<a id='n7206' href='#n7206'>7206</a>
<a id='n7207' href='#n7207'>7207</a>
<a id='n7208' href='#n7208'>7208</a>
<a id='n7209' href='#n7209'>7209</a>
<a id='n7210' href='#n7210'>7210</a>
<a id='n7211' href='#n7211'>7211</a>
<a id='n7212' href='#n7212'>7212</a>
<a id='n7213' href='#n7213'>7213</a>
<a id='n7214' href='#n7214'>7214</a>
<a id='n7215' href='#n7215'>7215</a>
<a id='n7216' href='#n7216'>7216</a>
<a id='n7217' href='#n7217'>7217</a>
<a id='n7218' href='#n7218'>7218</a>
<a id='n7219' href='#n7219'>7219</a>
<a id='n7220' href='#n7220'>7220</a>
<a id='n7221' href='#n7221'>7221</a>
<a id='n7222' href='#n7222'>7222</a>
<a id='n7223' href='#n7223'>7223</a>
<a id='n7224' href='#n7224'>7224</a>
<a id='n7225' href='#n7225'>7225</a>
<a id='n7226' href='#n7226'>7226</a>
<a id='n7227' href='#n7227'>7227</a>
<a id='n7228' href='#n7228'>7228</a>
<a id='n7229' href='#n7229'>7229</a>
<a id='n7230' href='#n7230'>7230</a>
<a id='n7231' href='#n7231'>7231</a>
<a id='n7232' href='#n7232'>7232</a>
<a id='n7233' href='#n7233'>7233</a>
<a id='n7234' href='#n7234'>7234</a>
<a id='n7235' href='#n7235'>7235</a>
<a id='n7236' href='#n7236'>7236</a>
<a id='n7237' href='#n7237'>7237</a>
<a id='n7238' href='#n7238'>7238</a>
<a id='n7239' href='#n7239'>7239</a>
<a id='n7240' href='#n7240'>7240</a>
<a id='n7241' href='#n7241'>7241</a>
<a id='n7242' href='#n7242'>7242</a>
<a id='n7243' href='#n7243'>7243</a>
<a id='n7244' href='#n7244'>7244</a>
<a id='n7245' href='#n7245'>7245</a>
<a id='n7246' href='#n7246'>7246</a>
<a id='n7247' href='#n7247'>7247</a>
<a id='n7248' href='#n7248'>7248</a>
<a id='n7249' href='#n7249'>7249</a>
<a id='n7250' href='#n7250'>7250</a>
<a id='n7251' href='#n7251'>7251</a>
<a id='n7252' href='#n7252'>7252</a>
<a id='n7253' href='#n7253'>7253</a>
<a id='n7254' href='#n7254'>7254</a>
<a id='n7255' href='#n7255'>7255</a>
<a id='n7256' href='#n7256'>7256</a>
<a id='n7257' href='#n7257'>7257</a>
<a id='n7258' href='#n7258'>7258</a>
<a id='n7259' href='#n7259'>7259</a>
<a id='n7260' href='#n7260'>7260</a>
<a id='n7261' href='#n7261'>7261</a>
<a id='n7262' href='#n7262'>7262</a>
<a id='n7263' href='#n7263'>7263</a>
<a id='n7264' href='#n7264'>7264</a>
<a id='n7265' href='#n7265'>7265</a>
<a id='n7266' href='#n7266'>7266</a>
<a id='n7267' href='#n7267'>7267</a>
<a id='n7268' href='#n7268'>7268</a>
<a id='n7269' href='#n7269'>7269</a>
<a id='n7270' href='#n7270'>7270</a>
<a id='n7271' href='#n7271'>7271</a>
<a id='n7272' href='#n7272'>7272</a>
<a id='n7273' href='#n7273'>7273</a>
<a id='n7274' href='#n7274'>7274</a>
<a id='n7275' href='#n7275'>7275</a>
<a id='n7276' href='#n7276'>7276</a>
<a id='n7277' href='#n7277'>7277</a>
<a id='n7278' href='#n7278'>7278</a>
<a id='n7279' href='#n7279'>7279</a>
<a id='n7280' href='#n7280'>7280</a>
<a id='n7281' href='#n7281'>7281</a>
<a id='n7282' href='#n7282'>7282</a>
<a id='n7283' href='#n7283'>7283</a>
<a id='n7284' href='#n7284'>7284</a>
<a id='n7285' href='#n7285'>7285</a>
<a id='n7286' href='#n7286'>7286</a>
<a id='n7287' href='#n7287'>7287</a>
<a id='n7288' href='#n7288'>7288</a>
<a id='n7289' href='#n7289'>7289</a>
<a id='n7290' href='#n7290'>7290</a>
<a id='n7291' href='#n7291'>7291</a>
<a id='n7292' href='#n7292'>7292</a>
<a id='n7293' href='#n7293'>7293</a>
<a id='n7294' href='#n7294'>7294</a>
<a id='n7295' href='#n7295'>7295</a>
<a id='n7296' href='#n7296'>7296</a>
<a id='n7297' href='#n7297'>7297</a>
<a id='n7298' href='#n7298'>7298</a>
<a id='n7299' href='#n7299'>7299</a>
<a id='n7300' href='#n7300'>7300</a>
<a id='n7301' href='#n7301'>7301</a>
<a id='n7302' href='#n7302'>7302</a>
<a id='n7303' href='#n7303'>7303</a>
<a id='n7304' href='#n7304'>7304</a>
<a id='n7305' href='#n7305'>7305</a>
<a id='n7306' href='#n7306'>7306</a>
<a id='n7307' href='#n7307'>7307</a>
<a id='n7308' href='#n7308'>7308</a>
<a id='n7309' href='#n7309'>7309</a>
<a id='n7310' href='#n7310'>7310</a>
<a id='n7311' href='#n7311'>7311</a>
<a id='n7312' href='#n7312'>7312</a>
<a id='n7313' href='#n7313'>7313</a>
<a id='n7314' href='#n7314'>7314</a>
<a id='n7315' href='#n7315'>7315</a>
<a id='n7316' href='#n7316'>7316</a>
<a id='n7317' href='#n7317'>7317</a>
<a id='n7318' href='#n7318'>7318</a>
<a id='n7319' href='#n7319'>7319</a>
<a id='n7320' href='#n7320'>7320</a>
<a id='n7321' href='#n7321'>7321</a>
<a id='n7322' href='#n7322'>7322</a>
<a id='n7323' href='#n7323'>7323</a>
<a id='n7324' href='#n7324'>7324</a>
<a id='n7325' href='#n7325'>7325</a>
<a id='n7326' href='#n7326'>7326</a>
<a id='n7327' href='#n7327'>7327</a>
<a id='n7328' href='#n7328'>7328</a>
<a id='n7329' href='#n7329'>7329</a>
<a id='n7330' href='#n7330'>7330</a>
<a id='n7331' href='#n7331'>7331</a>
<a id='n7332' href='#n7332'>7332</a>
<a id='n7333' href='#n7333'>7333</a>
<a id='n7334' href='#n7334'>7334</a>
<a id='n7335' href='#n7335'>7335</a>
<a id='n7336' href='#n7336'>7336</a>
<a id='n7337' href='#n7337'>7337</a>
<a id='n7338' href='#n7338'>7338</a>
<a id='n7339' href='#n7339'>7339</a>
<a id='n7340' href='#n7340'>7340</a>
<a id='n7341' href='#n7341'>7341</a>
<a id='n7342' href='#n7342'>7342</a>
<a id='n7343' href='#n7343'>7343</a>
<a id='n7344' href='#n7344'>7344</a>
<a id='n7345' href='#n7345'>7345</a>
<a id='n7346' href='#n7346'>7346</a>
<a id='n7347' href='#n7347'>7347</a>
<a id='n7348' href='#n7348'>7348</a>
<a id='n7349' href='#n7349'>7349</a>
<a id='n7350' href='#n7350'>7350</a>
<a id='n7351' href='#n7351'>7351</a>
<a id='n7352' href='#n7352'>7352</a>
<a id='n7353' href='#n7353'>7353</a>
<a id='n7354' href='#n7354'>7354</a>
<a id='n7355' href='#n7355'>7355</a>
<a id='n7356' href='#n7356'>7356</a>
<a id='n7357' href='#n7357'>7357</a>
<a id='n7358' href='#n7358'>7358</a>
<a id='n7359' href='#n7359'>7359</a>
<a id='n7360' href='#n7360'>7360</a>
<a id='n7361' href='#n7361'>7361</a>
<a id='n7362' href='#n7362'>7362</a>
<a id='n7363' href='#n7363'>7363</a>
<a id='n7364' href='#n7364'>7364</a>
<a id='n7365' href='#n7365'>7365</a>
<a id='n7366' href='#n7366'>7366</a>
<a id='n7367' href='#n7367'>7367</a>
<a id='n7368' href='#n7368'>7368</a>
<a id='n7369' href='#n7369'>7369</a>
<a id='n7370' href='#n7370'>7370</a>
<a id='n7371' href='#n7371'>7371</a>
<a id='n7372' href='#n7372'>7372</a>
<a id='n7373' href='#n7373'>7373</a>
<a id='n7374' href='#n7374'>7374</a>
<a id='n7375' href='#n7375'>7375</a>
<a id='n7376' href='#n7376'>7376</a>
<a id='n7377' href='#n7377'>7377</a>
<a id='n7378' href='#n7378'>7378</a>
<a id='n7379' href='#n7379'>7379</a>
<a id='n7380' href='#n7380'>7380</a>
<a id='n7381' href='#n7381'>7381</a>
<a id='n7382' href='#n7382'>7382</a>
<a id='n7383' href='#n7383'>7383</a>
<a id='n7384' href='#n7384'>7384</a>
<a id='n7385' href='#n7385'>7385</a>
<a id='n7386' href='#n7386'>7386</a>
<a id='n7387' href='#n7387'>7387</a>
<a id='n7388' href='#n7388'>7388</a>
<a id='n7389' href='#n7389'>7389</a>
<a id='n7390' href='#n7390'>7390</a>
<a id='n7391' href='#n7391'>7391</a>
<a id='n7392' href='#n7392'>7392</a>
<a id='n7393' href='#n7393'>7393</a>
<a id='n7394' href='#n7394'>7394</a>
<a id='n7395' href='#n7395'>7395</a>
<a id='n7396' href='#n7396'>7396</a>
<a id='n7397' href='#n7397'>7397</a>
<a id='n7398' href='#n7398'>7398</a>
<a id='n7399' href='#n7399'>7399</a>
<a id='n7400' href='#n7400'>7400</a>
<a id='n7401' href='#n7401'>7401</a>
<a id='n7402' href='#n7402'>7402</a>
<a id='n7403' href='#n7403'>7403</a>
<a id='n7404' href='#n7404'>7404</a>
<a id='n7405' href='#n7405'>7405</a>
<a id='n7406' href='#n7406'>7406</a>
<a id='n7407' href='#n7407'>7407</a>
<a id='n7408' href='#n7408'>7408</a>
<a id='n7409' href='#n7409'>7409</a>
<a id='n7410' href='#n7410'>7410</a>
<a id='n7411' href='#n7411'>7411</a>
<a id='n7412' href='#n7412'>7412</a>
<a id='n7413' href='#n7413'>7413</a>
<a id='n7414' href='#n7414'>7414</a>
<a id='n7415' href='#n7415'>7415</a>
<a id='n7416' href='#n7416'>7416</a>
<a id='n7417' href='#n7417'>7417</a>
<a id='n7418' href='#n7418'>7418</a>
<a id='n7419' href='#n7419'>7419</a>
<a id='n7420' href='#n7420'>7420</a>
<a id='n7421' href='#n7421'>7421</a>
<a id='n7422' href='#n7422'>7422</a>
<a id='n7423' href='#n7423'>7423</a>
<a id='n7424' href='#n7424'>7424</a>
<a id='n7425' href='#n7425'>7425</a>
<a id='n7426' href='#n7426'>7426</a>
<a id='n7427' href='#n7427'>7427</a>
<a id='n7428' href='#n7428'>7428</a>
<a id='n7429' href='#n7429'>7429</a>
<a id='n7430' href='#n7430'>7430</a>
<a id='n7431' href='#n7431'>7431</a>
<a id='n7432' href='#n7432'>7432</a>
<a id='n7433' href='#n7433'>7433</a>
<a id='n7434' href='#n7434'>7434</a>
<a id='n7435' href='#n7435'>7435</a>
<a id='n7436' href='#n7436'>7436</a>
<a id='n7437' href='#n7437'>7437</a>
<a id='n7438' href='#n7438'>7438</a>
<a id='n7439' href='#n7439'>7439</a>
<a id='n7440' href='#n7440'>7440</a>
<a id='n7441' href='#n7441'>7441</a>
<a id='n7442' href='#n7442'>7442</a>
<a id='n7443' href='#n7443'>7443</a>
<a id='n7444' href='#n7444'>7444</a>
<a id='n7445' href='#n7445'>7445</a>
<a id='n7446' href='#n7446'>7446</a>
<a id='n7447' href='#n7447'>7447</a>
<a id='n7448' href='#n7448'>7448</a>
<a id='n7449' href='#n7449'>7449</a>
<a id='n7450' href='#n7450'>7450</a>
<a id='n7451' href='#n7451'>7451</a>
<a id='n7452' href='#n7452'>7452</a>
<a id='n7453' href='#n7453'>7453</a>
<a id='n7454' href='#n7454'>7454</a>
<a id='n7455' href='#n7455'>7455</a>
<a id='n7456' href='#n7456'>7456</a>
<a id='n7457' href='#n7457'>7457</a>
<a id='n7458' href='#n7458'>7458</a>
<a id='n7459' href='#n7459'>7459</a>
<a id='n7460' href='#n7460'>7460</a>
<a id='n7461' href='#n7461'>7461</a>
<a id='n7462' href='#n7462'>7462</a>
<a id='n7463' href='#n7463'>7463</a>
<a id='n7464' href='#n7464'>7464</a>
<a id='n7465' href='#n7465'>7465</a>
<a id='n7466' href='#n7466'>7466</a>
<a id='n7467' href='#n7467'>7467</a>
<a id='n7468' href='#n7468'>7468</a>
<a id='n7469' href='#n7469'>7469</a>
<a id='n7470' href='#n7470'>7470</a>
<a id='n7471' href='#n7471'>7471</a>
<a id='n7472' href='#n7472'>7472</a>
<a id='n7473' href='#n7473'>7473</a>
<a id='n7474' href='#n7474'>7474</a>
<a id='n7475' href='#n7475'>7475</a>
<a id='n7476' href='#n7476'>7476</a>
<a id='n7477' href='#n7477'>7477</a>
<a id='n7478' href='#n7478'>7478</a>
<a id='n7479' href='#n7479'>7479</a>
<a id='n7480' href='#n7480'>7480</a>
<a id='n7481' href='#n7481'>7481</a>
<a id='n7482' href='#n7482'>7482</a>
<a id='n7483' href='#n7483'>7483</a>
<a id='n7484' href='#n7484'>7484</a>
<a id='n7485' href='#n7485'>7485</a>
<a id='n7486' href='#n7486'>7486</a>
<a id='n7487' href='#n7487'>7487</a>
<a id='n7488' href='#n7488'>7488</a>
<a id='n7489' href='#n7489'>7489</a>
<a id='n7490' href='#n7490'>7490</a>
<a id='n7491' href='#n7491'>7491</a>
<a id='n7492' href='#n7492'>7492</a>
<a id='n7493' href='#n7493'>7493</a>
<a id='n7494' href='#n7494'>7494</a>
<a id='n7495' href='#n7495'>7495</a>
<a id='n7496' href='#n7496'>7496</a>
<a id='n7497' href='#n7497'>7497</a>
<a id='n7498' href='#n7498'>7498</a>
<a id='n7499' href='#n7499'>7499</a>
<a id='n7500' href='#n7500'>7500</a>
<a id='n7501' href='#n7501'>7501</a>
<a id='n7502' href='#n7502'>7502</a>
<a id='n7503' href='#n7503'>7503</a>
<a id='n7504' href='#n7504'>7504</a>
<a id='n7505' href='#n7505'>7505</a>
<a id='n7506' href='#n7506'>7506</a>
<a id='n7507' href='#n7507'>7507</a>
<a id='n7508' href='#n7508'>7508</a>
<a id='n7509' href='#n7509'>7509</a>
<a id='n7510' href='#n7510'>7510</a>
<a id='n7511' href='#n7511'>7511</a>
<a id='n7512' href='#n7512'>7512</a>
<a id='n7513' href='#n7513'>7513</a>
<a id='n7514' href='#n7514'>7514</a>
<a id='n7515' href='#n7515'>7515</a>
<a id='n7516' href='#n7516'>7516</a>
<a id='n7517' href='#n7517'>7517</a>
<a id='n7518' href='#n7518'>7518</a>
<a id='n7519' href='#n7519'>7519</a>
<a id='n7520' href='#n7520'>7520</a>
<a id='n7521' href='#n7521'>7521</a>
<a id='n7522' href='#n7522'>7522</a>
<a id='n7523' href='#n7523'>7523</a>
<a id='n7524' href='#n7524'>7524</a>
<a id='n7525' href='#n7525'>7525</a>
<a id='n7526' href='#n7526'>7526</a>
<a id='n7527' href='#n7527'>7527</a>
<a id='n7528' href='#n7528'>7528</a>
<a id='n7529' href='#n7529'>7529</a>
<a id='n7530' href='#n7530'>7530</a>
<a id='n7531' href='#n7531'>7531</a>
<a id='n7532' href='#n7532'>7532</a>
<a id='n7533' href='#n7533'>7533</a>
<a id='n7534' href='#n7534'>7534</a>
<a id='n7535' href='#n7535'>7535</a>
<a id='n7536' href='#n7536'>7536</a>
<a id='n7537' href='#n7537'>7537</a>
<a id='n7538' href='#n7538'>7538</a>
<a id='n7539' href='#n7539'>7539</a>
<a id='n7540' href='#n7540'>7540</a>
<a id='n7541' href='#n7541'>7541</a>
<a id='n7542' href='#n7542'>7542</a>
<a id='n7543' href='#n7543'>7543</a>
<a id='n7544' href='#n7544'>7544</a>
<a id='n7545' href='#n7545'>7545</a>
<a id='n7546' href='#n7546'>7546</a>
<a id='n7547' href='#n7547'>7547</a>
<a id='n7548' href='#n7548'>7548</a>
<a id='n7549' href='#n7549'>7549</a>
<a id='n7550' href='#n7550'>7550</a>
<a id='n7551' href='#n7551'>7551</a>
<a id='n7552' href='#n7552'>7552</a>
<a id='n7553' href='#n7553'>7553</a>
<a id='n7554' href='#n7554'>7554</a>
<a id='n7555' href='#n7555'>7555</a>
<a id='n7556' href='#n7556'>7556</a>
<a id='n7557' href='#n7557'>7557</a>
<a id='n7558' href='#n7558'>7558</a>
<a id='n7559' href='#n7559'>7559</a>
<a id='n7560' href='#n7560'>7560</a>
<a id='n7561' href='#n7561'>7561</a>
<a id='n7562' href='#n7562'>7562</a>
<a id='n7563' href='#n7563'>7563</a>
<a id='n7564' href='#n7564'>7564</a>
<a id='n7565' href='#n7565'>7565</a>
<a id='n7566' href='#n7566'>7566</a>
<a id='n7567' href='#n7567'>7567</a>
<a id='n7568' href='#n7568'>7568</a>
<a id='n7569' href='#n7569'>7569</a>
<a id='n7570' href='#n7570'>7570</a>
<a id='n7571' href='#n7571'>7571</a>
<a id='n7572' href='#n7572'>7572</a>
<a id='n7573' href='#n7573'>7573</a>
<a id='n7574' href='#n7574'>7574</a>
<a id='n7575' href='#n7575'>7575</a>
<a id='n7576' href='#n7576'>7576</a>
<a id='n7577' href='#n7577'>7577</a>
<a id='n7578' href='#n7578'>7578</a>
<a id='n7579' href='#n7579'>7579</a>
<a id='n7580' href='#n7580'>7580</a>
<a id='n7581' href='#n7581'>7581</a>
<a id='n7582' href='#n7582'>7582</a>
<a id='n7583' href='#n7583'>7583</a>
<a id='n7584' href='#n7584'>7584</a>
<a id='n7585' href='#n7585'>7585</a>
<a id='n7586' href='#n7586'>7586</a>
<a id='n7587' href='#n7587'>7587</a>
<a id='n7588' href='#n7588'>7588</a>
<a id='n7589' href='#n7589'>7589</a>
<a id='n7590' href='#n7590'>7590</a>
<a id='n7591' href='#n7591'>7591</a>
<a id='n7592' href='#n7592'>7592</a>
<a id='n7593' href='#n7593'>7593</a>
<a id='n7594' href='#n7594'>7594</a>
<a id='n7595' href='#n7595'>7595</a>
<a id='n7596' href='#n7596'>7596</a>
<a id='n7597' href='#n7597'>7597</a>
<a id='n7598' href='#n7598'>7598</a>
<a id='n7599' href='#n7599'>7599</a>
<a id='n7600' href='#n7600'>7600</a>
<a id='n7601' href='#n7601'>7601</a>
<a id='n7602' href='#n7602'>7602</a>
<a id='n7603' href='#n7603'>7603</a>
<a id='n7604' href='#n7604'>7604</a>
<a id='n7605' href='#n7605'>7605</a>
<a id='n7606' href='#n7606'>7606</a>
<a id='n7607' href='#n7607'>7607</a>
<a id='n7608' href='#n7608'>7608</a>
<a id='n7609' href='#n7609'>7609</a>
<a id='n7610' href='#n7610'>7610</a>
<a id='n7611' href='#n7611'>7611</a>
<a id='n7612' href='#n7612'>7612</a>
<a id='n7613' href='#n7613'>7613</a>
<a id='n7614' href='#n7614'>7614</a>
<a id='n7615' href='#n7615'>7615</a>
<a id='n7616' href='#n7616'>7616</a>
<a id='n7617' href='#n7617'>7617</a>
<a id='n7618' href='#n7618'>7618</a>
<a id='n7619' href='#n7619'>7619</a>
<a id='n7620' href='#n7620'>7620</a>
<a id='n7621' href='#n7621'>7621</a>
<a id='n7622' href='#n7622'>7622</a>
<a id='n7623' href='#n7623'>7623</a>
<a id='n7624' href='#n7624'>7624</a>
<a id='n7625' href='#n7625'>7625</a>
<a id='n7626' href='#n7626'>7626</a>
<a id='n7627' href='#n7627'>7627</a>
<a id='n7628' href='#n7628'>7628</a>
<a id='n7629' href='#n7629'>7629</a>
<a id='n7630' href='#n7630'>7630</a>
<a id='n7631' href='#n7631'>7631</a>
<a id='n7632' href='#n7632'>7632</a>
<a id='n7633' href='#n7633'>7633</a>
<a id='n7634' href='#n7634'>7634</a>
<a id='n7635' href='#n7635'>7635</a>
<a id='n7636' href='#n7636'>7636</a>
<a id='n7637' href='#n7637'>7637</a>
<a id='n7638' href='#n7638'>7638</a>
<a id='n7639' href='#n7639'>7639</a>
<a id='n7640' href='#n7640'>7640</a>
<a id='n7641' href='#n7641'>7641</a>
<a id='n7642' href='#n7642'>7642</a>
<a id='n7643' href='#n7643'>7643</a>
<a id='n7644' href='#n7644'>7644</a>
<a id='n7645' href='#n7645'>7645</a>
<a id='n7646' href='#n7646'>7646</a>
<a id='n7647' href='#n7647'>7647</a>
<a id='n7648' href='#n7648'>7648</a>
<a id='n7649' href='#n7649'>7649</a>
<a id='n7650' href='#n7650'>7650</a>
<a id='n7651' href='#n7651'>7651</a>
<a id='n7652' href='#n7652'>7652</a>
<a id='n7653' href='#n7653'>7653</a>
<a id='n7654' href='#n7654'>7654</a>
<a id='n7655' href='#n7655'>7655</a>
<a id='n7656' href='#n7656'>7656</a>
<a id='n7657' href='#n7657'>7657</a>
<a id='n7658' href='#n7658'>7658</a>
<a id='n7659' href='#n7659'>7659</a>
<a id='n7660' href='#n7660'>7660</a>
<a id='n7661' href='#n7661'>7661</a>
<a id='n7662' href='#n7662'>7662</a>
<a id='n7663' href='#n7663'>7663</a>
<a id='n7664' href='#n7664'>7664</a>
<a id='n7665' href='#n7665'>7665</a>
<a id='n7666' href='#n7666'>7666</a>
<a id='n7667' href='#n7667'>7667</a>
<a id='n7668' href='#n7668'>7668</a>
<a id='n7669' href='#n7669'>7669</a>
<a id='n7670' href='#n7670'>7670</a>
<a id='n7671' href='#n7671'>7671</a>
<a id='n7672' href='#n7672'>7672</a>
<a id='n7673' href='#n7673'>7673</a>
<a id='n7674' href='#n7674'>7674</a>
<a id='n7675' href='#n7675'>7675</a>
<a id='n7676' href='#n7676'>7676</a>
<a id='n7677' href='#n7677'>7677</a>
<a id='n7678' href='#n7678'>7678</a>
<a id='n7679' href='#n7679'>7679</a>
<a id='n7680' href='#n7680'>7680</a>
<a id='n7681' href='#n7681'>7681</a>
<a id='n7682' href='#n7682'>7682</a>
<a id='n7683' href='#n7683'>7683</a>
<a id='n7684' href='#n7684'>7684</a>
<a id='n7685' href='#n7685'>7685</a>
<a id='n7686' href='#n7686'>7686</a>
<a id='n7687' href='#n7687'>7687</a>
<a id='n7688' href='#n7688'>7688</a>
<a id='n7689' href='#n7689'>7689</a>
<a id='n7690' href='#n7690'>7690</a>
<a id='n7691' href='#n7691'>7691</a>
<a id='n7692' href='#n7692'>7692</a>
<a id='n7693' href='#n7693'>7693</a>
<a id='n7694' href='#n7694'>7694</a>
<a id='n7695' href='#n7695'>7695</a>
<a id='n7696' href='#n7696'>7696</a>
<a id='n7697' href='#n7697'>7697</a>
<a id='n7698' href='#n7698'>7698</a>
<a id='n7699' href='#n7699'>7699</a>
<a id='n7700' href='#n7700'>7700</a>
<a id='n7701' href='#n7701'>7701</a>
<a id='n7702' href='#n7702'>7702</a>
<a id='n7703' href='#n7703'>7703</a>
<a id='n7704' href='#n7704'>7704</a>
<a id='n7705' href='#n7705'>7705</a>
<a id='n7706' href='#n7706'>7706</a>
<a id='n7707' href='#n7707'>7707</a>
<a id='n7708' href='#n7708'>7708</a>
<a id='n7709' href='#n7709'>7709</a>
<a id='n7710' href='#n7710'>7710</a>
<a id='n7711' href='#n7711'>7711</a>
<a id='n7712' href='#n7712'>7712</a>
<a id='n7713' href='#n7713'>7713</a>
<a id='n7714' href='#n7714'>7714</a>
<a id='n7715' href='#n7715'>7715</a>
<a id='n7716' href='#n7716'>7716</a>
<a id='n7717' href='#n7717'>7717</a>
<a id='n7718' href='#n7718'>7718</a>
<a id='n7719' href='#n7719'>7719</a>
<a id='n7720' href='#n7720'>7720</a>
<a id='n7721' href='#n7721'>7721</a>
<a id='n7722' href='#n7722'>7722</a>
<a id='n7723' href='#n7723'>7723</a>
<a id='n7724' href='#n7724'>7724</a>
<a id='n7725' href='#n7725'>7725</a>
<a id='n7726' href='#n7726'>7726</a>
<a id='n7727' href='#n7727'>7727</a>
<a id='n7728' href='#n7728'>7728</a>
<a id='n7729' href='#n7729'>7729</a>
<a id='n7730' href='#n7730'>7730</a>
<a id='n7731' href='#n7731'>7731</a>
<a id='n7732' href='#n7732'>7732</a>
<a id='n7733' href='#n7733'>7733</a>
<a id='n7734' href='#n7734'>7734</a>
<a id='n7735' href='#n7735'>7735</a>
<a id='n7736' href='#n7736'>7736</a>
<a id='n7737' href='#n7737'>7737</a>
<a id='n7738' href='#n7738'>7738</a>
<a id='n7739' href='#n7739'>7739</a>
<a id='n7740' href='#n7740'>7740</a>
<a id='n7741' href='#n7741'>7741</a>
<a id='n7742' href='#n7742'>7742</a>
<a id='n7743' href='#n7743'>7743</a>
<a id='n7744' href='#n7744'>7744</a>
<a id='n7745' href='#n7745'>7745</a>
<a id='n7746' href='#n7746'>7746</a>
<a id='n7747' href='#n7747'>7747</a>
<a id='n7748' href='#n7748'>7748</a>
<a id='n7749' href='#n7749'>7749</a>
<a id='n7750' href='#n7750'>7750</a>
<a id='n7751' href='#n7751'>7751</a>
<a id='n7752' href='#n7752'>7752</a>
<a id='n7753' href='#n7753'>7753</a>
<a id='n7754' href='#n7754'>7754</a>
<a id='n7755' href='#n7755'>7755</a>
<a id='n7756' href='#n7756'>7756</a>
<a id='n7757' href='#n7757'>7757</a>
<a id='n7758' href='#n7758'>7758</a>
<a id='n7759' href='#n7759'>7759</a>
<a id='n7760' href='#n7760'>7760</a>
<a id='n7761' href='#n7761'>7761</a>
<a id='n7762' href='#n7762'>7762</a>
<a id='n7763' href='#n7763'>7763</a>
<a id='n7764' href='#n7764'>7764</a>
<a id='n7765' href='#n7765'>7765</a>
<a id='n7766' href='#n7766'>7766</a>
<a id='n7767' href='#n7767'>7767</a>
<a id='n7768' href='#n7768'>7768</a>
<a id='n7769' href='#n7769'>7769</a>
<a id='n7770' href='#n7770'>7770</a>
<a id='n7771' href='#n7771'>7771</a>
<a id='n7772' href='#n7772'>7772</a>
<a id='n7773' href='#n7773'>7773</a>
<a id='n7774' href='#n7774'>7774</a>
<a id='n7775' href='#n7775'>7775</a>
<a id='n7776' href='#n7776'>7776</a>
<a id='n7777' href='#n7777'>7777</a>
<a id='n7778' href='#n7778'>7778</a>
<a id='n7779' href='#n7779'>7779</a>
<a id='n7780' href='#n7780'>7780</a>
<a id='n7781' href='#n7781'>7781</a>
<a id='n7782' href='#n7782'>7782</a>
<a id='n7783' href='#n7783'>7783</a>
<a id='n7784' href='#n7784'>7784</a>
<a id='n7785' href='#n7785'>7785</a>
<a id='n7786' href='#n7786'>7786</a>
<a id='n7787' href='#n7787'>7787</a>
<a id='n7788' href='#n7788'>7788</a>
<a id='n7789' href='#n7789'>7789</a>
<a id='n7790' href='#n7790'>7790</a>
<a id='n7791' href='#n7791'>7791</a>
<a id='n7792' href='#n7792'>7792</a>
<a id='n7793' href='#n7793'>7793</a>
<a id='n7794' href='#n7794'>7794</a>
<a id='n7795' href='#n7795'>7795</a>
<a id='n7796' href='#n7796'>7796</a>
<a id='n7797' href='#n7797'>7797</a>
<a id='n7798' href='#n7798'>7798</a>
<a id='n7799' href='#n7799'>7799</a>
<a id='n7800' href='#n7800'>7800</a>
<a id='n7801' href='#n7801'>7801</a>
<a id='n7802' href='#n7802'>7802</a>
<a id='n7803' href='#n7803'>7803</a>
<a id='n7804' href='#n7804'>7804</a>
<a id='n7805' href='#n7805'>7805</a>
<a id='n7806' href='#n7806'>7806</a>
<a id='n7807' href='#n7807'>7807</a>
<a id='n7808' href='#n7808'>7808</a>
<a id='n7809' href='#n7809'>7809</a>
<a id='n7810' href='#n7810'>7810</a>
<a id='n7811' href='#n7811'>7811</a>
<a id='n7812' href='#n7812'>7812</a>
<a id='n7813' href='#n7813'>7813</a>
<a id='n7814' href='#n7814'>7814</a>
<a id='n7815' href='#n7815'>7815</a>
<a id='n7816' href='#n7816'>7816</a>
<a id='n7817' href='#n7817'>7817</a>
<a id='n7818' href='#n7818'>7818</a>
<a id='n7819' href='#n7819'>7819</a>
<a id='n7820' href='#n7820'>7820</a>
<a id='n7821' href='#n7821'>7821</a>
<a id='n7822' href='#n7822'>7822</a>
<a id='n7823' href='#n7823'>7823</a>
<a id='n7824' href='#n7824'>7824</a>
<a id='n7825' href='#n7825'>7825</a>
<a id='n7826' href='#n7826'>7826</a>
<a id='n7827' href='#n7827'>7827</a>
<a id='n7828' href='#n7828'>7828</a>
<a id='n7829' href='#n7829'>7829</a>
<a id='n7830' href='#n7830'>7830</a>
<a id='n7831' href='#n7831'>7831</a>
<a id='n7832' href='#n7832'>7832</a>
<a id='n7833' href='#n7833'>7833</a>
<a id='n7834' href='#n7834'>7834</a>
<a id='n7835' href='#n7835'>7835</a>
<a id='n7836' href='#n7836'>7836</a>
<a id='n7837' href='#n7837'>7837</a>
<a id='n7838' href='#n7838'>7838</a>
<a id='n7839' href='#n7839'>7839</a>
<a id='n7840' href='#n7840'>7840</a>
<a id='n7841' href='#n7841'>7841</a>
<a id='n7842' href='#n7842'>7842</a>
<a id='n7843' href='#n7843'>7843</a>
<a id='n7844' href='#n7844'>7844</a>
<a id='n7845' href='#n7845'>7845</a>
<a id='n7846' href='#n7846'>7846</a>
<a id='n7847' href='#n7847'>7847</a>
<a id='n7848' href='#n7848'>7848</a>
<a id='n7849' href='#n7849'>7849</a>
<a id='n7850' href='#n7850'>7850</a>
<a id='n7851' href='#n7851'>7851</a>
<a id='n7852' href='#n7852'>7852</a>
<a id='n7853' href='#n7853'>7853</a>
<a id='n7854' href='#n7854'>7854</a>
<a id='n7855' href='#n7855'>7855</a>
<a id='n7856' href='#n7856'>7856</a>
<a id='n7857' href='#n7857'>7857</a>
<a id='n7858' href='#n7858'>7858</a>
<a id='n7859' href='#n7859'>7859</a>
<a id='n7860' href='#n7860'>7860</a>
<a id='n7861' href='#n7861'>7861</a>
<a id='n7862' href='#n7862'>7862</a>
<a id='n7863' href='#n7863'>7863</a>
<a id='n7864' href='#n7864'>7864</a>
<a id='n7865' href='#n7865'>7865</a>
<a id='n7866' href='#n7866'>7866</a>
<a id='n7867' href='#n7867'>7867</a>
<a id='n7868' href='#n7868'>7868</a>
<a id='n7869' href='#n7869'>7869</a>
<a id='n7870' href='#n7870'>7870</a>
<a id='n7871' href='#n7871'>7871</a>
<a id='n7872' href='#n7872'>7872</a>
<a id='n7873' href='#n7873'>7873</a>
<a id='n7874' href='#n7874'>7874</a>
<a id='n7875' href='#n7875'>7875</a>
<a id='n7876' href='#n7876'>7876</a>
<a id='n7877' href='#n7877'>7877</a>
<a id='n7878' href='#n7878'>7878</a>
<a id='n7879' href='#n7879'>7879</a>
<a id='n7880' href='#n7880'>7880</a>
<a id='n7881' href='#n7881'>7881</a>
<a id='n7882' href='#n7882'>7882</a>
<a id='n7883' href='#n7883'>7883</a>
<a id='n7884' href='#n7884'>7884</a>
<a id='n7885' href='#n7885'>7885</a>
<a id='n7886' href='#n7886'>7886</a>
<a id='n7887' href='#n7887'>7887</a>
<a id='n7888' href='#n7888'>7888</a>
<a id='n7889' href='#n7889'>7889</a>
<a id='n7890' href='#n7890'>7890</a>
<a id='n7891' href='#n7891'>7891</a>
<a id='n7892' href='#n7892'>7892</a>
<a id='n7893' href='#n7893'>7893</a>
<a id='n7894' href='#n7894'>7894</a>
<a id='n7895' href='#n7895'>7895</a>
<a id='n7896' href='#n7896'>7896</a>
<a id='n7897' href='#n7897'>7897</a>
<a id='n7898' href='#n7898'>7898</a>
<a id='n7899' href='#n7899'>7899</a>
<a id='n7900' href='#n7900'>7900</a>
<a id='n7901' href='#n7901'>7901</a>
<a id='n7902' href='#n7902'>7902</a>
<a id='n7903' href='#n7903'>7903</a>
<a id='n7904' href='#n7904'>7904</a>
<a id='n7905' href='#n7905'>7905</a>
<a id='n7906' href='#n7906'>7906</a>
<a id='n7907' href='#n7907'>7907</a>
<a id='n7908' href='#n7908'>7908</a>
<a id='n7909' href='#n7909'>7909</a>
<a id='n7910' href='#n7910'>7910</a>
<a id='n7911' href='#n7911'>7911</a>
<a id='n7912' href='#n7912'>7912</a>
<a id='n7913' href='#n7913'>7913</a>
<a id='n7914' href='#n7914'>7914</a>
<a id='n7915' href='#n7915'>7915</a>
<a id='n7916' href='#n7916'>7916</a>
<a id='n7917' href='#n7917'>7917</a>
<a id='n7918' href='#n7918'>7918</a>
<a id='n7919' href='#n7919'>7919</a>
<a id='n7920' href='#n7920'>7920</a>
<a id='n7921' href='#n7921'>7921</a>
<a id='n7922' href='#n7922'>7922</a>
<a id='n7923' href='#n7923'>7923</a>
<a id='n7924' href='#n7924'>7924</a>
<a id='n7925' href='#n7925'>7925</a>
<a id='n7926' href='#n7926'>7926</a>
<a id='n7927' href='#n7927'>7927</a>
<a id='n7928' href='#n7928'>7928</a>
<a id='n7929' href='#n7929'>7929</a>
<a id='n7930' href='#n7930'>7930</a>
<a id='n7931' href='#n7931'>7931</a>
<a id='n7932' href='#n7932'>7932</a>
<a id='n7933' href='#n7933'>7933</a>
<a id='n7934' href='#n7934'>7934</a>
<a id='n7935' href='#n7935'>7935</a>
<a id='n7936' href='#n7936'>7936</a>
<a id='n7937' href='#n7937'>7937</a>
<a id='n7938' href='#n7938'>7938</a>
<a id='n7939' href='#n7939'>7939</a>
<a id='n7940' href='#n7940'>7940</a>
<a id='n7941' href='#n7941'>7941</a>
<a id='n7942' href='#n7942'>7942</a>
<a id='n7943' href='#n7943'>7943</a>
<a id='n7944' href='#n7944'>7944</a>
<a id='n7945' href='#n7945'>7945</a>
<a id='n7946' href='#n7946'>7946</a>
<a id='n7947' href='#n7947'>7947</a>
<a id='n7948' href='#n7948'>7948</a>
<a id='n7949' href='#n7949'>7949</a>
<a id='n7950' href='#n7950'>7950</a>
<a id='n7951' href='#n7951'>7951</a>
<a id='n7952' href='#n7952'>7952</a>
<a id='n7953' href='#n7953'>7953</a>
<a id='n7954' href='#n7954'>7954</a>
<a id='n7955' href='#n7955'>7955</a>
<a id='n7956' href='#n7956'>7956</a>
<a id='n7957' href='#n7957'>7957</a>
<a id='n7958' href='#n7958'>7958</a>
<a id='n7959' href='#n7959'>7959</a>
<a id='n7960' href='#n7960'>7960</a>
<a id='n7961' href='#n7961'>7961</a>
<a id='n7962' href='#n7962'>7962</a>
<a id='n7963' href='#n7963'>7963</a>
<a id='n7964' href='#n7964'>7964</a>
<a id='n7965' href='#n7965'>7965</a>
<a id='n7966' href='#n7966'>7966</a>
<a id='n7967' href='#n7967'>7967</a>
<a id='n7968' href='#n7968'>7968</a>
<a id='n7969' href='#n7969'>7969</a>
<a id='n7970' href='#n7970'>7970</a>
<a id='n7971' href='#n7971'>7971</a>
<a id='n7972' href='#n7972'>7972</a>
<a id='n7973' href='#n7973'>7973</a>
<a id='n7974' href='#n7974'>7974</a>
<a id='n7975' href='#n7975'>7975</a>
<a id='n7976' href='#n7976'>7976</a>
<a id='n7977' href='#n7977'>7977</a>
<a id='n7978' href='#n7978'>7978</a>
<a id='n7979' href='#n7979'>7979</a>
<a id='n7980' href='#n7980'>7980</a>
<a id='n7981' href='#n7981'>7981</a>
<a id='n7982' href='#n7982'>7982</a>
<a id='n7983' href='#n7983'>7983</a>
<a id='n7984' href='#n7984'>7984</a>
<a id='n7985' href='#n7985'>7985</a>
<a id='n7986' href='#n7986'>7986</a>
<a id='n7987' href='#n7987'>7987</a>
<a id='n7988' href='#n7988'>7988</a>
<a id='n7989' href='#n7989'>7989</a>
<a id='n7990' href='#n7990'>7990</a>
<a id='n7991' href='#n7991'>7991</a>
<a id='n7992' href='#n7992'>7992</a>
<a id='n7993' href='#n7993'>7993</a>
<a id='n7994' href='#n7994'>7994</a>
<a id='n7995' href='#n7995'>7995</a>
<a id='n7996' href='#n7996'>7996</a>
<a id='n7997' href='#n7997'>7997</a>
<a id='n7998' href='#n7998'>7998</a>
<a id='n7999' href='#n7999'>7999</a>
<a id='n8000' href='#n8000'>8000</a>
<a id='n8001' href='#n8001'>8001</a>
<a id='n8002' href='#n8002'>8002</a>
<a id='n8003' href='#n8003'>8003</a>
<a id='n8004' href='#n8004'>8004</a>
<a id='n8005' href='#n8005'>8005</a>
<a id='n8006' href='#n8006'>8006</a>
<a id='n8007' href='#n8007'>8007</a>
<a id='n8008' href='#n8008'>8008</a>
<a id='n8009' href='#n8009'>8009</a>
<a id='n8010' href='#n8010'>8010</a>
<a id='n8011' href='#n8011'>8011</a>
<a id='n8012' href='#n8012'>8012</a>
<a id='n8013' href='#n8013'>8013</a>
<a id='n8014' href='#n8014'>8014</a>
<a id='n8015' href='#n8015'>8015</a>
<a id='n8016' href='#n8016'>8016</a>
<a id='n8017' href='#n8017'>8017</a>
<a id='n8018' href='#n8018'>8018</a>
<a id='n8019' href='#n8019'>8019</a>
<a id='n8020' href='#n8020'>8020</a>
<a id='n8021' href='#n8021'>8021</a>
<a id='n8022' href='#n8022'>8022</a>
<a id='n8023' href='#n8023'>8023</a>
<a id='n8024' href='#n8024'>8024</a>
<a id='n8025' href='#n8025'>8025</a>
<a id='n8026' href='#n8026'>8026</a>
<a id='n8027' href='#n8027'>8027</a>
<a id='n8028' href='#n8028'>8028</a>
<a id='n8029' href='#n8029'>8029</a>
<a id='n8030' href='#n8030'>8030</a>
<a id='n8031' href='#n8031'>8031</a>
<a id='n8032' href='#n8032'>8032</a>
<a id='n8033' href='#n8033'>8033</a>
<a id='n8034' href='#n8034'>8034</a>
<a id='n8035' href='#n8035'>8035</a>
<a id='n8036' href='#n8036'>8036</a>
<a id='n8037' href='#n8037'>8037</a>
<a id='n8038' href='#n8038'>8038</a>
<a id='n8039' href='#n8039'>8039</a>
<a id='n8040' href='#n8040'>8040</a>
<a id='n8041' href='#n8041'>8041</a>
<a id='n8042' href='#n8042'>8042</a>
<a id='n8043' href='#n8043'>8043</a>
<a id='n8044' href='#n8044'>8044</a>
<a id='n8045' href='#n8045'>8045</a>
<a id='n8046' href='#n8046'>8046</a>
<a id='n8047' href='#n8047'>8047</a>
<a id='n8048' href='#n8048'>8048</a>
<a id='n8049' href='#n8049'>8049</a>
<a id='n8050' href='#n8050'>8050</a>
<a id='n8051' href='#n8051'>8051</a>
<a id='n8052' href='#n8052'>8052</a>
<a id='n8053' href='#n8053'>8053</a>
<a id='n8054' href='#n8054'>8054</a>
<a id='n8055' href='#n8055'>8055</a>
<a id='n8056' href='#n8056'>8056</a>
<a id='n8057' href='#n8057'>8057</a>
<a id='n8058' href='#n8058'>8058</a>
<a id='n8059' href='#n8059'>8059</a>
<a id='n8060' href='#n8060'>8060</a>
<a id='n8061' href='#n8061'>8061</a>
<a id='n8062' href='#n8062'>8062</a>
<a id='n8063' href='#n8063'>8063</a>
<a id='n8064' href='#n8064'>8064</a>
<a id='n8065' href='#n8065'>8065</a>
<a id='n8066' href='#n8066'>8066</a>
<a id='n8067' href='#n8067'>8067</a>
<a id='n8068' href='#n8068'>8068</a>
<a id='n8069' href='#n8069'>8069</a>
<a id='n8070' href='#n8070'>8070</a>
<a id='n8071' href='#n8071'>8071</a>
<a id='n8072' href='#n8072'>8072</a>
<a id='n8073' href='#n8073'>8073</a>
<a id='n8074' href='#n8074'>8074</a>
<a id='n8075' href='#n8075'>8075</a>
<a id='n8076' href='#n8076'>8076</a>
<a id='n8077' href='#n8077'>8077</a>
<a id='n8078' href='#n8078'>8078</a>
<a id='n8079' href='#n8079'>8079</a>
<a id='n8080' href='#n8080'>8080</a>
<a id='n8081' href='#n8081'>8081</a>
<a id='n8082' href='#n8082'>8082</a>
<a id='n8083' href='#n8083'>8083</a>
<a id='n8084' href='#n8084'>8084</a>
<a id='n8085' href='#n8085'>8085</a>
<a id='n8086' href='#n8086'>8086</a>
<a id='n8087' href='#n8087'>8087</a>
<a id='n8088' href='#n8088'>8088</a>
<a id='n8089' href='#n8089'>8089</a>
<a id='n8090' href='#n8090'>8090</a>
<a id='n8091' href='#n8091'>8091</a>
<a id='n8092' href='#n8092'>8092</a>
<a id='n8093' href='#n8093'>8093</a>
<a id='n8094' href='#n8094'>8094</a>
<a id='n8095' href='#n8095'>8095</a>
<a id='n8096' href='#n8096'>8096</a>
<a id='n8097' href='#n8097'>8097</a>
<a id='n8098' href='#n8098'>8098</a>
<a id='n8099' href='#n8099'>8099</a>
<a id='n8100' href='#n8100'>8100</a>
<a id='n8101' href='#n8101'>8101</a>
<a id='n8102' href='#n8102'>8102</a>
<a id='n8103' href='#n8103'>8103</a>
<a id='n8104' href='#n8104'>8104</a>
<a id='n8105' href='#n8105'>8105</a>
<a id='n8106' href='#n8106'>8106</a>
<a id='n8107' href='#n8107'>8107</a>
<a id='n8108' href='#n8108'>8108</a>
<a id='n8109' href='#n8109'>8109</a>
<a id='n8110' href='#n8110'>8110</a>
<a id='n8111' href='#n8111'>8111</a>
<a id='n8112' href='#n8112'>8112</a>
<a id='n8113' href='#n8113'>8113</a>
<a id='n8114' href='#n8114'>8114</a>
<a id='n8115' href='#n8115'>8115</a>
<a id='n8116' href='#n8116'>8116</a>
<a id='n8117' href='#n8117'>8117</a>
<a id='n8118' href='#n8118'>8118</a>
<a id='n8119' href='#n8119'>8119</a>
<a id='n8120' href='#n8120'>8120</a>
<a id='n8121' href='#n8121'>8121</a>
<a id='n8122' href='#n8122'>8122</a>
<a id='n8123' href='#n8123'>8123</a>
<a id='n8124' href='#n8124'>8124</a>
<a id='n8125' href='#n8125'>8125</a>
<a id='n8126' href='#n8126'>8126</a>
<a id='n8127' href='#n8127'>8127</a>
<a id='n8128' href='#n8128'>8128</a>
<a id='n8129' href='#n8129'>8129</a>
<a id='n8130' href='#n8130'>8130</a>
<a id='n8131' href='#n8131'>8131</a>
<a id='n8132' href='#n8132'>8132</a>
<a id='n8133' href='#n8133'>8133</a>
<a id='n8134' href='#n8134'>8134</a>
<a id='n8135' href='#n8135'>8135</a>
<a id='n8136' href='#n8136'>8136</a>
<a id='n8137' href='#n8137'>8137</a>
<a id='n8138' href='#n8138'>8138</a>
<a id='n8139' href='#n8139'>8139</a>
<a id='n8140' href='#n8140'>8140</a>
<a id='n8141' href='#n8141'>8141</a>
<a id='n8142' href='#n8142'>8142</a>
<a id='n8143' href='#n8143'>8143</a>
<a id='n8144' href='#n8144'>8144</a>
<a id='n8145' href='#n8145'>8145</a>
<a id='n8146' href='#n8146'>8146</a>
<a id='n8147' href='#n8147'>8147</a>
<a id='n8148' href='#n8148'>8148</a>
<a id='n8149' href='#n8149'>8149</a>
<a id='n8150' href='#n8150'>8150</a>
<a id='n8151' href='#n8151'>8151</a>
<a id='n8152' href='#n8152'>8152</a>
<a id='n8153' href='#n8153'>8153</a>
<a id='n8154' href='#n8154'>8154</a>
<a id='n8155' href='#n8155'>8155</a>
<a id='n8156' href='#n8156'>8156</a>
<a id='n8157' href='#n8157'>8157</a>
<a id='n8158' href='#n8158'>8158</a>
<a id='n8159' href='#n8159'>8159</a>
<a id='n8160' href='#n8160'>8160</a>
<a id='n8161' href='#n8161'>8161</a>
<a id='n8162' href='#n8162'>8162</a>
<a id='n8163' href='#n8163'>8163</a>
<a id='n8164' href='#n8164'>8164</a>
<a id='n8165' href='#n8165'>8165</a>
<a id='n8166' href='#n8166'>8166</a>
<a id='n8167' href='#n8167'>8167</a>
<a id='n8168' href='#n8168'>8168</a>
<a id='n8169' href='#n8169'>8169</a>
<a id='n8170' href='#n8170'>8170</a>
<a id='n8171' href='#n8171'>8171</a>
<a id='n8172' href='#n8172'>8172</a>
<a id='n8173' href='#n8173'>8173</a>
<a id='n8174' href='#n8174'>8174</a>
<a id='n8175' href='#n8175'>8175</a>
<a id='n8176' href='#n8176'>8176</a>
<a id='n8177' href='#n8177'>8177</a>
<a id='n8178' href='#n8178'>8178</a>
<a id='n8179' href='#n8179'>8179</a>
<a id='n8180' href='#n8180'>8180</a>
<a id='n8181' href='#n8181'>8181</a>
<a id='n8182' href='#n8182'>8182</a>
<a id='n8183' href='#n8183'>8183</a>
<a id='n8184' href='#n8184'>8184</a>
<a id='n8185' href='#n8185'>8185</a>
<a id='n8186' href='#n8186'>8186</a>
<a id='n8187' href='#n8187'>8187</a>
<a id='n8188' href='#n8188'>8188</a>
<a id='n8189' href='#n8189'>8189</a>
<a id='n8190' href='#n8190'>8190</a>
<a id='n8191' href='#n8191'>8191</a>
<a id='n8192' href='#n8192'>8192</a>
<a id='n8193' href='#n8193'>8193</a>
<a id='n8194' href='#n8194'>8194</a>
<a id='n8195' href='#n8195'>8195</a>
<a id='n8196' href='#n8196'>8196</a>
<a id='n8197' href='#n8197'>8197</a>
<a id='n8198' href='#n8198'>8198</a>
<a id='n8199' href='#n8199'>8199</a>
<a id='n8200' href='#n8200'>8200</a>
<a id='n8201' href='#n8201'>8201</a>
<a id='n8202' href='#n8202'>8202</a>
<a id='n8203' href='#n8203'>8203</a>
<a id='n8204' href='#n8204'>8204</a>
<a id='n8205' href='#n8205'>8205</a>
<a id='n8206' href='#n8206'>8206</a>
<a id='n8207' href='#n8207'>8207</a>
<a id='n8208' href='#n8208'>8208</a>
<a id='n8209' href='#n8209'>8209</a>
<a id='n8210' href='#n8210'>8210</a>
<a id='n8211' href='#n8211'>8211</a>
<a id='n8212' href='#n8212'>8212</a>
<a id='n8213' href='#n8213'>8213</a>
<a id='n8214' href='#n8214'>8214</a>
<a id='n8215' href='#n8215'>8215</a>
<a id='n8216' href='#n8216'>8216</a>
<a id='n8217' href='#n8217'>8217</a>
<a id='n8218' href='#n8218'>8218</a>
<a id='n8219' href='#n8219'>8219</a>
<a id='n8220' href='#n8220'>8220</a>
<a id='n8221' href='#n8221'>8221</a>
<a id='n8222' href='#n8222'>8222</a>
<a id='n8223' href='#n8223'>8223</a>
<a id='n8224' href='#n8224'>8224</a>
<a id='n8225' href='#n8225'>8225</a>
<a id='n8226' href='#n8226'>8226</a>
<a id='n8227' href='#n8227'>8227</a>
<a id='n8228' href='#n8228'>8228</a>
<a id='n8229' href='#n8229'>8229</a>
<a id='n8230' href='#n8230'>8230</a>
<a id='n8231' href='#n8231'>8231</a>
<a id='n8232' href='#n8232'>8232</a>
<a id='n8233' href='#n8233'>8233</a>
<a id='n8234' href='#n8234'>8234</a>
<a id='n8235' href='#n8235'>8235</a>
<a id='n8236' href='#n8236'>8236</a>
<a id='n8237' href='#n8237'>8237</a>
<a id='n8238' href='#n8238'>8238</a>
<a id='n8239' href='#n8239'>8239</a>
<a id='n8240' href='#n8240'>8240</a>
<a id='n8241' href='#n8241'>8241</a>
<a id='n8242' href='#n8242'>8242</a>
<a id='n8243' href='#n8243'>8243</a>
<a id='n8244' href='#n8244'>8244</a>
<a id='n8245' href='#n8245'>8245</a>
<a id='n8246' href='#n8246'>8246</a>
<a id='n8247' href='#n8247'>8247</a>
<a id='n8248' href='#n8248'>8248</a>
<a id='n8249' href='#n8249'>8249</a>
<a id='n8250' href='#n8250'>8250</a>
<a id='n8251' href='#n8251'>8251</a>
<a id='n8252' href='#n8252'>8252</a>
<a id='n8253' href='#n8253'>8253</a>
<a id='n8254' href='#n8254'>8254</a>
<a id='n8255' href='#n8255'>8255</a>
<a id='n8256' href='#n8256'>8256</a>
<a id='n8257' href='#n8257'>8257</a>
<a id='n8258' href='#n8258'>8258</a>
<a id='n8259' href='#n8259'>8259</a>
<a id='n8260' href='#n8260'>8260</a>
<a id='n8261' href='#n8261'>8261</a>
<a id='n8262' href='#n8262'>8262</a>
<a id='n8263' href='#n8263'>8263</a>
<a id='n8264' href='#n8264'>8264</a>
<a id='n8265' href='#n8265'>8265</a>
<a id='n8266' href='#n8266'>8266</a>
<a id='n8267' href='#n8267'>8267</a>
<a id='n8268' href='#n8268'>8268</a>
<a id='n8269' href='#n8269'>8269</a>
<a id='n8270' href='#n8270'>8270</a>
<a id='n8271' href='#n8271'>8271</a>
<a id='n8272' href='#n8272'>8272</a>
<a id='n8273' href='#n8273'>8273</a>
<a id='n8274' href='#n8274'>8274</a>
<a id='n8275' href='#n8275'>8275</a>
<a id='n8276' href='#n8276'>8276</a>
<a id='n8277' href='#n8277'>8277</a>
<a id='n8278' href='#n8278'>8278</a>
<a id='n8279' href='#n8279'>8279</a>
<a id='n8280' href='#n8280'>8280</a>
<a id='n8281' href='#n8281'>8281</a>
<a id='n8282' href='#n8282'>8282</a>
<a id='n8283' href='#n8283'>8283</a>
<a id='n8284' href='#n8284'>8284</a>
<a id='n8285' href='#n8285'>8285</a>
<a id='n8286' href='#n8286'>8286</a>
<a id='n8287' href='#n8287'>8287</a>
<a id='n8288' href='#n8288'>8288</a>
<a id='n8289' href='#n8289'>8289</a>
<a id='n8290' href='#n8290'>8290</a>
<a id='n8291' href='#n8291'>8291</a>
<a id='n8292' href='#n8292'>8292</a>
<a id='n8293' href='#n8293'>8293</a>
<a id='n8294' href='#n8294'>8294</a>
<a id='n8295' href='#n8295'>8295</a>
<a id='n8296' href='#n8296'>8296</a>
<a id='n8297' href='#n8297'>8297</a>
<a id='n8298' href='#n8298'>8298</a>
<a id='n8299' href='#n8299'>8299</a>
<a id='n8300' href='#n8300'>8300</a>
<a id='n8301' href='#n8301'>8301</a>
<a id='n8302' href='#n8302'>8302</a>
<a id='n8303' href='#n8303'>8303</a>
<a id='n8304' href='#n8304'>8304</a>
<a id='n8305' href='#n8305'>8305</a>
<a id='n8306' href='#n8306'>8306</a>
<a id='n8307' href='#n8307'>8307</a>
<a id='n8308' href='#n8308'>8308</a>
<a id='n8309' href='#n8309'>8309</a>
<a id='n8310' href='#n8310'>8310</a>
<a id='n8311' href='#n8311'>8311</a>
<a id='n8312' href='#n8312'>8312</a>
<a id='n8313' href='#n8313'>8313</a>
<a id='n8314' href='#n8314'>8314</a>
<a id='n8315' href='#n8315'>8315</a>
<a id='n8316' href='#n8316'>8316</a>
<a id='n8317' href='#n8317'>8317</a>
<a id='n8318' href='#n8318'>8318</a>
<a id='n8319' href='#n8319'>8319</a>
<a id='n8320' href='#n8320'>8320</a>
<a id='n8321' href='#n8321'>8321</a>
<a id='n8322' href='#n8322'>8322</a>
<a id='n8323' href='#n8323'>8323</a>
<a id='n8324' href='#n8324'>8324</a>
<a id='n8325' href='#n8325'>8325</a>
<a id='n8326' href='#n8326'>8326</a>
<a id='n8327' href='#n8327'>8327</a>
<a id='n8328' href='#n8328'>8328</a>
<a id='n8329' href='#n8329'>8329</a>
<a id='n8330' href='#n8330'>8330</a>
<a id='n8331' href='#n8331'>8331</a>
<a id='n8332' href='#n8332'>8332</a>
<a id='n8333' href='#n8333'>8333</a>
<a id='n8334' href='#n8334'>8334</a>
<a id='n8335' href='#n8335'>8335</a>
<a id='n8336' href='#n8336'>8336</a>
<a id='n8337' href='#n8337'>8337</a>
<a id='n8338' href='#n8338'>8338</a>
<a id='n8339' href='#n8339'>8339</a>
<a id='n8340' href='#n8340'>8340</a>
<a id='n8341' href='#n8341'>8341</a>
<a id='n8342' href='#n8342'>8342</a>
<a id='n8343' href='#n8343'>8343</a>
<a id='n8344' href='#n8344'>8344</a>
<a id='n8345' href='#n8345'>8345</a>
<a id='n8346' href='#n8346'>8346</a>
<a id='n8347' href='#n8347'>8347</a>
<a id='n8348' href='#n8348'>8348</a>
<a id='n8349' href='#n8349'>8349</a>
<a id='n8350' href='#n8350'>8350</a>
<a id='n8351' href='#n8351'>8351</a>
<a id='n8352' href='#n8352'>8352</a>
<a id='n8353' href='#n8353'>8353</a>
<a id='n8354' href='#n8354'>8354</a>
<a id='n8355' href='#n8355'>8355</a>
<a id='n8356' href='#n8356'>8356</a>
<a id='n8357' href='#n8357'>8357</a>
<a id='n8358' href='#n8358'>8358</a>
<a id='n8359' href='#n8359'>8359</a>
<a id='n8360' href='#n8360'>8360</a>
<a id='n8361' href='#n8361'>8361</a>
<a id='n8362' href='#n8362'>8362</a>
<a id='n8363' href='#n8363'>8363</a>
<a id='n8364' href='#n8364'>8364</a>
<a id='n8365' href='#n8365'>8365</a>
<a id='n8366' href='#n8366'>8366</a>
<a id='n8367' href='#n8367'>8367</a>
<a id='n8368' href='#n8368'>8368</a>
<a id='n8369' href='#n8369'>8369</a>
<a id='n8370' href='#n8370'>8370</a>
<a id='n8371' href='#n8371'>8371</a>
<a id='n8372' href='#n8372'>8372</a>
<a id='n8373' href='#n8373'>8373</a>
<a id='n8374' href='#n8374'>8374</a>
<a id='n8375' href='#n8375'>8375</a>
<a id='n8376' href='#n8376'>8376</a>
<a id='n8377' href='#n8377'>8377</a>
<a id='n8378' href='#n8378'>8378</a>
<a id='n8379' href='#n8379'>8379</a>
<a id='n8380' href='#n8380'>8380</a>
<a id='n8381' href='#n8381'>8381</a>
<a id='n8382' href='#n8382'>8382</a>
<a id='n8383' href='#n8383'>8383</a>
<a id='n8384' href='#n8384'>8384</a>
<a id='n8385' href='#n8385'>8385</a>
<a id='n8386' href='#n8386'>8386</a>
<a id='n8387' href='#n8387'>8387</a>
<a id='n8388' href='#n8388'>8388</a>
<a id='n8389' href='#n8389'>8389</a>
<a id='n8390' href='#n8390'>8390</a>
<a id='n8391' href='#n8391'>8391</a>
<a id='n8392' href='#n8392'>8392</a>
<a id='n8393' href='#n8393'>8393</a>
<a id='n8394' href='#n8394'>8394</a>
<a id='n8395' href='#n8395'>8395</a>
<a id='n8396' href='#n8396'>8396</a>
<a id='n8397' href='#n8397'>8397</a>
<a id='n8398' href='#n8398'>8398</a>
<a id='n8399' href='#n8399'>8399</a>
<a id='n8400' href='#n8400'>8400</a>
<a id='n8401' href='#n8401'>8401</a>
<a id='n8402' href='#n8402'>8402</a>
<a id='n8403' href='#n8403'>8403</a>
<a id='n8404' href='#n8404'>8404</a>
<a id='n8405' href='#n8405'>8405</a>
<a id='n8406' href='#n8406'>8406</a>
<a id='n8407' href='#n8407'>8407</a>
<a id='n8408' href='#n8408'>8408</a>
<a id='n8409' href='#n8409'>8409</a>
<a id='n8410' href='#n8410'>8410</a>
<a id='n8411' href='#n8411'>8411</a>
<a id='n8412' href='#n8412'>8412</a>
<a id='n8413' href='#n8413'>8413</a>
<a id='n8414' href='#n8414'>8414</a>
<a id='n8415' href='#n8415'>8415</a>
<a id='n8416' href='#n8416'>8416</a>
<a id='n8417' href='#n8417'>8417</a>
<a id='n8418' href='#n8418'>8418</a>
<a id='n8419' href='#n8419'>8419</a>
<a id='n8420' href='#n8420'>8420</a>
<a id='n8421' href='#n8421'>8421</a>
<a id='n8422' href='#n8422'>8422</a>
<a id='n8423' href='#n8423'>8423</a>
<a id='n8424' href='#n8424'>8424</a>
<a id='n8425' href='#n8425'>8425</a>
<a id='n8426' href='#n8426'>8426</a>
<a id='n8427' href='#n8427'>8427</a>
<a id='n8428' href='#n8428'>8428</a>
<a id='n8429' href='#n8429'>8429</a>
<a id='n8430' href='#n8430'>8430</a>
<a id='n8431' href='#n8431'>8431</a>
<a id='n8432' href='#n8432'>8432</a>
<a id='n8433' href='#n8433'>8433</a>
<a id='n8434' href='#n8434'>8434</a>
<a id='n8435' href='#n8435'>8435</a>
<a id='n8436' href='#n8436'>8436</a>
<a id='n8437' href='#n8437'>8437</a>
<a id='n8438' href='#n8438'>8438</a>
<a id='n8439' href='#n8439'>8439</a>
<a id='n8440' href='#n8440'>8440</a>
<a id='n8441' href='#n8441'>8441</a>
<a id='n8442' href='#n8442'>8442</a>
<a id='n8443' href='#n8443'>8443</a>
<a id='n8444' href='#n8444'>8444</a>
<a id='n8445' href='#n8445'>8445</a>
<a id='n8446' href='#n8446'>8446</a>
<a id='n8447' href='#n8447'>8447</a>
<a id='n8448' href='#n8448'>8448</a>
<a id='n8449' href='#n8449'>8449</a>
<a id='n8450' href='#n8450'>8450</a>
<a id='n8451' href='#n8451'>8451</a>
<a id='n8452' href='#n8452'>8452</a>
<a id='n8453' href='#n8453'>8453</a>
<a id='n8454' href='#n8454'>8454</a>
<a id='n8455' href='#n8455'>8455</a>
<a id='n8456' href='#n8456'>8456</a>
<a id='n8457' href='#n8457'>8457</a>
<a id='n8458' href='#n8458'>8458</a>
<a id='n8459' href='#n8459'>8459</a>
<a id='n8460' href='#n8460'>8460</a>
<a id='n8461' href='#n8461'>8461</a>
<a id='n8462' href='#n8462'>8462</a>
<a id='n8463' href='#n8463'>8463</a>
<a id='n8464' href='#n8464'>8464</a>
<a id='n8465' href='#n8465'>8465</a>
<a id='n8466' href='#n8466'>8466</a>
<a id='n8467' href='#n8467'>8467</a>
<a id='n8468' href='#n8468'>8468</a>
<a id='n8469' href='#n8469'>8469</a>
<a id='n8470' href='#n8470'>8470</a>
<a id='n8471' href='#n8471'>8471</a>
<a id='n8472' href='#n8472'>8472</a>
<a id='n8473' href='#n8473'>8473</a>
<a id='n8474' href='#n8474'>8474</a>
<a id='n8475' href='#n8475'>8475</a>
<a id='n8476' href='#n8476'>8476</a>
<a id='n8477' href='#n8477'>8477</a>
<a id='n8478' href='#n8478'>8478</a>
<a id='n8479' href='#n8479'>8479</a>
<a id='n8480' href='#n8480'>8480</a>
<a id='n8481' href='#n8481'>8481</a>
<a id='n8482' href='#n8482'>8482</a>
<a id='n8483' href='#n8483'>8483</a>
<a id='n8484' href='#n8484'>8484</a>
<a id='n8485' href='#n8485'>8485</a>
<a id='n8486' href='#n8486'>8486</a>
<a id='n8487' href='#n8487'>8487</a>
<a id='n8488' href='#n8488'>8488</a>
<a id='n8489' href='#n8489'>8489</a>
<a id='n8490' href='#n8490'>8490</a>
<a id='n8491' href='#n8491'>8491</a>
<a id='n8492' href='#n8492'>8492</a>
<a id='n8493' href='#n8493'>8493</a>
<a id='n8494' href='#n8494'>8494</a>
<a id='n8495' href='#n8495'>8495</a>
<a id='n8496' href='#n8496'>8496</a>
<a id='n8497' href='#n8497'>8497</a>
<a id='n8498' href='#n8498'>8498</a>
<a id='n8499' href='#n8499'>8499</a>
<a id='n8500' href='#n8500'>8500</a>
<a id='n8501' href='#n8501'>8501</a>
<a id='n8502' href='#n8502'>8502</a>
<a id='n8503' href='#n8503'>8503</a>
<a id='n8504' href='#n8504'>8504</a>
<a id='n8505' href='#n8505'>8505</a>
<a id='n8506' href='#n8506'>8506</a>
<a id='n8507' href='#n8507'>8507</a>
<a id='n8508' href='#n8508'>8508</a>
<a id='n8509' href='#n8509'>8509</a>
<a id='n8510' href='#n8510'>8510</a>
<a id='n8511' href='#n8511'>8511</a>
<a id='n8512' href='#n8512'>8512</a>
<a id='n8513' href='#n8513'>8513</a>
<a id='n8514' href='#n8514'>8514</a>
<a id='n8515' href='#n8515'>8515</a>
<a id='n8516' href='#n8516'>8516</a>
<a id='n8517' href='#n8517'>8517</a>
<a id='n8518' href='#n8518'>8518</a>
<a id='n8519' href='#n8519'>8519</a>
<a id='n8520' href='#n8520'>8520</a>
<a id='n8521' href='#n8521'>8521</a>
<a id='n8522' href='#n8522'>8522</a>
<a id='n8523' href='#n8523'>8523</a>
<a id='n8524' href='#n8524'>8524</a>
<a id='n8525' href='#n8525'>8525</a>
<a id='n8526' href='#n8526'>8526</a>
<a id='n8527' href='#n8527'>8527</a>
<a id='n8528' href='#n8528'>8528</a>
<a id='n8529' href='#n8529'>8529</a>
<a id='n8530' href='#n8530'>8530</a>
<a id='n8531' href='#n8531'>8531</a>
<a id='n8532' href='#n8532'>8532</a>
<a id='n8533' href='#n8533'>8533</a>
<a id='n8534' href='#n8534'>8534</a>
<a id='n8535' href='#n8535'>8535</a>
<a id='n8536' href='#n8536'>8536</a>
<a id='n8537' href='#n8537'>8537</a>
<a id='n8538' href='#n8538'>8538</a>
<a id='n8539' href='#n8539'>8539</a>
<a id='n8540' href='#n8540'>8540</a>
<a id='n8541' href='#n8541'>8541</a>
<a id='n8542' href='#n8542'>8542</a>
<a id='n8543' href='#n8543'>8543</a>
<a id='n8544' href='#n8544'>8544</a>
<a id='n8545' href='#n8545'>8545</a>
<a id='n8546' href='#n8546'>8546</a>
<a id='n8547' href='#n8547'>8547</a>
<a id='n8548' href='#n8548'>8548</a>
<a id='n8549' href='#n8549'>8549</a>
<a id='n8550' href='#n8550'>8550</a>
<a id='n8551' href='#n8551'>8551</a>
<a id='n8552' href='#n8552'>8552</a>
<a id='n8553' href='#n8553'>8553</a>
<a id='n8554' href='#n8554'>8554</a>
<a id='n8555' href='#n8555'>8555</a>
<a id='n8556' href='#n8556'>8556</a>
<a id='n8557' href='#n8557'>8557</a>
<a id='n8558' href='#n8558'>8558</a>
<a id='n8559' href='#n8559'>8559</a>
<a id='n8560' href='#n8560'>8560</a>
<a id='n8561' href='#n8561'>8561</a>
<a id='n8562' href='#n8562'>8562</a>
<a id='n8563' href='#n8563'>8563</a>
<a id='n8564' href='#n8564'>8564</a>
<a id='n8565' href='#n8565'>8565</a>
<a id='n8566' href='#n8566'>8566</a>
<a id='n8567' href='#n8567'>8567</a>
<a id='n8568' href='#n8568'>8568</a>
<a id='n8569' href='#n8569'>8569</a>
<a id='n8570' href='#n8570'>8570</a>
<a id='n8571' href='#n8571'>8571</a>
<a id='n8572' href='#n8572'>8572</a>
<a id='n8573' href='#n8573'>8573</a>
<a id='n8574' href='#n8574'>8574</a>
<a id='n8575' href='#n8575'>8575</a>
<a id='n8576' href='#n8576'>8576</a>
<a id='n8577' href='#n8577'>8577</a>
<a id='n8578' href='#n8578'>8578</a>
<a id='n8579' href='#n8579'>8579</a>
<a id='n8580' href='#n8580'>8580</a>
<a id='n8581' href='#n8581'>8581</a>
<a id='n8582' href='#n8582'>8582</a>
<a id='n8583' href='#n8583'>8583</a>
<a id='n8584' href='#n8584'>8584</a>
<a id='n8585' href='#n8585'>8585</a>
<a id='n8586' href='#n8586'>8586</a>
<a id='n8587' href='#n8587'>8587</a>
<a id='n8588' href='#n8588'>8588</a>
<a id='n8589' href='#n8589'>8589</a>
<a id='n8590' href='#n8590'>8590</a>
<a id='n8591' href='#n8591'>8591</a>
<a id='n8592' href='#n8592'>8592</a>
<a id='n8593' href='#n8593'>8593</a>
<a id='n8594' href='#n8594'>8594</a>
<a id='n8595' href='#n8595'>8595</a>
<a id='n8596' href='#n8596'>8596</a>
<a id='n8597' href='#n8597'>8597</a>
<a id='n8598' href='#n8598'>8598</a>
<a id='n8599' href='#n8599'>8599</a>
<a id='n8600' href='#n8600'>8600</a>
<a id='n8601' href='#n8601'>8601</a>
<a id='n8602' href='#n8602'>8602</a>
<a id='n8603' href='#n8603'>8603</a>
<a id='n8604' href='#n8604'>8604</a>
<a id='n8605' href='#n8605'>8605</a>
<a id='n8606' href='#n8606'>8606</a>
<a id='n8607' href='#n8607'>8607</a>
<a id='n8608' href='#n8608'>8608</a>
<a id='n8609' href='#n8609'>8609</a>
<a id='n8610' href='#n8610'>8610</a>
<a id='n8611' href='#n8611'>8611</a>
<a id='n8612' href='#n8612'>8612</a>
<a id='n8613' href='#n8613'>8613</a>
<a id='n8614' href='#n8614'>8614</a>
<a id='n8615' href='#n8615'>8615</a>
<a id='n8616' href='#n8616'>8616</a>
<a id='n8617' href='#n8617'>8617</a>
<a id='n8618' href='#n8618'>8618</a>
<a id='n8619' href='#n8619'>8619</a>
<a id='n8620' href='#n8620'>8620</a>
<a id='n8621' href='#n8621'>8621</a>
<a id='n8622' href='#n8622'>8622</a>
<a id='n8623' href='#n8623'>8623</a>
<a id='n8624' href='#n8624'>8624</a>
<a id='n8625' href='#n8625'>8625</a>
<a id='n8626' href='#n8626'>8626</a>
<a id='n8627' href='#n8627'>8627</a>
<a id='n8628' href='#n8628'>8628</a>
<a id='n8629' href='#n8629'>8629</a>
<a id='n8630' href='#n8630'>8630</a>
<a id='n8631' href='#n8631'>8631</a>
<a id='n8632' href='#n8632'>8632</a>
<a id='n8633' href='#n8633'>8633</a>
<a id='n8634' href='#n8634'>8634</a>
<a id='n8635' href='#n8635'>8635</a>
<a id='n8636' href='#n8636'>8636</a>
<a id='n8637' href='#n8637'>8637</a>
<a id='n8638' href='#n8638'>8638</a>
<a id='n8639' href='#n8639'>8639</a>
<a id='n8640' href='#n8640'>8640</a>
<a id='n8641' href='#n8641'>8641</a>
<a id='n8642' href='#n8642'>8642</a>
<a id='n8643' href='#n8643'>8643</a>
<a id='n8644' href='#n8644'>8644</a>
<a id='n8645' href='#n8645'>8645</a>
<a id='n8646' href='#n8646'>8646</a>
<a id='n8647' href='#n8647'>8647</a>
<a id='n8648' href='#n8648'>8648</a>
<a id='n8649' href='#n8649'>8649</a>
<a id='n8650' href='#n8650'>8650</a>
<a id='n8651' href='#n8651'>8651</a>
<a id='n8652' href='#n8652'>8652</a>
<a id='n8653' href='#n8653'>8653</a>
<a id='n8654' href='#n8654'>8654</a>
<a id='n8655' href='#n8655'>8655</a>
<a id='n8656' href='#n8656'>8656</a>
<a id='n8657' href='#n8657'>8657</a>
<a id='n8658' href='#n8658'>8658</a>
<a id='n8659' href='#n8659'>8659</a>
<a id='n8660' href='#n8660'>8660</a>
<a id='n8661' href='#n8661'>8661</a>
<a id='n8662' href='#n8662'>8662</a>
<a id='n8663' href='#n8663'>8663</a>
<a id='n8664' href='#n8664'>8664</a>
<a id='n8665' href='#n8665'>8665</a>
<a id='n8666' href='#n8666'>8666</a>
<a id='n8667' href='#n8667'>8667</a>
<a id='n8668' href='#n8668'>8668</a>
<a id='n8669' href='#n8669'>8669</a>
<a id='n8670' href='#n8670'>8670</a>
<a id='n8671' href='#n8671'>8671</a>
<a id='n8672' href='#n8672'>8672</a>
<a id='n8673' href='#n8673'>8673</a>
<a id='n8674' href='#n8674'>8674</a>
<a id='n8675' href='#n8675'>8675</a>
<a id='n8676' href='#n8676'>8676</a>
<a id='n8677' href='#n8677'>8677</a>
<a id='n8678' href='#n8678'>8678</a>
<a id='n8679' href='#n8679'>8679</a>
<a id='n8680' href='#n8680'>8680</a>
<a id='n8681' href='#n8681'>8681</a>
<a id='n8682' href='#n8682'>8682</a>
<a id='n8683' href='#n8683'>8683</a>
<a id='n8684' href='#n8684'>8684</a>
<a id='n8685' href='#n8685'>8685</a>
<a id='n8686' href='#n8686'>8686</a>
<a id='n8687' href='#n8687'>8687</a>
<a id='n8688' href='#n8688'>8688</a>
<a id='n8689' href='#n8689'>8689</a>
<a id='n8690' href='#n8690'>8690</a>
<a id='n8691' href='#n8691'>8691</a>
<a id='n8692' href='#n8692'>8692</a>
<a id='n8693' href='#n8693'>8693</a>
<a id='n8694' href='#n8694'>8694</a>
<a id='n8695' href='#n8695'>8695</a>
<a id='n8696' href='#n8696'>8696</a>
<a id='n8697' href='#n8697'>8697</a>
<a id='n8698' href='#n8698'>8698</a>
<a id='n8699' href='#n8699'>8699</a>
<a id='n8700' href='#n8700'>8700</a>
<a id='n8701' href='#n8701'>8701</a>
<a id='n8702' href='#n8702'>8702</a>
<a id='n8703' href='#n8703'>8703</a>
<a id='n8704' href='#n8704'>8704</a>
<a id='n8705' href='#n8705'>8705</a>
<a id='n8706' href='#n8706'>8706</a>
<a id='n8707' href='#n8707'>8707</a>
<a id='n8708' href='#n8708'>8708</a>
<a id='n8709' href='#n8709'>8709</a>
<a id='n8710' href='#n8710'>8710</a>
<a id='n8711' href='#n8711'>8711</a>
<a id='n8712' href='#n8712'>8712</a>
<a id='n8713' href='#n8713'>8713</a>
<a id='n8714' href='#n8714'>8714</a>
<a id='n8715' href='#n8715'>8715</a>
<a id='n8716' href='#n8716'>8716</a>
<a id='n8717' href='#n8717'>8717</a>
<a id='n8718' href='#n8718'>8718</a>
<a id='n8719' href='#n8719'>8719</a>
<a id='n8720' href='#n8720'>8720</a>
<a id='n8721' href='#n8721'>8721</a>
<a id='n8722' href='#n8722'>8722</a>
<a id='n8723' href='#n8723'>8723</a>
<a id='n8724' href='#n8724'>8724</a>
<a id='n8725' href='#n8725'>8725</a>
<a id='n8726' href='#n8726'>8726</a>
<a id='n8727' href='#n8727'>8727</a>
<a id='n8728' href='#n8728'>8728</a>
<a id='n8729' href='#n8729'>8729</a>
<a id='n8730' href='#n8730'>8730</a>
<a id='n8731' href='#n8731'>8731</a>
<a id='n8732' href='#n8732'>8732</a>
<a id='n8733' href='#n8733'>8733</a>
<a id='n8734' href='#n8734'>8734</a>
<a id='n8735' href='#n8735'>8735</a>
<a id='n8736' href='#n8736'>8736</a>
<a id='n8737' href='#n8737'>8737</a>
<a id='n8738' href='#n8738'>8738</a>
<a id='n8739' href='#n8739'>8739</a>
<a id='n8740' href='#n8740'>8740</a>
<a id='n8741' href='#n8741'>8741</a>
<a id='n8742' href='#n8742'>8742</a>
<a id='n8743' href='#n8743'>8743</a>
<a id='n8744' href='#n8744'>8744</a>
<a id='n8745' href='#n8745'>8745</a>
<a id='n8746' href='#n8746'>8746</a>
<a id='n8747' href='#n8747'>8747</a>
<a id='n8748' href='#n8748'>8748</a>
<a id='n8749' href='#n8749'>8749</a>
<a id='n8750' href='#n8750'>8750</a>
<a id='n8751' href='#n8751'>8751</a>
<a id='n8752' href='#n8752'>8752</a>
<a id='n8753' href='#n8753'>8753</a>
<a id='n8754' href='#n8754'>8754</a>
<a id='n8755' href='#n8755'>8755</a>
<a id='n8756' href='#n8756'>8756</a>
<a id='n8757' href='#n8757'>8757</a>
<a id='n8758' href='#n8758'>8758</a>
<a id='n8759' href='#n8759'>8759</a>
<a id='n8760' href='#n8760'>8760</a>
<a id='n8761' href='#n8761'>8761</a>
<a id='n8762' href='#n8762'>8762</a>
<a id='n8763' href='#n8763'>8763</a>
<a id='n8764' href='#n8764'>8764</a>
<a id='n8765' href='#n8765'>8765</a>
<a id='n8766' href='#n8766'>8766</a>
<a id='n8767' href='#n8767'>8767</a>
<a id='n8768' href='#n8768'>8768</a>
<a id='n8769' href='#n8769'>8769</a>
<a id='n8770' href='#n8770'>8770</a>
<a id='n8771' href='#n8771'>8771</a>
<a id='n8772' href='#n8772'>8772</a>
<a id='n8773' href='#n8773'>8773</a>
<a id='n8774' href='#n8774'>8774</a>
<a id='n8775' href='#n8775'>8775</a>
<a id='n8776' href='#n8776'>8776</a>
<a id='n8777' href='#n8777'>8777</a>
<a id='n8778' href='#n8778'>8778</a>
<a id='n8779' href='#n8779'>8779</a>
<a id='n8780' href='#n8780'>8780</a>
<a id='n8781' href='#n8781'>8781</a>
<a id='n8782' href='#n8782'>8782</a>
<a id='n8783' href='#n8783'>8783</a>
<a id='n8784' href='#n8784'>8784</a>
<a id='n8785' href='#n8785'>8785</a>
<a id='n8786' href='#n8786'>8786</a>
<a id='n8787' href='#n8787'>8787</a>
<a id='n8788' href='#n8788'>8788</a>
<a id='n8789' href='#n8789'>8789</a>
<a id='n8790' href='#n8790'>8790</a>
<a id='n8791' href='#n8791'>8791</a>
<a id='n8792' href='#n8792'>8792</a>
<a id='n8793' href='#n8793'>8793</a>
<a id='n8794' href='#n8794'>8794</a>
<a id='n8795' href='#n8795'>8795</a>
<a id='n8796' href='#n8796'>8796</a>
<a id='n8797' href='#n8797'>8797</a>
<a id='n8798' href='#n8798'>8798</a>
<a id='n8799' href='#n8799'>8799</a>
<a id='n8800' href='#n8800'>8800</a>
<a id='n8801' href='#n8801'>8801</a>
<a id='n8802' href='#n8802'>8802</a>
<a id='n8803' href='#n8803'>8803</a>
<a id='n8804' href='#n8804'>8804</a>
<a id='n8805' href='#n8805'>8805</a>
<a id='n8806' href='#n8806'>8806</a>
<a id='n8807' href='#n8807'>8807</a>
<a id='n8808' href='#n8808'>8808</a>
<a id='n8809' href='#n8809'>8809</a>
<a id='n8810' href='#n8810'>8810</a>
<a id='n8811' href='#n8811'>8811</a>
<a id='n8812' href='#n8812'>8812</a>
<a id='n8813' href='#n8813'>8813</a>
<a id='n8814' href='#n8814'>8814</a>
<a id='n8815' href='#n8815'>8815</a>
<a id='n8816' href='#n8816'>8816</a>
<a id='n8817' href='#n8817'>8817</a>
<a id='n8818' href='#n8818'>8818</a>
<a id='n8819' href='#n8819'>8819</a>
<a id='n8820' href='#n8820'>8820</a>
<a id='n8821' href='#n8821'>8821</a>
<a id='n8822' href='#n8822'>8822</a>
<a id='n8823' href='#n8823'>8823</a>
<a id='n8824' href='#n8824'>8824</a>
<a id='n8825' href='#n8825'>8825</a>
<a id='n8826' href='#n8826'>8826</a>
<a id='n8827' href='#n8827'>8827</a>
<a id='n8828' href='#n8828'>8828</a>
<a id='n8829' href='#n8829'>8829</a>
<a id='n8830' href='#n8830'>8830</a>
<a id='n8831' href='#n8831'>8831</a>
<a id='n8832' href='#n8832'>8832</a>
<a id='n8833' href='#n8833'>8833</a>
<a id='n8834' href='#n8834'>8834</a>
<a id='n8835' href='#n8835'>8835</a>
<a id='n8836' href='#n8836'>8836</a>
<a id='n8837' href='#n8837'>8837</a>
<a id='n8838' href='#n8838'>8838</a>
<a id='n8839' href='#n8839'>8839</a>
<a id='n8840' href='#n8840'>8840</a>
<a id='n8841' href='#n8841'>8841</a>
<a id='n8842' href='#n8842'>8842</a>
<a id='n8843' href='#n8843'>8843</a>
<a id='n8844' href='#n8844'>8844</a>
<a id='n8845' href='#n8845'>8845</a>
<a id='n8846' href='#n8846'>8846</a>
<a id='n8847' href='#n8847'>8847</a>
<a id='n8848' href='#n8848'>8848</a>
<a id='n8849' href='#n8849'>8849</a>
<a id='n8850' href='#n8850'>8850</a>
<a id='n8851' href='#n8851'>8851</a>
<a id='n8852' href='#n8852'>8852</a>
<a id='n8853' href='#n8853'>8853</a>
<a id='n8854' href='#n8854'>8854</a>
<a id='n8855' href='#n8855'>8855</a>
<a id='n8856' href='#n8856'>8856</a>
<a id='n8857' href='#n8857'>8857</a>
<a id='n8858' href='#n8858'>8858</a>
<a id='n8859' href='#n8859'>8859</a>
<a id='n8860' href='#n8860'>8860</a>
<a id='n8861' href='#n8861'>8861</a>
<a id='n8862' href='#n8862'>8862</a>
<a id='n8863' href='#n8863'>8863</a>
<a id='n8864' href='#n8864'>8864</a>
<a id='n8865' href='#n8865'>8865</a>
<a id='n8866' href='#n8866'>8866</a>
<a id='n8867' href='#n8867'>8867</a>
<a id='n8868' href='#n8868'>8868</a>
<a id='n8869' href='#n8869'>8869</a>
<a id='n8870' href='#n8870'>8870</a>
<a id='n8871' href='#n8871'>8871</a>
<a id='n8872' href='#n8872'>8872</a>
<a id='n8873' href='#n8873'>8873</a>
<a id='n8874' href='#n8874'>8874</a>
<a id='n8875' href='#n8875'>8875</a>
<a id='n8876' href='#n8876'>8876</a>
<a id='n8877' href='#n8877'>8877</a>
<a id='n8878' href='#n8878'>8878</a>
<a id='n8879' href='#n8879'>8879</a>
<a id='n8880' href='#n8880'>8880</a>
<a id='n8881' href='#n8881'>8881</a>
<a id='n8882' href='#n8882'>8882</a>
<a id='n8883' href='#n8883'>8883</a>
<a id='n8884' href='#n8884'>8884</a>
<a id='n8885' href='#n8885'>8885</a>
<a id='n8886' href='#n8886'>8886</a>
<a id='n8887' href='#n8887'>8887</a>
<a id='n8888' href='#n8888'>8888</a>
<a id='n8889' href='#n8889'>8889</a>
<a id='n8890' href='#n8890'>8890</a>
<a id='n8891' href='#n8891'>8891</a>
<a id='n8892' href='#n8892'>8892</a>
<a id='n8893' href='#n8893'>8893</a>
<a id='n8894' href='#n8894'>8894</a>
<a id='n8895' href='#n8895'>8895</a>
<a id='n8896' href='#n8896'>8896</a>
<a id='n8897' href='#n8897'>8897</a>
<a id='n8898' href='#n8898'>8898</a>
<a id='n8899' href='#n8899'>8899</a>
<a id='n8900' href='#n8900'>8900</a>
<a id='n8901' href='#n8901'>8901</a>
<a id='n8902' href='#n8902'>8902</a>
<a id='n8903' href='#n8903'>8903</a>
<a id='n8904' href='#n8904'>8904</a>
<a id='n8905' href='#n8905'>8905</a>
<a id='n8906' href='#n8906'>8906</a>
<a id='n8907' href='#n8907'>8907</a>
<a id='n8908' href='#n8908'>8908</a>
<a id='n8909' href='#n8909'>8909</a>
<a id='n8910' href='#n8910'>8910</a>
<a id='n8911' href='#n8911'>8911</a>
<a id='n8912' href='#n8912'>8912</a>
<a id='n8913' href='#n8913'>8913</a>
<a id='n8914' href='#n8914'>8914</a>
<a id='n8915' href='#n8915'>8915</a>
<a id='n8916' href='#n8916'>8916</a>
<a id='n8917' href='#n8917'>8917</a>
<a id='n8918' href='#n8918'>8918</a>
<a id='n8919' href='#n8919'>8919</a>
<a id='n8920' href='#n8920'>8920</a>
<a id='n8921' href='#n8921'>8921</a>
<a id='n8922' href='#n8922'>8922</a>
<a id='n8923' href='#n8923'>8923</a>
<a id='n8924' href='#n8924'>8924</a>
<a id='n8925' href='#n8925'>8925</a>
<a id='n8926' href='#n8926'>8926</a>
<a id='n8927' href='#n8927'>8927</a>
<a id='n8928' href='#n8928'>8928</a>
<a id='n8929' href='#n8929'>8929</a>
<a id='n8930' href='#n8930'>8930</a>
<a id='n8931' href='#n8931'>8931</a>
<a id='n8932' href='#n8932'>8932</a>
<a id='n8933' href='#n8933'>8933</a>
<a id='n8934' href='#n8934'>8934</a>
<a id='n8935' href='#n8935'>8935</a>
<a id='n8936' href='#n8936'>8936</a>
<a id='n8937' href='#n8937'>8937</a>
<a id='n8938' href='#n8938'>8938</a>
<a id='n8939' href='#n8939'>8939</a>
<a id='n8940' href='#n8940'>8940</a>
<a id='n8941' href='#n8941'>8941</a>
<a id='n8942' href='#n8942'>8942</a>
<a id='n8943' href='#n8943'>8943</a>
<a id='n8944' href='#n8944'>8944</a>
<a id='n8945' href='#n8945'>8945</a>
<a id='n8946' href='#n8946'>8946</a>
<a id='n8947' href='#n8947'>8947</a>
<a id='n8948' href='#n8948'>8948</a>
<a id='n8949' href='#n8949'>8949</a>
<a id='n8950' href='#n8950'>8950</a>
<a id='n8951' href='#n8951'>8951</a>
<a id='n8952' href='#n8952'>8952</a>
<a id='n8953' href='#n8953'>8953</a>
<a id='n8954' href='#n8954'>8954</a>
<a id='n8955' href='#n8955'>8955</a>
<a id='n8956' href='#n8956'>8956</a>
<a id='n8957' href='#n8957'>8957</a>
<a id='n8958' href='#n8958'>8958</a>
<a id='n8959' href='#n8959'>8959</a>
<a id='n8960' href='#n8960'>8960</a>
<a id='n8961' href='#n8961'>8961</a>
<a id='n8962' href='#n8962'>8962</a>
<a id='n8963' href='#n8963'>8963</a>
<a id='n8964' href='#n8964'>8964</a>
<a id='n8965' href='#n8965'>8965</a>
<a id='n8966' href='#n8966'>8966</a>
<a id='n8967' href='#n8967'>8967</a>
<a id='n8968' href='#n8968'>8968</a>
<a id='n8969' href='#n8969'>8969</a>
<a id='n8970' href='#n8970'>8970</a>
<a id='n8971' href='#n8971'>8971</a>
<a id='n8972' href='#n8972'>8972</a>
<a id='n8973' href='#n8973'>8973</a>
<a id='n8974' href='#n8974'>8974</a>
<a id='n8975' href='#n8975'>8975</a>
<a id='n8976' href='#n8976'>8976</a>
<a id='n8977' href='#n8977'>8977</a>
<a id='n8978' href='#n8978'>8978</a>
<a id='n8979' href='#n8979'>8979</a>
<a id='n8980' href='#n8980'>8980</a>
<a id='n8981' href='#n8981'>8981</a>
<a id='n8982' href='#n8982'>8982</a>
<a id='n8983' href='#n8983'>8983</a>
<a id='n8984' href='#n8984'>8984</a>
<a id='n8985' href='#n8985'>8985</a>
<a id='n8986' href='#n8986'>8986</a>
<a id='n8987' href='#n8987'>8987</a>
<a id='n8988' href='#n8988'>8988</a>
<a id='n8989' href='#n8989'>8989</a>
<a id='n8990' href='#n8990'>8990</a>
<a id='n8991' href='#n8991'>8991</a>
<a id='n8992' href='#n8992'>8992</a>
<a id='n8993' href='#n8993'>8993</a>
<a id='n8994' href='#n8994'>8994</a>
<a id='n8995' href='#n8995'>8995</a>
<a id='n8996' href='#n8996'>8996</a>
<a id='n8997' href='#n8997'>8997</a>
<a id='n8998' href='#n8998'>8998</a>
<a id='n8999' href='#n8999'>8999</a>
<a id='n9000' href='#n9000'>9000</a>
<a id='n9001' href='#n9001'>9001</a>
<a id='n9002' href='#n9002'>9002</a>
<a id='n9003' href='#n9003'>9003</a>
<a id='n9004' href='#n9004'>9004</a>
<a id='n9005' href='#n9005'>9005</a>
<a id='n9006' href='#n9006'>9006</a>
<a id='n9007' href='#n9007'>9007</a>
<a id='n9008' href='#n9008'>9008</a>
<a id='n9009' href='#n9009'>9009</a>
<a id='n9010' href='#n9010'>9010</a>
<a id='n9011' href='#n9011'>9011</a>
<a id='n9012' href='#n9012'>9012</a>
<a id='n9013' href='#n9013'>9013</a>
<a id='n9014' href='#n9014'>9014</a>
<a id='n9015' href='#n9015'>9015</a>
<a id='n9016' href='#n9016'>9016</a>
<a id='n9017' href='#n9017'>9017</a>
<a id='n9018' href='#n9018'>9018</a>
<a id='n9019' href='#n9019'>9019</a>
<a id='n9020' href='#n9020'>9020</a>
<a id='n9021' href='#n9021'>9021</a>
<a id='n9022' href='#n9022'>9022</a>
<a id='n9023' href='#n9023'>9023</a>
<a id='n9024' href='#n9024'>9024</a>
<a id='n9025' href='#n9025'>9025</a>
<a id='n9026' href='#n9026'>9026</a>
<a id='n9027' href='#n9027'>9027</a>
<a id='n9028' href='#n9028'>9028</a>
<a id='n9029' href='#n9029'>9029</a>
<a id='n9030' href='#n9030'>9030</a>
<a id='n9031' href='#n9031'>9031</a>
<a id='n9032' href='#n9032'>9032</a>
<a id='n9033' href='#n9033'>9033</a>
<a id='n9034' href='#n9034'>9034</a>
<a id='n9035' href='#n9035'>9035</a>
<a id='n9036' href='#n9036'>9036</a>
<a id='n9037' href='#n9037'>9037</a>
<a id='n9038' href='#n9038'>9038</a>
<a id='n9039' href='#n9039'>9039</a>
<a id='n9040' href='#n9040'>9040</a>
<a id='n9041' href='#n9041'>9041</a>
<a id='n9042' href='#n9042'>9042</a>
<a id='n9043' href='#n9043'>9043</a>
<a id='n9044' href='#n9044'>9044</a>
<a id='n9045' href='#n9045'>9045</a>
<a id='n9046' href='#n9046'>9046</a>
<a id='n9047' href='#n9047'>9047</a>
<a id='n9048' href='#n9048'>9048</a>
<a id='n9049' href='#n9049'>9049</a>
<a id='n9050' href='#n9050'>9050</a>
<a id='n9051' href='#n9051'>9051</a>
<a id='n9052' href='#n9052'>9052</a>
<a id='n9053' href='#n9053'>9053</a>
<a id='n9054' href='#n9054'>9054</a>
<a id='n9055' href='#n9055'>9055</a>
<a id='n9056' href='#n9056'>9056</a>
<a id='n9057' href='#n9057'>9057</a>
<a id='n9058' href='#n9058'>9058</a>
<a id='n9059' href='#n9059'>9059</a>
<a id='n9060' href='#n9060'>9060</a>
<a id='n9061' href='#n9061'>9061</a>
<a id='n9062' href='#n9062'>9062</a>
<a id='n9063' href='#n9063'>9063</a>
<a id='n9064' href='#n9064'>9064</a>
<a id='n9065' href='#n9065'>9065</a>
<a id='n9066' href='#n9066'>9066</a>
<a id='n9067' href='#n9067'>9067</a>
<a id='n9068' href='#n9068'>9068</a>
<a id='n9069' href='#n9069'>9069</a>
<a id='n9070' href='#n9070'>9070</a>
<a id='n9071' href='#n9071'>9071</a>
<a id='n9072' href='#n9072'>9072</a>
<a id='n9073' href='#n9073'>9073</a>
<a id='n9074' href='#n9074'>9074</a>
<a id='n9075' href='#n9075'>9075</a>
<a id='n9076' href='#n9076'>9076</a>
<a id='n9077' href='#n9077'>9077</a>
<a id='n9078' href='#n9078'>9078</a>
<a id='n9079' href='#n9079'>9079</a>
<a id='n9080' href='#n9080'>9080</a>
<a id='n9081' href='#n9081'>9081</a>
<a id='n9082' href='#n9082'>9082</a>
<a id='n9083' href='#n9083'>9083</a>
<a id='n9084' href='#n9084'>9084</a>
<a id='n9085' href='#n9085'>9085</a>
<a id='n9086' href='#n9086'>9086</a>
<a id='n9087' href='#n9087'>9087</a>
<a id='n9088' href='#n9088'>9088</a>
<a id='n9089' href='#n9089'>9089</a>
<a id='n9090' href='#n9090'>9090</a>
<a id='n9091' href='#n9091'>9091</a>
<a id='n9092' href='#n9092'>9092</a>
<a id='n9093' href='#n9093'>9093</a>
<a id='n9094' href='#n9094'>9094</a>
<a id='n9095' href='#n9095'>9095</a>
<a id='n9096' href='#n9096'>9096</a>
<a id='n9097' href='#n9097'>9097</a>
<a id='n9098' href='#n9098'>9098</a>
<a id='n9099' href='#n9099'>9099</a>
<a id='n9100' href='#n9100'>9100</a>
<a id='n9101' href='#n9101'>9101</a>
<a id='n9102' href='#n9102'>9102</a>
<a id='n9103' href='#n9103'>9103</a>
<a id='n9104' href='#n9104'>9104</a>
<a id='n9105' href='#n9105'>9105</a>
<a id='n9106' href='#n9106'>9106</a>
<a id='n9107' href='#n9107'>9107</a>
<a id='n9108' href='#n9108'>9108</a>
<a id='n9109' href='#n9109'>9109</a>
<a id='n9110' href='#n9110'>9110</a>
<a id='n9111' href='#n9111'>9111</a>
<a id='n9112' href='#n9112'>9112</a>
<a id='n9113' href='#n9113'>9113</a>
<a id='n9114' href='#n9114'>9114</a>
<a id='n9115' href='#n9115'>9115</a>
<a id='n9116' href='#n9116'>9116</a>
<a id='n9117' href='#n9117'>9117</a>
<a id='n9118' href='#n9118'>9118</a>
<a id='n9119' href='#n9119'>9119</a>
<a id='n9120' href='#n9120'>9120</a>
<a id='n9121' href='#n9121'>9121</a>
<a id='n9122' href='#n9122'>9122</a>
<a id='n9123' href='#n9123'>9123</a>
<a id='n9124' href='#n9124'>9124</a>
<a id='n9125' href='#n9125'>9125</a>
<a id='n9126' href='#n9126'>9126</a>
<a id='n9127' href='#n9127'>9127</a>
<a id='n9128' href='#n9128'>9128</a>
<a id='n9129' href='#n9129'>9129</a>
<a id='n9130' href='#n9130'>9130</a>
<a id='n9131' href='#n9131'>9131</a>
<a id='n9132' href='#n9132'>9132</a>
<a id='n9133' href='#n9133'>9133</a>
<a id='n9134' href='#n9134'>9134</a>
<a id='n9135' href='#n9135'>9135</a>
<a id='n9136' href='#n9136'>9136</a>
<a id='n9137' href='#n9137'>9137</a>
<a id='n9138' href='#n9138'>9138</a>
<a id='n9139' href='#n9139'>9139</a>
<a id='n9140' href='#n9140'>9140</a>
<a id='n9141' href='#n9141'>9141</a>
<a id='n9142' href='#n9142'>9142</a>
<a id='n9143' href='#n9143'>9143</a>
<a id='n9144' href='#n9144'>9144</a>
<a id='n9145' href='#n9145'>9145</a>
<a id='n9146' href='#n9146'>9146</a>
<a id='n9147' href='#n9147'>9147</a>
<a id='n9148' href='#n9148'>9148</a>
<a id='n9149' href='#n9149'>9149</a>
<a id='n9150' href='#n9150'>9150</a>
<a id='n9151' href='#n9151'>9151</a>
<a id='n9152' href='#n9152'>9152</a>
<a id='n9153' href='#n9153'>9153</a>
<a id='n9154' href='#n9154'>9154</a>
<a id='n9155' href='#n9155'>9155</a>
<a id='n9156' href='#n9156'>9156</a>
<a id='n9157' href='#n9157'>9157</a>
<a id='n9158' href='#n9158'>9158</a>
<a id='n9159' href='#n9159'>9159</a>
<a id='n9160' href='#n9160'>9160</a>
<a id='n9161' href='#n9161'>9161</a>
<a id='n9162' href='#n9162'>9162</a>
<a id='n9163' href='#n9163'>9163</a>
<a id='n9164' href='#n9164'>9164</a>
<a id='n9165' href='#n9165'>9165</a>
<a id='n9166' href='#n9166'>9166</a>
<a id='n9167' href='#n9167'>9167</a>
<a id='n9168' href='#n9168'>9168</a>
<a id='n9169' href='#n9169'>9169</a>
<a id='n9170' href='#n9170'>9170</a>
<a id='n9171' href='#n9171'>9171</a>
<a id='n9172' href='#n9172'>9172</a>
<a id='n9173' href='#n9173'>9173</a>
<a id='n9174' href='#n9174'>9174</a>
<a id='n9175' href='#n9175'>9175</a>
<a id='n9176' href='#n9176'>9176</a>
<a id='n9177' href='#n9177'>9177</a>
<a id='n9178' href='#n9178'>9178</a>
<a id='n9179' href='#n9179'>9179</a>
<a id='n9180' href='#n9180'>9180</a>
<a id='n9181' href='#n9181'>9181</a>
<a id='n9182' href='#n9182'>9182</a>
<a id='n9183' href='#n9183'>9183</a>
<a id='n9184' href='#n9184'>9184</a>
<a id='n9185' href='#n9185'>9185</a>
<a id='n9186' href='#n9186'>9186</a>
<a id='n9187' href='#n9187'>9187</a>
<a id='n9188' href='#n9188'>9188</a>
<a id='n9189' href='#n9189'>9189</a>
<a id='n9190' href='#n9190'>9190</a>
<a id='n9191' href='#n9191'>9191</a>
<a id='n9192' href='#n9192'>9192</a>
<a id='n9193' href='#n9193'>9193</a>
<a id='n9194' href='#n9194'>9194</a>
<a id='n9195' href='#n9195'>9195</a>
<a id='n9196' href='#n9196'>9196</a>
<a id='n9197' href='#n9197'>9197</a>
<a id='n9198' href='#n9198'>9198</a>
<a id='n9199' href='#n9199'>9199</a>
<a id='n9200' href='#n9200'>9200</a>
<a id='n9201' href='#n9201'>9201</a>
<a id='n9202' href='#n9202'>9202</a>
<a id='n9203' href='#n9203'>9203</a>
<a id='n9204' href='#n9204'>9204</a>
<a id='n9205' href='#n9205'>9205</a>
<a id='n9206' href='#n9206'>9206</a>
<a id='n9207' href='#n9207'>9207</a>
<a id='n9208' href='#n9208'>9208</a>
<a id='n9209' href='#n9209'>9209</a>
<a id='n9210' href='#n9210'>9210</a>
<a id='n9211' href='#n9211'>9211</a>
<a id='n9212' href='#n9212'>9212</a>
<a id='n9213' href='#n9213'>9213</a>
<a id='n9214' href='#n9214'>9214</a>
<a id='n9215' href='#n9215'>9215</a>
<a id='n9216' href='#n9216'>9216</a>
<a id='n9217' href='#n9217'>9217</a>
<a id='n9218' href='#n9218'>9218</a>
<a id='n9219' href='#n9219'>9219</a>
<a id='n9220' href='#n9220'>9220</a>
<a id='n9221' href='#n9221'>9221</a>
<a id='n9222' href='#n9222'>9222</a>
<a id='n9223' href='#n9223'>9223</a>
<a id='n9224' href='#n9224'>9224</a>
<a id='n9225' href='#n9225'>9225</a>
<a id='n9226' href='#n9226'>9226</a>
<a id='n9227' href='#n9227'>9227</a>
<a id='n9228' href='#n9228'>9228</a>
<a id='n9229' href='#n9229'>9229</a>
<a id='n9230' href='#n9230'>9230</a>
<a id='n9231' href='#n9231'>9231</a>
<a id='n9232' href='#n9232'>9232</a>
<a id='n9233' href='#n9233'>9233</a>
<a id='n9234' href='#n9234'>9234</a>
<a id='n9235' href='#n9235'>9235</a>
<a id='n9236' href='#n9236'>9236</a>
<a id='n9237' href='#n9237'>9237</a>
<a id='n9238' href='#n9238'>9238</a>
<a id='n9239' href='#n9239'>9239</a>
<a id='n9240' href='#n9240'>9240</a>
<a id='n9241' href='#n9241'>9241</a>
<a id='n9242' href='#n9242'>9242</a>
<a id='n9243' href='#n9243'>9243</a>
<a id='n9244' href='#n9244'>9244</a>
<a id='n9245' href='#n9245'>9245</a>
<a id='n9246' href='#n9246'>9246</a>
<a id='n9247' href='#n9247'>9247</a>
<a id='n9248' href='#n9248'>9248</a>
<a id='n9249' href='#n9249'>9249</a>
<a id='n9250' href='#n9250'>9250</a>
<a id='n9251' href='#n9251'>9251</a>
<a id='n9252' href='#n9252'>9252</a>
<a id='n9253' href='#n9253'>9253</a>
<a id='n9254' href='#n9254'>9254</a>
<a id='n9255' href='#n9255'>9255</a>
<a id='n9256' href='#n9256'>9256</a>
<a id='n9257' href='#n9257'>9257</a>
<a id='n9258' href='#n9258'>9258</a>
<a id='n9259' href='#n9259'>9259</a>
<a id='n9260' href='#n9260'>9260</a>
<a id='n9261' href='#n9261'>9261</a>
<a id='n9262' href='#n9262'>9262</a>
<a id='n9263' href='#n9263'>9263</a>
<a id='n9264' href='#n9264'>9264</a>
<a id='n9265' href='#n9265'>9265</a>
<a id='n9266' href='#n9266'>9266</a>
<a id='n9267' href='#n9267'>9267</a>
<a id='n9268' href='#n9268'>9268</a>
<a id='n9269' href='#n9269'>9269</a>
<a id='n9270' href='#n9270'>9270</a>
<a id='n9271' href='#n9271'>9271</a>
<a id='n9272' href='#n9272'>9272</a>
<a id='n9273' href='#n9273'>9273</a>
<a id='n9274' href='#n9274'>9274</a>
<a id='n9275' href='#n9275'>9275</a>
<a id='n9276' href='#n9276'>9276</a>
<a id='n9277' href='#n9277'>9277</a>
<a id='n9278' href='#n9278'>9278</a>
<a id='n9279' href='#n9279'>9279</a>
<a id='n9280' href='#n9280'>9280</a>
<a id='n9281' href='#n9281'>9281</a>
<a id='n9282' href='#n9282'>9282</a>
<a id='n9283' href='#n9283'>9283</a>
<a id='n9284' href='#n9284'>9284</a>
<a id='n9285' href='#n9285'>9285</a>
<a id='n9286' href='#n9286'>9286</a>
<a id='n9287' href='#n9287'>9287</a>
<a id='n9288' href='#n9288'>9288</a>
<a id='n9289' href='#n9289'>9289</a>
<a id='n9290' href='#n9290'>9290</a>
<a id='n9291' href='#n9291'>9291</a>
<a id='n9292' href='#n9292'>9292</a>
<a id='n9293' href='#n9293'>9293</a>
<a id='n9294' href='#n9294'>9294</a>
<a id='n9295' href='#n9295'>9295</a>
<a id='n9296' href='#n9296'>9296</a>
<a id='n9297' href='#n9297'>9297</a>
<a id='n9298' href='#n9298'>9298</a>
<a id='n9299' href='#n9299'>9299</a>
<a id='n9300' href='#n9300'>9300</a>
<a id='n9301' href='#n9301'>9301</a>
<a id='n9302' href='#n9302'>9302</a>
<a id='n9303' href='#n9303'>9303</a>
<a id='n9304' href='#n9304'>9304</a>
<a id='n9305' href='#n9305'>9305</a>
<a id='n9306' href='#n9306'>9306</a>
<a id='n9307' href='#n9307'>9307</a>
<a id='n9308' href='#n9308'>9308</a>
<a id='n9309' href='#n9309'>9309</a>
<a id='n9310' href='#n9310'>9310</a>
<a id='n9311' href='#n9311'>9311</a>
<a id='n9312' href='#n9312'>9312</a>
<a id='n9313' href='#n9313'>9313</a>
<a id='n9314' href='#n9314'>9314</a>
<a id='n9315' href='#n9315'>9315</a>
<a id='n9316' href='#n9316'>9316</a>
<a id='n9317' href='#n9317'>9317</a>
<a id='n9318' href='#n9318'>9318</a>
<a id='n9319' href='#n9319'>9319</a>
<a id='n9320' href='#n9320'>9320</a>
<a id='n9321' href='#n9321'>9321</a>
<a id='n9322' href='#n9322'>9322</a>
<a id='n9323' href='#n9323'>9323</a>
<a id='n9324' href='#n9324'>9324</a>
<a id='n9325' href='#n9325'>9325</a>
<a id='n9326' href='#n9326'>9326</a>
<a id='n9327' href='#n9327'>9327</a>
<a id='n9328' href='#n9328'>9328</a>
<a id='n9329' href='#n9329'>9329</a>
<a id='n9330' href='#n9330'>9330</a>
<a id='n9331' href='#n9331'>9331</a>
<a id='n9332' href='#n9332'>9332</a>
<a id='n9333' href='#n9333'>9333</a>
<a id='n9334' href='#n9334'>9334</a>
<a id='n9335' href='#n9335'>9335</a>
<a id='n9336' href='#n9336'>9336</a>
<a id='n9337' href='#n9337'>9337</a>
<a id='n9338' href='#n9338'>9338</a>
<a id='n9339' href='#n9339'>9339</a>
<a id='n9340' href='#n9340'>9340</a>
<a id='n9341' href='#n9341'>9341</a>
<a id='n9342' href='#n9342'>9342</a>
<a id='n9343' href='#n9343'>9343</a>
<a id='n9344' href='#n9344'>9344</a>
<a id='n9345' href='#n9345'>9345</a>
<a id='n9346' href='#n9346'>9346</a>
<a id='n9347' href='#n9347'>9347</a>
<a id='n9348' href='#n9348'>9348</a>
<a id='n9349' href='#n9349'>9349</a>
<a id='n9350' href='#n9350'>9350</a>
<a id='n9351' href='#n9351'>9351</a>
<a id='n9352' href='#n9352'>9352</a>
<a id='n9353' href='#n9353'>9353</a>
<a id='n9354' href='#n9354'>9354</a>
<a id='n9355' href='#n9355'>9355</a>
<a id='n9356' href='#n9356'>9356</a>
<a id='n9357' href='#n9357'>9357</a>
<a id='n9358' href='#n9358'>9358</a>
<a id='n9359' href='#n9359'>9359</a>
<a id='n9360' href='#n9360'>9360</a>
<a id='n9361' href='#n9361'>9361</a>
<a id='n9362' href='#n9362'>9362</a>
<a id='n9363' href='#n9363'>9363</a>
<a id='n9364' href='#n9364'>9364</a>
<a id='n9365' href='#n9365'>9365</a>
<a id='n9366' href='#n9366'>9366</a>
<a id='n9367' href='#n9367'>9367</a>
<a id='n9368' href='#n9368'>9368</a>
<a id='n9369' href='#n9369'>9369</a>
<a id='n9370' href='#n9370'>9370</a>
<a id='n9371' href='#n9371'>9371</a>
<a id='n9372' href='#n9372'>9372</a>
<a id='n9373' href='#n9373'>9373</a>
<a id='n9374' href='#n9374'>9374</a>
<a id='n9375' href='#n9375'>9375</a>
<a id='n9376' href='#n9376'>9376</a>
<a id='n9377' href='#n9377'>9377</a>
<a id='n9378' href='#n9378'>9378</a>
<a id='n9379' href='#n9379'>9379</a>
<a id='n9380' href='#n9380'>9380</a>
<a id='n9381' href='#n9381'>9381</a>
<a id='n9382' href='#n9382'>9382</a>
<a id='n9383' href='#n9383'>9383</a>
<a id='n9384' href='#n9384'>9384</a>
<a id='n9385' href='#n9385'>9385</a>
<a id='n9386' href='#n9386'>9386</a>
<a id='n9387' href='#n9387'>9387</a>
<a id='n9388' href='#n9388'>9388</a>
<a id='n9389' href='#n9389'>9389</a>
<a id='n9390' href='#n9390'>9390</a>
<a id='n9391' href='#n9391'>9391</a>
<a id='n9392' href='#n9392'>9392</a>
<a id='n9393' href='#n9393'>9393</a>
<a id='n9394' href='#n9394'>9394</a>
<a id='n9395' href='#n9395'>9395</a>
<a id='n9396' href='#n9396'>9396</a>
<a id='n9397' href='#n9397'>9397</a>
<a id='n9398' href='#n9398'>9398</a>
<a id='n9399' href='#n9399'>9399</a>
<a id='n9400' href='#n9400'>9400</a>
<a id='n9401' href='#n9401'>9401</a>
<a id='n9402' href='#n9402'>9402</a>
<a id='n9403' href='#n9403'>9403</a>
<a id='n9404' href='#n9404'>9404</a>
<a id='n9405' href='#n9405'>9405</a>
<a id='n9406' href='#n9406'>9406</a>
<a id='n9407' href='#n9407'>9407</a>
<a id='n9408' href='#n9408'>9408</a>
<a id='n9409' href='#n9409'>9409</a>
<a id='n9410' href='#n9410'>9410</a>
<a id='n9411' href='#n9411'>9411</a>
<a id='n9412' href='#n9412'>9412</a>
<a id='n9413' href='#n9413'>9413</a>
<a id='n9414' href='#n9414'>9414</a>
<a id='n9415' href='#n9415'>9415</a>
<a id='n9416' href='#n9416'>9416</a>
<a id='n9417' href='#n9417'>9417</a>
<a id='n9418' href='#n9418'>9418</a>
<a id='n9419' href='#n9419'>9419</a>
<a id='n9420' href='#n9420'>9420</a>
<a id='n9421' href='#n9421'>9421</a>
<a id='n9422' href='#n9422'>9422</a>
<a id='n9423' href='#n9423'>9423</a>
<a id='n9424' href='#n9424'>9424</a>
<a id='n9425' href='#n9425'>9425</a>
<a id='n9426' href='#n9426'>9426</a>
<a id='n9427' href='#n9427'>9427</a>
<a id='n9428' href='#n9428'>9428</a>
<a id='n9429' href='#n9429'>9429</a>
<a id='n9430' href='#n9430'>9430</a>
<a id='n9431' href='#n9431'>9431</a>
<a id='n9432' href='#n9432'>9432</a>
<a id='n9433' href='#n9433'>9433</a>
<a id='n9434' href='#n9434'>9434</a>
<a id='n9435' href='#n9435'>9435</a>
<a id='n9436' href='#n9436'>9436</a>
<a id='n9437' href='#n9437'>9437</a>
<a id='n9438' href='#n9438'>9438</a>
<a id='n9439' href='#n9439'>9439</a>
<a id='n9440' href='#n9440'>9440</a>
<a id='n9441' href='#n9441'>9441</a>
<a id='n9442' href='#n9442'>9442</a>
<a id='n9443' href='#n9443'>9443</a>
<a id='n9444' href='#n9444'>9444</a>
<a id='n9445' href='#n9445'>9445</a>
<a id='n9446' href='#n9446'>9446</a>
<a id='n9447' href='#n9447'>9447</a>
<a id='n9448' href='#n9448'>9448</a>
<a id='n9449' href='#n9449'>9449</a>
<a id='n9450' href='#n9450'>9450</a>
<a id='n9451' href='#n9451'>9451</a>
<a id='n9452' href='#n9452'>9452</a>
<a id='n9453' href='#n9453'>9453</a>
<a id='n9454' href='#n9454'>9454</a>
<a id='n9455' href='#n9455'>9455</a>
<a id='n9456' href='#n9456'>9456</a>
<a id='n9457' href='#n9457'>9457</a>
<a id='n9458' href='#n9458'>9458</a>
<a id='n9459' href='#n9459'>9459</a>
<a id='n9460' href='#n9460'>9460</a>
<a id='n9461' href='#n9461'>9461</a>
<a id='n9462' href='#n9462'>9462</a>
<a id='n9463' href='#n9463'>9463</a>
<a id='n9464' href='#n9464'>9464</a>
<a id='n9465' href='#n9465'>9465</a>
<a id='n9466' href='#n9466'>9466</a>
<a id='n9467' href='#n9467'>9467</a>
<a id='n9468' href='#n9468'>9468</a>
<a id='n9469' href='#n9469'>9469</a>
<a id='n9470' href='#n9470'>9470</a>
<a id='n9471' href='#n9471'>9471</a>
<a id='n9472' href='#n9472'>9472</a>
<a id='n9473' href='#n9473'>9473</a>
<a id='n9474' href='#n9474'>9474</a>
<a id='n9475' href='#n9475'>9475</a>
<a id='n9476' href='#n9476'>9476</a>
<a id='n9477' href='#n9477'>9477</a>
<a id='n9478' href='#n9478'>9478</a>
<a id='n9479' href='#n9479'>9479</a>
<a id='n9480' href='#n9480'>9480</a>
<a id='n9481' href='#n9481'>9481</a>
<a id='n9482' href='#n9482'>9482</a>
<a id='n9483' href='#n9483'>9483</a>
<a id='n9484' href='#n9484'>9484</a>
<a id='n9485' href='#n9485'>9485</a>
<a id='n9486' href='#n9486'>9486</a>
<a id='n9487' href='#n9487'>9487</a>
<a id='n9488' href='#n9488'>9488</a>
<a id='n9489' href='#n9489'>9489</a>
<a id='n9490' href='#n9490'>9490</a>
<a id='n9491' href='#n9491'>9491</a>
<a id='n9492' href='#n9492'>9492</a>
<a id='n9493' href='#n9493'>9493</a>
<a id='n9494' href='#n9494'>9494</a>
<a id='n9495' href='#n9495'>9495</a>
<a id='n9496' href='#n9496'>9496</a>
<a id='n9497' href='#n9497'>9497</a>
<a id='n9498' href='#n9498'>9498</a>
<a id='n9499' href='#n9499'>9499</a>
<a id='n9500' href='#n9500'>9500</a>
<a id='n9501' href='#n9501'>9501</a>
<a id='n9502' href='#n9502'>9502</a>
<a id='n9503' href='#n9503'>9503</a>
<a id='n9504' href='#n9504'>9504</a>
<a id='n9505' href='#n9505'>9505</a>
<a id='n9506' href='#n9506'>9506</a>
<a id='n9507' href='#n9507'>9507</a>
<a id='n9508' href='#n9508'>9508</a>
<a id='n9509' href='#n9509'>9509</a>
<a id='n9510' href='#n9510'>9510</a>
<a id='n9511' href='#n9511'>9511</a>
<a id='n9512' href='#n9512'>9512</a>
<a id='n9513' href='#n9513'>9513</a>
<a id='n9514' href='#n9514'>9514</a>
<a id='n9515' href='#n9515'>9515</a>
<a id='n9516' href='#n9516'>9516</a>
<a id='n9517' href='#n9517'>9517</a>
<a id='n9518' href='#n9518'>9518</a>
<a id='n9519' href='#n9519'>9519</a>
<a id='n9520' href='#n9520'>9520</a>
<a id='n9521' href='#n9521'>9521</a>
<a id='n9522' href='#n9522'>9522</a>
<a id='n9523' href='#n9523'>9523</a>
<a id='n9524' href='#n9524'>9524</a>
<a id='n9525' href='#n9525'>9525</a>
<a id='n9526' href='#n9526'>9526</a>
<a id='n9527' href='#n9527'>9527</a>
<a id='n9528' href='#n9528'>9528</a>
<a id='n9529' href='#n9529'>9529</a>
<a id='n9530' href='#n9530'>9530</a>
<a id='n9531' href='#n9531'>9531</a>
<a id='n9532' href='#n9532'>9532</a>
<a id='n9533' href='#n9533'>9533</a>
<a id='n9534' href='#n9534'>9534</a>
<a id='n9535' href='#n9535'>9535</a>
<a id='n9536' href='#n9536'>9536</a>
<a id='n9537' href='#n9537'>9537</a>
<a id='n9538' href='#n9538'>9538</a>
<a id='n9539' href='#n9539'>9539</a>
<a id='n9540' href='#n9540'>9540</a>
<a id='n9541' href='#n9541'>9541</a>
<a id='n9542' href='#n9542'>9542</a>
<a id='n9543' href='#n9543'>9543</a>
<a id='n9544' href='#n9544'>9544</a>
<a id='n9545' href='#n9545'>9545</a>
<a id='n9546' href='#n9546'>9546</a>
<a id='n9547' href='#n9547'>9547</a>
<a id='n9548' href='#n9548'>9548</a>
<a id='n9549' href='#n9549'>9549</a>
<a id='n9550' href='#n9550'>9550</a>
<a id='n9551' href='#n9551'>9551</a>
<a id='n9552' href='#n9552'>9552</a>
<a id='n9553' href='#n9553'>9553</a>
<a id='n9554' href='#n9554'>9554</a>
<a id='n9555' href='#n9555'>9555</a>
<a id='n9556' href='#n9556'>9556</a>
<a id='n9557' href='#n9557'>9557</a>
<a id='n9558' href='#n9558'>9558</a>
<a id='n9559' href='#n9559'>9559</a>
<a id='n9560' href='#n9560'>9560</a>
<a id='n9561' href='#n9561'>9561</a>
<a id='n9562' href='#n9562'>9562</a>
<a id='n9563' href='#n9563'>9563</a>
<a id='n9564' href='#n9564'>9564</a>
<a id='n9565' href='#n9565'>9565</a>
<a id='n9566' href='#n9566'>9566</a>
<a id='n9567' href='#n9567'>9567</a>
<a id='n9568' href='#n9568'>9568</a>
<a id='n9569' href='#n9569'>9569</a>
<a id='n9570' href='#n9570'>9570</a>
<a id='n9571' href='#n9571'>9571</a>
<a id='n9572' href='#n9572'>9572</a>
<a id='n9573' href='#n9573'>9573</a>
<a id='n9574' href='#n9574'>9574</a>
<a id='n9575' href='#n9575'>9575</a>
<a id='n9576' href='#n9576'>9576</a>
<a id='n9577' href='#n9577'>9577</a>
<a id='n9578' href='#n9578'>9578</a>
<a id='n9579' href='#n9579'>9579</a>
<a id='n9580' href='#n9580'>9580</a>
<a id='n9581' href='#n9581'>9581</a>
<a id='n9582' href='#n9582'>9582</a>
<a id='n9583' href='#n9583'>9583</a>
<a id='n9584' href='#n9584'>9584</a>
<a id='n9585' href='#n9585'>9585</a>
<a id='n9586' href='#n9586'>9586</a>
<a id='n9587' href='#n9587'>9587</a>
<a id='n9588' href='#n9588'>9588</a>
<a id='n9589' href='#n9589'>9589</a>
<a id='n9590' href='#n9590'>9590</a>
<a id='n9591' href='#n9591'>9591</a>
<a id='n9592' href='#n9592'>9592</a>
<a id='n9593' href='#n9593'>9593</a>
<a id='n9594' href='#n9594'>9594</a>
<a id='n9595' href='#n9595'>9595</a>
<a id='n9596' href='#n9596'>9596</a>
<a id='n9597' href='#n9597'>9597</a>
<a id='n9598' href='#n9598'>9598</a>
<a id='n9599' href='#n9599'>9599</a>
<a id='n9600' href='#n9600'>9600</a>
<a id='n9601' href='#n9601'>9601</a>
<a id='n9602' href='#n9602'>9602</a>
<a id='n9603' href='#n9603'>9603</a>
<a id='n9604' href='#n9604'>9604</a>
<a id='n9605' href='#n9605'>9605</a>
<a id='n9606' href='#n9606'>9606</a>
<a id='n9607' href='#n9607'>9607</a>
<a id='n9608' href='#n9608'>9608</a>
<a id='n9609' href='#n9609'>9609</a>
<a id='n9610' href='#n9610'>9610</a>
<a id='n9611' href='#n9611'>9611</a>
<a id='n9612' href='#n9612'>9612</a>
<a id='n9613' href='#n9613'>9613</a>
<a id='n9614' href='#n9614'>9614</a>
<a id='n9615' href='#n9615'>9615</a>
<a id='n9616' href='#n9616'>9616</a>
<a id='n9617' href='#n9617'>9617</a>
<a id='n9618' href='#n9618'>9618</a>
<a id='n9619' href='#n9619'>9619</a>
<a id='n9620' href='#n9620'>9620</a>
<a id='n9621' href='#n9621'>9621</a>
<a id='n9622' href='#n9622'>9622</a>
<a id='n9623' href='#n9623'>9623</a>
<a id='n9624' href='#n9624'>9624</a>
<a id='n9625' href='#n9625'>9625</a>
<a id='n9626' href='#n9626'>9626</a>
<a id='n9627' href='#n9627'>9627</a>
<a id='n9628' href='#n9628'>9628</a>
<a id='n9629' href='#n9629'>9629</a>
<a id='n9630' href='#n9630'>9630</a>
<a id='n9631' href='#n9631'>9631</a>
<a id='n9632' href='#n9632'>9632</a>
<a id='n9633' href='#n9633'>9633</a>
<a id='n9634' href='#n9634'>9634</a>
<a id='n9635' href='#n9635'>9635</a>
<a id='n9636' href='#n9636'>9636</a>
<a id='n9637' href='#n9637'>9637</a>
<a id='n9638' href='#n9638'>9638</a>
<a id='n9639' href='#n9639'>9639</a>
<a id='n9640' href='#n9640'>9640</a>
<a id='n9641' href='#n9641'>9641</a>
<a id='n9642' href='#n9642'>9642</a>
<a id='n9643' href='#n9643'>9643</a>
<a id='n9644' href='#n9644'>9644</a>
<a id='n9645' href='#n9645'>9645</a>
<a id='n9646' href='#n9646'>9646</a>
<a id='n9647' href='#n9647'>9647</a>
<a id='n9648' href='#n9648'>9648</a>
<a id='n9649' href='#n9649'>9649</a>
<a id='n9650' href='#n9650'>9650</a>
<a id='n9651' href='#n9651'>9651</a>
<a id='n9652' href='#n9652'>9652</a>
<a id='n9653' href='#n9653'>9653</a>
<a id='n9654' href='#n9654'>9654</a>
<a id='n9655' href='#n9655'>9655</a>
<a id='n9656' href='#n9656'>9656</a>
<a id='n9657' href='#n9657'>9657</a>
<a id='n9658' href='#n9658'>9658</a>
<a id='n9659' href='#n9659'>9659</a>
<a id='n9660' href='#n9660'>9660</a>
<a id='n9661' href='#n9661'>9661</a>
<a id='n9662' href='#n9662'>9662</a>
<a id='n9663' href='#n9663'>9663</a>
<a id='n9664' href='#n9664'>9664</a>
<a id='n9665' href='#n9665'>9665</a>
<a id='n9666' href='#n9666'>9666</a>
<a id='n9667' href='#n9667'>9667</a>
<a id='n9668' href='#n9668'>9668</a>
<a id='n9669' href='#n9669'>9669</a>
<a id='n9670' href='#n9670'>9670</a>
<a id='n9671' href='#n9671'>9671</a>
<a id='n9672' href='#n9672'>9672</a>
<a id='n9673' href='#n9673'>9673</a>
<a id='n9674' href='#n9674'>9674</a>
<a id='n9675' href='#n9675'>9675</a>
<a id='n9676' href='#n9676'>9676</a>
<a id='n9677' href='#n9677'>9677</a>
<a id='n9678' href='#n9678'>9678</a>
<a id='n9679' href='#n9679'>9679</a>
<a id='n9680' href='#n9680'>9680</a>
<a id='n9681' href='#n9681'>9681</a>
<a id='n9682' href='#n9682'>9682</a>
<a id='n9683' href='#n9683'>9683</a>
<a id='n9684' href='#n9684'>9684</a>
<a id='n9685' href='#n9685'>9685</a>
<a id='n9686' href='#n9686'>9686</a>
<a id='n9687' href='#n9687'>9687</a>
<a id='n9688' href='#n9688'>9688</a>
<a id='n9689' href='#n9689'>9689</a>
<a id='n9690' href='#n9690'>9690</a>
<a id='n9691' href='#n9691'>9691</a>
<a id='n9692' href='#n9692'>9692</a>
<a id='n9693' href='#n9693'>9693</a>
<a id='n9694' href='#n9694'>9694</a>
<a id='n9695' href='#n9695'>9695</a>
<a id='n9696' href='#n9696'>9696</a>
<a id='n9697' href='#n9697'>9697</a>
<a id='n9698' href='#n9698'>9698</a>
<a id='n9699' href='#n9699'>9699</a>
<a id='n9700' href='#n9700'>9700</a>
<a id='n9701' href='#n9701'>9701</a>
<a id='n9702' href='#n9702'>9702</a>
<a id='n9703' href='#n9703'>9703</a>
<a id='n9704' href='#n9704'>9704</a>
<a id='n9705' href='#n9705'>9705</a>
<a id='n9706' href='#n9706'>9706</a>
<a id='n9707' href='#n9707'>9707</a>
<a id='n9708' href='#n9708'>9708</a>
<a id='n9709' href='#n9709'>9709</a>
<a id='n9710' href='#n9710'>9710</a>
<a id='n9711' href='#n9711'>9711</a>
<a id='n9712' href='#n9712'>9712</a>
<a id='n9713' href='#n9713'>9713</a>
<a id='n9714' href='#n9714'>9714</a>
<a id='n9715' href='#n9715'>9715</a>
<a id='n9716' href='#n9716'>9716</a>
<a id='n9717' href='#n9717'>9717</a>
<a id='n9718' href='#n9718'>9718</a>
<a id='n9719' href='#n9719'>9719</a>
<a id='n9720' href='#n9720'>9720</a>
<a id='n9721' href='#n9721'>9721</a>
<a id='n9722' href='#n9722'>9722</a>
<a id='n9723' href='#n9723'>9723</a>
<a id='n9724' href='#n9724'>9724</a>
<a id='n9725' href='#n9725'>9725</a>
<a id='n9726' href='#n9726'>9726</a>
<a id='n9727' href='#n9727'>9727</a>
<a id='n9728' href='#n9728'>9728</a>
<a id='n9729' href='#n9729'>9729</a>
<a id='n9730' href='#n9730'>9730</a>
<a id='n9731' href='#n9731'>9731</a>
<a id='n9732' href='#n9732'>9732</a>
<a id='n9733' href='#n9733'>9733</a>
<a id='n9734' href='#n9734'>9734</a>
<a id='n9735' href='#n9735'>9735</a>
<a id='n9736' href='#n9736'>9736</a>
<a id='n9737' href='#n9737'>9737</a>
<a id='n9738' href='#n9738'>9738</a>
<a id='n9739' href='#n9739'>9739</a>
<a id='n9740' href='#n9740'>9740</a>
<a id='n9741' href='#n9741'>9741</a>
<a id='n9742' href='#n9742'>9742</a>
<a id='n9743' href='#n9743'>9743</a>
<a id='n9744' href='#n9744'>9744</a>
<a id='n9745' href='#n9745'>9745</a>
<a id='n9746' href='#n9746'>9746</a>
<a id='n9747' href='#n9747'>9747</a>
<a id='n9748' href='#n9748'>9748</a>
<a id='n9749' href='#n9749'>9749</a>
<a id='n9750' href='#n9750'>9750</a>
<a id='n9751' href='#n9751'>9751</a>
<a id='n9752' href='#n9752'>9752</a>
<a id='n9753' href='#n9753'>9753</a>
<a id='n9754' href='#n9754'>9754</a>
<a id='n9755' href='#n9755'>9755</a>
<a id='n9756' href='#n9756'>9756</a>
<a id='n9757' href='#n9757'>9757</a>
<a id='n9758' href='#n9758'>9758</a>
<a id='n9759' href='#n9759'>9759</a>
<a id='n9760' href='#n9760'>9760</a>
<a id='n9761' href='#n9761'>9761</a>
<a id='n9762' href='#n9762'>9762</a>
<a id='n9763' href='#n9763'>9763</a>
<a id='n9764' href='#n9764'>9764</a>
<a id='n9765' href='#n9765'>9765</a>
<a id='n9766' href='#n9766'>9766</a>
<a id='n9767' href='#n9767'>9767</a>
<a id='n9768' href='#n9768'>9768</a>
<a id='n9769' href='#n9769'>9769</a>
<a id='n9770' href='#n9770'>9770</a>
<a id='n9771' href='#n9771'>9771</a>
<a id='n9772' href='#n9772'>9772</a>
<a id='n9773' href='#n9773'>9773</a>
<a id='n9774' href='#n9774'>9774</a>
<a id='n9775' href='#n9775'>9775</a>
<a id='n9776' href='#n9776'>9776</a>
<a id='n9777' href='#n9777'>9777</a>
<a id='n9778' href='#n9778'>9778</a>
<a id='n9779' href='#n9779'>9779</a>
<a id='n9780' href='#n9780'>9780</a>
<a id='n9781' href='#n9781'>9781</a>
<a id='n9782' href='#n9782'>9782</a>
<a id='n9783' href='#n9783'>9783</a>
<a id='n9784' href='#n9784'>9784</a>
<a id='n9785' href='#n9785'>9785</a>
<a id='n9786' href='#n9786'>9786</a>
<a id='n9787' href='#n9787'>9787</a>
<a id='n9788' href='#n9788'>9788</a>
<a id='n9789' href='#n9789'>9789</a>
<a id='n9790' href='#n9790'>9790</a>
<a id='n9791' href='#n9791'>9791</a>
<a id='n9792' href='#n9792'>9792</a>
<a id='n9793' href='#n9793'>9793</a>
<a id='n9794' href='#n9794'>9794</a>
<a id='n9795' href='#n9795'>9795</a>
<a id='n9796' href='#n9796'>9796</a>
<a id='n9797' href='#n9797'>9797</a>
<a id='n9798' href='#n9798'>9798</a>
<a id='n9799' href='#n9799'>9799</a>
<a id='n9800' href='#n9800'>9800</a>
<a id='n9801' href='#n9801'>9801</a>
<a id='n9802' href='#n9802'>9802</a>
<a id='n9803' href='#n9803'>9803</a>
<a id='n9804' href='#n9804'>9804</a>
<a id='n9805' href='#n9805'>9805</a>
<a id='n9806' href='#n9806'>9806</a>
<a id='n9807' href='#n9807'>9807</a>
<a id='n9808' href='#n9808'>9808</a>
<a id='n9809' href='#n9809'>9809</a>
<a id='n9810' href='#n9810'>9810</a>
<a id='n9811' href='#n9811'>9811</a>
<a id='n9812' href='#n9812'>9812</a>
<a id='n9813' href='#n9813'>9813</a>
<a id='n9814' href='#n9814'>9814</a>
<a id='n9815' href='#n9815'>9815</a>
<a id='n9816' href='#n9816'>9816</a>
<a id='n9817' href='#n9817'>9817</a>
<a id='n9818' href='#n9818'>9818</a>
<a id='n9819' href='#n9819'>9819</a>
<a id='n9820' href='#n9820'>9820</a>
<a id='n9821' href='#n9821'>9821</a>
<a id='n9822' href='#n9822'>9822</a>
<a id='n9823' href='#n9823'>9823</a>
<a id='n9824' href='#n9824'>9824</a>
<a id='n9825' href='#n9825'>9825</a>
<a id='n9826' href='#n9826'>9826</a>
<a id='n9827' href='#n9827'>9827</a>
<a id='n9828' href='#n9828'>9828</a>
<a id='n9829' href='#n9829'>9829</a>
<a id='n9830' href='#n9830'>9830</a>
<a id='n9831' href='#n9831'>9831</a>
<a id='n9832' href='#n9832'>9832</a>
<a id='n9833' href='#n9833'>9833</a>
<a id='n9834' href='#n9834'>9834</a>
<a id='n9835' href='#n9835'>9835</a>
<a id='n9836' href='#n9836'>9836</a>
<a id='n9837' href='#n9837'>9837</a>
<a id='n9838' href='#n9838'>9838</a>
<a id='n9839' href='#n9839'>9839</a>
<a id='n9840' href='#n9840'>9840</a>
<a id='n9841' href='#n9841'>9841</a>
<a id='n9842' href='#n9842'>9842</a>
<a id='n9843' href='#n9843'>9843</a>
<a id='n9844' href='#n9844'>9844</a>
<a id='n9845' href='#n9845'>9845</a>
<a id='n9846' href='#n9846'>9846</a>
<a id='n9847' href='#n9847'>9847</a>
<a id='n9848' href='#n9848'>9848</a>
<a id='n9849' href='#n9849'>9849</a>
<a id='n9850' href='#n9850'>9850</a>
<a id='n9851' href='#n9851'>9851</a>
<a id='n9852' href='#n9852'>9852</a>
<a id='n9853' href='#n9853'>9853</a>
<a id='n9854' href='#n9854'>9854</a>
<a id='n9855' href='#n9855'>9855</a>
<a id='n9856' href='#n9856'>9856</a>
<a id='n9857' href='#n9857'>9857</a>
<a id='n9858' href='#n9858'>9858</a>
<a id='n9859' href='#n9859'>9859</a>
<a id='n9860' href='#n9860'>9860</a>
<a id='n9861' href='#n9861'>9861</a>
<a id='n9862' href='#n9862'>9862</a>
<a id='n9863' href='#n9863'>9863</a>
<a id='n9864' href='#n9864'>9864</a>
<a id='n9865' href='#n9865'>9865</a>
<a id='n9866' href='#n9866'>9866</a>
<a id='n9867' href='#n9867'>9867</a>
<a id='n9868' href='#n9868'>9868</a>
<a id='n9869' href='#n9869'>9869</a>
<a id='n9870' href='#n9870'>9870</a>
<a id='n9871' href='#n9871'>9871</a>
<a id='n9872' href='#n9872'>9872</a>
<a id='n9873' href='#n9873'>9873</a>
<a id='n9874' href='#n9874'>9874</a>
<a id='n9875' href='#n9875'>9875</a>
<a id='n9876' href='#n9876'>9876</a>
<a id='n9877' href='#n9877'>9877</a>
<a id='n9878' href='#n9878'>9878</a>
<a id='n9879' href='#n9879'>9879</a>
<a id='n9880' href='#n9880'>9880</a>
<a id='n9881' href='#n9881'>9881</a>
<a id='n9882' href='#n9882'>9882</a>
<a id='n9883' href='#n9883'>9883</a>
<a id='n9884' href='#n9884'>9884</a>
<a id='n9885' href='#n9885'>9885</a>
<a id='n9886' href='#n9886'>9886</a>
<a id='n9887' href='#n9887'>9887</a>
<a id='n9888' href='#n9888'>9888</a>
<a id='n9889' href='#n9889'>9889</a>
<a id='n9890' href='#n9890'>9890</a>
<a id='n9891' href='#n9891'>9891</a>
<a id='n9892' href='#n9892'>9892</a>
<a id='n9893' href='#n9893'>9893</a>
<a id='n9894' href='#n9894'>9894</a>
<a id='n9895' href='#n9895'>9895</a>
<a id='n9896' href='#n9896'>9896</a>
<a id='n9897' href='#n9897'>9897</a>
<a id='n9898' href='#n9898'>9898</a>
<a id='n9899' href='#n9899'>9899</a>
<a id='n9900' href='#n9900'>9900</a>
<a id='n9901' href='#n9901'>9901</a>
<a id='n9902' href='#n9902'>9902</a>
<a id='n9903' href='#n9903'>9903</a>
<a id='n9904' href='#n9904'>9904</a>
<a id='n9905' href='#n9905'>9905</a>
<a id='n9906' href='#n9906'>9906</a>
<a id='n9907' href='#n9907'>9907</a>
<a id='n9908' href='#n9908'>9908</a>
<a id='n9909' href='#n9909'>9909</a>
<a id='n9910' href='#n9910'>9910</a>
<a id='n9911' href='#n9911'>9911</a>
<a id='n9912' href='#n9912'>9912</a>
<a id='n9913' href='#n9913'>9913</a>
<a id='n9914' href='#n9914'>9914</a>
<a id='n9915' href='#n9915'>9915</a>
<a id='n9916' href='#n9916'>9916</a>
<a id='n9917' href='#n9917'>9917</a>
<a id='n9918' href='#n9918'>9918</a>
<a id='n9919' href='#n9919'>9919</a>
<a id='n9920' href='#n9920'>9920</a>
<a id='n9921' href='#n9921'>9921</a>
<a id='n9922' href='#n9922'>9922</a>
<a id='n9923' href='#n9923'>9923</a>
<a id='n9924' href='#n9924'>9924</a>
<a id='n9925' href='#n9925'>9925</a>
<a id='n9926' href='#n9926'>9926</a>
<a id='n9927' href='#n9927'>9927</a>
<a id='n9928' href='#n9928'>9928</a>
<a id='n9929' href='#n9929'>9929</a>
<a id='n9930' href='#n9930'>9930</a>
<a id='n9931' href='#n9931'>9931</a>
<a id='n9932' href='#n9932'>9932</a>
<a id='n9933' href='#n9933'>9933</a>
<a id='n9934' href='#n9934'>9934</a>
<a id='n9935' href='#n9935'>9935</a>
<a id='n9936' href='#n9936'>9936</a>
<a id='n9937' href='#n9937'>9937</a>
<a id='n9938' href='#n9938'>9938</a>
<a id='n9939' href='#n9939'>9939</a>
<a id='n9940' href='#n9940'>9940</a>
<a id='n9941' href='#n9941'>9941</a>
<a id='n9942' href='#n9942'>9942</a>
<a id='n9943' href='#n9943'>9943</a>
<a id='n9944' href='#n9944'>9944</a>
<a id='n9945' href='#n9945'>9945</a>
<a id='n9946' href='#n9946'>9946</a>
<a id='n9947' href='#n9947'>9947</a>
<a id='n9948' href='#n9948'>9948</a>
<a id='n9949' href='#n9949'>9949</a>
<a id='n9950' href='#n9950'>9950</a>
<a id='n9951' href='#n9951'>9951</a>
<a id='n9952' href='#n9952'>9952</a>
<a id='n9953' href='#n9953'>9953</a>
<a id='n9954' href='#n9954'>9954</a>
<a id='n9955' href='#n9955'>9955</a>
<a id='n9956' href='#n9956'>9956</a>
<a id='n9957' href='#n9957'>9957</a>
<a id='n9958' href='#n9958'>9958</a>
<a id='n9959' href='#n9959'>9959</a>
<a id='n9960' href='#n9960'>9960</a>
<a id='n9961' href='#n9961'>9961</a>
<a id='n9962' href='#n9962'>9962</a>
<a id='n9963' href='#n9963'>9963</a>
<a id='n9964' href='#n9964'>9964</a>
<a id='n9965' href='#n9965'>9965</a>
<a id='n9966' href='#n9966'>9966</a>
<a id='n9967' href='#n9967'>9967</a>
<a id='n9968' href='#n9968'>9968</a>
<a id='n9969' href='#n9969'>9969</a>
<a id='n9970' href='#n9970'>9970</a>
<a id='n9971' href='#n9971'>9971</a>
<a id='n9972' href='#n9972'>9972</a>
<a id='n9973' href='#n9973'>9973</a>
<a id='n9974' href='#n9974'>9974</a>
<a id='n9975' href='#n9975'>9975</a>
<a id='n9976' href='#n9976'>9976</a>
<a id='n9977' href='#n9977'>9977</a>
<a id='n9978' href='#n9978'>9978</a>
<a id='n9979' href='#n9979'>9979</a>
<a id='n9980' href='#n9980'>9980</a>
<a id='n9981' href='#n9981'>9981</a>
<a id='n9982' href='#n9982'>9982</a>
<a id='n9983' href='#n9983'>9983</a>
<a id='n9984' href='#n9984'>9984</a>
<a id='n9985' href='#n9985'>9985</a>
<a id='n9986' href='#n9986'>9986</a>
<a id='n9987' href='#n9987'>9987</a>
<a id='n9988' href='#n9988'>9988</a>
<a id='n9989' href='#n9989'>9989</a>
<a id='n9990' href='#n9990'>9990</a>
<a id='n9991' href='#n9991'>9991</a>
<a id='n9992' href='#n9992'>9992</a>
<a id='n9993' href='#n9993'>9993</a>
<a id='n9994' href='#n9994'>9994</a>
<a id='n9995' href='#n9995'>9995</a>
<a id='n9996' href='#n9996'>9996</a>
<a id='n9997' href='#n9997'>9997</a>
<a id='n9998' href='#n9998'>9998</a>
<a id='n9999' href='#n9999'>9999</a>
<a id='n10000' href='#n10000'>10000</a>
<a id='n10001' href='#n10001'>10001</a>
<a id='n10002' href='#n10002'>10002</a>
<a id='n10003' href='#n10003'>10003</a>
<a id='n10004' href='#n10004'>10004</a>
<a id='n10005' href='#n10005'>10005</a>
<a id='n10006' href='#n10006'>10006</a>
<a id='n10007' href='#n10007'>10007</a>
<a id='n10008' href='#n10008'>10008</a>
<a id='n10009' href='#n10009'>10009</a>
<a id='n10010' href='#n10010'>10010</a>
<a id='n10011' href='#n10011'>10011</a>
<a id='n10012' href='#n10012'>10012</a>
<a id='n10013' href='#n10013'>10013</a>
<a id='n10014' href='#n10014'>10014</a>
<a id='n10015' href='#n10015'>10015</a>
<a id='n10016' href='#n10016'>10016</a>
<a id='n10017' href='#n10017'>10017</a>
<a id='n10018' href='#n10018'>10018</a>
<a id='n10019' href='#n10019'>10019</a>
<a id='n10020' href='#n10020'>10020</a>
<a id='n10021' href='#n10021'>10021</a>
<a id='n10022' href='#n10022'>10022</a>
<a id='n10023' href='#n10023'>10023</a>
<a id='n10024' href='#n10024'>10024</a>
<a id='n10025' href='#n10025'>10025</a>
<a id='n10026' href='#n10026'>10026</a>
<a id='n10027' href='#n10027'>10027</a>
<a id='n10028' href='#n10028'>10028</a>
<a id='n10029' href='#n10029'>10029</a>
<a id='n10030' href='#n10030'>10030</a>
<a id='n10031' href='#n10031'>10031</a>
<a id='n10032' href='#n10032'>10032</a>
<a id='n10033' href='#n10033'>10033</a>
<a id='n10034' href='#n10034'>10034</a>
<a id='n10035' href='#n10035'>10035</a>
<a id='n10036' href='#n10036'>10036</a>
<a id='n10037' href='#n10037'>10037</a>
<a id='n10038' href='#n10038'>10038</a>
<a id='n10039' href='#n10039'>10039</a>
<a id='n10040' href='#n10040'>10040</a>
<a id='n10041' href='#n10041'>10041</a>
<a id='n10042' href='#n10042'>10042</a>
<a id='n10043' href='#n10043'>10043</a>
<a id='n10044' href='#n10044'>10044</a>
<a id='n10045' href='#n10045'>10045</a>
<a id='n10046' href='#n10046'>10046</a>
<a id='n10047' href='#n10047'>10047</a>
<a id='n10048' href='#n10048'>10048</a>
<a id='n10049' href='#n10049'>10049</a>
<a id='n10050' href='#n10050'>10050</a>
<a id='n10051' href='#n10051'>10051</a>
<a id='n10052' href='#n10052'>10052</a>
<a id='n10053' href='#n10053'>10053</a>
<a id='n10054' href='#n10054'>10054</a>
<a id='n10055' href='#n10055'>10055</a>
<a id='n10056' href='#n10056'>10056</a>
<a id='n10057' href='#n10057'>10057</a>
<a id='n10058' href='#n10058'>10058</a>
<a id='n10059' href='#n10059'>10059</a>
<a id='n10060' href='#n10060'>10060</a>
<a id='n10061' href='#n10061'>10061</a>
<a id='n10062' href='#n10062'>10062</a>
<a id='n10063' href='#n10063'>10063</a>
<a id='n10064' href='#n10064'>10064</a>
<a id='n10065' href='#n10065'>10065</a>
<a id='n10066' href='#n10066'>10066</a>
<a id='n10067' href='#n10067'>10067</a>
<a id='n10068' href='#n10068'>10068</a>
<a id='n10069' href='#n10069'>10069</a>
<a id='n10070' href='#n10070'>10070</a>
<a id='n10071' href='#n10071'>10071</a>
<a id='n10072' href='#n10072'>10072</a>
<a id='n10073' href='#n10073'>10073</a>
<a id='n10074' href='#n10074'>10074</a>
<a id='n10075' href='#n10075'>10075</a>
<a id='n10076' href='#n10076'>10076</a>
<a id='n10077' href='#n10077'>10077</a>
<a id='n10078' href='#n10078'>10078</a>
<a id='n10079' href='#n10079'>10079</a>
<a id='n10080' href='#n10080'>10080</a>
<a id='n10081' href='#n10081'>10081</a>
<a id='n10082' href='#n10082'>10082</a>
<a id='n10083' href='#n10083'>10083</a>
<a id='n10084' href='#n10084'>10084</a>
<a id='n10085' href='#n10085'>10085</a>
<a id='n10086' href='#n10086'>10086</a>
<a id='n10087' href='#n10087'>10087</a>
<a id='n10088' href='#n10088'>10088</a>
<a id='n10089' href='#n10089'>10089</a>
<a id='n10090' href='#n10090'>10090</a>
<a id='n10091' href='#n10091'>10091</a>
<a id='n10092' href='#n10092'>10092</a>
<a id='n10093' href='#n10093'>10093</a>
<a id='n10094' href='#n10094'>10094</a>
<a id='n10095' href='#n10095'>10095</a>
<a id='n10096' href='#n10096'>10096</a>
<a id='n10097' href='#n10097'>10097</a>
<a id='n10098' href='#n10098'>10098</a>
<a id='n10099' href='#n10099'>10099</a>
<a id='n10100' href='#n10100'>10100</a>
<a id='n10101' href='#n10101'>10101</a>
<a id='n10102' href='#n10102'>10102</a>
<a id='n10103' href='#n10103'>10103</a>
<a id='n10104' href='#n10104'>10104</a>
<a id='n10105' href='#n10105'>10105</a>
<a id='n10106' href='#n10106'>10106</a>
<a id='n10107' href='#n10107'>10107</a>
<a id='n10108' href='#n10108'>10108</a>
<a id='n10109' href='#n10109'>10109</a>
<a id='n10110' href='#n10110'>10110</a>
<a id='n10111' href='#n10111'>10111</a>
<a id='n10112' href='#n10112'>10112</a>
<a id='n10113' href='#n10113'>10113</a>
<a id='n10114' href='#n10114'>10114</a>
<a id='n10115' href='#n10115'>10115</a>
<a id='n10116' href='#n10116'>10116</a>
<a id='n10117' href='#n10117'>10117</a>
<a id='n10118' href='#n10118'>10118</a>
<a id='n10119' href='#n10119'>10119</a>
<a id='n10120' href='#n10120'>10120</a>
<a id='n10121' href='#n10121'>10121</a>
<a id='n10122' href='#n10122'>10122</a>
<a id='n10123' href='#n10123'>10123</a>
<a id='n10124' href='#n10124'>10124</a>
<a id='n10125' href='#n10125'>10125</a>
<a id='n10126' href='#n10126'>10126</a>
<a id='n10127' href='#n10127'>10127</a>
<a id='n10128' href='#n10128'>10128</a>
<a id='n10129' href='#n10129'>10129</a>
<a id='n10130' href='#n10130'>10130</a>
<a id='n10131' href='#n10131'>10131</a>
<a id='n10132' href='#n10132'>10132</a>
<a id='n10133' href='#n10133'>10133</a>
<a id='n10134' href='#n10134'>10134</a>
<a id='n10135' href='#n10135'>10135</a>
<a id='n10136' href='#n10136'>10136</a>
<a id='n10137' href='#n10137'>10137</a>
<a id='n10138' href='#n10138'>10138</a>
<a id='n10139' href='#n10139'>10139</a>
<a id='n10140' href='#n10140'>10140</a>
<a id='n10141' href='#n10141'>10141</a>
<a id='n10142' href='#n10142'>10142</a>
<a id='n10143' href='#n10143'>10143</a>
<a id='n10144' href='#n10144'>10144</a>
<a id='n10145' href='#n10145'>10145</a>
<a id='n10146' href='#n10146'>10146</a>
<a id='n10147' href='#n10147'>10147</a>
<a id='n10148' href='#n10148'>10148</a>
<a id='n10149' href='#n10149'>10149</a>
<a id='n10150' href='#n10150'>10150</a>
<a id='n10151' href='#n10151'>10151</a>
<a id='n10152' href='#n10152'>10152</a>
<a id='n10153' href='#n10153'>10153</a>
<a id='n10154' href='#n10154'>10154</a>
<a id='n10155' href='#n10155'>10155</a>
<a id='n10156' href='#n10156'>10156</a>
<a id='n10157' href='#n10157'>10157</a>
<a id='n10158' href='#n10158'>10158</a>
<a id='n10159' href='#n10159'>10159</a>
<a id='n10160' href='#n10160'>10160</a>
<a id='n10161' href='#n10161'>10161</a>
<a id='n10162' href='#n10162'>10162</a>
<a id='n10163' href='#n10163'>10163</a>
<a id='n10164' href='#n10164'>10164</a>
<a id='n10165' href='#n10165'>10165</a>
<a id='n10166' href='#n10166'>10166</a>
<a id='n10167' href='#n10167'>10167</a>
<a id='n10168' href='#n10168'>10168</a>
<a id='n10169' href='#n10169'>10169</a>
<a id='n10170' href='#n10170'>10170</a>
<a id='n10171' href='#n10171'>10171</a>
<a id='n10172' href='#n10172'>10172</a>
<a id='n10173' href='#n10173'>10173</a>
<a id='n10174' href='#n10174'>10174</a>
<a id='n10175' href='#n10175'>10175</a>
<a id='n10176' href='#n10176'>10176</a>
<a id='n10177' href='#n10177'>10177</a>
<a id='n10178' href='#n10178'>10178</a>
<a id='n10179' href='#n10179'>10179</a>
<a id='n10180' href='#n10180'>10180</a>
<a id='n10181' href='#n10181'>10181</a>
<a id='n10182' href='#n10182'>10182</a>
<a id='n10183' href='#n10183'>10183</a>
<a id='n10184' href='#n10184'>10184</a>
<a id='n10185' href='#n10185'>10185</a>
<a id='n10186' href='#n10186'>10186</a>
<a id='n10187' href='#n10187'>10187</a>
<a id='n10188' href='#n10188'>10188</a>
<a id='n10189' href='#n10189'>10189</a>
<a id='n10190' href='#n10190'>10190</a>
<a id='n10191' href='#n10191'>10191</a>
<a id='n10192' href='#n10192'>10192</a>
<a id='n10193' href='#n10193'>10193</a>
<a id='n10194' href='#n10194'>10194</a>
<a id='n10195' href='#n10195'>10195</a>
<a id='n10196' href='#n10196'>10196</a>
<a id='n10197' href='#n10197'>10197</a>
<a id='n10198' href='#n10198'>10198</a>
<a id='n10199' href='#n10199'>10199</a>
<a id='n10200' href='#n10200'>10200</a>
<a id='n10201' href='#n10201'>10201</a>
<a id='n10202' href='#n10202'>10202</a>
<a id='n10203' href='#n10203'>10203</a>
<a id='n10204' href='#n10204'>10204</a>
<a id='n10205' href='#n10205'>10205</a>
<a id='n10206' href='#n10206'>10206</a>
<a id='n10207' href='#n10207'>10207</a>
<a id='n10208' href='#n10208'>10208</a>
<a id='n10209' href='#n10209'>10209</a>
<a id='n10210' href='#n10210'>10210</a>
<a id='n10211' href='#n10211'>10211</a>
<a id='n10212' href='#n10212'>10212</a>
<a id='n10213' href='#n10213'>10213</a>
<a id='n10214' href='#n10214'>10214</a>
<a id='n10215' href='#n10215'>10215</a>
<a id='n10216' href='#n10216'>10216</a>
<a id='n10217' href='#n10217'>10217</a>
<a id='n10218' href='#n10218'>10218</a>
<a id='n10219' href='#n10219'>10219</a>
<a id='n10220' href='#n10220'>10220</a>
<a id='n10221' href='#n10221'>10221</a>
<a id='n10222' href='#n10222'>10222</a>
<a id='n10223' href='#n10223'>10223</a>
<a id='n10224' href='#n10224'>10224</a>
<a id='n10225' href='#n10225'>10225</a>
<a id='n10226' href='#n10226'>10226</a>
<a id='n10227' href='#n10227'>10227</a>
<a id='n10228' href='#n10228'>10228</a>
<a id='n10229' href='#n10229'>10229</a>
<a id='n10230' href='#n10230'>10230</a>
<a id='n10231' href='#n10231'>10231</a>
<a id='n10232' href='#n10232'>10232</a>
<a id='n10233' href='#n10233'>10233</a>
<a id='n10234' href='#n10234'>10234</a>
<a id='n10235' href='#n10235'>10235</a>
<a id='n10236' href='#n10236'>10236</a>
<a id='n10237' href='#n10237'>10237</a>
<a id='n10238' href='#n10238'>10238</a>
<a id='n10239' href='#n10239'>10239</a>
<a id='n10240' href='#n10240'>10240</a>
<a id='n10241' href='#n10241'>10241</a>
<a id='n10242' href='#n10242'>10242</a>
<a id='n10243' href='#n10243'>10243</a>
<a id='n10244' href='#n10244'>10244</a>
<a id='n10245' href='#n10245'>10245</a>
<a id='n10246' href='#n10246'>10246</a>
<a id='n10247' href='#n10247'>10247</a>
<a id='n10248' href='#n10248'>10248</a>
<a id='n10249' href='#n10249'>10249</a>
<a id='n10250' href='#n10250'>10250</a>
<a id='n10251' href='#n10251'>10251</a>
<a id='n10252' href='#n10252'>10252</a>
<a id='n10253' href='#n10253'>10253</a>
<a id='n10254' href='#n10254'>10254</a>
<a id='n10255' href='#n10255'>10255</a>
<a id='n10256' href='#n10256'>10256</a>
<a id='n10257' href='#n10257'>10257</a>
<a id='n10258' href='#n10258'>10258</a>
<a id='n10259' href='#n10259'>10259</a>
<a id='n10260' href='#n10260'>10260</a>
<a id='n10261' href='#n10261'>10261</a>
<a id='n10262' href='#n10262'>10262</a>
<a id='n10263' href='#n10263'>10263</a>
<a id='n10264' href='#n10264'>10264</a>
<a id='n10265' href='#n10265'>10265</a>
<a id='n10266' href='#n10266'>10266</a>
<a id='n10267' href='#n10267'>10267</a>
<a id='n10268' href='#n10268'>10268</a>
<a id='n10269' href='#n10269'>10269</a>
<a id='n10270' href='#n10270'>10270</a>
<a id='n10271' href='#n10271'>10271</a>
<a id='n10272' href='#n10272'>10272</a>
<a id='n10273' href='#n10273'>10273</a>
<a id='n10274' href='#n10274'>10274</a>
<a id='n10275' href='#n10275'>10275</a>
<a id='n10276' href='#n10276'>10276</a>
<a id='n10277' href='#n10277'>10277</a>
<a id='n10278' href='#n10278'>10278</a>
<a id='n10279' href='#n10279'>10279</a>
<a id='n10280' href='#n10280'>10280</a>
<a id='n10281' href='#n10281'>10281</a>
<a id='n10282' href='#n10282'>10282</a>
<a id='n10283' href='#n10283'>10283</a>
<a id='n10284' href='#n10284'>10284</a>
<a id='n10285' href='#n10285'>10285</a>
<a id='n10286' href='#n10286'>10286</a>
<a id='n10287' href='#n10287'>10287</a>
<a id='n10288' href='#n10288'>10288</a>
<a id='n10289' href='#n10289'>10289</a>
<a id='n10290' href='#n10290'>10290</a>
<a id='n10291' href='#n10291'>10291</a>
<a id='n10292' href='#n10292'>10292</a>
<a id='n10293' href='#n10293'>10293</a>
<a id='n10294' href='#n10294'>10294</a>
<a id='n10295' href='#n10295'>10295</a>
<a id='n10296' href='#n10296'>10296</a>
<a id='n10297' href='#n10297'>10297</a>
<a id='n10298' href='#n10298'>10298</a>
<a id='n10299' href='#n10299'>10299</a>
<a id='n10300' href='#n10300'>10300</a>
<a id='n10301' href='#n10301'>10301</a>
<a id='n10302' href='#n10302'>10302</a>
<a id='n10303' href='#n10303'>10303</a>
<a id='n10304' href='#n10304'>10304</a>
<a id='n10305' href='#n10305'>10305</a>
<a id='n10306' href='#n10306'>10306</a>
<a id='n10307' href='#n10307'>10307</a>
<a id='n10308' href='#n10308'>10308</a>
<a id='n10309' href='#n10309'>10309</a>
<a id='n10310' href='#n10310'>10310</a>
<a id='n10311' href='#n10311'>10311</a>
<a id='n10312' href='#n10312'>10312</a>
<a id='n10313' href='#n10313'>10313</a>
<a id='n10314' href='#n10314'>10314</a>
<a id='n10315' href='#n10315'>10315</a>
<a id='n10316' href='#n10316'>10316</a>
<a id='n10317' href='#n10317'>10317</a>
<a id='n10318' href='#n10318'>10318</a>
<a id='n10319' href='#n10319'>10319</a>
<a id='n10320' href='#n10320'>10320</a>
<a id='n10321' href='#n10321'>10321</a>
<a id='n10322' href='#n10322'>10322</a>
<a id='n10323' href='#n10323'>10323</a>
<a id='n10324' href='#n10324'>10324</a>
<a id='n10325' href='#n10325'>10325</a>
<a id='n10326' href='#n10326'>10326</a>
<a id='n10327' href='#n10327'>10327</a>
<a id='n10328' href='#n10328'>10328</a>
<a id='n10329' href='#n10329'>10329</a>
<a id='n10330' href='#n10330'>10330</a>
<a id='n10331' href='#n10331'>10331</a>
<a id='n10332' href='#n10332'>10332</a>
<a id='n10333' href='#n10333'>10333</a>
<a id='n10334' href='#n10334'>10334</a>
<a id='n10335' href='#n10335'>10335</a>
<a id='n10336' href='#n10336'>10336</a>
<a id='n10337' href='#n10337'>10337</a>
<a id='n10338' href='#n10338'>10338</a>
<a id='n10339' href='#n10339'>10339</a>
<a id='n10340' href='#n10340'>10340</a>
<a id='n10341' href='#n10341'>10341</a>
<a id='n10342' href='#n10342'>10342</a>
<a id='n10343' href='#n10343'>10343</a>
<a id='n10344' href='#n10344'>10344</a>
<a id='n10345' href='#n10345'>10345</a>
<a id='n10346' href='#n10346'>10346</a>
<a id='n10347' href='#n10347'>10347</a>
<a id='n10348' href='#n10348'>10348</a>
<a id='n10349' href='#n10349'>10349</a>
<a id='n10350' href='#n10350'>10350</a>
</pre></td>
<td class='lines'><pre><code><span class="hl com">/******************************************************************************</span>
<span class="hl com"> *</span>
<span class="hl com"> * Copyright (C) 1997-2015 by Dimitri van Heesch.</span>
<span class="hl com"> *</span>
<span class="hl com"> * Permission to use, copy, modify, and distribute this software and its</span>
<span class="hl com"> * documentation under the terms of the GNU General Public License is hereby</span>
<span class="hl com"> * granted. No representations are made about the suitability of this software</span>
<span class="hl com"> * for any purpose. It is provided &quot;as is&quot; without express or implied warranty.</span>
<span class="hl com"> * See the GNU General Public License for more details.</span>
<span class="hl com"> *</span>
<span class="hl com"> * Documents produced by Doxygen are derivative works derived from the</span>
<span class="hl com"> * input used in their production; they are not affected by this license.</span>
<span class="hl com"> *</span>
<span class="hl com"> */</span>

<span class="hl ppc">#include &lt;assert.h&gt;</span>
<span class="hl ppc">#include &lt;qdir.h&gt;</span>

<span class="hl ppc">#include</span> <span class="hl pps">&quot;context.h&quot;</span><span class="hl ppc"></span>
<span class="hl ppc">#include</span> <span class="hl pps">&quot;config.h&quot;</span><span class="hl ppc"></span>
<span class="hl ppc">#include</span> <span class="hl pps">&quot;index.h&quot;</span><span class="hl ppc"></span>
<span class="hl ppc">#include</span> <span class="hl pps">&quot;classlist.h&quot;</span><span class="hl ppc"></span>
<span class="hl ppc">#include</span> <span class="hl pps">&quot;doxygen.h&quot;</span><span class="hl ppc"></span>
<span class="hl ppc">#include</span> <span class="hl pps">&quot;namespacedef.h&quot;</span><span class="hl ppc"></span>
<span class="hl ppc">#include</span> <span class="hl pps">&quot;filedef.h&quot;</span><span class="hl ppc"></span>
<span class="hl ppc">#include</span> <span class="hl pps">&quot;pagedef.h&quot;</span><span class="hl ppc"></span>
<span class="hl ppc">#include</span> <span class="hl pps">&quot;groupdef.h&quot;</span><span class="hl ppc"></span>
<span class="hl ppc">#include</span> <span class="hl pps">&quot;util.h&quot;</span><span class="hl ppc"></span>
<span class="hl ppc">#include</span> <span class="hl pps">&quot;version.h&quot;</span><span class="hl ppc"></span>
<span class="hl ppc">#include</span> <span class="hl pps">&quot;language.h&quot;</span><span class="hl ppc"></span>
<span class="hl ppc">#include</span> <span class="hl pps">&quot;message.h&quot;</span><span class="hl ppc"></span>
<span class="hl ppc">#include</span> <span class="hl pps">&quot;vhdldocgen.h&quot;</span><span class="hl ppc"></span>
<span class="hl ppc">#include</span> <span class="hl pps">&quot;filename.h&quot;</span><span class="hl ppc"></span>
<span class="hl ppc">#include</span> <span class="hl pps">&quot;dirdef.h&quot;</span><span class="hl ppc"></span>
<span class="hl ppc">#include</span> <span class="hl pps">&quot;docparser.h&quot;</span><span class="hl ppc"></span>
<span class="hl ppc">#include</span> <span class="hl pps">&quot;htmlgen.h&quot;</span><span class="hl ppc"></span>
<span class="hl ppc">#include</span> <span class="hl pps">&quot;htmldocvisitor.h&quot;</span><span class="hl ppc"></span>
<span class="hl ppc">#include</span> <span class="hl pps">&quot;htmlhelp.h&quot;</span><span class="hl ppc"></span>
<span class="hl ppc">#include</span> <span class="hl pps">&quot;latexgen.h&quot;</span><span class="hl ppc"></span>
<span class="hl ppc">#include</span> <span class="hl pps">&quot;latexdocvisitor.h&quot;</span><span class="hl ppc"></span>
<span class="hl ppc">#include</span> <span class="hl pps">&quot;dot.h&quot;</span><span class="hl ppc"></span>
<span class="hl ppc">#include</span> <span class="hl pps">&quot;dotcallgraph.h&quot;</span><span class="hl ppc"></span>
<span class="hl ppc">#include</span> <span class="hl pps">&quot;dotclassgraph.h&quot;</span><span class="hl ppc"></span>
<span class="hl ppc">#include</span> <span class="hl pps">&quot;dotdirdeps.h&quot;</span><span class="hl ppc"></span>
<span class="hl ppc">#include</span> <span class="hl pps">&quot;dotgfxhierarchytable.h&quot;</span><span class="hl ppc"></span>
<span class="hl ppc">#include</span> <span class="hl pps">&quot;dotgroupcollaboration.h&quot;</span><span class="hl ppc"></span>
<span class="hl ppc">#include</span> <span class="hl pps">&quot;dotincldepgraph.h&quot;</span><span class="hl ppc"></span>
<span class="hl ppc">#include</span> <span class="hl pps">&quot;diagram.h&quot;</span><span class="hl ppc"></span>
<span class="hl ppc">#include</span> <span class="hl pps">&quot;example.h&quot;</span><span class="hl ppc"></span>
<span class="hl ppc">#include</span> <span class="hl pps">&quot;membername.h&quot;</span><span class="hl ppc"></span>
<span class="hl ppc">#include</span> <span class="hl pps">&quot;parserintf.h&quot;</span><span class="hl ppc"></span>
<span class="hl ppc">#include</span> <span class="hl pps">&quot;portable.h&quot;</span><span class="hl ppc"></span>
<span class="hl ppc">#include</span> <span class="hl pps">&quot;arguments.h&quot;</span><span class="hl ppc"></span>
<span class="hl ppc">#include</span> <span class="hl pps">&quot;groupdef.h&quot;</span><span class="hl ppc"></span>
<span class="hl ppc">#include</span> <span class="hl pps">&quot;searchindex.h&quot;</span><span class="hl ppc"></span>
<span class="hl ppc">#include</span> <span class="hl pps">&quot;resourcemgr.h&quot;</span><span class="hl ppc"></span>

<span class="hl slc">// TODO: pass the current file to Dot*::writeGraph, so the user can put dot graphs in other</span>
<span class="hl slc">//       files as well</span>

<span class="hl kwb">enum</span> ContextOutputFormat
<span class="hl opt">{</span>
  ContextOutputFormat_Unspecified<span class="hl opt">=</span><span class="hl num">0</span><span class="hl opt">,</span>
  ContextOutputFormat_Html<span class="hl opt">,</span>
  ContextOutputFormat_Latex<span class="hl opt">,</span>
  ContextOutputFormat_Rtf<span class="hl opt">,</span>
  ContextOutputFormat_ManPage<span class="hl opt">,</span>
  ContextOutputFormat_DocBook<span class="hl opt">,</span>
  ContextOutputFormat_Xml<span class="hl opt">,</span>
  ContextOutputFormat_TagFile
<span class="hl opt">};</span>

<span class="hl kwb">struct</span> ContextGlobals
<span class="hl opt">{</span>
  <span class="hl kwb">int</span>                 dynSectionId<span class="hl opt">;</span>
  QCString            outputDir<span class="hl opt">;</span>
  ContextOutputFormat outputFormat<span class="hl opt">;</span>
<span class="hl opt">}</span> g_globals<span class="hl opt">;</span>

<span class="hl com">/** &#64;brief Scoped smart pointer */</span>
<span class="hl kwc">template</span><span class="hl opt">&lt;</span><span class="hl kwc">class</span> T<span class="hl opt">&gt;</span> <span class="hl kwc">class</span> ScopedPtr
<span class="hl opt">{</span>
  <span class="hl kwc">private</span><span class="hl opt">:</span>
    T <span class="hl opt">*</span>m_ptr<span class="hl opt">;</span>
    <span class="hl kwd">ScopedPtr</span><span class="hl opt">(</span><span class="hl kwb">const</span> ScopedPtr <span class="hl opt">&amp;);</span>
    ScopedPtr <span class="hl opt">&amp;</span><span class="hl kwc">operator</span><span class="hl opt">=(</span><span class="hl kwb">const</span> ScopedPtr <span class="hl opt">&amp;);</span>
    <span class="hl kwb">void</span> <span class="hl kwc">operator</span><span class="hl opt">==(</span><span class="hl kwb">const</span> ScopedPtr <span class="hl opt">&amp;)</span> <span class="hl kwb">const</span><span class="hl opt">;</span>
    <span class="hl kwb">void</span> <span class="hl kwc">operator</span><span class="hl opt">!=(</span><span class="hl kwb">const</span> ScopedPtr <span class="hl opt">&amp;)</span> <span class="hl kwb">const</span><span class="hl opt">;</span>

  <span class="hl kwc">public</span><span class="hl opt">:</span>
    <span class="hl kwc">typedef</span> T Type<span class="hl opt">;</span>
    <span class="hl kwc">explicit</span> <span class="hl kwd">ScopedPtr</span><span class="hl opt">(</span>T <span class="hl opt">*</span>p<span class="hl opt">=</span><span class="hl num">0</span><span class="hl opt">) :</span> <span class="hl kwd">m_ptr</span><span class="hl opt">(</span>p<span class="hl opt">) {}</span>
    <span class="hl opt">~</span><span class="hl kwd">ScopedPtr</span><span class="hl opt">() {</span> <span class="hl kwa">delete</span> m_ptr<span class="hl opt">; };</span>
    T <span class="hl opt">&amp;</span><span class="hl kwc">operator</span><span class="hl opt">*()</span> <span class="hl kwb">const</span> <span class="hl opt">{</span> <span class="hl kwa">return</span> <span class="hl opt">*</span>m_ptr<span class="hl opt">; }</span>
    T <span class="hl opt">*</span><span class="hl kwc">operator</span><span class="hl opt">-&gt;()</span> <span class="hl kwb">const</span> <span class="hl opt">{</span> <span class="hl kwa">return</span> m_ptr<span class="hl opt">; }</span>
    T <span class="hl opt">*</span><span class="hl kwd">get</span><span class="hl opt">()</span> <span class="hl kwb">const</span> <span class="hl opt">{</span> <span class="hl kwa">return</span> m_ptr<span class="hl opt">; }</span>
    <span class="hl kwc">operator</span> <span class="hl kwb">bool</span><span class="hl opt">()</span> <span class="hl kwb">const</span> <span class="hl opt">{</span> <span class="hl kwa">return</span> m_ptr<span class="hl opt">!=</span><span class="hl num">0</span><span class="hl opt">; }</span>
    <span class="hl kwb">void</span> <span class="hl kwd">reset</span><span class="hl opt">(</span>T <span class="hl opt">*</span>p<span class="hl opt">=</span><span class="hl num">0</span><span class="hl opt">) {</span> <span class="hl kwa">if</span> <span class="hl opt">(</span>p<span class="hl opt">!=</span>m_ptr<span class="hl opt">) {</span> <span class="hl kwa">delete</span> m_ptr<span class="hl opt">;</span> m_ptr <span class="hl opt">=</span> p<span class="hl opt">; } }</span>
<span class="hl opt">};</span>

<span class="hl com">/** &#64;brief Reference counting smart pointer */</span>
<span class="hl kwc">template</span><span class="hl opt">&lt;</span><span class="hl kwc">class</span> T<span class="hl opt">&gt;</span> <span class="hl kwc">class</span> SharedPtr
<span class="hl opt">{</span>
  <span class="hl kwc">private</span><span class="hl opt">:</span>
    T <span class="hl opt">*</span>m_ptr<span class="hl opt">;</span>
    <span class="hl kwd">SharedPtr</span><span class="hl opt">(</span><span class="hl kwb">const</span> SharedPtr <span class="hl opt">&amp;);</span>
    SharedPtr <span class="hl opt">&amp;</span><span class="hl kwc">operator</span><span class="hl opt">=(</span><span class="hl kwb">const</span> SharedPtr <span class="hl opt">&amp;</span>p<span class="hl opt">);</span>
    <span class="hl kwb">void</span> <span class="hl kwc">operator</span><span class="hl opt">==(</span><span class="hl kwb">const</span> SharedPtr <span class="hl opt">&amp;)</span> <span class="hl kwb">const</span><span class="hl opt">;</span>
    <span class="hl kwb">void</span> <span class="hl kwc">operator</span><span class="hl opt">!=(</span><span class="hl kwb">const</span> SharedPtr <span class="hl opt">&amp;)</span> <span class="hl kwb">const</span><span class="hl opt">;</span>

  <span class="hl kwc">public</span><span class="hl opt">:</span>
    <span class="hl kwc">typedef</span> T Type<span class="hl opt">;</span>
    <span class="hl kwc">explicit</span> <span class="hl kwd">SharedPtr</span><span class="hl opt">(</span>T <span class="hl opt">*</span>p<span class="hl opt">=</span><span class="hl num">0</span><span class="hl opt">) :</span> <span class="hl kwd">m_ptr</span><span class="hl opt">(</span>p<span class="hl opt">) {</span> <span class="hl kwa">if</span> <span class="hl opt">(</span>m_ptr<span class="hl opt">)</span> m_ptr<span class="hl opt">-&gt;</span><span class="hl kwd">addRef</span><span class="hl opt">(); }</span>
    <span class="hl opt">~</span><span class="hl kwd">SharedPtr</span><span class="hl opt">() {</span> <span class="hl kwa">if</span> <span class="hl opt">(</span>m_ptr<span class="hl opt">)</span> m_ptr<span class="hl opt">-&gt;</span><span class="hl kwd">release</span><span class="hl opt">(); };</span>
    T <span class="hl opt">&amp;</span><span class="hl kwc">operator</span><span class="hl opt">*()</span> <span class="hl kwb">const</span> <span class="hl opt">{</span> <span class="hl kwa">return</span> <span class="hl opt">*</span>m_ptr<span class="hl opt">; }</span>
    T <span class="hl opt">*</span><span class="hl kwc">operator</span><span class="hl opt">-&gt;()</span> <span class="hl kwb">const</span> <span class="hl opt">{</span> <span class="hl kwa">return</span> m_ptr<span class="hl opt">; }</span>
    T <span class="hl opt">*</span><span class="hl kwd">get</span><span class="hl opt">()</span> <span class="hl kwb">const</span> <span class="hl opt">{</span> <span class="hl kwa">return</span> m_ptr<span class="hl opt">; }</span>
    <span class="hl kwc">operator</span> <span class="hl kwb">bool</span><span class="hl opt">()</span> <span class="hl kwb">const</span> <span class="hl opt">{</span> <span class="hl kwa">return</span> m_ptr<span class="hl opt">!=</span><span class="hl num">0</span><span class="hl opt">; }</span>
    <span class="hl kwb">void</span> <span class="hl kwd">reset</span><span class="hl opt">(</span>T <span class="hl opt">*</span>p<span class="hl opt">=</span><span class="hl num">0</span><span class="hl opt">)</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>p<span class="hl opt">)</span> p<span class="hl opt">-&gt;</span><span class="hl kwd">addRef</span><span class="hl opt">();</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>m_ptr<span class="hl opt">)</span> m_ptr<span class="hl opt">-&gt;</span><span class="hl kwd">release</span><span class="hl opt">();</span>
      m_ptr <span class="hl opt">=</span> p<span class="hl opt">;</span>
    <span class="hl opt">}</span>
<span class="hl opt">};</span>

<span class="hl com">/** &#64;brief Template List iterator support */</span>
<span class="hl kwc">class</span> GenericConstIterator <span class="hl opt">:</span> <span class="hl kwc">public</span> TemplateListIntf<span class="hl opt">::</span>ConstIterator
<span class="hl opt">{</span>
  <span class="hl kwc">public</span><span class="hl opt">:</span>
    <span class="hl kwd">GenericConstIterator</span><span class="hl opt">(</span><span class="hl kwb">const</span> QList<span class="hl opt">&lt;</span>TemplateVariant<span class="hl opt">&gt; &amp;</span>list<span class="hl opt">)</span>
      <span class="hl opt">:</span> <span class="hl kwd">m_it</span><span class="hl opt">(</span>list<span class="hl opt">) { }</span>
    <span class="hl kwc">virtual</span> <span class="hl opt">~</span><span class="hl kwd">GenericConstIterator</span><span class="hl opt">() {}</span>
    <span class="hl kwb">void</span> <span class="hl kwd">toFirst</span><span class="hl opt">()</span>
    <span class="hl opt">{</span>
      m_it<span class="hl opt">.</span><span class="hl kwd">toFirst</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    <span class="hl kwb">void</span> <span class="hl kwd">toLast</span><span class="hl opt">()</span>
    <span class="hl opt">{</span>
      m_it<span class="hl opt">.</span><span class="hl kwd">toLast</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    <span class="hl kwb">void</span> <span class="hl kwd">toNext</span><span class="hl opt">()</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>m_it<span class="hl opt">.</span><span class="hl kwd">current</span><span class="hl opt">()) ++</span>m_it<span class="hl opt">;</span>
    <span class="hl opt">}</span>
    <span class="hl kwb">void</span> <span class="hl kwd">toPrev</span><span class="hl opt">()</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>m_it<span class="hl opt">.</span><span class="hl kwd">current</span><span class="hl opt">()) --</span>m_it<span class="hl opt">;</span>
    <span class="hl opt">}</span>
    <span class="hl kwb">bool</span> <span class="hl kwd">current</span><span class="hl opt">(</span>TemplateVariant <span class="hl opt">&amp;</span>v<span class="hl opt">)</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>m_it<span class="hl opt">.</span><span class="hl kwd">current</span><span class="hl opt">())</span>
      <span class="hl opt">{</span>
        v <span class="hl opt">= *</span>m_it<span class="hl opt">.</span><span class="hl kwd">current</span><span class="hl opt">();</span>
        <span class="hl kwa">return</span> TRUE<span class="hl opt">;</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">else</span>
      <span class="hl opt">{</span>
        v <span class="hl opt">=</span> <span class="hl kwd">TemplateVariant</span><span class="hl opt">();</span>
        <span class="hl kwa">return</span> FALSE<span class="hl opt">;</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
  <span class="hl kwc">private</span><span class="hl opt">:</span>
    QListIterator<span class="hl opt">&lt;</span>TemplateVariant<span class="hl opt">&gt;</span> m_it<span class="hl opt">;</span>
<span class="hl opt">};</span>

<span class="hl slc">//------------------------------------------------------------------------</span>

<span class="hl com">/** &#64;brief standard template list implementation */</span>
<span class="hl kwc">class</span> GenericNodeListContext <span class="hl opt">:</span> <span class="hl kwc">public</span> TemplateListIntf
<span class="hl opt">{</span>
  <span class="hl kwc">public</span><span class="hl opt">:</span>
    <span class="hl kwd">GenericNodeListContext</span><span class="hl opt">() :</span> <span class="hl kwd">m_refCount</span><span class="hl opt">(</span><span class="hl num">0</span><span class="hl opt">)</span>
    <span class="hl opt">{</span>
      m_children<span class="hl opt">.</span><span class="hl kwd">setAutoDelete</span><span class="hl opt">(</span>TRUE<span class="hl opt">);</span>
    <span class="hl opt">}</span>
    <span class="hl kwb">static</span> GenericNodeListContext <span class="hl opt">*</span><span class="hl kwd">alloc</span><span class="hl opt">()</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return new</span> GenericNodeListContext<span class="hl opt">;</span>
    <span class="hl opt">}</span>

    <span class="hl slc">// TemplateListIntf methods</span>
    uint <span class="hl kwd">count</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_children<span class="hl opt">.</span><span class="hl kwd">count</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">at</span><span class="hl opt">(</span>uint index<span class="hl opt">)</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      TemplateVariant result<span class="hl opt">;</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>index<span class="hl opt">&lt;</span><span class="hl kwd">count</span><span class="hl opt">())</span>
      <span class="hl opt">{</span>
        result <span class="hl opt">= *</span>m_children<span class="hl opt">.</span><span class="hl kwd">at</span><span class="hl opt">(</span>index<span class="hl opt">);</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> result<span class="hl opt">;</span>
    <span class="hl opt">}</span>
    TemplateListIntf<span class="hl opt">::</span>ConstIterator <span class="hl opt">*</span><span class="hl kwd">createIterator</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return new</span> <span class="hl kwd">GenericConstIterator</span><span class="hl opt">(</span>m_children<span class="hl opt">);</span>
    <span class="hl opt">}</span>

    <span class="hl kwb">void</span> <span class="hl kwd">append</span><span class="hl opt">(</span><span class="hl kwb">const</span> TemplateVariant <span class="hl opt">&amp;</span>ctn<span class="hl opt">)</span>
    <span class="hl opt">{</span>
      m_children<span class="hl opt">.</span><span class="hl kwd">append</span><span class="hl opt">(</span><span class="hl kwa">new</span> <span class="hl kwd">TemplateVariant</span><span class="hl opt">(</span>ctn<span class="hl opt">));</span>
    <span class="hl opt">}</span>
    <span class="hl kwb">bool</span> <span class="hl kwd">isEmpty</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_children<span class="hl opt">.</span><span class="hl kwd">isEmpty</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    <span class="hl kwb">int</span> <span class="hl kwd">addRef</span><span class="hl opt">()</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl opt">++</span>m_refCount<span class="hl opt">;</span>
    <span class="hl opt">}</span>
    <span class="hl kwb">int</span> <span class="hl kwd">release</span><span class="hl opt">()</span>
    <span class="hl opt">{</span>
      <span class="hl kwb">int</span> count <span class="hl opt">= --</span>m_refCount<span class="hl opt">;</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>count<span class="hl opt">&lt;=</span><span class="hl num">0</span><span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">delete this</span><span class="hl opt">;</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> count<span class="hl opt">;</span>
    <span class="hl opt">}</span>
  <span class="hl kwc">private</span><span class="hl opt">:</span>
    <span class="hl kwc">mutable</span> QList<span class="hl opt">&lt;</span>TemplateVariant<span class="hl opt">&gt;</span> m_children<span class="hl opt">;</span>
    <span class="hl kwb">int</span> m_refCount<span class="hl opt">;</span>
<span class="hl opt">};</span>

<span class="hl slc">//------------------------------------------------------------------------</span>

<span class="hl com">/** &#64;brief Helper class to map a property name to a handler member function */</span>
<span class="hl kwc">template</span><span class="hl opt">&lt;</span>typename T<span class="hl opt">&gt;</span>
<span class="hl kwc">class</span> PropertyMapper
<span class="hl opt">{</span>
  <span class="hl kwc">private</span><span class="hl opt">:</span>
    <span class="hl kwb">struct</span> PropertyFuncIntf
    <span class="hl opt">{</span>
      <span class="hl kwc">virtual</span> <span class="hl opt">~</span><span class="hl kwd">PropertyFuncIntf</span><span class="hl opt">() {}</span>
      <span class="hl kwc">virtual</span> TemplateVariant <span class="hl kwc">operator</span><span class="hl opt">()(</span><span class="hl kwb">const</span> T <span class="hl opt">*</span>obj<span class="hl opt">)</span> <span class="hl kwb">const</span> <span class="hl opt">=</span> <span class="hl num">0</span><span class="hl opt">;</span>
    <span class="hl opt">};</span>
    <span class="hl kwb">struct</span> PropertyFunc <span class="hl opt">:</span> <span class="hl kwc">public</span> PropertyFuncIntf
    <span class="hl opt">{</span>
      <span class="hl kwc">typedef</span> <span class="hl kwd">TemplateVariant</span> <span class="hl opt">(</span>T<span class="hl opt">::*</span>Handler<span class="hl opt">)()</span> <span class="hl kwb">const</span><span class="hl opt">;</span>
      <span class="hl kwd">PropertyFunc</span><span class="hl opt">(</span>Handler h<span class="hl opt">) :</span> <span class="hl kwd">handler</span><span class="hl opt">(</span>h<span class="hl opt">) {}</span>
      TemplateVariant <span class="hl kwc">operator</span><span class="hl opt">()(</span><span class="hl kwb">const</span> T <span class="hl opt">*</span>obj<span class="hl opt">)</span> <span class="hl kwb">const</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> <span class="hl opt">(</span>obj<span class="hl opt">-&gt;*</span>handler<span class="hl opt">)();</span>
      <span class="hl opt">}</span>
      Handler handler<span class="hl opt">;</span>
    <span class="hl opt">};</span>

  <span class="hl kwc">public</span><span class="hl opt">:</span>
    <span class="hl kwd">PropertyMapper</span><span class="hl opt">() :</span> <span class="hl kwd">m_map</span><span class="hl opt">(</span><span class="hl num">63</span><span class="hl opt">) {</span> m_map<span class="hl opt">.</span><span class="hl kwd">setAutoDelete</span><span class="hl opt">(</span>TRUE<span class="hl opt">); }</span>

    <span class="hl com">/** Add a property to the map</span>
<span class="hl com">     *  &#64;param[in] name   The name of the property to add.</span>
<span class="hl com">     *  &#64;param[in] handle The method to call when the property is accessed.</span>
<span class="hl com">     */</span>
    <span class="hl kwb">void</span> <span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl kwb">const char</span> <span class="hl opt">*</span>name<span class="hl opt">,</span>typename PropertyFunc<span class="hl opt">::</span>Handler handle<span class="hl opt">)</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>m_map<span class="hl opt">.</span><span class="hl kwd">find</span><span class="hl opt">(</span>name<span class="hl opt">))</span>
      <span class="hl opt">{</span>
        <span class="hl kwd">err</span><span class="hl opt">(</span><span class="hl str">&quot;Error: adding property '%s' more than once&quot;</span><span class="hl opt">,</span>name<span class="hl opt">);</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">else</span>
      <span class="hl opt">{</span>
        m_map<span class="hl opt">.</span><span class="hl kwd">insert</span><span class="hl opt">(</span>name<span class="hl opt">,</span><span class="hl kwa">new</span> <span class="hl kwd">PropertyFunc</span><span class="hl opt">(</span>handle<span class="hl opt">));</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>

    <span class="hl com">/** Gets the value of a property.</span>
<span class="hl com">     *  &#64;param[in] obj  The object handling access to the property.</span>
<span class="hl com">     *  &#64;param[in] name The name of the property.</span>
<span class="hl com">     *  &#64;returns A variant representing the properties value or an</span>
<span class="hl com">     *  invalid variant if it was not found.</span>
<span class="hl com">     */</span>
    TemplateVariant <span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwb">const</span> T <span class="hl opt">*</span>obj<span class="hl opt">,</span><span class="hl kwb">const char</span> <span class="hl opt">*</span>name<span class="hl opt">)</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl slc">//printf(&quot;PropertyMapper::get(%s)\n&quot;,name);</span>
      TemplateVariant result<span class="hl opt">;</span>
      PropertyFuncIntf <span class="hl opt">*</span>func <span class="hl opt">=</span> m_map<span class="hl opt">.</span><span class="hl kwd">find</span><span class="hl opt">(</span>name<span class="hl opt">);</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>func<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        result <span class="hl opt">= (*</span>func<span class="hl opt">)(</span>obj<span class="hl opt">);</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> result<span class="hl opt">;</span>
    <span class="hl opt">}</span>

  <span class="hl kwc">private</span><span class="hl opt">:</span>
    QDict<span class="hl opt">&lt;</span>PropertyFuncIntf<span class="hl opt">&gt;</span> m_map<span class="hl opt">;</span>
<span class="hl opt">};</span>


<span class="hl slc">//------------------------------------------------------------------------</span>

<span class="hl slc">//%% struct Config : configuration options</span>
<span class="hl slc">//%% {</span>
<span class="hl kwc">class</span> ConfigContext<span class="hl opt">::</span>Private
<span class="hl opt">{</span>
  <span class="hl kwc">public</span><span class="hl opt">:</span>
    <span class="hl kwd">Private</span><span class="hl opt">() {</span> m_cachedLists<span class="hl opt">.</span><span class="hl kwd">setAutoDelete</span><span class="hl opt">(</span>TRUE<span class="hl opt">); }</span>
    <span class="hl kwc">virtual</span> <span class="hl opt">~</span><span class="hl kwd">Private</span><span class="hl opt">() { }</span>
    TemplateVariant <span class="hl kwd">fetchList</span><span class="hl opt">(</span><span class="hl kwb">const</span> QCString <span class="hl opt">&amp;</span>name<span class="hl opt">,</span><span class="hl kwb">const</span> StringVector <span class="hl opt">&amp;</span>list<span class="hl opt">)</span>
    <span class="hl opt">{</span>
      TemplateVariant <span class="hl opt">*</span>v <span class="hl opt">=</span> m_cachedLists<span class="hl opt">.</span><span class="hl kwd">find</span><span class="hl opt">(</span>name<span class="hl opt">);</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>v<span class="hl opt">==</span><span class="hl num">0</span><span class="hl opt">)</span>
      <span class="hl opt">{</span>
        TemplateList <span class="hl opt">*</span>tlist <span class="hl opt">=</span> TemplateList<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">();</span>
        m_cachedLists<span class="hl opt">.</span><span class="hl kwd">insert</span><span class="hl opt">(</span>name<span class="hl opt">,</span><span class="hl kwa">new</span> <span class="hl kwd">TemplateVariant</span><span class="hl opt">(</span>tlist<span class="hl opt">));</span>
        <span class="hl kwa">for</span> <span class="hl opt">(</span><span class="hl kwb">const</span> <span class="hl kwc">auto</span> <span class="hl opt">&amp;</span>s <span class="hl opt">:</span> list<span class="hl opt">)</span>
        <span class="hl opt">{</span>
          tlist<span class="hl opt">-&gt;</span><span class="hl kwd">append</span><span class="hl opt">(</span>s<span class="hl opt">.</span><span class="hl kwd">c_str</span><span class="hl opt">());</span>
        <span class="hl opt">}</span>
        <span class="hl kwa">return</span> tlist<span class="hl opt">;</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">else</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> <span class="hl opt">*</span>v<span class="hl opt">;</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
  <span class="hl kwc">private</span><span class="hl opt">:</span>
    QDict<span class="hl opt">&lt;</span>TemplateVariant<span class="hl opt">&gt;</span> m_cachedLists<span class="hl opt">;</span>
<span class="hl opt">};</span>
<span class="hl slc">//%% }</span>

ConfigContext<span class="hl opt">::</span><span class="hl kwd">ConfigContext</span><span class="hl opt">() :</span> <span class="hl kwd">RefCountedContext</span><span class="hl opt">(</span><span class="hl str">&quot;ConfigContext&quot;</span><span class="hl opt">)</span>
<span class="hl opt">{</span>
  p <span class="hl opt">=</span> <span class="hl kwa">new</span> Private<span class="hl opt">;</span>
<span class="hl opt">}</span>

ConfigContext<span class="hl opt">::~</span><span class="hl kwd">ConfigContext</span><span class="hl opt">()</span>
<span class="hl opt">{</span>
  <span class="hl kwa">delete</span> p<span class="hl opt">;</span>
<span class="hl opt">}</span>

TemplateVariant ConfigContext<span class="hl opt">::</span><span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwb">const char</span> <span class="hl opt">*</span>name<span class="hl opt">)</span> <span class="hl kwb">const</span>
<span class="hl opt">{</span>
  TemplateVariant result<span class="hl opt">;</span>
  <span class="hl kwa">if</span> <span class="hl opt">(</span>name<span class="hl opt">)</span>
  <span class="hl opt">{</span>
    <span class="hl kwb">const</span> ConfigValues<span class="hl opt">::</span>Info <span class="hl opt">*</span>option <span class="hl opt">=</span> ConfigValues<span class="hl opt">::</span><span class="hl kwd">instance</span><span class="hl opt">().</span><span class="hl kwd">get</span><span class="hl opt">(</span>name<span class="hl opt">);</span>
    <span class="hl kwa">if</span> <span class="hl opt">(</span>option<span class="hl opt">)</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">switch</span> <span class="hl opt">(</span>option<span class="hl opt">-&gt;</span>type<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">case</span> ConfigValues<span class="hl opt">::</span>Info<span class="hl opt">::</span>Bool<span class="hl opt">:</span>
          <span class="hl opt">{</span>
            <span class="hl kwb">bool</span> b <span class="hl opt">=</span> ConfigValues<span class="hl opt">::</span><span class="hl kwd">instance</span><span class="hl opt">().*(</span>option<span class="hl opt">-&gt;</span>value<span class="hl opt">.</span>b<span class="hl opt">);</span>
            <span class="hl kwa">return</span> <span class="hl kwd">TemplateVariant</span><span class="hl opt">(</span>b<span class="hl opt">);</span>
          <span class="hl opt">}</span>
        <span class="hl kwa">case</span> ConfigValues<span class="hl opt">::</span>Info<span class="hl opt">::</span>Int<span class="hl opt">:</span>
          <span class="hl opt">{</span>
            <span class="hl kwb">int</span> i <span class="hl opt">=</span> ConfigValues<span class="hl opt">::</span><span class="hl kwd">instance</span><span class="hl opt">().*(</span>option<span class="hl opt">-&gt;</span>value<span class="hl opt">.</span>i<span class="hl opt">);</span>
            <span class="hl kwa">return</span> <span class="hl kwd">TemplateVariant</span><span class="hl opt">(</span>i<span class="hl opt">);</span>
          <span class="hl opt">}</span>
        <span class="hl kwa">case</span> ConfigValues<span class="hl opt">::</span>Info<span class="hl opt">::</span>String<span class="hl opt">:</span>
          <span class="hl opt">{</span>
            QCString s <span class="hl opt">=</span> ConfigValues<span class="hl opt">::</span><span class="hl kwd">instance</span><span class="hl opt">().*(</span>option<span class="hl opt">-&gt;</span>value<span class="hl opt">.</span>s<span class="hl opt">);</span>
            <span class="hl kwa">return</span> <span class="hl kwd">TemplateVariant</span><span class="hl opt">(</span>s<span class="hl opt">);</span>
          <span class="hl opt">}</span>
        <span class="hl kwa">case</span> ConfigValues<span class="hl opt">::</span>Info<span class="hl opt">::</span>List<span class="hl opt">:</span>
          <span class="hl opt">{</span>
            <span class="hl kwb">const</span> StringVector <span class="hl opt">&amp;</span>l <span class="hl opt">=</span> ConfigValues<span class="hl opt">::</span><span class="hl kwd">instance</span><span class="hl opt">().*(</span>option<span class="hl opt">-&gt;</span>value<span class="hl opt">.</span>l<span class="hl opt">);</span>
            <span class="hl kwa">return</span> p<span class="hl opt">-&gt;</span><span class="hl kwd">fetchList</span><span class="hl opt">(</span>name<span class="hl opt">,</span>l<span class="hl opt">);</span>
          <span class="hl opt">}</span>
        <span class="hl kwa">default</span><span class="hl opt">:</span>
          <span class="hl kwa">break</span><span class="hl opt">;</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
  <span class="hl opt">}</span>
  <span class="hl kwa">return</span> result<span class="hl opt">;</span>
<span class="hl opt">}</span>

<span class="hl slc">//------------------------------------------------------------------------</span>

<span class="hl slc">//%% struct Doxygen: global information</span>
<span class="hl slc">//%% {</span>
<span class="hl kwc">class</span> DoxygenContext<span class="hl opt">::</span>Private
<span class="hl opt">{</span>
  <span class="hl kwc">public</span><span class="hl opt">:</span>
    TemplateVariant <span class="hl kwd">version</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getDoxygenVersion</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">date</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">dateToString</span><span class="hl opt">(</span>TRUE<span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">maxJaxCodeFile</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_cache<span class="hl opt">.</span>maxJaxCodeFile<span class="hl opt">;</span>
    <span class="hl opt">}</span>
    <span class="hl kwd">Private</span><span class="hl opt">()</span>
    <span class="hl opt">{</span>
      <span class="hl kwb">static bool</span> init<span class="hl opt">=</span>FALSE<span class="hl opt">;</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>init<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl slc">//%% string version</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;version&quot;</span><span class="hl opt">,         &amp;</span>Private<span class="hl opt">::</span>version<span class="hl opt">);</span>
        <span class="hl slc">//%% string date</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;date&quot;</span><span class="hl opt">,            &amp;</span>Private<span class="hl opt">::</span>date<span class="hl opt">);</span>
        <span class="hl slc">//%% string maxJaxCodeFile</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;mathJaxCodeFile&quot;</span><span class="hl opt">, &amp;</span>Private<span class="hl opt">::</span>maxJaxCodeFile<span class="hl opt">);</span>
        init<span class="hl opt">=</span>TRUE<span class="hl opt">;</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwb">const char</span> <span class="hl opt">*</span>n<span class="hl opt">)</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> s_inst<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwa">this</span><span class="hl opt">,</span>n<span class="hl opt">);</span>
    <span class="hl opt">}</span>
  <span class="hl kwc">private</span><span class="hl opt">:</span>
    <span class="hl kwb">struct</span> Cachable
    <span class="hl opt">{</span>
      <span class="hl kwd">Cachable</span><span class="hl opt">() {</span> maxJaxCodeFile<span class="hl opt">=</span><span class="hl kwd">fileToString</span><span class="hl opt">(</span><span class="hl kwd">Config_getString</span><span class="hl opt">(</span>MATHJAX_CODEFILE<span class="hl opt">)); }</span>
      QCString maxJaxCodeFile<span class="hl opt">;</span>
    <span class="hl opt">};</span>
    <span class="hl kwc">mutable</span> Cachable m_cache<span class="hl opt">;</span>
    <span class="hl kwb">static</span> PropertyMapper<span class="hl opt">&lt;</span>DoxygenContext<span class="hl opt">::</span>Private<span class="hl opt">&gt;</span> s_inst<span class="hl opt">;</span>
<span class="hl opt">};</span>
<span class="hl slc">//%% }</span>

PropertyMapper<span class="hl opt">&lt;</span>DoxygenContext<span class="hl opt">::</span>Private<span class="hl opt">&gt;</span> DoxygenContext<span class="hl opt">::</span>Private<span class="hl opt">::</span>s_inst<span class="hl opt">;</span>
<span class="hl slc">//                                (PropertyMapper&lt;DoxygenContext::Private&gt;::instance());</span>

DoxygenContext<span class="hl opt">::</span><span class="hl kwd">DoxygenContext</span><span class="hl opt">() :</span> <span class="hl kwd">RefCountedContext</span><span class="hl opt">(</span><span class="hl str">&quot;DoxygenContext&quot;</span><span class="hl opt">)</span>
<span class="hl opt">{</span>
  p <span class="hl opt">=</span> <span class="hl kwa">new</span> Private<span class="hl opt">;</span>
<span class="hl opt">}</span>

DoxygenContext<span class="hl opt">::~</span><span class="hl kwd">DoxygenContext</span><span class="hl opt">()</span>
<span class="hl opt">{</span>
  <span class="hl kwa">delete</span> p<span class="hl opt">;</span>
<span class="hl opt">}</span>

TemplateVariant DoxygenContext<span class="hl opt">::</span><span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwb">const char</span> <span class="hl opt">*</span>n<span class="hl opt">)</span> <span class="hl kwb">const</span>
<span class="hl opt">{</span>
  <span class="hl kwa">return</span> p<span class="hl opt">-&gt;</span><span class="hl kwd">get</span><span class="hl opt">(</span>n<span class="hl opt">);</span>
<span class="hl opt">}</span>

<span class="hl slc">//------------------------------------------------------------------------</span>

<span class="hl slc">//%% struct Translator: translation methods</span>
<span class="hl slc">//%% {</span>
<span class="hl kwc">class</span> TranslateContext<span class="hl opt">::</span>Private
<span class="hl opt">{</span>
  <span class="hl kwc">public</span><span class="hl opt">:</span>

    TemplateVariant <span class="hl kwd">handleGeneratedAt</span><span class="hl opt">(</span><span class="hl kwb">const</span> QValueList<span class="hl opt">&lt;</span>TemplateVariant<span class="hl opt">&gt; &amp;</span>args<span class="hl opt">)</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>args<span class="hl opt">.</span><span class="hl kwd">count</span><span class="hl opt">()==</span><span class="hl num">2</span><span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trGeneratedAt</span><span class="hl opt">(</span>args<span class="hl opt">[</span><span class="hl num">0</span><span class="hl opt">].</span><span class="hl kwd">toString</span><span class="hl opt">(),</span>args<span class="hl opt">[</span><span class="hl num">1</span><span class="hl opt">].</span><span class="hl kwd">toString</span><span class="hl opt">());</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">else</span>
      <span class="hl opt">{</span>
        <span class="hl kwd">err</span><span class="hl opt">(</span><span class="hl str">&quot;tr.generateAt should take two arguments, got %d!</span><span class="hl esc">\n</span><span class="hl str">&quot;</span><span class="hl opt">,</span>args<span class="hl opt">.</span><span class="hl kwd">count</span><span class="hl opt">());</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> <span class="hl kwd">TemplateVariant</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">handleInheritanceDiagramFor</span><span class="hl opt">(</span><span class="hl kwb">const</span> QValueList<span class="hl opt">&lt;</span>TemplateVariant<span class="hl opt">&gt; &amp;</span>args<span class="hl opt">)</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>args<span class="hl opt">.</span><span class="hl kwd">count</span><span class="hl opt">()==</span><span class="hl num">1</span><span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trClassDiagram</span><span class="hl opt">(</span>args<span class="hl opt">[</span><span class="hl num">0</span><span class="hl opt">].</span><span class="hl kwd">toString</span><span class="hl opt">());</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">else</span>
      <span class="hl opt">{</span>
        <span class="hl kwd">err</span><span class="hl opt">(</span><span class="hl str">&quot;tr.inheritanceDiagramFor should take one argument, got %d!</span><span class="hl esc">\n</span><span class="hl str">&quot;</span><span class="hl opt">,</span>args<span class="hl opt">.</span><span class="hl kwd">count</span><span class="hl opt">());</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> <span class="hl kwd">TemplateVariant</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">handleCollaborationDiagramFor</span><span class="hl opt">(</span><span class="hl kwb">const</span> QValueList<span class="hl opt">&lt;</span>TemplateVariant<span class="hl opt">&gt; &amp;</span>args<span class="hl opt">)</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>args<span class="hl opt">.</span><span class="hl kwd">count</span><span class="hl opt">()==</span><span class="hl num">1</span><span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trCollaborationDiagram</span><span class="hl opt">(</span>args<span class="hl opt">[</span><span class="hl num">0</span><span class="hl opt">].</span><span class="hl kwd">toString</span><span class="hl opt">());</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">else</span>
      <span class="hl opt">{</span>
        <span class="hl kwd">err</span><span class="hl opt">(</span><span class="hl str">&quot;tr.collaborationDiagramFor should take one argument, got %d!</span><span class="hl esc">\n</span><span class="hl str">&quot;</span><span class="hl opt">,</span>args<span class="hl opt">.</span><span class="hl kwd">count</span><span class="hl opt">());</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> <span class="hl kwd">TemplateVariant</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">handleDirDependencyGraphFor</span><span class="hl opt">(</span><span class="hl kwb">const</span> QValueList<span class="hl opt">&lt;</span>TemplateVariant<span class="hl opt">&gt; &amp;</span>args<span class="hl opt">)</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>args<span class="hl opt">.</span><span class="hl kwd">count</span><span class="hl opt">()==</span><span class="hl num">1</span><span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trDirDepGraph</span><span class="hl opt">(</span>args<span class="hl opt">[</span><span class="hl num">0</span><span class="hl opt">].</span><span class="hl kwd">toString</span><span class="hl opt">());</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">else</span>
      <span class="hl opt">{</span>
        <span class="hl kwd">err</span><span class="hl opt">(</span><span class="hl str">&quot;tr.dirDependencyGraphFor should take one argument, got %d!</span><span class="hl esc">\n</span><span class="hl str">&quot;</span><span class="hl opt">,</span>args<span class="hl opt">.</span><span class="hl kwd">count</span><span class="hl opt">());</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> <span class="hl kwd">TemplateVariant</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">handleInheritsList</span><span class="hl opt">(</span><span class="hl kwb">const</span> QValueList<span class="hl opt">&lt;</span>TemplateVariant<span class="hl opt">&gt; &amp;</span>args<span class="hl opt">)</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>args<span class="hl opt">.</span><span class="hl kwd">count</span><span class="hl opt">()==</span><span class="hl num">1</span><span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trInheritsList</span><span class="hl opt">(</span>args<span class="hl opt">[</span><span class="hl num">0</span><span class="hl opt">].</span><span class="hl kwd">toInt</span><span class="hl opt">());</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">else</span>
      <span class="hl opt">{</span>
        <span class="hl kwd">err</span><span class="hl opt">(</span><span class="hl str">&quot;tr.inheritsList should take one integer argument, got %d!</span><span class="hl esc">\n</span><span class="hl str">&quot;</span><span class="hl opt">,</span>args<span class="hl opt">.</span><span class="hl kwd">count</span><span class="hl opt">());</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> <span class="hl kwd">TemplateVariant</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">handleInheritedByList</span><span class="hl opt">(</span><span class="hl kwb">const</span> QValueList<span class="hl opt">&lt;</span>TemplateVariant<span class="hl opt">&gt; &amp;</span>args<span class="hl opt">)</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>args<span class="hl opt">.</span><span class="hl kwd">count</span><span class="hl opt">()==</span><span class="hl num">1</span><span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trInheritedByList</span><span class="hl opt">(</span>args<span class="hl opt">[</span><span class="hl num">0</span><span class="hl opt">].</span><span class="hl kwd">toInt</span><span class="hl opt">());</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">else</span>
      <span class="hl opt">{</span>
        <span class="hl kwd">err</span><span class="hl opt">(</span><span class="hl str">&quot;tr.inheritedByList should take one integer argument, got %d!</span><span class="hl esc">\n</span><span class="hl str">&quot;</span><span class="hl opt">,</span>args<span class="hl opt">.</span><span class="hl kwd">count</span><span class="hl opt">());</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> <span class="hl kwd">TemplateVariant</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">handleWriteList</span><span class="hl opt">(</span><span class="hl kwb">const</span> QValueList<span class="hl opt">&lt;</span>TemplateVariant<span class="hl opt">&gt; &amp;</span>args<span class="hl opt">)</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>args<span class="hl opt">.</span><span class="hl kwd">count</span><span class="hl opt">()==</span><span class="hl num">1</span><span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trWriteList</span><span class="hl opt">(</span>args<span class="hl opt">[</span><span class="hl num">0</span><span class="hl opt">].</span><span class="hl kwd">toInt</span><span class="hl opt">());</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">else</span>
      <span class="hl opt">{</span>
        <span class="hl kwd">err</span><span class="hl opt">(</span><span class="hl str">&quot;tr.*List should take one integer argument, got %d!</span><span class="hl esc">\n</span><span class="hl str">&quot;</span><span class="hl opt">,</span>args<span class="hl opt">.</span><span class="hl kwd">count</span><span class="hl opt">());</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> <span class="hl kwd">TemplateVariant</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">handleImplementedBy</span><span class="hl opt">(</span><span class="hl kwb">const</span> QValueList<span class="hl opt">&lt;</span>TemplateVariant<span class="hl opt">&gt; &amp;</span>args<span class="hl opt">)</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>args<span class="hl opt">.</span><span class="hl kwd">count</span><span class="hl opt">()==</span><span class="hl num">1</span><span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trImplementedInList</span><span class="hl opt">(</span>args<span class="hl opt">[</span><span class="hl num">0</span><span class="hl opt">].</span><span class="hl kwd">toInt</span><span class="hl opt">());</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">else</span>
      <span class="hl opt">{</span>
        <span class="hl kwd">err</span><span class="hl opt">(</span><span class="hl str">&quot;tr.implementedBy should take one integer argument, got %d!</span><span class="hl esc">\n</span><span class="hl str">&quot;</span><span class="hl opt">,</span>args<span class="hl opt">.</span><span class="hl kwd">count</span><span class="hl opt">());</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> <span class="hl kwd">TemplateVariant</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">handleReimplementedBy</span><span class="hl opt">(</span><span class="hl kwb">const</span> QValueList<span class="hl opt">&lt;</span>TemplateVariant<span class="hl opt">&gt; &amp;</span>args<span class="hl opt">)</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>args<span class="hl opt">.</span><span class="hl kwd">count</span><span class="hl opt">()==</span><span class="hl num">1</span><span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trReimplementedInList</span><span class="hl opt">(</span>args<span class="hl opt">[</span><span class="hl num">0</span><span class="hl opt">].</span><span class="hl kwd">toInt</span><span class="hl opt">());</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">else</span>
      <span class="hl opt">{</span>
        <span class="hl kwd">err</span><span class="hl opt">(</span><span class="hl str">&quot;tr.reimplementedBy should take one integer argument, got %d!</span><span class="hl esc">\n</span><span class="hl str">&quot;</span><span class="hl opt">,</span>args<span class="hl opt">.</span><span class="hl kwd">count</span><span class="hl opt">());</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> <span class="hl kwd">TemplateVariant</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">handleSourceRefs</span><span class="hl opt">(</span><span class="hl kwb">const</span> QValueList<span class="hl opt">&lt;</span>TemplateVariant<span class="hl opt">&gt; &amp;</span>args<span class="hl opt">)</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>args<span class="hl opt">.</span><span class="hl kwd">count</span><span class="hl opt">()==</span><span class="hl num">1</span><span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trReferences</span><span class="hl opt">()+</span><span class="hl str">&quot; &quot;</span><span class="hl opt">+</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trWriteList</span><span class="hl opt">(</span>args<span class="hl opt">[</span><span class="hl num">0</span><span class="hl opt">].</span><span class="hl kwd">toInt</span><span class="hl opt">())+</span><span class="hl str">&quot;.&quot;</span><span class="hl opt">;</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">else</span>
      <span class="hl opt">{</span>
        <span class="hl kwd">err</span><span class="hl opt">(</span><span class="hl str">&quot;tr.sourceRefs should take one integer argument, got %d</span><span class="hl esc">\n</span><span class="hl str">&quot;</span><span class="hl opt">,</span>args<span class="hl opt">.</span><span class="hl kwd">count</span><span class="hl opt">());</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> <span class="hl kwd">TemplateVariant</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">handleSourceRefBys</span><span class="hl opt">(</span><span class="hl kwb">const</span> QValueList<span class="hl opt">&lt;</span>TemplateVariant<span class="hl opt">&gt; &amp;</span>args<span class="hl opt">)</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>args<span class="hl opt">.</span><span class="hl kwd">count</span><span class="hl opt">()==</span><span class="hl num">1</span><span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trReferencedBy</span><span class="hl opt">()+</span><span class="hl str">&quot; &quot;</span><span class="hl opt">+</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trWriteList</span><span class="hl opt">(</span>args<span class="hl opt">[</span><span class="hl num">0</span><span class="hl opt">].</span><span class="hl kwd">toInt</span><span class="hl opt">())+</span><span class="hl str">&quot;.&quot;</span><span class="hl opt">;</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">else</span>
      <span class="hl opt">{</span>
        <span class="hl kwd">err</span><span class="hl opt">(</span><span class="hl str">&quot;tr.sourceRefBys should take one integer argument, got %d</span><span class="hl esc">\n</span><span class="hl str">&quot;</span><span class="hl opt">,</span>args<span class="hl opt">.</span><span class="hl kwd">count</span><span class="hl opt">());</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> <span class="hl kwd">TemplateVariant</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">handleIncludeDependencyGraph</span><span class="hl opt">(</span><span class="hl kwb">const</span> QValueList<span class="hl opt">&lt;</span>TemplateVariant<span class="hl opt">&gt; &amp;</span>args<span class="hl opt">)</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>args<span class="hl opt">.</span><span class="hl kwd">count</span><span class="hl opt">()==</span><span class="hl num">1</span><span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trInclDepGraph</span><span class="hl opt">(</span>args<span class="hl opt">[</span><span class="hl num">0</span><span class="hl opt">].</span><span class="hl kwd">toString</span><span class="hl opt">());</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">else</span>
      <span class="hl opt">{</span>
        <span class="hl kwd">err</span><span class="hl opt">(</span><span class="hl str">&quot;tr.includeDependencyGraph should take one string argument, got %d</span><span class="hl esc">\n</span><span class="hl str">&quot;</span><span class="hl opt">,</span>args<span class="hl opt">.</span><span class="hl kwd">count</span><span class="hl opt">());</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> <span class="hl kwd">TemplateVariant</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>



    TemplateVariant <span class="hl kwd">generatedBy</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trGeneratedBy</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">generatedAt</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> TemplateVariant<span class="hl opt">::</span>Delegate<span class="hl opt">::</span>fromMethod<span class="hl opt">&lt;</span>Private<span class="hl opt">,&amp;</span>Private<span class="hl opt">::</span>handleGeneratedAt<span class="hl opt">&gt;(</span><span class="hl kwa">this</span><span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">inheritanceDiagramFor</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> TemplateVariant<span class="hl opt">::</span>Delegate<span class="hl opt">::</span>fromMethod<span class="hl opt">&lt;</span>Private<span class="hl opt">,&amp;</span>Private<span class="hl opt">::</span>handleInheritanceDiagramFor<span class="hl opt">&gt;(</span><span class="hl kwa">this</span><span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">collaborationDiagramFor</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> TemplateVariant<span class="hl opt">::</span>Delegate<span class="hl opt">::</span>fromMethod<span class="hl opt">&lt;</span>Private<span class="hl opt">,&amp;</span>Private<span class="hl opt">::</span>handleCollaborationDiagramFor<span class="hl opt">&gt;(</span><span class="hl kwa">this</span><span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">dirDependencyGraphFor</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> TemplateVariant<span class="hl opt">::</span>Delegate<span class="hl opt">::</span>fromMethod<span class="hl opt">&lt;</span>Private<span class="hl opt">,&amp;</span>Private<span class="hl opt">::</span>handleDirDependencyGraphFor<span class="hl opt">&gt;(</span><span class="hl kwa">this</span><span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">search</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trSearch</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">mainPage</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trMainPage</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">classes</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trClasses</span><span class="hl opt">();</span>
      <span class="hl slc">// TODO: VHDL: theTranslator-&gt;trVhdlType(VhdlDocGen::ENTITY,FALSE)</span>
      <span class="hl slc">// TODO: Fortran: trDataTypes()</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">classList</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trCompoundList</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">classListDescription</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trCompoundListDescription</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">classIndex</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trCompoundIndex</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">namespaceIndex</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trNamespaceIndex</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">classHierarchy</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trClassHierarchy</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">classMembers</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trCompoundMembers</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">modules</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trModules</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">moduleIndex</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trModuleIndex</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">namespaces</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>m_javaOpt <span class="hl opt">||</span> m_vhdlOpt<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trPackages</span><span class="hl opt">();</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">else if</span> <span class="hl opt">(</span>m_fortranOpt <span class="hl opt">||</span> m_sliceOpt<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trModules</span><span class="hl opt">();</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">else</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trNamespaces</span><span class="hl opt">();</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">files</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trFile</span><span class="hl opt">(</span>TRUE<span class="hl opt">,</span>FALSE<span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">fileIndex</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trFileIndex</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">pages</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trRelatedPages</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">examples</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trExamples</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">namespaceList</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>m_javaOpt <span class="hl opt">||</span> m_vhdlOpt<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trPackages</span><span class="hl opt">();</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">else if</span> <span class="hl opt">(</span>m_fortranOpt <span class="hl opt">||</span> m_sliceOpt<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trModulesList</span><span class="hl opt">();</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">else</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trNamespaceList</span><span class="hl opt">();</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">namespaceMembers</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>m_javaOpt <span class="hl opt">||</span> m_vhdlOpt<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trPackageMembers</span><span class="hl opt">();</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">else if</span> <span class="hl opt">(</span>m_fortranOpt <span class="hl opt">||</span> m_sliceOpt<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trModulesMembers</span><span class="hl opt">();</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">else</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trNamespaceMembers</span><span class="hl opt">();</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">moduleDocumentation</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trModuleDocumentation</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">fileDocumentation</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trFileDocumentation</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">fileList</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trFileList</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">fileMembers</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trFileMembers</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">fileMembersDescription</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwb">static bool</span> extractAll <span class="hl opt">=</span> <span class="hl kwd">Config_getBool</span><span class="hl opt">(</span>EXTRACT_ALL<span class="hl opt">);</span>
      <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trFileMembersDescription</span><span class="hl opt">(</span>extractAll<span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">namespaceMembersDescription</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwb">static bool</span> extractAll <span class="hl opt">=</span> <span class="hl kwd">Config_getBool</span><span class="hl opt">(</span>EXTRACT_ALL<span class="hl opt">);</span>
      <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trNamespaceMemberDescription</span><span class="hl opt">(</span>extractAll<span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">classHierarchyDescription</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trClassHierarchyDescription</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">gotoGraphicalHierarchy</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trGotoGraphicalHierarchy</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">gotoTextualHierarchy</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trGotoTextualHierarchy</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">classMembersDescription</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwb">static bool</span> extractAll <span class="hl opt">=</span> <span class="hl kwd">Config_getBool</span><span class="hl opt">(</span>EXTRACT_ALL<span class="hl opt">);</span>
      <span class="hl kwb">static bool</span> fortranOpt <span class="hl opt">=</span> <span class="hl kwd">Config_getBool</span><span class="hl opt">(</span>OPTIMIZE_FOR_FORTRAN<span class="hl opt">);</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>fortranOpt<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trCompoundMembersDescriptionFortran</span><span class="hl opt">(</span>extractAll<span class="hl opt">);</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">else</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trCompoundMembersDescription</span><span class="hl opt">(</span>extractAll<span class="hl opt">);</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">relatedPagesDesc</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trRelatedPagesDescription</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">more</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trMore</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">detailedDesc</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trDetailedDescription</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">inheritsList</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> TemplateVariant<span class="hl opt">::</span>Delegate<span class="hl opt">::</span>fromMethod<span class="hl opt">&lt;</span>Private<span class="hl opt">,&amp;</span>Private<span class="hl opt">::</span>handleInheritsList<span class="hl opt">&gt;(</span><span class="hl kwa">this</span><span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">inheritedByList</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> TemplateVariant<span class="hl opt">::</span>Delegate<span class="hl opt">::</span>fromMethod<span class="hl opt">&lt;</span>Private<span class="hl opt">,&amp;</span>Private<span class="hl opt">::</span>handleInheritedByList<span class="hl opt">&gt;(</span><span class="hl kwa">this</span><span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">definedAtLineInSourceFile</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trDefinedAtLineInSourceFile</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">typeConstraints</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trTypeConstraints</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">exampleList</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> TemplateVariant<span class="hl opt">::</span>Delegate<span class="hl opt">::</span>fromMethod<span class="hl opt">&lt;</span>Private<span class="hl opt">,&amp;</span>Private<span class="hl opt">::</span>handleWriteList<span class="hl opt">&gt;(</span><span class="hl kwa">this</span><span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">listOfAllMembers</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trListOfAllMembers</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">memberList</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trMemberList</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">theListOfAllMembers</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trThisIsTheListOfAllMembers</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">incInheritedMembers</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trIncludingInheritedMembers</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">defineValue</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trDefineValue</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">initialValue</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trInitialValue</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">enumerationValues</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trEnumerationValues</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">implements</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trImplementedFromList</span><span class="hl opt">(</span><span class="hl num">1</span><span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">reimplements</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trReimplementedFromList</span><span class="hl opt">(</span><span class="hl num">1</span><span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">implementedBy</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> TemplateVariant<span class="hl opt">::</span>Delegate<span class="hl opt">::</span>fromMethod<span class="hl opt">&lt;</span>Private<span class="hl opt">,&amp;</span>Private<span class="hl opt">::</span>handleImplementedBy<span class="hl opt">&gt;(</span><span class="hl kwa">this</span><span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">reimplementedBy</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> TemplateVariant<span class="hl opt">::</span>Delegate<span class="hl opt">::</span>fromMethod<span class="hl opt">&lt;</span>Private<span class="hl opt">,&amp;</span>Private<span class="hl opt">::</span>handleReimplementedBy<span class="hl opt">&gt;(</span><span class="hl kwa">this</span><span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">sourceRefs</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> TemplateVariant<span class="hl opt">::</span>Delegate<span class="hl opt">::</span>fromMethod<span class="hl opt">&lt;</span>Private<span class="hl opt">,&amp;</span>Private<span class="hl opt">::</span>handleSourceRefs<span class="hl opt">&gt;(</span><span class="hl kwa">this</span><span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">sourceRefBys</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> TemplateVariant<span class="hl opt">::</span>Delegate<span class="hl opt">::</span>fromMethod<span class="hl opt">&lt;</span>Private<span class="hl opt">,&amp;</span>Private<span class="hl opt">::</span>handleSourceRefBys<span class="hl opt">&gt;(</span><span class="hl kwa">this</span><span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">callGraph</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trCallGraph</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">callerGraph</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trCallerGraph</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">referencedByRelation</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trReferencedBy</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">referencesRelation</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trReferences</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">inheritedFrom</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trInheritedFrom</span><span class="hl opt">(</span><span class="hl str">&quot;&#64;0&quot;</span><span class="hl opt">,</span><span class="hl str">&quot;&#64;1&quot;</span><span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">additionalInheritedMembers</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trAdditionalInheritedMembers</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">includeDependencyGraph</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> TemplateVariant<span class="hl opt">::</span>Delegate<span class="hl opt">::</span>fromMethod<span class="hl opt">&lt;</span>Private<span class="hl opt">,&amp;</span>Private<span class="hl opt">::</span>handleIncludeDependencyGraph<span class="hl opt">&gt;(</span><span class="hl kwa">this</span><span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">includedByDependencyGraph</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trInclByDepGraph</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">gotoSourceCode</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trGotoSourceCode</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">gotoDocumentation</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trGotoDocumentation</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">constantgroups</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trConstantGroups</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">classDocumentation</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trClassDocumentation</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">namespaceDocumentation</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trNamespaceDocumentation</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">compoundMembers</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trCompoundMembers</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">detailLevel</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trDetailLevel</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">fileListDescription</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwb">bool</span> extractAll <span class="hl opt">=</span> <span class="hl kwd">Config_getBool</span><span class="hl opt">(</span>EXTRACT_ALL<span class="hl opt">);</span>
      <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trFileListDescription</span><span class="hl opt">(</span>extractAll<span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">modulesDescription</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwb">bool</span> extractAll <span class="hl opt">=</span> <span class="hl kwd">Config_getBool</span><span class="hl opt">(</span>EXTRACT_ALL<span class="hl opt">);</span>
      <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trModulesListDescription</span><span class="hl opt">(</span>extractAll<span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">namespaceListDescription</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwb">bool</span> extractAll <span class="hl opt">=</span> <span class="hl kwd">Config_getBool</span><span class="hl opt">(</span>EXTRACT_ALL<span class="hl opt">);</span>
      <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trNamespaceListDescription</span><span class="hl opt">(</span>extractAll<span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">directories</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trDirectories</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">all</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trAll</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">functions</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwb">static bool</span> fortranOpt <span class="hl opt">=</span> <span class="hl kwd">Config_getBool</span><span class="hl opt">(</span>OPTIMIZE_FOR_FORTRAN<span class="hl opt">);</span>
      <span class="hl kwb">static bool</span> vhdlOpt    <span class="hl opt">=</span> <span class="hl kwd">Config_getBool</span><span class="hl opt">(</span>OPTIMIZE_OUTPUT_VHDL<span class="hl opt">);</span>
      <span class="hl kwa">return</span> fortranOpt ? theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trSubprograms</span><span class="hl opt">()     :</span>
             vhdlOpt    ? theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trFunctionAndProc</span><span class="hl opt">() :</span>
                          theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trFunctions</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">variables</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwb">static bool</span> sliceOpt   <span class="hl opt">=</span> <span class="hl kwd">Config_getBool</span><span class="hl opt">(</span>OPTIMIZE_OUTPUT_SLICE<span class="hl opt">);</span>
      <span class="hl kwa">return</span> sliceOpt ? theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trConstants</span><span class="hl opt">() :</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trVariables</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">typedefs</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trTypedefs</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">enums</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trEnumerations</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">properties</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trProperties</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">events</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trEvents</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">related</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trRelatedFunctions</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">macros</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trDefines</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">loading</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trLoading</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">searching</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trSearching</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">noMatches</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trNoMatches</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">enumName</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trEnumName</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">enumValue</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trEnumValue</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">referenceManual</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trReferenceManual</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">index</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trRTFGeneralIndex</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">panelSyncOn</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trPanelSynchronisationTooltip</span><span class="hl opt">(</span>FALSE<span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">panelSyncOff</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trPanelSynchronisationTooltip</span><span class="hl opt">(</span>TRUE<span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">providedByCategory</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trProvidedByCategory</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">extendsClass</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trExtendsClass</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">examplesDescription</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trExamplesDescription</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">langString</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> HtmlHelp<span class="hl opt">::</span><span class="hl kwd">getLanguageString</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    <span class="hl kwd">Private</span><span class="hl opt">()</span>
    <span class="hl opt">{</span>
      <span class="hl kwb">static bool</span> init<span class="hl opt">=</span>FALSE<span class="hl opt">;</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>init<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl slc">//%% string generatedBy</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;generatedBy&quot;</span><span class="hl opt">,       &amp;</span>Private<span class="hl opt">::</span>generatedBy<span class="hl opt">);</span>
        <span class="hl slc">//%% string generatedAt</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;generatedAt&quot;</span><span class="hl opt">,       &amp;</span>Private<span class="hl opt">::</span>generatedAt<span class="hl opt">);</span>
        <span class="hl slc">//%% string search</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;search&quot;</span><span class="hl opt">,            &amp;</span>Private<span class="hl opt">::</span>search<span class="hl opt">);</span>
        <span class="hl slc">//%% string mainPage</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;mainPage&quot;</span><span class="hl opt">,          &amp;</span>Private<span class="hl opt">::</span>mainPage<span class="hl opt">);</span>
        <span class="hl slc">//%% string classes</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;classes&quot;</span><span class="hl opt">,           &amp;</span>Private<span class="hl opt">::</span>classes<span class="hl opt">);</span>
        <span class="hl slc">//%% string classList</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;classList&quot;</span><span class="hl opt">,         &amp;</span>Private<span class="hl opt">::</span>classList<span class="hl opt">);</span>
        <span class="hl slc">//%% string classListDescription</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;classListDescription&quot;</span><span class="hl opt">, &amp;</span>Private<span class="hl opt">::</span>classListDescription<span class="hl opt">);</span>
        <span class="hl slc">//%% string classIndex</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;classIndex&quot;</span><span class="hl opt">,        &amp;</span>Private<span class="hl opt">::</span>classIndex<span class="hl opt">);</span>
        <span class="hl slc">//%% string namespaceIndex</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;namespaceIndex&quot;</span><span class="hl opt">,    &amp;</span>Private<span class="hl opt">::</span>namespaceIndex<span class="hl opt">);</span>
        <span class="hl slc">//%% string classHierarchy</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;classHierarchy&quot;</span><span class="hl opt">,    &amp;</span>Private<span class="hl opt">::</span>classHierarchy<span class="hl opt">);</span>
        <span class="hl slc">//%% string classMembers</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;classMembers&quot;</span><span class="hl opt">,      &amp;</span>Private<span class="hl opt">::</span>classMembers<span class="hl opt">);</span>
        <span class="hl slc">//%% string classMembersDescription</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;classMembersDescription&quot;</span><span class="hl opt">,&amp;</span>Private<span class="hl opt">::</span>classMembersDescription<span class="hl opt">);</span>
        <span class="hl slc">//%% string modules</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;modules&quot;</span><span class="hl opt">,           &amp;</span>Private<span class="hl opt">::</span>modules<span class="hl opt">);</span>
        <span class="hl slc">//%% string moduleIndex</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;moduleIndex&quot;</span><span class="hl opt">,       &amp;</span>Private<span class="hl opt">::</span>moduleIndex<span class="hl opt">);</span>
        <span class="hl slc">//%% string namespaces</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;namespaces&quot;</span><span class="hl opt">,        &amp;</span>Private<span class="hl opt">::</span>namespaces<span class="hl opt">);</span>
        <span class="hl slc">//%% string fileIndex</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;fileIndex&quot;</span><span class="hl opt">,         &amp;</span>Private<span class="hl opt">::</span>fileIndex<span class="hl opt">);</span>
        <span class="hl slc">//%% string files</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;files&quot;</span><span class="hl opt">,             &amp;</span>Private<span class="hl opt">::</span>files<span class="hl opt">);</span>
        <span class="hl slc">//%% string pages</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;pages&quot;</span><span class="hl opt">,             &amp;</span>Private<span class="hl opt">::</span>pages<span class="hl opt">);</span>
        <span class="hl slc">//%% string examples</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;examples&quot;</span><span class="hl opt">,          &amp;</span>Private<span class="hl opt">::</span>examples<span class="hl opt">);</span>
        <span class="hl slc">//%% string namespaceList</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;namespaceList&quot;</span><span class="hl opt">,     &amp;</span>Private<span class="hl opt">::</span>namespaceList<span class="hl opt">);</span>
        <span class="hl slc">//%% string namespaceMembers</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;namespaceMembers&quot;</span><span class="hl opt">,  &amp;</span>Private<span class="hl opt">::</span>namespaceMembers<span class="hl opt">);</span>
        <span class="hl slc">//%% srting fileList</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;fileList&quot;</span><span class="hl opt">,          &amp;</span>Private<span class="hl opt">::</span>fileList<span class="hl opt">);</span>
        <span class="hl slc">//%% string fileMembers</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;fileMembers&quot;</span><span class="hl opt">,       &amp;</span>Private<span class="hl opt">::</span>fileMembers<span class="hl opt">);</span>
        <span class="hl slc">//%% string fileMembersDescription</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;fileMembersDescription&quot;</span><span class="hl opt">, &amp;</span>Private<span class="hl opt">::</span>fileMembersDescription<span class="hl opt">);</span>
        <span class="hl slc">//%% string relatedPagesDescription</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;relatedPagesDesc&quot;</span><span class="hl opt">,  &amp;</span>Private<span class="hl opt">::</span>relatedPagesDesc<span class="hl opt">);</span>
        <span class="hl slc">//%% string more</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;more&quot;</span><span class="hl opt">,              &amp;</span>Private<span class="hl opt">::</span>more<span class="hl opt">);</span>
        <span class="hl slc">//%% string detailedDescription</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;detailedDesc&quot;</span><span class="hl opt">,      &amp;</span>Private<span class="hl opt">::</span>detailedDesc<span class="hl opt">);</span>
        <span class="hl slc">//%% string inheritanceDiagramFor</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;inheritanceDiagramFor&quot;</span><span class="hl opt">, &amp;</span>Private<span class="hl opt">::</span>inheritanceDiagramFor<span class="hl opt">);</span>
        <span class="hl slc">//%% string collaborationDiagramFor</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;collaborationDiagramFor&quot;</span><span class="hl opt">, &amp;</span>Private<span class="hl opt">::</span>collaborationDiagramFor<span class="hl opt">);</span>
        <span class="hl slc">//%% markerstring inheritsList</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;inheritsList&quot;</span><span class="hl opt">,      &amp;</span>Private<span class="hl opt">::</span>inheritsList<span class="hl opt">);</span>
        <span class="hl slc">//%% markerstring inheritedByList</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;inheritedByList&quot;</span><span class="hl opt">,   &amp;</span>Private<span class="hl opt">::</span>inheritedByList<span class="hl opt">);</span>
        <span class="hl slc">//%% markerstring definedAtLineInSourceFile</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;definedAtLineInSourceFile&quot;</span><span class="hl opt">, &amp;</span>Private<span class="hl opt">::</span>definedAtLineInSourceFile<span class="hl opt">);</span>
        <span class="hl slc">//%% string typeConstraints</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;typeConstraints&quot;</span><span class="hl opt">,   &amp;</span>Private<span class="hl opt">::</span>typeConstraints<span class="hl opt">);</span>
        <span class="hl slc">//%% string exampleList</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;exampleList&quot;</span><span class="hl opt">,       &amp;</span>Private<span class="hl opt">::</span>exampleList<span class="hl opt">);</span>
        <span class="hl slc">//%% string listOfAllMembers</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;listOfAllMembers&quot;</span><span class="hl opt">,  &amp;</span>Private<span class="hl opt">::</span>listOfAllMembers<span class="hl opt">);</span>
        <span class="hl slc">//%% string memberList</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;memberList&quot;</span><span class="hl opt">,        &amp;</span>Private<span class="hl opt">::</span>memberList<span class="hl opt">);</span>
        <span class="hl slc">//%% string theListOfAllMembers</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;theListOfAllMembers&quot;</span><span class="hl opt">,&amp;</span>Private<span class="hl opt">::</span>theListOfAllMembers<span class="hl opt">);</span>
        <span class="hl slc">//%% string incInheritedMembers</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;incInheritedMembers&quot;</span><span class="hl opt">,&amp;</span>Private<span class="hl opt">::</span>incInheritedMembers<span class="hl opt">);</span>
        <span class="hl slc">//%% string defineValue</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;defineValue&quot;</span><span class="hl opt">,        &amp;</span>Private<span class="hl opt">::</span>defineValue<span class="hl opt">);</span>
        <span class="hl slc">//%% string initialValue</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;initialValue&quot;</span><span class="hl opt">,       &amp;</span>Private<span class="hl opt">::</span>initialValue<span class="hl opt">);</span>
        <span class="hl slc">//%% markerstring implements</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;implements&quot;</span><span class="hl opt">,         &amp;</span>Private<span class="hl opt">::</span>implements<span class="hl opt">);</span>
        <span class="hl slc">//%% markerstring reimplements</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;reimplements&quot;</span><span class="hl opt">,       &amp;</span>Private<span class="hl opt">::</span>reimplements<span class="hl opt">);</span>
        <span class="hl slc">//%% markerstring implementedBy</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;implementedBy&quot;</span><span class="hl opt">,      &amp;</span>Private<span class="hl opt">::</span>implementedBy<span class="hl opt">);</span>
        <span class="hl slc">//%% markerstring reimplementedBy</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;reimplementedBy&quot;</span><span class="hl opt">,    &amp;</span>Private<span class="hl opt">::</span>reimplementedBy<span class="hl opt">);</span>
        <span class="hl slc">//%% markerstring sourceRefs</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;sourceRefs&quot;</span><span class="hl opt">,         &amp;</span>Private<span class="hl opt">::</span>sourceRefs<span class="hl opt">);</span>
        <span class="hl slc">//%% markerstring sourceRefBys</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;sourceRefBys&quot;</span><span class="hl opt">,       &amp;</span>Private<span class="hl opt">::</span>sourceRefBys<span class="hl opt">);</span>
        <span class="hl slc">//%% string callGraph</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;callGraph&quot;</span><span class="hl opt">,          &amp;</span>Private<span class="hl opt">::</span>callGraph<span class="hl opt">);</span>
        <span class="hl slc">//%% string callerGraph</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;callerGraph&quot;</span><span class="hl opt">,        &amp;</span>Private<span class="hl opt">::</span>callerGraph<span class="hl opt">);</span>
        <span class="hl slc">//%% string referencedByRelation</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;referencedByRelation&quot;</span><span class="hl opt">, &amp;</span>Private<span class="hl opt">::</span>referencedByRelation<span class="hl opt">);</span>
        <span class="hl slc">//%% string referencesRelation</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;referencesRelation&quot;</span><span class="hl opt">,   &amp;</span>Private<span class="hl opt">::</span>referencesRelation<span class="hl opt">);</span>
        <span class="hl slc">//%% markerstring inheritedFrom</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;inheritedFrom&quot;</span><span class="hl opt">,      &amp;</span>Private<span class="hl opt">::</span>inheritedFrom<span class="hl opt">);</span>
        <span class="hl slc">//%% string additionalInheritedMembers</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;additionalInheritedMembers&quot;</span><span class="hl opt">,&amp;</span>Private<span class="hl opt">::</span>additionalInheritedMembers<span class="hl opt">);</span>
        <span class="hl slc">//%% string includeDependencyGraph:container_name</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;includeDependencyGraph&quot;</span><span class="hl opt">,&amp;</span>Private<span class="hl opt">::</span>includeDependencyGraph<span class="hl opt">);</span>
        <span class="hl slc">//%% string includedByDependencyGraph</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;includedByDependencyGraph&quot;</span><span class="hl opt">,&amp;</span>Private<span class="hl opt">::</span>includedByDependencyGraph<span class="hl opt">);</span>
        <span class="hl slc">//%% string gotoSourceCode</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;gotoSourceCode&quot;</span><span class="hl opt">,     &amp;</span>Private<span class="hl opt">::</span>gotoSourceCode<span class="hl opt">);</span>
        <span class="hl slc">//%% string gotoDocumentation</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;gotoDocumentation&quot;</span><span class="hl opt">,  &amp;</span>Private<span class="hl opt">::</span>gotoDocumentation<span class="hl opt">);</span>
        <span class="hl slc">//%% string constantgroups</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;constantgroups&quot;</span><span class="hl opt">,     &amp;</span>Private<span class="hl opt">::</span>constantgroups<span class="hl opt">);</span>
        <span class="hl slc">//%% string classDocumentation</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;classDocumentation&quot;</span><span class="hl opt">, &amp;</span>Private<span class="hl opt">::</span>classDocumentation<span class="hl opt">);</span>
        <span class="hl slc">//%% string namespaceDocumentation</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;namespaceDocumentation&quot;</span><span class="hl opt">, &amp;</span>Private<span class="hl opt">::</span>namespaceDocumentation<span class="hl opt">);</span>
        <span class="hl slc">//%% string moduleDocumentation</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;moduleDocumentation&quot;</span><span class="hl opt">,&amp;</span>Private<span class="hl opt">::</span>moduleDocumentation<span class="hl opt">);</span>
        <span class="hl slc">//%% string fileDocumentation</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;fileDocumentation&quot;</span><span class="hl opt">,  &amp;</span>Private<span class="hl opt">::</span>fileDocumentation<span class="hl opt">);</span>
        <span class="hl slc">//%% string compoundMembers</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;compoundMembers&quot;</span><span class="hl opt">,    &amp;</span>Private<span class="hl opt">::</span>compoundMembers<span class="hl opt">);</span>
        <span class="hl slc">//%% string detailLevel</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;detailLevel&quot;</span><span class="hl opt">,        &amp;</span>Private<span class="hl opt">::</span>detailLevel<span class="hl opt">);</span>
        <span class="hl slc">//%% string fileListDescription</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;fileListDescription&quot;</span><span class="hl opt">,&amp;</span>Private<span class="hl opt">::</span>fileListDescription<span class="hl opt">);</span>
        <span class="hl slc">//%% string namespaceListDescription</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;namespaceListDescription&quot;</span><span class="hl opt">,&amp;</span>Private<span class="hl opt">::</span>namespaceListDescription<span class="hl opt">);</span>
        <span class="hl slc">//%% string directories</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;directories&quot;</span><span class="hl opt">,        &amp;</span>Private<span class="hl opt">::</span>directories<span class="hl opt">);</span>
        <span class="hl slc">//%% string moduleDescription</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;modulesDescription&quot;</span><span class="hl opt">, &amp;</span>Private<span class="hl opt">::</span>modulesDescription<span class="hl opt">);</span>
        <span class="hl slc">//%% string all</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;all&quot;</span><span class="hl opt">,                &amp;</span>Private<span class="hl opt">::</span>all<span class="hl opt">);</span>
        <span class="hl slc">//%% string functions</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;functions&quot;</span><span class="hl opt">,          &amp;</span>Private<span class="hl opt">::</span>functions<span class="hl opt">);</span>
        <span class="hl slc">//%% string variables</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;variables&quot;</span><span class="hl opt">,          &amp;</span>Private<span class="hl opt">::</span>variables<span class="hl opt">);</span>
        <span class="hl slc">//%% string typedefs</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;typedefs&quot;</span><span class="hl opt">,           &amp;</span>Private<span class="hl opt">::</span>typedefs<span class="hl opt">);</span>
        <span class="hl slc">//%% string enums</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;enums&quot;</span><span class="hl opt">,              &amp;</span>Private<span class="hl opt">::</span>enums<span class="hl opt">);</span>
        <span class="hl slc">//%% string enumValues</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;enumValues&quot;</span><span class="hl opt">,         &amp;</span>Private<span class="hl opt">::</span>enumerationValues<span class="hl opt">);</span>
        <span class="hl slc">//%% string properties</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;properties&quot;</span><span class="hl opt">,         &amp;</span>Private<span class="hl opt">::</span>properties<span class="hl opt">);</span>
        <span class="hl slc">//%% string events</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;events&quot;</span><span class="hl opt">,             &amp;</span>Private<span class="hl opt">::</span>events<span class="hl opt">);</span>
        <span class="hl slc">//%% string related</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;related&quot;</span><span class="hl opt">,            &amp;</span>Private<span class="hl opt">::</span>related<span class="hl opt">);</span>
        <span class="hl slc">//%% string macros</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;macros&quot;</span><span class="hl opt">,             &amp;</span>Private<span class="hl opt">::</span>macros<span class="hl opt">);</span>
        <span class="hl slc">//%% string namespaceMembersDescription</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;namespaceMembersDescription&quot;</span><span class="hl opt">,&amp;</span>Private<span class="hl opt">::</span>namespaceMembersDescription<span class="hl opt">);</span>
        <span class="hl slc">//%% string classHierarchyDescription</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;classHierarchyDescription&quot;</span><span class="hl opt">,&amp;</span>Private<span class="hl opt">::</span>classHierarchyDescription<span class="hl opt">);</span>
        <span class="hl slc">//%% string gotoGraphicalHierarchy</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;gotoGraphicalHierarchy&quot;</span><span class="hl opt">,&amp;</span>Private<span class="hl opt">::</span>gotoGraphicalHierarchy<span class="hl opt">);</span>
        <span class="hl slc">//%% string gotoTextualHierarchy</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;gotoTextualHierarchy&quot;</span><span class="hl opt">,&amp;</span>Private<span class="hl opt">::</span>gotoTextualHierarchy<span class="hl opt">);</span>
        <span class="hl slc">//%% string loading</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;loading&quot;</span><span class="hl opt">,            &amp;</span>Private<span class="hl opt">::</span>loading<span class="hl opt">);</span>
        <span class="hl slc">//%% string searching</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;searching&quot;</span><span class="hl opt">,          &amp;</span>Private<span class="hl opt">::</span>searching<span class="hl opt">);</span>
        <span class="hl slc">//%% string noMatches</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;noMatches&quot;</span><span class="hl opt">,          &amp;</span>Private<span class="hl opt">::</span>noMatches<span class="hl opt">);</span>
        <span class="hl slc">//%% string enumValue</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;enumValue&quot;</span><span class="hl opt">,          &amp;</span>Private<span class="hl opt">::</span>enumValue<span class="hl opt">);</span>
        <span class="hl slc">//%% string enumName</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;enumName&quot;</span><span class="hl opt">,           &amp;</span>Private<span class="hl opt">::</span>enumName<span class="hl opt">);</span>
        <span class="hl slc">//%% string referenceManual</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;referenceManual&quot;</span><span class="hl opt">,    &amp;</span>Private<span class="hl opt">::</span>referenceManual<span class="hl opt">);</span>
        <span class="hl slc">//%% string index</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;index&quot;</span><span class="hl opt">,              &amp;</span>Private<span class="hl opt">::</span>index<span class="hl opt">);</span>
        <span class="hl slc">//%% string panelSyncOn</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;panelSyncOn&quot;</span><span class="hl opt">,        &amp;</span>Private<span class="hl opt">::</span>panelSyncOn<span class="hl opt">);</span>
        <span class="hl slc">//%% string panelSyncOff</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;panelSyncOff&quot;</span><span class="hl opt">,       &amp;</span>Private<span class="hl opt">::</span>panelSyncOff<span class="hl opt">);</span>
        <span class="hl slc">//%% string dirDependencyGraph</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;dirDependencyGraphFor&quot;</span><span class="hl opt">, &amp;</span>Private<span class="hl opt">::</span>dirDependencyGraphFor<span class="hl opt">);</span>
        <span class="hl slc">//%% string providedByCategory</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;providedByCategory&quot;</span><span class="hl opt">, &amp;</span>Private<span class="hl opt">::</span>providedByCategory<span class="hl opt">);</span>
        <span class="hl slc">//%% string extendsClass</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;extendsClass&quot;</span><span class="hl opt">,       &amp;</span>Private<span class="hl opt">::</span>extendsClass<span class="hl opt">);</span>
        <span class="hl slc">//%% string examplesDescription</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;examplesDescription&quot;</span><span class="hl opt">,&amp;</span>Private<span class="hl opt">::</span>examplesDescription<span class="hl opt">);</span>
        <span class="hl slc">//%% string langstring</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;langString&quot;</span><span class="hl opt">,         &amp;</span>Private<span class="hl opt">::</span>langString<span class="hl opt">);</span>

        init<span class="hl opt">=</span>TRUE<span class="hl opt">;</span>
      <span class="hl opt">}</span>

      m_javaOpt    <span class="hl opt">=</span> <span class="hl kwd">Config_getBool</span><span class="hl opt">(</span>OPTIMIZE_OUTPUT_JAVA<span class="hl opt">);</span>
      m_fortranOpt <span class="hl opt">=</span> <span class="hl kwd">Config_getBool</span><span class="hl opt">(</span>OPTIMIZE_FOR_FORTRAN<span class="hl opt">);</span>
      m_vhdlOpt    <span class="hl opt">=</span> <span class="hl kwd">Config_getBool</span><span class="hl opt">(</span>OPTIMIZE_OUTPUT_VHDL<span class="hl opt">);</span>
      m_sliceOpt   <span class="hl opt">=</span> <span class="hl kwd">Config_getBool</span><span class="hl opt">(</span>OPTIMIZE_OUTPUT_SLICE<span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwb">const char</span> <span class="hl opt">*</span>n<span class="hl opt">)</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> s_inst<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwa">this</span><span class="hl opt">,</span>n<span class="hl opt">);</span>
    <span class="hl opt">}</span>
  <span class="hl kwc">private</span><span class="hl opt">:</span>
    <span class="hl kwb">bool</span> m_javaOpt<span class="hl opt">;</span>
    <span class="hl kwb">bool</span> m_fortranOpt<span class="hl opt">;</span>
    <span class="hl kwb">bool</span> m_vhdlOpt<span class="hl opt">;</span>
    <span class="hl kwb">bool</span> m_sliceOpt<span class="hl opt">;</span>
    <span class="hl kwb">static</span> PropertyMapper<span class="hl opt">&lt;</span>TranslateContext<span class="hl opt">::</span>Private<span class="hl opt">&gt;</span> s_inst<span class="hl opt">;</span>
<span class="hl opt">};</span>
<span class="hl slc">//%% }</span>

PropertyMapper<span class="hl opt">&lt;</span>TranslateContext<span class="hl opt">::</span>Private<span class="hl opt">&gt;</span> TranslateContext<span class="hl opt">::</span>Private<span class="hl opt">::</span>s_inst<span class="hl opt">;</span>

TranslateContext<span class="hl opt">::</span><span class="hl kwd">TranslateContext</span><span class="hl opt">() :</span> <span class="hl kwd">RefCountedContext</span><span class="hl opt">(</span><span class="hl str">&quot;TranslateContext&quot;</span><span class="hl opt">)</span>
<span class="hl opt">{</span>
  p <span class="hl opt">=</span> <span class="hl kwa">new</span> Private<span class="hl opt">;</span>
<span class="hl opt">}</span>

TranslateContext<span class="hl opt">::~</span><span class="hl kwd">TranslateContext</span><span class="hl opt">()</span>
<span class="hl opt">{</span>
  <span class="hl kwa">delete</span> p<span class="hl opt">;</span>
<span class="hl opt">}</span>

TemplateVariant TranslateContext<span class="hl opt">::</span><span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwb">const char</span> <span class="hl opt">*</span>n<span class="hl opt">)</span> <span class="hl kwb">const</span>
<span class="hl opt">{</span>
  <span class="hl kwa">return</span> p<span class="hl opt">-&gt;</span><span class="hl kwd">get</span><span class="hl opt">(</span>n<span class="hl opt">);</span>
<span class="hl opt">}</span>

<span class="hl kwb">static</span> TemplateVariant <span class="hl kwd">parseDoc</span><span class="hl opt">(</span><span class="hl kwb">const</span> Definition <span class="hl opt">*</span>def<span class="hl opt">,</span><span class="hl kwb">const</span> QCString <span class="hl opt">&amp;</span>file<span class="hl opt">,</span><span class="hl kwb">int</span> line<span class="hl opt">,</span>
                                <span class="hl kwb">const</span> QCString <span class="hl opt">&amp;</span>relPath<span class="hl opt">,</span><span class="hl kwb">const</span> QCString <span class="hl opt">&amp;</span>docStr<span class="hl opt">,</span><span class="hl kwb">bool</span> isBrief<span class="hl opt">)</span>
<span class="hl opt">{</span>
  TemplateVariant result<span class="hl opt">;</span>
  DocRoot <span class="hl opt">*</span>root <span class="hl opt">=</span> <span class="hl kwd">validatingParseDoc</span><span class="hl opt">(</span>file<span class="hl opt">,</span>line<span class="hl opt">,</span>def<span class="hl opt">,</span><span class="hl num">0</span><span class="hl opt">,</span>docStr<span class="hl opt">,</span>TRUE<span class="hl opt">,</span>FALSE<span class="hl opt">,</span><span class="hl num">0</span><span class="hl opt">,</span>isBrief<span class="hl opt">,</span>FALSE<span class="hl opt">);</span>
  QGString docs<span class="hl opt">;</span>
  <span class="hl opt">{</span>
    FTextStream <span class="hl kwd">ts</span><span class="hl opt">(&amp;</span>docs<span class="hl opt">);</span>
    <span class="hl kwa">switch</span> <span class="hl opt">(</span>g_globals<span class="hl opt">.</span>outputFormat<span class="hl opt">)</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">case</span> ContextOutputFormat_Html<span class="hl opt">:</span>
        <span class="hl opt">{</span>
          HtmlCodeGenerator <span class="hl kwd">codeGen</span><span class="hl opt">(</span>ts<span class="hl opt">,</span>relPath<span class="hl opt">);</span>
          HtmlDocVisitor <span class="hl kwd">visitor</span><span class="hl opt">(</span>ts<span class="hl opt">,</span>codeGen<span class="hl opt">,</span>def<span class="hl opt">);</span>
          root<span class="hl opt">-&gt;</span><span class="hl kwd">accept</span><span class="hl opt">(&amp;</span>visitor<span class="hl opt">);</span>
        <span class="hl opt">}</span>
        <span class="hl kwa">break</span><span class="hl opt">;</span>
      <span class="hl kwa">case</span> ContextOutputFormat_Latex<span class="hl opt">:</span>
        <span class="hl opt">{</span>
          LatexCodeGenerator <span class="hl kwd">codeGen</span><span class="hl opt">(</span>ts<span class="hl opt">,</span>relPath<span class="hl opt">,</span>file<span class="hl opt">);</span>
          LatexDocVisitor <span class="hl kwd">visitor</span><span class="hl opt">(</span>ts<span class="hl opt">,</span>codeGen<span class="hl opt">,</span>def<span class="hl opt">-&gt;</span><span class="hl kwd">getDefFileExtension</span><span class="hl opt">(),</span>FALSE<span class="hl opt">);</span>
          root<span class="hl opt">-&gt;</span><span class="hl kwd">accept</span><span class="hl opt">(&amp;</span>visitor<span class="hl opt">);</span>
        <span class="hl opt">}</span>
        <span class="hl kwa">break</span><span class="hl opt">;</span>
      <span class="hl slc">// TODO: support other generators</span>
      <span class="hl kwa">default</span><span class="hl opt">:</span>
        <span class="hl kwd">err</span><span class="hl opt">(</span><span class="hl str">&quot;context.cpp: output format not yet supported&quot;</span><span class="hl opt">);</span>
        <span class="hl kwa">break</span><span class="hl opt">;</span>
    <span class="hl opt">}</span>
  <span class="hl opt">}</span>
  <span class="hl kwb">bool</span> isEmpty <span class="hl opt">=</span> root<span class="hl opt">-&gt;</span><span class="hl kwd">isEmpty</span><span class="hl opt">();</span>
  <span class="hl kwa">if</span> <span class="hl opt">(</span>isEmpty<span class="hl opt">)</span>
    result <span class="hl opt">=</span> <span class="hl str">&quot;&quot;</span><span class="hl opt">;</span>
  <span class="hl kwa">else</span>
    result <span class="hl opt">=</span> <span class="hl kwd">TemplateVariant</span><span class="hl opt">(</span>docs<span class="hl opt">,</span>TRUE<span class="hl opt">);</span>
  <span class="hl kwa">delete</span> root<span class="hl opt">;</span>
  <span class="hl kwa">return</span> result<span class="hl opt">;</span>
<span class="hl opt">}</span>

<span class="hl kwb">static</span> TemplateVariant <span class="hl kwd">parseCode</span><span class="hl opt">(</span>MemberDef <span class="hl opt">*</span>md<span class="hl opt">,</span><span class="hl kwb">const</span> QCString <span class="hl opt">&amp;</span>scopeName<span class="hl opt">,</span><span class="hl kwb">const</span> QCString <span class="hl opt">&amp;</span>relPath<span class="hl opt">,</span>
                                 <span class="hl kwb">const</span> QCString <span class="hl opt">&amp;</span>code<span class="hl opt">,</span><span class="hl kwb">int</span> startLine<span class="hl opt">=-</span><span class="hl num">1</span><span class="hl opt">,</span><span class="hl kwb">int</span> endLine<span class="hl opt">=-</span><span class="hl num">1</span><span class="hl opt">,</span><span class="hl kwb">bool</span> showLineNumbers<span class="hl opt">=</span>FALSE<span class="hl opt">)</span>
<span class="hl opt">{</span>
  CodeParserInterface <span class="hl opt">&amp;</span>intf <span class="hl opt">=</span> Doxygen<span class="hl opt">::</span>parserManager<span class="hl opt">-&gt;</span><span class="hl kwd">getCodeParser</span><span class="hl opt">(</span>md<span class="hl opt">-&gt;</span><span class="hl kwd">getDefFileExtension</span><span class="hl opt">());</span>
  intf<span class="hl opt">.</span><span class="hl kwd">resetCodeParserState</span><span class="hl opt">();</span>
  QGString s<span class="hl opt">;</span>
  FTextStream <span class="hl kwd">t</span><span class="hl opt">(&amp;</span>s<span class="hl opt">);</span>
  <span class="hl kwa">switch</span> <span class="hl opt">(</span>g_globals<span class="hl opt">.</span>outputFormat<span class="hl opt">)</span>
  <span class="hl opt">{</span>
    <span class="hl kwa">case</span> ContextOutputFormat_Html<span class="hl opt">:</span>
      <span class="hl opt">{</span>
        HtmlCodeGenerator <span class="hl kwd">codeGen</span><span class="hl opt">(</span>t<span class="hl opt">,</span>relPath<span class="hl opt">);</span>
        intf<span class="hl opt">.</span><span class="hl kwd">parseCode</span><span class="hl opt">(</span>codeGen<span class="hl opt">,</span>scopeName<span class="hl opt">,</span>code<span class="hl opt">,</span>md<span class="hl opt">-&gt;</span><span class="hl kwd">getLanguage</span><span class="hl opt">(),</span>FALSE<span class="hl opt">,</span><span class="hl num">0</span><span class="hl opt">,</span>md<span class="hl opt">-&gt;</span><span class="hl kwd">getBodyDef</span><span class="hl opt">(),</span>
            startLine<span class="hl opt">,</span>endLine<span class="hl opt">,</span>TRUE<span class="hl opt">,</span>md<span class="hl opt">,</span>showLineNumbers<span class="hl opt">,</span>md<span class="hl opt">);</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">break</span><span class="hl opt">;</span>
    <span class="hl kwa">case</span> ContextOutputFormat_Latex<span class="hl opt">:</span>
      <span class="hl opt">{</span>
        LatexCodeGenerator <span class="hl kwd">codeGen</span><span class="hl opt">(</span>t<span class="hl opt">,</span>relPath<span class="hl opt">,</span>md<span class="hl opt">-&gt;</span><span class="hl kwd">docFile</span><span class="hl opt">());</span>
        intf<span class="hl opt">.</span><span class="hl kwd">parseCode</span><span class="hl opt">(</span>codeGen<span class="hl opt">,</span>scopeName<span class="hl opt">,</span>code<span class="hl opt">,</span>md<span class="hl opt">-&gt;</span><span class="hl kwd">getLanguage</span><span class="hl opt">(),</span>FALSE<span class="hl opt">,</span><span class="hl num">0</span><span class="hl opt">,</span>md<span class="hl opt">-&gt;</span><span class="hl kwd">getBodyDef</span><span class="hl opt">(),</span>
            startLine<span class="hl opt">,</span>endLine<span class="hl opt">,</span>TRUE<span class="hl opt">,</span>md<span class="hl opt">,</span>showLineNumbers<span class="hl opt">,</span>md<span class="hl opt">);</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">break</span><span class="hl opt">;</span>
    <span class="hl slc">// TODO: support other generators</span>
    <span class="hl kwa">default</span><span class="hl opt">:</span>
      <span class="hl kwd">err</span><span class="hl opt">(</span><span class="hl str">&quot;context.cpp: output format not yet supported&quot;</span><span class="hl opt">);</span>
      <span class="hl kwa">break</span><span class="hl opt">;</span>
  <span class="hl opt">}</span>
  <span class="hl kwa">return</span> <span class="hl kwd">TemplateVariant</span><span class="hl opt">(</span>s<span class="hl opt">.</span><span class="hl kwd">data</span><span class="hl opt">(),</span>TRUE<span class="hl opt">);</span>
<span class="hl opt">}</span>

<span class="hl kwb">static</span> TemplateVariant <span class="hl kwd">parseCode</span><span class="hl opt">(</span><span class="hl kwb">const</span> FileDef <span class="hl opt">*</span>fd<span class="hl opt">,</span><span class="hl kwb">const</span> QCString <span class="hl opt">&amp;</span>relPath<span class="hl opt">)</span>
<span class="hl opt">{</span>
  <span class="hl kwb">static bool</span> filterSourceFiles <span class="hl opt">=</span> <span class="hl kwd">Config_getBool</span><span class="hl opt">(</span>FILTER_SOURCE_FILES<span class="hl opt">);</span>
  CodeParserInterface <span class="hl opt">&amp;</span>intf <span class="hl opt">=</span> Doxygen<span class="hl opt">::</span>parserManager<span class="hl opt">-&gt;</span><span class="hl kwd">getCodeParser</span><span class="hl opt">(</span>fd<span class="hl opt">-&gt;</span><span class="hl kwd">getDefFileExtension</span><span class="hl opt">());</span>
  intf<span class="hl opt">.</span><span class="hl kwd">resetCodeParserState</span><span class="hl opt">();</span>
  QGString s<span class="hl opt">;</span>
  FTextStream <span class="hl kwd">t</span><span class="hl opt">(&amp;</span>s<span class="hl opt">);</span>
  <span class="hl kwa">switch</span> <span class="hl opt">(</span>g_globals<span class="hl opt">.</span>outputFormat<span class="hl opt">)</span>
  <span class="hl opt">{</span>
    <span class="hl kwa">case</span> ContextOutputFormat_Html<span class="hl opt">:</span>
      <span class="hl opt">{</span>
        HtmlCodeGenerator <span class="hl kwd">codeGen</span><span class="hl opt">(</span>t<span class="hl opt">,</span>relPath<span class="hl opt">);</span>
        intf<span class="hl opt">.</span><span class="hl kwd">parseCode</span><span class="hl opt">(</span>codeGen<span class="hl opt">,</span><span class="hl num">0</span><span class="hl opt">,</span>
              <span class="hl kwd">fileToString</span><span class="hl opt">(</span>fd<span class="hl opt">-&gt;</span><span class="hl kwd">absFilePath</span><span class="hl opt">(),</span>filterSourceFiles<span class="hl opt">,</span>TRUE<span class="hl opt">),</span> <span class="hl slc">// the sources</span>
              fd<span class="hl opt">-&gt;</span><span class="hl kwd">getLanguage</span><span class="hl opt">(),</span>  <span class="hl slc">// lang</span>
              FALSE<span class="hl opt">,</span>              <span class="hl slc">// isExampleBlock</span>
              <span class="hl num">0</span><span class="hl opt">,</span>                  <span class="hl slc">// exampleName</span>
              <span class="hl kwa">const_cast</span><span class="hl opt">&lt;</span>FileDef<span class="hl opt">*&gt;(</span>fd<span class="hl opt">),</span>  <span class="hl slc">// fileDef, TODO: should be const</span>
              <span class="hl opt">-</span><span class="hl num">1</span><span class="hl opt">,</span>                 <span class="hl slc">// startLine</span>
              <span class="hl opt">-</span><span class="hl num">1</span><span class="hl opt">,</span>                 <span class="hl slc">// endLine</span>
              FALSE<span class="hl opt">,</span>              <span class="hl slc">// inlineFragment</span>
              <span class="hl num">0</span><span class="hl opt">,</span>                  <span class="hl slc">// memberDef</span>
              TRUE<span class="hl opt">,</span>               <span class="hl slc">// showLineNumbers</span>
              <span class="hl num">0</span><span class="hl opt">,</span>                  <span class="hl slc">// searchCtx</span>
              TRUE                <span class="hl slc">// collectXRefs, TODO: should become FALSE</span>
              <span class="hl opt">);</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">break</span><span class="hl opt">;</span>
    <span class="hl kwa">case</span> ContextOutputFormat_Latex<span class="hl opt">:</span>
      <span class="hl opt">{</span>
        LatexCodeGenerator <span class="hl kwd">codeGen</span><span class="hl opt">(</span>t<span class="hl opt">,</span>relPath<span class="hl opt">,</span>fd<span class="hl opt">-&gt;</span><span class="hl kwd">docFile</span><span class="hl opt">());</span>
        intf<span class="hl opt">.</span><span class="hl kwd">parseCode</span><span class="hl opt">(</span>codeGen<span class="hl opt">,</span><span class="hl num">0</span><span class="hl opt">,</span>
              <span class="hl kwd">fileToString</span><span class="hl opt">(</span>fd<span class="hl opt">-&gt;</span><span class="hl kwd">absFilePath</span><span class="hl opt">(),</span>filterSourceFiles<span class="hl opt">,</span>TRUE<span class="hl opt">),</span> <span class="hl slc">// the sources</span>
              fd<span class="hl opt">-&gt;</span><span class="hl kwd">getLanguage</span><span class="hl opt">(),</span>  <span class="hl slc">// lang</span>
              FALSE<span class="hl opt">,</span>              <span class="hl slc">// isExampleBlock</span>
              <span class="hl num">0</span><span class="hl opt">,</span>                  <span class="hl slc">// exampleName</span>
              <span class="hl kwa">const_cast</span><span class="hl opt">&lt;</span>FileDef<span class="hl opt">*&gt;(</span>fd<span class="hl opt">),</span>  <span class="hl slc">// fileDef, TODO: should be const</span>
              <span class="hl opt">-</span><span class="hl num">1</span><span class="hl opt">,</span>                 <span class="hl slc">// startLine</span>
              <span class="hl opt">-</span><span class="hl num">1</span><span class="hl opt">,</span>                 <span class="hl slc">// endLine</span>
              FALSE<span class="hl opt">,</span>              <span class="hl slc">// inlineFragment</span>
              <span class="hl num">0</span><span class="hl opt">,</span>                  <span class="hl slc">// memberDef</span>
              TRUE<span class="hl opt">,</span>               <span class="hl slc">// showLineNumbers</span>
              <span class="hl num">0</span><span class="hl opt">,</span>                  <span class="hl slc">// searchCtx</span>
              TRUE                <span class="hl slc">// collectXRefs, TODO: should become FALSE</span>
              <span class="hl opt">);</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">break</span><span class="hl opt">;</span>
    <span class="hl slc">// TODO: support other generators</span>
    <span class="hl kwa">default</span><span class="hl opt">:</span>
      <span class="hl kwd">err</span><span class="hl opt">(</span><span class="hl str">&quot;context.cpp: output format not yet supported&quot;</span><span class="hl opt">);</span>
      <span class="hl kwa">break</span><span class="hl opt">;</span>
  <span class="hl opt">}</span>
  <span class="hl kwa">return</span> <span class="hl kwd">TemplateVariant</span><span class="hl opt">(</span>s<span class="hl opt">.</span><span class="hl kwd">data</span><span class="hl opt">(),</span>TRUE<span class="hl opt">);</span>
<span class="hl opt">}</span>

<span class="hl slc">//------------------------------------------------------------------------</span>

<span class="hl slc">//%% struct Symbol: shared info for all symbols</span>
<span class="hl slc">//%% {</span>
<span class="hl kwc">template</span><span class="hl opt">&lt;</span>typename T<span class="hl opt">&gt;</span>
<span class="hl kwc">class</span> DefinitionContext
<span class="hl opt">{</span>
  <span class="hl kwc">public</span><span class="hl opt">:</span>
    <span class="hl kwd">DefinitionContext</span><span class="hl opt">(</span><span class="hl kwb">const</span> Definition <span class="hl opt">*</span>d<span class="hl opt">) :</span> <span class="hl kwd">m_def</span><span class="hl opt">(</span>d<span class="hl opt">)</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">assert</span><span class="hl opt">(</span>d<span class="hl opt">!=</span><span class="hl num">0</span><span class="hl opt">);</span>
    <span class="hl opt">}</span>
    <span class="hl kwc">virtual</span> <span class="hl opt">~</span><span class="hl kwd">DefinitionContext</span><span class="hl opt">() {}</span>
    <span class="hl kwb">void</span> <span class="hl kwd">addBaseProperties</span><span class="hl opt">(</span>PropertyMapper<span class="hl opt">&lt;</span>T<span class="hl opt">&gt; &amp;</span>inst<span class="hl opt">)</span>
    <span class="hl opt">{</span>
      <span class="hl slc">//%% string name: the name of the symbol</span>
      inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;name&quot;</span><span class="hl opt">,&amp;</span>DefinitionContext<span class="hl opt">::</span>name<span class="hl opt">);</span>
      <span class="hl slc">//%% string bareName: the bare name of the symbol with scope info</span>
      inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;bareName&quot;</span><span class="hl opt">,&amp;</span>DefinitionContext<span class="hl opt">::</span>bareName<span class="hl opt">);</span>
      <span class="hl slc">//%% string relPath: the relative path to the root of the output (CREATE_SUBDIRS)</span>
      inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;relPath&quot;</span><span class="hl opt">,&amp;</span>DefinitionContext<span class="hl opt">::</span>relPath<span class="hl opt">);</span>
      <span class="hl slc">//%% string fileName: the file name of the output file associated with the symbol (without extension)</span>
      inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;fileName&quot;</span><span class="hl opt">,&amp;</span>DefinitionContext<span class="hl opt">::</span>fileName<span class="hl opt">);</span>
      <span class="hl slc">//%% string anchor: anchor within the page</span>
      inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;anchor&quot;</span><span class="hl opt">,&amp;</span>DefinitionContext<span class="hl opt">::</span>anchor<span class="hl opt">);</span>
      <span class="hl slc">//%% string details: the detailed documentation for this symbol</span>
      inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;details&quot;</span><span class="hl opt">,&amp;</span>DefinitionContext<span class="hl opt">::</span>details<span class="hl opt">);</span>
      <span class="hl slc">//%% string brief: the brief description for this symbol</span>
      inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;brief&quot;</span><span class="hl opt">,&amp;</span>DefinitionContext<span class="hl opt">::</span>brief<span class="hl opt">);</span>
      <span class="hl slc">//%% string inbodyDocs: the documentation found in the body</span>
      inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;inbodyDocs&quot;</span><span class="hl opt">,&amp;</span>DefinitionContext<span class="hl opt">::</span>inbodyDocs<span class="hl opt">);</span>
      <span class="hl slc">//%% string sourceFileName: the file name of the source file (without extension)</span>
      inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;sourceFileName&quot;</span><span class="hl opt">,&amp;</span>DefinitionContext<span class="hl opt">::</span>sourceFileName<span class="hl opt">);</span>
      <span class="hl slc">//%% bool isLinkable: can the symbol be linked to?</span>
      inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;isLinkable&quot;</span><span class="hl opt">,&amp;</span>DefinitionContext<span class="hl opt">::</span>isLinkable<span class="hl opt">);</span>
      <span class="hl slc">//%% bool isLinkableInProject: can the symbol be linked within this project?</span>
      inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;isLinkableInProject&quot;</span><span class="hl opt">,&amp;</span>DefinitionContext<span class="hl opt">::</span>isLinkableInProject<span class="hl opt">);</span>
      <span class="hl slc">//%% int dynSectionId: identifier that can be used for collapsible sections</span>
      inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;dynSectionId&quot;</span><span class="hl opt">,&amp;</span>DefinitionContext<span class="hl opt">::</span>dynSectionId<span class="hl opt">);</span>
      <span class="hl slc">//%% string language: the programming language in which the symbol is written</span>
      inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;language&quot;</span><span class="hl opt">,&amp;</span>DefinitionContext<span class="hl opt">::</span>language<span class="hl opt">);</span>
      <span class="hl slc">//%% string sourceDef: A link to the source definition</span>
      inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;sourceDef&quot;</span><span class="hl opt">,&amp;</span>DefinitionContext<span class="hl opt">::</span>sourceDef<span class="hl opt">);</span>
      <span class="hl slc">//%% list[Definition] navigationPath: Breadcrumb navigation path to this item</span>
      inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;navigationPath&quot;</span><span class="hl opt">,&amp;</span>DefinitionContext<span class="hl opt">::</span>navigationPath<span class="hl opt">);</span>
      <span class="hl slc">//%% string kind: Kind of compound object: class, namespace, module, package, page, dir</span>
      inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;compoundKind&quot;</span><span class="hl opt">,&amp;</span>DefinitionContext<span class="hl opt">::</span>compoundKind<span class="hl opt">);</span>
      <span class="hl slc">//%% bool isReference: is this definition imported via a tag file</span>
      inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;isReference&quot;</span><span class="hl opt">,&amp;</span>DefinitionContext<span class="hl opt">::</span>isReference<span class="hl opt">);</span>
      <span class="hl slc">//%% string externalReference: the link to the element in the remote documentation</span>
      inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;externalReference&quot;</span><span class="hl opt">,&amp;</span>DefinitionContext<span class="hl opt">::</span>externalReference<span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">fileName</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_def<span class="hl opt">-&gt;</span><span class="hl kwd">getOutputFileBase</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">anchor</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_def<span class="hl opt">-&gt;</span><span class="hl kwd">anchor</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">sourceFileName</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_def<span class="hl opt">-&gt;</span><span class="hl kwd">getSourceFileBase</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">isLinkable</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_def<span class="hl opt">-&gt;</span><span class="hl kwd">isLinkable</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">isLinkableInProject</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_def<span class="hl opt">-&gt;</span><span class="hl kwd">isLinkableInProject</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">name</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_def<span class="hl opt">-&gt;</span><span class="hl kwd">displayName</span><span class="hl opt">(</span>TRUE<span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">bareName</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_def<span class="hl opt">-&gt;</span><span class="hl kwd">displayName</span><span class="hl opt">(</span>FALSE<span class="hl opt">);</span>
    <span class="hl opt">}</span>
    QCString <span class="hl kwd">relPathAsString</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwb">static bool</span> createSubdirs <span class="hl opt">=</span> <span class="hl kwd">Config_getBool</span><span class="hl opt">(</span>CREATE_SUBDIRS<span class="hl opt">);</span>
      <span class="hl kwa">return</span> createSubdirs ? <span class="hl kwd">QCString</span><span class="hl opt">(</span><span class="hl str">&quot;../../&quot;</span><span class="hl opt">) :</span> <span class="hl kwd">QCString</span><span class="hl opt">(</span><span class="hl str">&quot;&quot;</span><span class="hl opt">);</span>
    <span class="hl opt">}</span>
    <span class="hl kwc">virtual</span> TemplateVariant <span class="hl kwd">relPath</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">relPathAsString</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">details</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      Cachable <span class="hl opt">&amp;</span>cache <span class="hl opt">=</span> <span class="hl kwd">getCache</span><span class="hl opt">();</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>cache<span class="hl opt">.</span>details <span class="hl opt">||</span> g_globals<span class="hl opt">.</span>outputFormat<span class="hl opt">!=</span>cache<span class="hl opt">.</span>detailsOutputFormat<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        cache<span class="hl opt">.</span>details<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span><span class="hl kwa">new</span> <span class="hl kwd">TemplateVariant</span><span class="hl opt">(</span><span class="hl kwd">parseDoc</span><span class="hl opt">(</span>m_def<span class="hl opt">,</span>m_def<span class="hl opt">-&gt;</span><span class="hl kwd">docFile</span><span class="hl opt">(),</span>m_def<span class="hl opt">-&gt;</span><span class="hl kwd">docLine</span><span class="hl opt">(),</span>
                                            <span class="hl kwd">relPathAsString</span><span class="hl opt">(),</span>m_def<span class="hl opt">-&gt;</span><span class="hl kwd">documentation</span><span class="hl opt">(),</span>FALSE<span class="hl opt">)));</span>
        cache<span class="hl opt">.</span>detailsOutputFormat <span class="hl opt">=</span> g_globals<span class="hl opt">.</span>outputFormat<span class="hl opt">;</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> <span class="hl opt">*</span>cache<span class="hl opt">.</span>details<span class="hl opt">;</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">brief</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      Cachable <span class="hl opt">&amp;</span>cache <span class="hl opt">=</span> <span class="hl kwd">getCache</span><span class="hl opt">();</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>cache<span class="hl opt">.</span>brief <span class="hl opt">||</span> g_globals<span class="hl opt">.</span>outputFormat<span class="hl opt">!=</span>cache<span class="hl opt">.</span>briefOutputFormat<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">if</span> <span class="hl opt">(</span>m_def<span class="hl opt">-&gt;</span><span class="hl kwd">hasBriefDescription</span><span class="hl opt">())</span>
        <span class="hl opt">{</span>
          cache<span class="hl opt">.</span>brief<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span><span class="hl kwa">new</span> <span class="hl kwd">TemplateVariant</span><span class="hl opt">(</span><span class="hl kwd">parseDoc</span><span class="hl opt">(</span>m_def<span class="hl opt">,</span>m_def<span class="hl opt">-&gt;</span><span class="hl kwd">briefFile</span><span class="hl opt">(),</span>m_def<span class="hl opt">-&gt;</span><span class="hl kwd">briefLine</span><span class="hl opt">(),</span>
                             <span class="hl kwd">relPathAsString</span><span class="hl opt">(),</span>m_def<span class="hl opt">-&gt;</span><span class="hl kwd">briefDescription</span><span class="hl opt">(),</span>TRUE<span class="hl opt">)));</span>
          cache<span class="hl opt">.</span>briefOutputFormat <span class="hl opt">=</span> g_globals<span class="hl opt">.</span>outputFormat<span class="hl opt">;</span>
        <span class="hl opt">}</span>
        <span class="hl kwa">else</span>
        <span class="hl opt">{</span>
          cache<span class="hl opt">.</span>brief<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span><span class="hl kwa">new</span> <span class="hl kwd">TemplateVariant</span><span class="hl opt">(</span><span class="hl str">&quot;&quot;</span><span class="hl opt">));</span>
        <span class="hl opt">}</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> <span class="hl opt">*</span>cache<span class="hl opt">.</span>brief<span class="hl opt">;</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">inbodyDocs</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      Cachable <span class="hl opt">&amp;</span>cache <span class="hl opt">=</span> <span class="hl kwd">getCache</span><span class="hl opt">();</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>cache<span class="hl opt">.</span>inbodyDocs <span class="hl opt">||</span> g_globals<span class="hl opt">.</span>outputFormat<span class="hl opt">!=</span>cache<span class="hl opt">.</span>inbodyDocsOutputFormat<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">if</span> <span class="hl opt">(!</span>m_def<span class="hl opt">-&gt;</span><span class="hl kwd">inbodyDocumentation</span><span class="hl opt">().</span><span class="hl kwd">isEmpty</span><span class="hl opt">())</span>
        <span class="hl opt">{</span>
          cache<span class="hl opt">.</span>inbodyDocs<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span><span class="hl kwa">new</span> <span class="hl kwd">TemplateVariant</span><span class="hl opt">(</span><span class="hl kwd">parseDoc</span><span class="hl opt">(</span>m_def<span class="hl opt">,</span>m_def<span class="hl opt">-&gt;</span><span class="hl kwd">inbodyFile</span><span class="hl opt">(),</span>m_def<span class="hl opt">-&gt;</span><span class="hl kwd">inbodyLine</span><span class="hl opt">(),</span>
                                           <span class="hl kwd">relPathAsString</span><span class="hl opt">(),</span>m_def<span class="hl opt">-&gt;</span><span class="hl kwd">inbodyDocumentation</span><span class="hl opt">(),</span>FALSE<span class="hl opt">)));</span>
          cache<span class="hl opt">.</span>inbodyDocsOutputFormat <span class="hl opt">=</span> g_globals<span class="hl opt">.</span>outputFormat<span class="hl opt">;</span>
        <span class="hl opt">}</span>
        <span class="hl kwa">else</span>
        <span class="hl opt">{</span>
          cache<span class="hl opt">.</span>inbodyDocs<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span><span class="hl kwa">new</span> <span class="hl kwd">TemplateVariant</span><span class="hl opt">(</span><span class="hl str">&quot;&quot;</span><span class="hl opt">));</span>
        <span class="hl opt">}</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> <span class="hl opt">*</span>cache<span class="hl opt">.</span>inbodyDocs<span class="hl opt">;</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">dynSectionId</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> g_globals<span class="hl opt">.</span>dynSectionId<span class="hl opt">;</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">language</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      SrcLangExt lang <span class="hl opt">=</span> m_def<span class="hl opt">-&gt;</span><span class="hl kwd">getLanguage</span><span class="hl opt">();</span>
      QCString result <span class="hl opt">=</span> <span class="hl str">&quot;unknown&quot;</span><span class="hl opt">;</span>
      <span class="hl kwa">switch</span> <span class="hl opt">(</span>lang<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">case</span> SrcLangExt_Unknown<span class="hl opt">:</span>  <span class="hl kwa">break</span><span class="hl opt">;</span>
        <span class="hl kwa">case</span> SrcLangExt_IDL<span class="hl opt">:</span>      result<span class="hl opt">=</span><span class="hl str">&quot;idl&quot;</span><span class="hl opt">;</span>      <span class="hl kwa">break</span><span class="hl opt">;</span>
        <span class="hl kwa">case</span> SrcLangExt_Java<span class="hl opt">:</span>     result<span class="hl opt">=</span><span class="hl str">&quot;java&quot;</span><span class="hl opt">;</span>     <span class="hl kwa">break</span><span class="hl opt">;</span>
        <span class="hl kwa">case</span> SrcLangExt_CSharp<span class="hl opt">:</span>   result<span class="hl opt">=</span><span class="hl str">&quot;csharp&quot;</span><span class="hl opt">;</span>   <span class="hl kwa">break</span><span class="hl opt">;</span>
        <span class="hl kwa">case</span> SrcLangExt_D<span class="hl opt">:</span>        result<span class="hl opt">=</span><span class="hl str">&quot;d&quot;</span><span class="hl opt">;</span>        <span class="hl kwa">break</span><span class="hl opt">;</span>
        <span class="hl kwa">case</span> SrcLangExt_PHP<span class="hl opt">:</span>      result<span class="hl opt">=</span><span class="hl str">&quot;php&quot;</span><span class="hl opt">;</span>      <span class="hl kwa">break</span><span class="hl opt">;</span>
        <span class="hl kwa">case</span> SrcLangExt_ObjC<span class="hl opt">:</span>     result<span class="hl opt">=</span><span class="hl str">&quot;objc&quot;</span><span class="hl opt">;</span>     <span class="hl kwa">break</span><span class="hl opt">;</span>
        <span class="hl kwa">case</span> SrcLangExt_Cpp<span class="hl opt">:</span>      result<span class="hl opt">=</span><span class="hl str">&quot;cpp&quot;</span><span class="hl opt">;</span>      <span class="hl kwa">break</span><span class="hl opt">;</span>
        <span class="hl kwa">case</span> SrcLangExt_JS<span class="hl opt">:</span>       result<span class="hl opt">=</span><span class="hl str">&quot;js&quot;</span><span class="hl opt">;</span>       <span class="hl kwa">break</span><span class="hl opt">;</span>
        <span class="hl kwa">case</span> SrcLangExt_Python<span class="hl opt">:</span>   result<span class="hl opt">=</span><span class="hl str">&quot;python&quot;</span><span class="hl opt">;</span>   <span class="hl kwa">break</span><span class="hl opt">;</span>
        <span class="hl kwa">case</span> SrcLangExt_Fortran<span class="hl opt">:</span>  result<span class="hl opt">=</span><span class="hl str">&quot;fortran&quot;</span><span class="hl opt">;</span>  <span class="hl kwa">break</span><span class="hl opt">;</span>
        <span class="hl kwa">case</span> SrcLangExt_VHDL<span class="hl opt">:</span>     result<span class="hl opt">=</span><span class="hl str">&quot;vhdl&quot;</span><span class="hl opt">;</span>     <span class="hl kwa">break</span><span class="hl opt">;</span>
        <span class="hl kwa">case</span> SrcLangExt_XML<span class="hl opt">:</span>      result<span class="hl opt">=</span><span class="hl str">&quot;xml&quot;</span><span class="hl opt">;</span>      <span class="hl kwa">break</span><span class="hl opt">;</span>
        <span class="hl kwa">case</span> SrcLangExt_SQL<span class="hl opt">:</span>      result<span class="hl opt">=</span><span class="hl str">&quot;sql&quot;</span><span class="hl opt">;</span>      <span class="hl kwa">break</span><span class="hl opt">;</span>
        <span class="hl kwa">case</span> SrcLangExt_Markdown<span class="hl opt">:</span> result<span class="hl opt">=</span><span class="hl str">&quot;markdown&quot;</span><span class="hl opt">;</span> <span class="hl kwa">break</span><span class="hl opt">;</span>
        <span class="hl kwa">case</span> SrcLangExt_Slice<span class="hl opt">:</span>    result<span class="hl opt">=</span><span class="hl str">&quot;slice&quot;</span><span class="hl opt">;</span>    <span class="hl kwa">break</span><span class="hl opt">;</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> result<span class="hl opt">;</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">compoundKind</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      QCString result <span class="hl opt">=</span> <span class="hl str">&quot;unspecified&quot;</span><span class="hl opt">;</span>
      <span class="hl kwa">switch</span> <span class="hl opt">(</span>m_def<span class="hl opt">-&gt;</span><span class="hl kwd">definitionType</span><span class="hl opt">())</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">case</span> DefinitionIntf<span class="hl opt">::</span>TypeClass<span class="hl opt">:</span>     result<span class="hl opt">=</span><span class="hl str">&quot;class&quot;</span><span class="hl opt">;</span>     <span class="hl kwa">break</span><span class="hl opt">;</span>
        <span class="hl kwa">case</span> DefinitionIntf<span class="hl opt">::</span>TypeFile<span class="hl opt">:</span>      result<span class="hl opt">=</span><span class="hl str">&quot;file&quot;</span><span class="hl opt">;</span>      <span class="hl kwa">break</span><span class="hl opt">;</span>
        <span class="hl kwa">case</span> DefinitionIntf<span class="hl opt">::</span>TypeNamespace<span class="hl opt">:</span> result<span class="hl opt">=</span><span class="hl str">&quot;namespace&quot;</span><span class="hl opt">;</span> <span class="hl kwa">break</span><span class="hl opt">;</span>
        <span class="hl kwa">case</span> DefinitionIntf<span class="hl opt">::</span>TypeGroup<span class="hl opt">:</span>     result<span class="hl opt">=</span><span class="hl str">&quot;module&quot;</span><span class="hl opt">;</span>    <span class="hl kwa">break</span><span class="hl opt">;</span>
        <span class="hl kwa">case</span> DefinitionIntf<span class="hl opt">::</span>TypePackage<span class="hl opt">:</span>   result<span class="hl opt">=</span><span class="hl str">&quot;package&quot;</span><span class="hl opt">;</span>   <span class="hl kwa">break</span><span class="hl opt">;</span>
        <span class="hl kwa">case</span> DefinitionIntf<span class="hl opt">::</span>TypePage<span class="hl opt">:</span>      result<span class="hl opt">=</span><span class="hl str">&quot;page&quot;</span><span class="hl opt">;</span>      <span class="hl kwa">break</span><span class="hl opt">;</span>
        <span class="hl kwa">case</span> DefinitionIntf<span class="hl opt">::</span>TypeDir<span class="hl opt">:</span>       result<span class="hl opt">=</span><span class="hl str">&quot;dir&quot;</span><span class="hl opt">;</span>       <span class="hl kwa">break</span><span class="hl opt">;</span>
        <span class="hl kwa">case</span> DefinitionIntf<span class="hl opt">::</span>TypeMember<span class="hl opt">:</span> <span class="hl slc">// fall through</span>
        <span class="hl kwa">case</span> DefinitionIntf<span class="hl opt">::</span>TypeSymbolList<span class="hl opt">:</span>
                <span class="hl kwa">break</span><span class="hl opt">;</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> result<span class="hl opt">;</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">sourceDef</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      Cachable <span class="hl opt">&amp;</span>cache <span class="hl opt">=</span> <span class="hl kwd">getCache</span><span class="hl opt">();</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>cache<span class="hl opt">.</span>sourceDef<span class="hl opt">-&gt;</span><span class="hl kwd">count</span><span class="hl opt">()==</span><span class="hl num">2</span><span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> cache<span class="hl opt">.</span>sourceDef<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">else</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> FALSE<span class="hl opt">;</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
    <span class="hl kwb">void</span> <span class="hl kwd">fillPath</span><span class="hl opt">(</span><span class="hl kwb">const</span> Definition <span class="hl opt">*</span>def<span class="hl opt">,</span>TemplateList <span class="hl opt">*</span>list<span class="hl opt">)</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwb">const</span> Definition <span class="hl opt">*</span>outerScope <span class="hl opt">=</span> def<span class="hl opt">-&gt;</span><span class="hl kwd">getOuterScope</span><span class="hl opt">();</span>
      Definition<span class="hl opt">::</span>DefType type <span class="hl opt">=</span> def<span class="hl opt">-&gt;</span><span class="hl kwd">definitionType</span><span class="hl opt">();</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>outerScope <span class="hl opt">&amp;&amp;</span> outerScope<span class="hl opt">!=</span>Doxygen<span class="hl opt">::</span>globalScope<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwd">fillPath</span><span class="hl opt">(</span>outerScope<span class="hl opt">,</span>list<span class="hl opt">);</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">else if</span> <span class="hl opt">(</span>type<span class="hl opt">==</span>Definition<span class="hl opt">::</span>TypeFile <span class="hl opt">&amp;&amp; (</span><span class="hl kwa">dynamic_cast</span><span class="hl opt">&lt;</span><span class="hl kwb">const</span> FileDef<span class="hl opt">*&gt;(</span>def<span class="hl opt">))-&gt;</span><span class="hl kwd">getDirDef</span><span class="hl opt">())</span>
      <span class="hl opt">{</span>
        <span class="hl kwd">fillPath</span><span class="hl opt">((</span><span class="hl kwa">dynamic_cast</span><span class="hl opt">&lt;</span><span class="hl kwb">const</span> FileDef<span class="hl opt">*&gt;(</span>def<span class="hl opt">))-&gt;</span><span class="hl kwd">getDirDef</span><span class="hl opt">(),</span>list<span class="hl opt">);</span>
      <span class="hl opt">}</span>
      list<span class="hl opt">-&gt;</span><span class="hl kwd">append</span><span class="hl opt">(</span>NavPathElemContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>def<span class="hl opt">));</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">navigationPath</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      Cachable <span class="hl opt">&amp;</span>cache <span class="hl opt">=</span> <span class="hl kwd">getCache</span><span class="hl opt">();</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>cache<span class="hl opt">.</span>navPath<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        TemplateList <span class="hl opt">*</span>list <span class="hl opt">=</span> TemplateList<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">();</span>
        <span class="hl kwa">if</span> <span class="hl opt">(</span>m_def<span class="hl opt">-&gt;</span><span class="hl kwd">getOuterScope</span><span class="hl opt">() &amp;&amp;</span> m_def<span class="hl opt">-&gt;</span><span class="hl kwd">getOuterScope</span><span class="hl opt">()!=</span>Doxygen<span class="hl opt">::</span>globalScope<span class="hl opt">)</span>
        <span class="hl opt">{</span>
          <span class="hl kwd">fillPath</span><span class="hl opt">(</span>m_def<span class="hl opt">-&gt;</span><span class="hl kwd">getOuterScope</span><span class="hl opt">(),</span>list<span class="hl opt">);</span>
        <span class="hl opt">}</span>
        <span class="hl kwa">else if</span> <span class="hl opt">(</span>m_def<span class="hl opt">-&gt;</span><span class="hl kwd">definitionType</span><span class="hl opt">()==</span>Definition<span class="hl opt">::</span>TypeFile <span class="hl opt">&amp;&amp; (</span><span class="hl kwa">dynamic_cast</span><span class="hl opt">&lt;</span><span class="hl kwb">const</span> FileDef <span class="hl opt">*&gt;(</span>m_def<span class="hl opt">))-&gt;</span><span class="hl kwd">getDirDef</span><span class="hl opt">())</span>
        <span class="hl opt">{</span>
          <span class="hl kwd">fillPath</span><span class="hl opt">((</span><span class="hl kwa">dynamic_cast</span><span class="hl opt">&lt;</span><span class="hl kwb">const</span> FileDef <span class="hl opt">*&gt;(</span>m_def<span class="hl opt">))-&gt;</span><span class="hl kwd">getDirDef</span><span class="hl opt">(),</span>list<span class="hl opt">);</span>
        <span class="hl opt">}</span>
        cache<span class="hl opt">.</span>navPath<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>list<span class="hl opt">);</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> cache<span class="hl opt">.</span>navPath<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">isReference</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_def<span class="hl opt">-&gt;</span><span class="hl kwd">isReference</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">externalReference</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_def<span class="hl opt">-&gt;</span><span class="hl kwd">externalReference</span><span class="hl opt">(</span><span class="hl kwd">relPathAsString</span><span class="hl opt">());</span>
    <span class="hl opt">}</span>

  <span class="hl kwc">protected</span><span class="hl opt">:</span>
    <span class="hl kwb">struct</span> Cachable <span class="hl opt">:</span> <span class="hl kwc">public</span> Definition<span class="hl opt">::</span>Cookie
    <span class="hl opt">{</span>
      <span class="hl kwd">Cachable</span><span class="hl opt">(</span><span class="hl kwb">const</span> Definition <span class="hl opt">*</span>def<span class="hl opt">) :</span> <span class="hl kwd">detailsOutputFormat</span><span class="hl opt">(</span>ContextOutputFormat_Unspecified<span class="hl opt">),</span>
                                  <span class="hl kwd">briefOutputFormat</span><span class="hl opt">(</span>ContextOutputFormat_Unspecified<span class="hl opt">),</span>
                                  <span class="hl kwd">inbodyDocsOutputFormat</span><span class="hl opt">(</span>ContextOutputFormat_Unspecified<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        sourceDef<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>TemplateList<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">());</span>
        lineLink<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>TemplateStruct<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">());</span>
        fileLink<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>TemplateStruct<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">());</span>

        <span class="hl kwa">if</span> <span class="hl opt">(</span>def <span class="hl opt">&amp;&amp; !</span>def<span class="hl opt">-&gt;</span><span class="hl kwd">getSourceFileBase</span><span class="hl opt">().</span><span class="hl kwd">isEmpty</span><span class="hl opt">())</span>
        <span class="hl opt">{</span>
          lineLink<span class="hl opt">-&gt;</span><span class="hl kwd">set</span><span class="hl opt">(</span><span class="hl str">&quot;text&quot;</span><span class="hl opt">,</span>def<span class="hl opt">-&gt;</span><span class="hl kwd">getStartBodyLine</span><span class="hl opt">());</span>
          lineLink<span class="hl opt">-&gt;</span><span class="hl kwd">set</span><span class="hl opt">(</span><span class="hl str">&quot;isLinkable&quot;</span><span class="hl opt">,</span>TRUE<span class="hl opt">);</span>
          lineLink<span class="hl opt">-&gt;</span><span class="hl kwd">set</span><span class="hl opt">(</span><span class="hl str">&quot;fileName&quot;</span><span class="hl opt">,</span>def<span class="hl opt">-&gt;</span><span class="hl kwd">getSourceFileBase</span><span class="hl opt">());</span>
          lineLink<span class="hl opt">-&gt;</span><span class="hl kwd">set</span><span class="hl opt">(</span><span class="hl str">&quot;anchor&quot;</span><span class="hl opt">,</span>def<span class="hl opt">-&gt;</span><span class="hl kwd">getSourceAnchor</span><span class="hl opt">());</span>
          lineLink<span class="hl opt">-&gt;</span><span class="hl kwd">set</span><span class="hl opt">(</span><span class="hl str">&quot;isReference&quot;</span><span class="hl opt">,</span>FALSE<span class="hl opt">);</span>
          lineLink<span class="hl opt">-&gt;</span><span class="hl kwd">set</span><span class="hl opt">(</span><span class="hl str">&quot;externalReference&quot;</span><span class="hl opt">,</span><span class="hl str">&quot;&quot;</span><span class="hl opt">);</span>
          <span class="hl kwa">if</span> <span class="hl opt">(</span>def<span class="hl opt">-&gt;</span><span class="hl kwd">definitionType</span><span class="hl opt">()==</span>Definition<span class="hl opt">::</span>TypeFile<span class="hl opt">)</span>
          <span class="hl opt">{</span>
            fileLink<span class="hl opt">-&gt;</span><span class="hl kwd">set</span><span class="hl opt">(</span><span class="hl str">&quot;text&quot;</span><span class="hl opt">,</span>def<span class="hl opt">-&gt;</span><span class="hl kwd">name</span><span class="hl opt">());</span>
          <span class="hl opt">}</span>
          <span class="hl kwa">else if</span> <span class="hl opt">(</span>def<span class="hl opt">-&gt;</span><span class="hl kwd">getBodyDef</span><span class="hl opt">())</span>
          <span class="hl opt">{</span>
            fileLink<span class="hl opt">-&gt;</span><span class="hl kwd">set</span><span class="hl opt">(</span><span class="hl str">&quot;text&quot;</span><span class="hl opt">,</span>def<span class="hl opt">-&gt;</span><span class="hl kwd">getBodyDef</span><span class="hl opt">()-&gt;</span><span class="hl kwd">name</span><span class="hl opt">());</span>
          <span class="hl opt">}</span>
          <span class="hl kwa">else</span>
          <span class="hl opt">{</span>
            fileLink<span class="hl opt">-&gt;</span><span class="hl kwd">set</span><span class="hl opt">(</span><span class="hl str">&quot;text&quot;</span><span class="hl opt">,</span>def<span class="hl opt">-&gt;</span><span class="hl kwd">displayName</span><span class="hl opt">(</span>TRUE<span class="hl opt">));</span>
          <span class="hl opt">}</span>
          fileLink<span class="hl opt">-&gt;</span><span class="hl kwd">set</span><span class="hl opt">(</span><span class="hl str">&quot;isLinkable&quot;</span><span class="hl opt">,</span>TRUE<span class="hl opt">);</span>
          fileLink<span class="hl opt">-&gt;</span><span class="hl kwd">set</span><span class="hl opt">(</span><span class="hl str">&quot;fileName&quot;</span><span class="hl opt">,</span>def<span class="hl opt">-&gt;</span><span class="hl kwd">getSourceFileBase</span><span class="hl opt">());</span>
          fileLink<span class="hl opt">-&gt;</span><span class="hl kwd">set</span><span class="hl opt">(</span><span class="hl str">&quot;anchor&quot;</span><span class="hl opt">,</span><span class="hl kwd">QCString</span><span class="hl opt">());</span>
          fileLink<span class="hl opt">-&gt;</span><span class="hl kwd">set</span><span class="hl opt">(</span><span class="hl str">&quot;isReference&quot;</span><span class="hl opt">,</span>FALSE<span class="hl opt">);</span>
          fileLink<span class="hl opt">-&gt;</span><span class="hl kwd">set</span><span class="hl opt">(</span><span class="hl str">&quot;externalReference&quot;</span><span class="hl opt">,</span><span class="hl str">&quot;&quot;</span><span class="hl opt">);</span>
          sourceDef<span class="hl opt">-&gt;</span><span class="hl kwd">append</span><span class="hl opt">(</span>lineLink<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">());</span>
          sourceDef<span class="hl opt">-&gt;</span><span class="hl kwd">append</span><span class="hl opt">(</span>fileLink<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">());</span>
        <span class="hl opt">}</span>
      <span class="hl opt">}</span>
      ScopedPtr<span class="hl opt">&lt;</span>TemplateVariant<span class="hl opt">&gt;</span> details<span class="hl opt">;</span>
      ContextOutputFormat        detailsOutputFormat<span class="hl opt">;</span>
      ScopedPtr<span class="hl opt">&lt;</span>TemplateVariant<span class="hl opt">&gt;</span> brief<span class="hl opt">;</span>
      ContextOutputFormat        briefOutputFormat<span class="hl opt">;</span>
      ScopedPtr<span class="hl opt">&lt;</span>TemplateVariant<span class="hl opt">&gt;</span> inbodyDocs<span class="hl opt">;</span>
      ContextOutputFormat        inbodyDocsOutputFormat<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>TemplateList<span class="hl opt">&gt;</span>    navPath<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>TemplateList<span class="hl opt">&gt;</span>    sourceDef<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>TemplateStruct<span class="hl opt">&gt;</span>  fileLink<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>TemplateStruct<span class="hl opt">&gt;</span>  lineLink<span class="hl opt">;</span>
    <span class="hl opt">};</span>


  <span class="hl kwc">private</span><span class="hl opt">:</span>
    Cachable <span class="hl opt">&amp;</span><span class="hl kwd">getCache</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      Cachable <span class="hl opt">*</span>c <span class="hl opt">=</span> <span class="hl kwa">static_cast</span><span class="hl opt">&lt;</span>Cachable<span class="hl opt">*&gt;(</span>m_def<span class="hl opt">-&gt;</span><span class="hl kwd">cookie</span><span class="hl opt">());</span>
      <span class="hl kwa">assert</span><span class="hl opt">(</span>c<span class="hl opt">!=</span><span class="hl num">0</span><span class="hl opt">);</span>
      <span class="hl kwa">return</span> <span class="hl opt">*</span>c<span class="hl opt">;</span>
    <span class="hl opt">}</span>
    <span class="hl kwb">const</span> Definition      <span class="hl opt">*</span>m_def<span class="hl opt">;</span>
<span class="hl opt">};</span>
<span class="hl slc">//%% }</span>

<span class="hl slc">//------------------------------------------------------------------------</span>

<span class="hl slc">//%% struct IncludeInfo: include file information</span>
<span class="hl slc">//%% {</span>
<span class="hl kwc">class</span> IncludeInfoContext<span class="hl opt">::</span>Private
<span class="hl opt">{</span>
  <span class="hl kwc">public</span><span class="hl opt">:</span>
    <span class="hl kwd">Private</span><span class="hl opt">(</span><span class="hl kwb">const</span> IncludeInfo <span class="hl opt">*</span>info<span class="hl opt">,</span>SrcLangExt lang<span class="hl opt">) :</span>
      <span class="hl kwd">m_info</span><span class="hl opt">(</span>info<span class="hl opt">),</span>
      <span class="hl kwd">m_lang</span><span class="hl opt">(</span>lang<span class="hl opt">)</span>
    <span class="hl opt">{</span>
      <span class="hl kwb">static bool</span> init<span class="hl opt">=</span>FALSE<span class="hl opt">;</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>init<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;file&quot;</span><span class="hl opt">,&amp;</span>Private<span class="hl opt">::</span>file<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;name&quot;</span><span class="hl opt">,&amp;</span>Private<span class="hl opt">::</span>name<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;isImport&quot;</span><span class="hl opt">,&amp;</span>Private<span class="hl opt">::</span>isImport<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;isLocal&quot;</span><span class="hl opt">,&amp;</span>Private<span class="hl opt">::</span>isLocal<span class="hl opt">);</span>
        init<span class="hl opt">=</span>TRUE<span class="hl opt">;</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwb">const char</span> <span class="hl opt">*</span>n<span class="hl opt">)</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> s_inst<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwa">this</span><span class="hl opt">,</span>n<span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">isLocal</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwb">bool</span> isIDLorJava <span class="hl opt">=</span> m_lang<span class="hl opt">==</span>SrcLangExt_IDL <span class="hl opt">||</span> m_lang<span class="hl opt">==</span>SrcLangExt_Java<span class="hl opt">;</span>
      <span class="hl kwa">return</span> m_info<span class="hl opt">-&gt;</span>local <span class="hl opt">||</span> isIDLorJava<span class="hl opt">;</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">isImport</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_info<span class="hl opt">-&gt;</span>imported <span class="hl opt">||</span> m_lang<span class="hl opt">==</span>SrcLangExt_ObjC<span class="hl opt">;</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">file</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>m_fileContext <span class="hl opt">&amp;&amp;</span> m_info <span class="hl opt">&amp;&amp;</span> m_info<span class="hl opt">-&gt;</span>fileDef<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        m_fileContext<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>FileContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>m_info<span class="hl opt">-&gt;</span>fileDef<span class="hl opt">));</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>m_fileContext<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> m_fileContext<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">else</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> FALSE<span class="hl opt">;</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">name</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_info<span class="hl opt">-&gt;</span>includeName<span class="hl opt">;</span>
    <span class="hl opt">}</span>
  <span class="hl kwc">private</span><span class="hl opt">:</span>
    <span class="hl kwb">const</span> IncludeInfo <span class="hl opt">*</span>m_info<span class="hl opt">;</span>
    <span class="hl kwc">mutable</span> SharedPtr<span class="hl opt">&lt;</span>FileContext<span class="hl opt">&gt;</span> m_fileContext<span class="hl opt">;</span>
    SrcLangExt m_lang<span class="hl opt">;</span>
    <span class="hl kwb">static</span> PropertyMapper<span class="hl opt">&lt;</span>IncludeInfoContext<span class="hl opt">::</span>Private<span class="hl opt">&gt;</span> s_inst<span class="hl opt">;</span>
<span class="hl opt">};</span>

PropertyMapper<span class="hl opt">&lt;</span>IncludeInfoContext<span class="hl opt">::</span>Private<span class="hl opt">&gt;</span> IncludeInfoContext<span class="hl opt">::</span>Private<span class="hl opt">::</span>s_inst<span class="hl opt">;</span>

IncludeInfoContext<span class="hl opt">::</span><span class="hl kwd">IncludeInfoContext</span><span class="hl opt">(</span><span class="hl kwb">const</span> IncludeInfo <span class="hl opt">*</span>info<span class="hl opt">,</span>SrcLangExt lang<span class="hl opt">) :</span> <span class="hl kwd">RefCountedContext</span><span class="hl opt">(</span><span class="hl str">&quot;IncludeContext&quot;</span><span class="hl opt">)</span>
<span class="hl opt">{</span>
  p <span class="hl opt">=</span> <span class="hl kwa">new</span> <span class="hl kwd">Private</span><span class="hl opt">(</span>info<span class="hl opt">,</span>lang<span class="hl opt">);</span>
<span class="hl opt">}</span>

IncludeInfoContext<span class="hl opt">::~</span><span class="hl kwd">IncludeInfoContext</span><span class="hl opt">()</span>
<span class="hl opt">{</span>
  <span class="hl kwa">delete</span> p<span class="hl opt">;</span>
<span class="hl opt">}</span>

TemplateVariant IncludeInfoContext<span class="hl opt">::</span><span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwb">const char</span> <span class="hl opt">*</span>n<span class="hl opt">)</span> <span class="hl kwb">const</span>
<span class="hl opt">{</span>
  <span class="hl kwa">return</span> p<span class="hl opt">-&gt;</span><span class="hl kwd">get</span><span class="hl opt">(</span>n<span class="hl opt">);</span>
<span class="hl opt">}</span>
<span class="hl slc">//%% }</span>

<span class="hl slc">//------------------------------------------------------------------------</span>

<span class="hl slc">//%% list IncludeInfoList[Class] : list of nested classes</span>
<span class="hl kwc">class</span> IncludeInfoListContext<span class="hl opt">::</span>Private <span class="hl opt">:</span> <span class="hl kwc">public</span> GenericNodeListContext
<span class="hl opt">{</span>
  <span class="hl kwc">public</span><span class="hl opt">:</span>
    <span class="hl kwd">Private</span><span class="hl opt">(</span><span class="hl kwb">const</span> QList<span class="hl opt">&lt;</span>IncludeInfo<span class="hl opt">&gt; &amp;</span>list<span class="hl opt">,</span>SrcLangExt lang<span class="hl opt">)</span>
    <span class="hl opt">{</span>
      QListIterator<span class="hl opt">&lt;</span>IncludeInfo<span class="hl opt">&gt;</span> <span class="hl kwd">li</span><span class="hl opt">(</span>list<span class="hl opt">);</span>
      IncludeInfo <span class="hl opt">*</span>ii<span class="hl opt">;</span>
      <span class="hl kwa">for</span> <span class="hl opt">(</span>li<span class="hl opt">.</span><span class="hl kwd">toFirst</span><span class="hl opt">();(</span>ii<span class="hl opt">=</span>li<span class="hl opt">.</span><span class="hl kwd">current</span><span class="hl opt">());++</span>li<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">if</span> <span class="hl opt">(!</span>ii<span class="hl opt">-&gt;</span>indirect<span class="hl opt">)</span>
        <span class="hl opt">{</span>
          <span class="hl kwd">append</span><span class="hl opt">(</span>IncludeInfoContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>ii<span class="hl opt">,</span>lang<span class="hl opt">));</span>
        <span class="hl opt">}</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
<span class="hl opt">};</span>

IncludeInfoListContext<span class="hl opt">::</span><span class="hl kwd">IncludeInfoListContext</span><span class="hl opt">(</span><span class="hl kwb">const</span> QList<span class="hl opt">&lt;</span>IncludeInfo<span class="hl opt">&gt; &amp;</span>list<span class="hl opt">,</span>SrcLangExt lang<span class="hl opt">) :</span> <span class="hl kwd">RefCountedContext</span><span class="hl opt">(</span><span class="hl str">&quot;IncludeListContext&quot;</span><span class="hl opt">)</span>
<span class="hl opt">{</span>
  p <span class="hl opt">=</span> <span class="hl kwa">new</span> <span class="hl kwd">Private</span><span class="hl opt">(</span>list<span class="hl opt">,</span>lang<span class="hl opt">);</span>
<span class="hl opt">}</span>

IncludeInfoListContext<span class="hl opt">::~</span><span class="hl kwd">IncludeInfoListContext</span><span class="hl opt">()</span>
<span class="hl opt">{</span>
  <span class="hl kwa">delete</span> p<span class="hl opt">;</span>
<span class="hl opt">}</span>

<span class="hl slc">// TemplateListIntf</span>
uint IncludeInfoListContext<span class="hl opt">::</span><span class="hl kwd">count</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
<span class="hl opt">{</span>
  <span class="hl kwa">return</span> p<span class="hl opt">-&gt;</span><span class="hl kwd">count</span><span class="hl opt">();</span>
<span class="hl opt">}</span>

TemplateVariant IncludeInfoListContext<span class="hl opt">::</span><span class="hl kwd">at</span><span class="hl opt">(</span>uint index<span class="hl opt">)</span> <span class="hl kwb">const</span>
<span class="hl opt">{</span>
  <span class="hl kwa">return</span> p<span class="hl opt">-&gt;</span><span class="hl kwd">at</span><span class="hl opt">(</span>index<span class="hl opt">);</span>
<span class="hl opt">}</span>

TemplateListIntf<span class="hl opt">::</span>ConstIterator <span class="hl opt">*</span>IncludeInfoListContext<span class="hl opt">::</span><span class="hl kwd">createIterator</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
<span class="hl opt">{</span>
  <span class="hl kwa">return</span> p<span class="hl opt">-&gt;</span><span class="hl kwd">createIterator</span><span class="hl opt">();</span>
<span class="hl opt">}</span>

<span class="hl slc">//------------------------------------------------------------------------</span>

<span class="hl slc">//%% struct Class(Symbol): class information</span>
<span class="hl slc">//%% {</span>
<span class="hl kwc">class</span> ClassContext<span class="hl opt">::</span>Private <span class="hl opt">:</span> <span class="hl kwc">public</span> DefinitionContext<span class="hl opt">&lt;</span>ClassContext<span class="hl opt">::</span>Private<span class="hl opt">&gt;</span>
<span class="hl opt">{</span>
  <span class="hl kwc">public</span><span class="hl opt">:</span>
    <span class="hl kwd">Private</span><span class="hl opt">(</span><span class="hl kwb">const</span> ClassDef <span class="hl opt">*</span>cd<span class="hl opt">) :</span> DefinitionContext<span class="hl opt">&lt;</span>ClassContext<span class="hl opt">::</span>Private<span class="hl opt">&gt;(</span>cd<span class="hl opt">),</span>
       <span class="hl kwd">m_classDef</span><span class="hl opt">(</span>cd<span class="hl opt">)</span>
    <span class="hl opt">{</span>
      <span class="hl kwb">static bool</span> init<span class="hl opt">=</span>FALSE<span class="hl opt">;</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>init<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwd">addBaseProperties</span><span class="hl opt">(</span>s_inst<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;title&quot;</span><span class="hl opt">,                     &amp;</span>Private<span class="hl opt">::</span>title<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;highlight&quot;</span><span class="hl opt">,                 &amp;</span>Private<span class="hl opt">::</span>highlight<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;subhighlight&quot;</span><span class="hl opt">,              &amp;</span>Private<span class="hl opt">::</span>subHighlight<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;hasDetails&quot;</span><span class="hl opt">,                &amp;</span>Private<span class="hl opt">::</span>hasDetails<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;generatedFromFiles&quot;</span><span class="hl opt">,        &amp;</span>Private<span class="hl opt">::</span>generatedFromFiles<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;usedFiles&quot;</span><span class="hl opt">,                 &amp;</span>Private<span class="hl opt">::</span>usedFiles<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;hasInheritanceDiagram&quot;</span><span class="hl opt">,     &amp;</span>Private<span class="hl opt">::</span>hasInheritanceDiagram<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;inheritanceDiagram&quot;</span><span class="hl opt">,        &amp;</span>Private<span class="hl opt">::</span>inheritanceDiagram<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;hasCollaborationDiagram&quot;</span><span class="hl opt">,   &amp;</span>Private<span class="hl opt">::</span>hasCollaborationDiagram<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;collaborationDiagram&quot;</span><span class="hl opt">,      &amp;</span>Private<span class="hl opt">::</span>collaborationDiagram<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;includeInfo&quot;</span><span class="hl opt">,               &amp;</span>Private<span class="hl opt">::</span>includeInfo<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;inherits&quot;</span><span class="hl opt">,                  &amp;</span>Private<span class="hl opt">::</span>inherits<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;inheritedBy&quot;</span><span class="hl opt">,               &amp;</span>Private<span class="hl opt">::</span>inheritedBy<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;unoIDLServices&quot;</span><span class="hl opt">,            &amp;</span>Private<span class="hl opt">::</span>unoIDLServices<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;unoIDLInterfaces&quot;</span><span class="hl opt">,          &amp;</span>Private<span class="hl opt">::</span>unoIDLInterfaces<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;signals&quot;</span><span class="hl opt">,                   &amp;</span>Private<span class="hl opt">::</span>signals<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;publicTypes&quot;</span><span class="hl opt">,               &amp;</span>Private<span class="hl opt">::</span>publicTypes<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;publicMethods&quot;</span><span class="hl opt">,             &amp;</span>Private<span class="hl opt">::</span>publicMethods<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;publicStaticMethods&quot;</span><span class="hl opt">,       &amp;</span>Private<span class="hl opt">::</span>publicStaticMethods<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;publicAttributes&quot;</span><span class="hl opt">,          &amp;</span>Private<span class="hl opt">::</span>publicAttributes<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;publicStaticAttributes&quot;</span><span class="hl opt">,    &amp;</span>Private<span class="hl opt">::</span>publicStaticAttributes<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;publicSlots&quot;</span><span class="hl opt">,               &amp;</span>Private<span class="hl opt">::</span>publicSlots<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;protectedTypes&quot;</span><span class="hl opt">,            &amp;</span>Private<span class="hl opt">::</span>protectedTypes<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;protectedMethods&quot;</span><span class="hl opt">,          &amp;</span>Private<span class="hl opt">::</span>protectedMethods<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;protectedStaticMethods&quot;</span><span class="hl opt">,    &amp;</span>Private<span class="hl opt">::</span>protectedStaticMethods<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;protectedAttributes&quot;</span><span class="hl opt">,       &amp;</span>Private<span class="hl opt">::</span>protectedAttributes<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;protectedStaticAttributes&quot;</span><span class="hl opt">, &amp;</span>Private<span class="hl opt">::</span>protectedStaticAttributes<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;protectedSlots&quot;</span><span class="hl opt">,            &amp;</span>Private<span class="hl opt">::</span>protectedSlots<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;privateTypes&quot;</span><span class="hl opt">,              &amp;</span>Private<span class="hl opt">::</span>privateTypes<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;privateMethods&quot;</span><span class="hl opt">,            &amp;</span>Private<span class="hl opt">::</span>privateMethods<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;privateStaticMethods&quot;</span><span class="hl opt">,      &amp;</span>Private<span class="hl opt">::</span>privateStaticMethods<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;privateAttributes&quot;</span><span class="hl opt">,         &amp;</span>Private<span class="hl opt">::</span>privateAttributes<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;privateStaticAttributes&quot;</span><span class="hl opt">,   &amp;</span>Private<span class="hl opt">::</span>privateStaticAttributes<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;privateSlots&quot;</span><span class="hl opt">,              &amp;</span>Private<span class="hl opt">::</span>privateSlots<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;packageTypes&quot;</span><span class="hl opt">,              &amp;</span>Private<span class="hl opt">::</span>packageTypes<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;packageMethods&quot;</span><span class="hl opt">,            &amp;</span>Private<span class="hl opt">::</span>packageMethods<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;packageStaticMethods&quot;</span><span class="hl opt">,      &amp;</span>Private<span class="hl opt">::</span>packageStaticMethods<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;packageAttributes&quot;</span><span class="hl opt">,         &amp;</span>Private<span class="hl opt">::</span>packageAttributes<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;packageStaticAttributes&quot;</span><span class="hl opt">,   &amp;</span>Private<span class="hl opt">::</span>packageStaticAttributes<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;properties&quot;</span><span class="hl opt">,                &amp;</span>Private<span class="hl opt">::</span>properties<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;events&quot;</span><span class="hl opt">,                    &amp;</span>Private<span class="hl opt">::</span>events<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;friends&quot;</span><span class="hl opt">,                   &amp;</span>Private<span class="hl opt">::</span>friends<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;related&quot;</span><span class="hl opt">,                   &amp;</span>Private<span class="hl opt">::</span>related<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;detailedTypedefs&quot;</span><span class="hl opt">,          &amp;</span>Private<span class="hl opt">::</span>detailedTypedefs<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;detailedEnums&quot;</span><span class="hl opt">,             &amp;</span>Private<span class="hl opt">::</span>detailedEnums<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;detailedServices&quot;</span><span class="hl opt">,          &amp;</span>Private<span class="hl opt">::</span>detailedServices<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;detailedInterfaces&quot;</span><span class="hl opt">,        &amp;</span>Private<span class="hl opt">::</span>detailedInterfaces<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;detailedConstructors&quot;</span><span class="hl opt">,      &amp;</span>Private<span class="hl opt">::</span>detailedConstructors<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;detailedMethods&quot;</span><span class="hl opt">,           &amp;</span>Private<span class="hl opt">::</span>detailedMethods<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;detailedRelated&quot;</span><span class="hl opt">,           &amp;</span>Private<span class="hl opt">::</span>detailedRelated<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;detailedVariables&quot;</span><span class="hl opt">,         &amp;</span>Private<span class="hl opt">::</span>detailedVariables<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;detailedProperties&quot;</span><span class="hl opt">,        &amp;</span>Private<span class="hl opt">::</span>detailedProperties<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;detailedEvents&quot;</span><span class="hl opt">,            &amp;</span>Private<span class="hl opt">::</span>detailedEvents<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;classes&quot;</span><span class="hl opt">,                   &amp;</span>Private<span class="hl opt">::</span>classes<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;innerClasses&quot;</span><span class="hl opt">,              &amp;</span>Private<span class="hl opt">::</span>innerClasses<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;compoundType&quot;</span><span class="hl opt">,              &amp;</span>Private<span class="hl opt">::</span>compoundType<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;templateDecls&quot;</span><span class="hl opt">,             &amp;</span>Private<span class="hl opt">::</span>templateDecls<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;typeConstraints&quot;</span><span class="hl opt">,           &amp;</span>Private<span class="hl opt">::</span>typeConstraints<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;examples&quot;</span><span class="hl opt">,                  &amp;</span>Private<span class="hl opt">::</span>examples<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;members&quot;</span><span class="hl opt">,                   &amp;</span>Private<span class="hl opt">::</span>members<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;allMembersList&quot;</span><span class="hl opt">,            &amp;</span>Private<span class="hl opt">::</span>allMembersList<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;allMembersFileName&quot;</span><span class="hl opt">,        &amp;</span>Private<span class="hl opt">::</span>allMembersFileName<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;memberGroups&quot;</span><span class="hl opt">,              &amp;</span>Private<span class="hl opt">::</span>memberGroups<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;additionalInheritedMembers&quot;</span><span class="hl opt">,&amp;</span>Private<span class="hl opt">::</span>additionalInheritedMembers<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;isSimple&quot;</span><span class="hl opt">,                  &amp;</span>Private<span class="hl opt">::</span>isSimple<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;categoryOf&quot;</span><span class="hl opt">,                &amp;</span>Private<span class="hl opt">::</span>categoryOf<span class="hl opt">);</span>
        init<span class="hl opt">=</span>TRUE<span class="hl opt">;</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>cd<span class="hl opt">-&gt;</span><span class="hl kwd">cookie</span><span class="hl opt">()) {</span> cd<span class="hl opt">-&gt;</span><span class="hl kwd">setCookie</span><span class="hl opt">(</span><span class="hl kwa">new</span> ClassContext<span class="hl opt">::</span>Private<span class="hl opt">::</span><span class="hl kwd">Cachable</span><span class="hl opt">(</span>cd<span class="hl opt">)); }</span>
    <span class="hl opt">}</span>
    <span class="hl kwc">virtual</span> <span class="hl opt">~</span><span class="hl kwd">Private</span><span class="hl opt">() {}</span>
    TemplateVariant <span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwb">const char</span> <span class="hl opt">*</span>n<span class="hl opt">)</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> s_inst<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwa">this</span><span class="hl opt">,</span>n<span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">title</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">TemplateVariant</span><span class="hl opt">(</span>m_classDef<span class="hl opt">-&gt;</span><span class="hl kwd">title</span><span class="hl opt">());</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">highlight</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">TemplateVariant</span><span class="hl opt">(</span><span class="hl str">&quot;classes&quot;</span><span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">subHighlight</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">TemplateVariant</span><span class="hl opt">(</span><span class="hl str">&quot;&quot;</span><span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">hasDetails</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_classDef<span class="hl opt">-&gt;</span><span class="hl kwd">hasDetailedDescription</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">generatedFromFiles</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_classDef<span class="hl opt">-&gt;</span><span class="hl kwd">generatedFromFiles</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">usedFiles</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      Cachable <span class="hl opt">&amp;</span>cache <span class="hl opt">=</span> <span class="hl kwd">getCache</span><span class="hl opt">();</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>cache<span class="hl opt">.</span>usedFiles<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        cache<span class="hl opt">.</span>usedFiles<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>UsedFilesContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>m_classDef<span class="hl opt">));</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> cache<span class="hl opt">.</span>usedFiles<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    DotClassGraph <span class="hl opt">*</span><span class="hl kwd">getClassGraph</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      Cachable <span class="hl opt">&amp;</span>cache <span class="hl opt">=</span> <span class="hl kwd">getCache</span><span class="hl opt">();</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>cache<span class="hl opt">.</span>classGraph<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        cache<span class="hl opt">.</span>classGraph<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span><span class="hl kwa">new</span> <span class="hl kwd">DotClassGraph</span><span class="hl opt">(</span>m_classDef<span class="hl opt">,</span>Inheritance<span class="hl opt">));</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> cache<span class="hl opt">.</span>classGraph<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    <span class="hl kwb">int</span> <span class="hl kwd">numInheritanceNodes</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      Cachable <span class="hl opt">&amp;</span>cache <span class="hl opt">=</span> <span class="hl kwd">getCache</span><span class="hl opt">();</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>cache<span class="hl opt">.</span>inheritanceNodes<span class="hl opt">==-</span><span class="hl num">1</span><span class="hl opt">)</span>
      <span class="hl opt">{</span>
        cache<span class="hl opt">.</span>inheritanceNodes<span class="hl opt">=</span>m_classDef<span class="hl opt">-&gt;</span><span class="hl kwd">countInheritanceNodes</span><span class="hl opt">();</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> cache<span class="hl opt">.</span>inheritanceNodes<span class="hl opt">&gt;</span><span class="hl num">0</span><span class="hl opt">;</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">hasInheritanceDiagram</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwb">bool</span> result<span class="hl opt">=</span>FALSE<span class="hl opt">;</span>
      <span class="hl kwb">static bool</span> haveDot       <span class="hl opt">=</span> <span class="hl kwd">Config_getBool</span><span class="hl opt">(</span>HAVE_DOT<span class="hl opt">);</span>
      <span class="hl kwb">static bool</span> classDiagrams <span class="hl opt">=</span> <span class="hl kwd">Config_getBool</span><span class="hl opt">(</span>CLASS_DIAGRAMS<span class="hl opt">);</span>
      <span class="hl kwb">static bool</span> classGraph    <span class="hl opt">=</span> <span class="hl kwd">Config_getBool</span><span class="hl opt">(</span>CLASS_GRAPH<span class="hl opt">);</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>haveDot <span class="hl opt">&amp;&amp; (</span>classDiagrams <span class="hl opt">||</span> classGraph<span class="hl opt">))</span>
      <span class="hl opt">{</span>
        DotClassGraph <span class="hl opt">*</span>cg <span class="hl opt">=</span> <span class="hl kwd">getClassGraph</span><span class="hl opt">();</span>
        result <span class="hl opt">= !</span>cg<span class="hl opt">-&gt;</span><span class="hl kwd">isTrivial</span><span class="hl opt">() &amp;&amp; !</span>cg<span class="hl opt">-&gt;</span><span class="hl kwd">isTooBig</span><span class="hl opt">();</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">else if</span> <span class="hl opt">(</span>classDiagrams<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        result <span class="hl opt">=</span> <span class="hl kwd">numInheritanceNodes</span><span class="hl opt">()&gt;</span><span class="hl num">0</span><span class="hl opt">;</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> result<span class="hl opt">;</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">inheritanceDiagram</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      QGString result<span class="hl opt">;</span>
      <span class="hl kwb">static bool</span> haveDot       <span class="hl opt">=</span> <span class="hl kwd">Config_getBool</span><span class="hl opt">(</span>HAVE_DOT<span class="hl opt">);</span>
      <span class="hl kwb">static bool</span> classDiagrams <span class="hl opt">=</span> <span class="hl kwd">Config_getBool</span><span class="hl opt">(</span>CLASS_DIAGRAMS<span class="hl opt">);</span>
      <span class="hl kwb">static bool</span> classGraph    <span class="hl opt">=</span> <span class="hl kwd">Config_getBool</span><span class="hl opt">(</span>CLASS_GRAPH<span class="hl opt">);</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>haveDot <span class="hl opt">&amp;&amp; (</span>classDiagrams <span class="hl opt">||</span> classGraph<span class="hl opt">))</span>
      <span class="hl opt">{</span>
        DotClassGraph <span class="hl opt">*</span>cg <span class="hl opt">=</span> <span class="hl kwd">getClassGraph</span><span class="hl opt">();</span>
        FTextStream <span class="hl kwd">t</span><span class="hl opt">(&amp;</span>result<span class="hl opt">);</span>
        <span class="hl kwa">switch</span> <span class="hl opt">(</span>g_globals<span class="hl opt">.</span>outputFormat<span class="hl opt">)</span>
        <span class="hl opt">{</span>
          <span class="hl kwa">case</span> ContextOutputFormat_Html<span class="hl opt">:</span>
            <span class="hl opt">{</span>
              cg<span class="hl opt">-&gt;</span><span class="hl kwd">writeGraph</span><span class="hl opt">(</span>t<span class="hl opt">,</span>GOF_BITMAP<span class="hl opt">,</span>EOF_Html<span class="hl opt">,</span>
                             g_globals<span class="hl opt">.</span>outputDir<span class="hl opt">,</span>
                             g_globals<span class="hl opt">.</span>outputDir<span class="hl opt">+</span>Portable<span class="hl opt">::</span><span class="hl kwd">pathSeparator</span><span class="hl opt">()+</span>m_classDef<span class="hl opt">-&gt;</span><span class="hl kwd">getOutputFileBase</span><span class="hl opt">()+</span>Doxygen<span class="hl opt">::</span>htmlFileExtension<span class="hl opt">,</span>
                             <span class="hl kwd">relPathAsString</span><span class="hl opt">(),</span>TRUE<span class="hl opt">,</span>TRUE<span class="hl opt">,</span>g_globals<span class="hl opt">.</span>dynSectionId
                            <span class="hl opt">);</span>
            <span class="hl opt">}</span>
            <span class="hl kwa">break</span><span class="hl opt">;</span>
          <span class="hl kwa">case</span> ContextOutputFormat_Latex<span class="hl opt">:</span>
            <span class="hl opt">{</span>
              cg<span class="hl opt">-&gt;</span><span class="hl kwd">writeGraph</span><span class="hl opt">(</span>t<span class="hl opt">,</span>GOF_EPS<span class="hl opt">,</span>EOF_LaTeX<span class="hl opt">,</span>
                             g_globals<span class="hl opt">.</span>outputDir<span class="hl opt">,</span>
                             g_globals<span class="hl opt">.</span>outputDir<span class="hl opt">+</span>Portable<span class="hl opt">::</span><span class="hl kwd">pathSeparator</span><span class="hl opt">()+</span>m_classDef<span class="hl opt">-&gt;</span><span class="hl kwd">getOutputFileBase</span><span class="hl opt">()+</span><span class="hl str">&quot;.tex&quot;</span><span class="hl opt">,</span>
                             <span class="hl kwd">relPathAsString</span><span class="hl opt">(),</span>TRUE<span class="hl opt">,</span>TRUE<span class="hl opt">,</span>g_globals<span class="hl opt">.</span>dynSectionId
                            <span class="hl opt">);</span>
            <span class="hl opt">}</span>
            <span class="hl kwa">break</span><span class="hl opt">;</span>
            <span class="hl slc">// TODO: support other generators</span>
          <span class="hl kwa">default</span><span class="hl opt">:</span>
            <span class="hl kwd">err</span><span class="hl opt">(</span><span class="hl str">&quot;context.cpp: output format not yet supported&quot;</span><span class="hl opt">);</span>
            <span class="hl kwa">break</span><span class="hl opt">;</span>
        <span class="hl opt">}</span>
        g_globals<span class="hl opt">.</span>dynSectionId<span class="hl opt">++;</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">else if</span> <span class="hl opt">(</span>classDiagrams<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        ClassDiagram <span class="hl kwd">d</span><span class="hl opt">(</span>m_classDef<span class="hl opt">);</span>
        FTextStream <span class="hl kwd">t</span><span class="hl opt">(&amp;</span>result<span class="hl opt">);</span>
        <span class="hl kwa">switch</span> <span class="hl opt">(</span>g_globals<span class="hl opt">.</span>outputFormat<span class="hl opt">)</span>
        <span class="hl opt">{</span>
          <span class="hl kwa">case</span> ContextOutputFormat_Html<span class="hl opt">:</span>
            <span class="hl opt">{</span>
              FTextStream <span class="hl kwd">tt</span><span class="hl opt">(&amp;</span>result<span class="hl opt">);</span>

              QCString name <span class="hl opt">=</span> <span class="hl kwd">convertToHtml</span><span class="hl opt">(</span>m_classDef<span class="hl opt">-&gt;</span><span class="hl kwd">displayName</span><span class="hl opt">());</span>
              d<span class="hl opt">.</span><span class="hl kwd">writeImage</span><span class="hl opt">(</span>tt<span class="hl opt">,</span>g_globals<span class="hl opt">.</span>outputDir<span class="hl opt">,</span>
                           <span class="hl kwd">relPathAsString</span><span class="hl opt">(),</span>
                           m_classDef<span class="hl opt">-&gt;</span><span class="hl kwd">getOutputFileBase</span><span class="hl opt">());</span>
              <span class="hl kwa">if</span> <span class="hl opt">(!</span>result<span class="hl opt">.</span><span class="hl kwd">isEmpty</span><span class="hl opt">())</span>
              <span class="hl opt">{</span>
                t <span class="hl opt">&lt;&lt;</span> <span class="hl str">&quot;&lt;div class=</span><span class="hl esc">\&quot;</span><span class="hl str">center</span><span class="hl esc">\&quot;</span><span class="hl str">&gt;&quot;</span> <span class="hl opt">&lt;&lt;</span> endl<span class="hl opt">;</span>
                t <span class="hl opt">&lt;&lt;</span> <span class="hl str">&quot;  &lt;img src=</span><span class="hl esc">\&quot;</span><span class="hl str">&quot;</span><span class="hl opt">;</span>
                t <span class="hl opt">&lt;&lt;</span> <span class="hl kwd">relPathAsString</span><span class="hl opt">() &lt;&lt;</span> m_classDef<span class="hl opt">-&gt;</span><span class="hl kwd">getOutputFileBase</span><span class="hl opt">();</span>
                t <span class="hl opt">&lt;&lt;</span> <span class="hl str">&quot;.png</span><span class="hl esc">\&quot;</span> <span class="hl str">usemap=</span><span class="hl esc">\&quot;</span><span class="hl str">#&quot;</span> <span class="hl opt">&lt;&lt;</span> <span class="hl kwd">convertToId</span><span class="hl opt">(</span>name<span class="hl opt">) &lt;&lt;</span> <span class="hl str">&quot;_map</span><span class="hl esc">\&quot;</span> <span class="hl str">alt=</span><span class="hl esc">\&quot;\&quot;</span><span class="hl str">/&gt;&quot;</span> <span class="hl opt">&lt;&lt;</span> endl<span class="hl opt">;</span>
                t <span class="hl opt">&lt;&lt;</span> <span class="hl str">&quot;  &lt;map id=</span><span class="hl esc">\&quot;</span><span class="hl str">&quot;</span> <span class="hl opt">&lt;&lt;</span> <span class="hl kwd">convertToId</span><span class="hl opt">(</span>name<span class="hl opt">) &lt;&lt;</span> <span class="hl str">&quot;_map</span><span class="hl esc">\&quot;</span> <span class="hl str">name=</span><span class="hl esc">\&quot;</span><span class="hl str">&quot;</span> <span class="hl opt">&lt;&lt;</span> <span class="hl kwd">convertToId</span><span class="hl opt">(</span>name<span class="hl opt">) &lt;&lt;</span> <span class="hl str">&quot;_map</span><span class="hl esc">\&quot;</span><span class="hl str">&gt;&quot;</span> <span class="hl opt">&lt;&lt;</span> endl<span class="hl opt">;</span>
	        t <span class="hl opt">&lt;&lt;</span> result<span class="hl opt">;</span>
	        t <span class="hl opt">&lt;&lt;</span> <span class="hl str">&quot;  &lt;/map&gt;&quot;</span> <span class="hl opt">&lt;&lt;</span> endl<span class="hl opt">;</span>
                t <span class="hl opt">&lt;&lt;</span> <span class="hl str">&quot;&lt;/div&gt;&quot;</span><span class="hl opt">;</span>
              <span class="hl opt">}</span>
              <span class="hl kwa">else</span>
              <span class="hl opt">{</span>
                t <span class="hl opt">&lt;&lt;</span> <span class="hl str">&quot;&lt;div class=</span><span class="hl esc">\&quot;</span><span class="hl str">center</span><span class="hl esc">\&quot;</span><span class="hl str">&gt;&quot;</span> <span class="hl opt">&lt;&lt;</span> endl<span class="hl opt">;</span>
                t <span class="hl opt">&lt;&lt;</span> <span class="hl str">&quot;  &lt;img src=</span><span class="hl esc">\&quot;</span><span class="hl str">&quot;</span><span class="hl opt">;</span>
                t <span class="hl opt">&lt;&lt;</span> <span class="hl kwd">relPathAsString</span><span class="hl opt">() &lt;&lt;</span> m_classDef<span class="hl opt">-&gt;</span><span class="hl kwd">getOutputFileBase</span><span class="hl opt">();</span>
                t <span class="hl opt">&lt;&lt;</span> <span class="hl str">&quot;.png</span><span class="hl esc">\&quot;</span> <span class="hl str">alt=</span><span class="hl esc">\&quot;\&quot;</span><span class="hl str">/&gt;&quot;</span> <span class="hl opt">&lt;&lt;</span> endl<span class="hl opt">;</span>
                t <span class="hl opt">&lt;&lt;</span> <span class="hl str">&quot;&lt;/div&gt;&quot;</span><span class="hl opt">;</span>
              <span class="hl opt">}</span>
            <span class="hl opt">}</span>
            <span class="hl kwa">break</span><span class="hl opt">;</span>
          <span class="hl kwa">case</span> ContextOutputFormat_Latex<span class="hl opt">:</span>
            <span class="hl opt">{</span>
              d<span class="hl opt">.</span><span class="hl kwd">writeFigure</span><span class="hl opt">(</span>t<span class="hl opt">,</span>g_globals<span class="hl opt">.</span>outputDir<span class="hl opt">,</span>m_classDef<span class="hl opt">-&gt;</span><span class="hl kwd">getOutputFileBase</span><span class="hl opt">());</span>
            <span class="hl opt">}</span>
            <span class="hl kwa">break</span><span class="hl opt">;</span>
            <span class="hl slc">// TODO: support other generators</span>
          <span class="hl kwa">default</span><span class="hl opt">:</span>
            <span class="hl kwd">err</span><span class="hl opt">(</span><span class="hl str">&quot;context.cpp: output format not yet supported&quot;</span><span class="hl opt">);</span>
            <span class="hl kwa">break</span><span class="hl opt">;</span>
        <span class="hl opt">}</span>
        g_globals<span class="hl opt">.</span>dynSectionId<span class="hl opt">++;</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> <span class="hl kwd">TemplateVariant</span><span class="hl opt">(</span>result<span class="hl opt">.</span><span class="hl kwd">data</span><span class="hl opt">(),</span>TRUE<span class="hl opt">);</span>
    <span class="hl opt">}</span>
    DotClassGraph <span class="hl opt">*</span><span class="hl kwd">getCollaborationGraph</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      Cachable <span class="hl opt">&amp;</span>cache <span class="hl opt">=</span> <span class="hl kwd">getCache</span><span class="hl opt">();</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>cache<span class="hl opt">.</span>collaborationGraph<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        cache<span class="hl opt">.</span>collaborationGraph<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span><span class="hl kwa">new</span> <span class="hl kwd">DotClassGraph</span><span class="hl opt">(</span>m_classDef<span class="hl opt">,</span>Collaboration<span class="hl opt">));</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> cache<span class="hl opt">.</span>collaborationGraph<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">hasCollaborationDiagram</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwb">static bool</span> haveDot <span class="hl opt">=</span> <span class="hl kwd">Config_getBool</span><span class="hl opt">(</span>HAVE_DOT<span class="hl opt">);</span>
      <span class="hl kwa">return</span> haveDot <span class="hl opt">&amp;&amp; !</span><span class="hl kwd">getCollaborationGraph</span><span class="hl opt">()-&gt;</span><span class="hl kwd">isTrivial</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">collaborationDiagram</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwb">static bool</span> haveDot <span class="hl opt">=</span> <span class="hl kwd">Config_getBool</span><span class="hl opt">(</span>HAVE_DOT<span class="hl opt">);</span>
      QGString result<span class="hl opt">;</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>haveDot<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        DotClassGraph <span class="hl opt">*</span>cg <span class="hl opt">=</span> <span class="hl kwd">getCollaborationGraph</span><span class="hl opt">();</span>
        FTextStream <span class="hl kwd">t</span><span class="hl opt">(&amp;</span>result<span class="hl opt">);</span>
        <span class="hl kwa">switch</span> <span class="hl opt">(</span>g_globals<span class="hl opt">.</span>outputFormat<span class="hl opt">)</span>
        <span class="hl opt">{</span>
          <span class="hl kwa">case</span> ContextOutputFormat_Html<span class="hl opt">:</span>
            <span class="hl opt">{</span>
              cg<span class="hl opt">-&gt;</span><span class="hl kwd">writeGraph</span><span class="hl opt">(</span>t<span class="hl opt">,</span>GOF_BITMAP<span class="hl opt">,</span>EOF_Html<span class="hl opt">,</span>
                             g_globals<span class="hl opt">.</span>outputDir<span class="hl opt">,</span>
                             g_globals<span class="hl opt">.</span>outputDir<span class="hl opt">+</span>Portable<span class="hl opt">::</span><span class="hl kwd">pathSeparator</span><span class="hl opt">()+</span>m_classDef<span class="hl opt">-&gt;</span><span class="hl kwd">getOutputFileBase</span><span class="hl opt">()+</span>Doxygen<span class="hl opt">::</span>htmlFileExtension<span class="hl opt">,</span>
                             <span class="hl kwd">relPathAsString</span><span class="hl opt">(),</span>TRUE<span class="hl opt">,</span>TRUE<span class="hl opt">,</span>g_globals<span class="hl opt">.</span>dynSectionId
                            <span class="hl opt">);</span>
            <span class="hl opt">}</span>
            <span class="hl kwa">break</span><span class="hl opt">;</span>
          <span class="hl kwa">case</span> ContextOutputFormat_Latex<span class="hl opt">:</span>
            <span class="hl opt">{</span>
              cg<span class="hl opt">-&gt;</span><span class="hl kwd">writeGraph</span><span class="hl opt">(</span>t<span class="hl opt">,</span>GOF_EPS<span class="hl opt">,</span>EOF_LaTeX<span class="hl opt">,</span>
                             g_globals<span class="hl opt">.</span>outputDir<span class="hl opt">,</span>
                             g_globals<span class="hl opt">.</span>outputDir<span class="hl opt">+</span>Portable<span class="hl opt">::</span><span class="hl kwd">pathSeparator</span><span class="hl opt">()+</span>m_classDef<span class="hl opt">-&gt;</span><span class="hl kwd">getOutputFileBase</span><span class="hl opt">()+</span><span class="hl str">&quot;.tex&quot;</span><span class="hl opt">,</span>
                             <span class="hl kwd">relPathAsString</span><span class="hl opt">(),</span>TRUE<span class="hl opt">,</span>TRUE<span class="hl opt">,</span>g_globals<span class="hl opt">.</span>dynSectionId
                            <span class="hl opt">);</span>
            <span class="hl opt">}</span>
            <span class="hl kwa">break</span><span class="hl opt">;</span>
            <span class="hl slc">// TODO: support other generators</span>
          <span class="hl kwa">default</span><span class="hl opt">:</span>
            <span class="hl kwd">err</span><span class="hl opt">(</span><span class="hl str">&quot;context.cpp: output format not yet supported&quot;</span><span class="hl opt">);</span>
            <span class="hl kwa">break</span><span class="hl opt">;</span>
        <span class="hl opt">}</span>
        g_globals<span class="hl opt">.</span>dynSectionId<span class="hl opt">++;</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> <span class="hl kwd">TemplateVariant</span><span class="hl opt">(</span>result<span class="hl opt">.</span><span class="hl kwd">data</span><span class="hl opt">(),</span>TRUE<span class="hl opt">);</span>
    <span class="hl opt">}</span>

    TemplateVariant <span class="hl kwd">includeInfo</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      Cachable <span class="hl opt">&amp;</span>cache <span class="hl opt">=</span> <span class="hl kwd">getCache</span><span class="hl opt">();</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>cache<span class="hl opt">.</span>includeInfo <span class="hl opt">&amp;&amp;</span> m_classDef<span class="hl opt">-&gt;</span><span class="hl kwd">includeInfo</span><span class="hl opt">())</span>
      <span class="hl opt">{</span>
        cache<span class="hl opt">.</span>includeInfo<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>IncludeInfoContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>m_classDef<span class="hl opt">-&gt;</span><span class="hl kwd">includeInfo</span><span class="hl opt">(),</span>m_classDef<span class="hl opt">-&gt;</span><span class="hl kwd">getLanguage</span><span class="hl opt">()));</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>cache<span class="hl opt">.</span>includeInfo<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> cache<span class="hl opt">.</span>includeInfo<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">else</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> <span class="hl kwd">TemplateVariant</span><span class="hl opt">(</span>FALSE<span class="hl opt">);</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">inherits</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      Cachable <span class="hl opt">&amp;</span>cache <span class="hl opt">=</span> <span class="hl kwd">getCache</span><span class="hl opt">();</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>cache<span class="hl opt">.</span>inheritsList<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        cache<span class="hl opt">.</span>inheritsList<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>InheritanceListContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>m_classDef<span class="hl opt">-&gt;</span><span class="hl kwd">baseClasses</span><span class="hl opt">(),</span>TRUE<span class="hl opt">));</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> cache<span class="hl opt">.</span>inheritsList<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">inheritedBy</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      Cachable <span class="hl opt">&amp;</span>cache <span class="hl opt">=</span> <span class="hl kwd">getCache</span><span class="hl opt">();</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>cache<span class="hl opt">.</span>inheritedByList<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        cache<span class="hl opt">.</span>inheritedByList<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>InheritanceListContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>m_classDef<span class="hl opt">-&gt;</span><span class="hl kwd">subClasses</span><span class="hl opt">(),</span>FALSE<span class="hl opt">));</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> cache<span class="hl opt">.</span>inheritedByList<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">getMemberList</span><span class="hl opt">(</span>SharedPtr<span class="hl opt">&lt;</span>MemberListInfoContext<span class="hl opt">&gt; &amp;</span>list<span class="hl opt">,</span>
                                  MemberListType type<span class="hl opt">,</span><span class="hl kwb">const char</span> <span class="hl opt">*</span>title<span class="hl opt">,</span><span class="hl kwb">bool</span><span class="hl opt">=</span>FALSE<span class="hl opt">)</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>list<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        MemberList <span class="hl opt">*</span>ml <span class="hl opt">=</span> m_classDef<span class="hl opt">-&gt;</span><span class="hl kwd">getMemberList</span><span class="hl opt">(</span>type<span class="hl opt">);</span>
        <span class="hl kwa">if</span> <span class="hl opt">(</span>ml<span class="hl opt">)</span>
        <span class="hl opt">{</span>
          list<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>MemberListInfoContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>m_classDef<span class="hl opt">,</span><span class="hl kwd">relPathAsString</span><span class="hl opt">(),</span>ml<span class="hl opt">,</span>title<span class="hl opt">,</span><span class="hl str">&quot;&quot;</span><span class="hl opt">));</span>
        <span class="hl opt">}</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>list<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> list<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">else</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> <span class="hl kwd">TemplateVariant</span><span class="hl opt">(</span>FALSE<span class="hl opt">);</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">unoIDLServices</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMemberList</span><span class="hl opt">(</span><span class="hl kwd">getCache</span><span class="hl opt">().</span>unoIDLServices<span class="hl opt">,</span>MemberListType_services<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trServices</span><span class="hl opt">());</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">unoIDLInterfaces</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMemberList</span><span class="hl opt">(</span><span class="hl kwd">getCache</span><span class="hl opt">().</span>unoIDLInterfaces<span class="hl opt">,</span>MemberListType_interfaces<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trInterfaces</span><span class="hl opt">());</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">signals</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMemberList</span><span class="hl opt">(</span><span class="hl kwd">getCache</span><span class="hl opt">().</span>signals<span class="hl opt">,</span>MemberListType_signals<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trSignals</span><span class="hl opt">());</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">publicTypes</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMemberList</span><span class="hl opt">(</span><span class="hl kwd">getCache</span><span class="hl opt">().</span>publicTypes<span class="hl opt">,</span>MemberListType_pubTypes<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trPublicTypes</span><span class="hl opt">());</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">publicMethods</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMemberList</span><span class="hl opt">(</span><span class="hl kwd">getCache</span><span class="hl opt">().</span>publicMethods<span class="hl opt">,</span>MemberListType_pubMethods<span class="hl opt">,</span>
          m_classDef<span class="hl opt">-&gt;</span><span class="hl kwd">getLanguage</span><span class="hl opt">()==</span>SrcLangExt_ObjC ? theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trInstanceMethods</span><span class="hl opt">()</span>
                                                     <span class="hl opt">:</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trPublicMembers</span><span class="hl opt">());</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">publicStaticMethods</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMemberList</span><span class="hl opt">(</span><span class="hl kwd">getCache</span><span class="hl opt">().</span>publicStaticMethods<span class="hl opt">,</span>MemberListType_pubStaticMethods<span class="hl opt">,</span>
          m_classDef<span class="hl opt">-&gt;</span><span class="hl kwd">getLanguage</span><span class="hl opt">()==</span>SrcLangExt_ObjC ? theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trClassMethods</span><span class="hl opt">()</span>
                                                     <span class="hl opt">:</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trStaticPublicMembers</span><span class="hl opt">());</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">publicAttributes</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMemberList</span><span class="hl opt">(</span><span class="hl kwd">getCache</span><span class="hl opt">().</span>publicAttributes<span class="hl opt">,</span>MemberListType_pubAttribs<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trPublicAttribs</span><span class="hl opt">());</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">publicStaticAttributes</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMemberList</span><span class="hl opt">(</span><span class="hl kwd">getCache</span><span class="hl opt">().</span>publicStaticAttributes<span class="hl opt">,</span>MemberListType_pubStaticAttribs<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trStaticPublicAttribs</span><span class="hl opt">());</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">publicSlots</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMemberList</span><span class="hl opt">(</span><span class="hl kwd">getCache</span><span class="hl opt">().</span>publicSlots<span class="hl opt">,</span>MemberListType_pubSlots<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trPublicSlots</span><span class="hl opt">());</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">protectedTypes</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMemberList</span><span class="hl opt">(</span><span class="hl kwd">getCache</span><span class="hl opt">().</span>protectedTypes<span class="hl opt">,</span>MemberListType_proTypes<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trProtectedTypes</span><span class="hl opt">());</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">protectedMethods</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMemberList</span><span class="hl opt">(</span><span class="hl kwd">getCache</span><span class="hl opt">().</span>protectedMethods<span class="hl opt">,</span>MemberListType_proMethods<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trProtectedMembers</span><span class="hl opt">());</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">protectedStaticMethods</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMemberList</span><span class="hl opt">(</span><span class="hl kwd">getCache</span><span class="hl opt">().</span>protectedStaticMethods<span class="hl opt">,</span>MemberListType_proStaticMethods<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trStaticProtectedMembers</span><span class="hl opt">());</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">protectedAttributes</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMemberList</span><span class="hl opt">(</span><span class="hl kwd">getCache</span><span class="hl opt">().</span>protectedAttributes<span class="hl opt">,</span>MemberListType_proAttribs<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trProtectedAttribs</span><span class="hl opt">());</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">protectedStaticAttributes</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMemberList</span><span class="hl opt">(</span><span class="hl kwd">getCache</span><span class="hl opt">().</span>protectedStaticAttributes<span class="hl opt">,</span>MemberListType_proStaticAttribs<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trStaticProtectedAttribs</span><span class="hl opt">());</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">protectedSlots</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMemberList</span><span class="hl opt">(</span><span class="hl kwd">getCache</span><span class="hl opt">().</span>protectedSlots<span class="hl opt">,</span>MemberListType_proSlots<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trProtectedSlots</span><span class="hl opt">());</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">privateTypes</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMemberList</span><span class="hl opt">(</span><span class="hl kwd">getCache</span><span class="hl opt">().</span>privateTypes<span class="hl opt">,</span>MemberListType_priTypes<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trPrivateTypes</span><span class="hl opt">());</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">privateSlots</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMemberList</span><span class="hl opt">(</span><span class="hl kwd">getCache</span><span class="hl opt">().</span>privateSlots<span class="hl opt">,</span>MemberListType_priSlots<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trPrivateSlots</span><span class="hl opt">());</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">privateMethods</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMemberList</span><span class="hl opt">(</span><span class="hl kwd">getCache</span><span class="hl opt">().</span>privateMethods<span class="hl opt">,</span>MemberListType_priMethods<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trPrivateMembers</span><span class="hl opt">());</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">privateStaticMethods</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMemberList</span><span class="hl opt">(</span><span class="hl kwd">getCache</span><span class="hl opt">().</span>privateStaticMethods<span class="hl opt">,</span>MemberListType_priStaticMethods<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trStaticPrivateMembers</span><span class="hl opt">());</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">privateAttributes</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMemberList</span><span class="hl opt">(</span><span class="hl kwd">getCache</span><span class="hl opt">().</span>privateAttributes<span class="hl opt">,</span>MemberListType_priAttribs<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trPrivateAttribs</span><span class="hl opt">());</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">privateStaticAttributes</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMemberList</span><span class="hl opt">(</span><span class="hl kwd">getCache</span><span class="hl opt">().</span>privateStaticAttributes<span class="hl opt">,</span>MemberListType_priStaticAttribs<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trStaticPrivateAttribs</span><span class="hl opt">());</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">packageTypes</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMemberList</span><span class="hl opt">(</span><span class="hl kwd">getCache</span><span class="hl opt">().</span>packageTypes<span class="hl opt">,</span>MemberListType_pacTypes<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trPackageTypes</span><span class="hl opt">());</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">packageMethods</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMemberList</span><span class="hl opt">(</span><span class="hl kwd">getCache</span><span class="hl opt">().</span>packageMethods<span class="hl opt">,</span>MemberListType_pacMethods<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trPackageMembers</span><span class="hl opt">());</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">packageStaticMethods</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMemberList</span><span class="hl opt">(</span><span class="hl kwd">getCache</span><span class="hl opt">().</span>packageStaticMethods<span class="hl opt">,</span>MemberListType_pacStaticMethods<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trStaticPackageMembers</span><span class="hl opt">());</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">packageAttributes</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMemberList</span><span class="hl opt">(</span><span class="hl kwd">getCache</span><span class="hl opt">().</span>packageAttributes<span class="hl opt">,</span>MemberListType_pacAttribs<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trPackageAttribs</span><span class="hl opt">());</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">packageStaticAttributes</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMemberList</span><span class="hl opt">(</span><span class="hl kwd">getCache</span><span class="hl opt">().</span>packageStaticAttributes<span class="hl opt">,</span>MemberListType_pacStaticAttribs<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trStaticPackageAttribs</span><span class="hl opt">());</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">properties</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMemberList</span><span class="hl opt">(</span><span class="hl kwd">getCache</span><span class="hl opt">().</span>properties<span class="hl opt">,</span>MemberListType_properties<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trProperties</span><span class="hl opt">());</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">events</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMemberList</span><span class="hl opt">(</span><span class="hl kwd">getCache</span><span class="hl opt">().</span>events<span class="hl opt">,</span>MemberListType_events<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trEvents</span><span class="hl opt">());</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">friends</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMemberList</span><span class="hl opt">(</span><span class="hl kwd">getCache</span><span class="hl opt">().</span>friends<span class="hl opt">,</span>MemberListType_friends<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trFriends</span><span class="hl opt">());</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">related</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMemberList</span><span class="hl opt">(</span><span class="hl kwd">getCache</span><span class="hl opt">().</span>related<span class="hl opt">,</span>MemberListType_related<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trRelatedFunctions</span><span class="hl opt">());</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">detailedTypedefs</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMemberList</span><span class="hl opt">(</span><span class="hl kwd">getCache</span><span class="hl opt">().</span>detailedTypedefs<span class="hl opt">,</span>MemberListType_typedefMembers<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trMemberTypedefDocumentation</span><span class="hl opt">(),</span>TRUE<span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">detailedEnums</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMemberList</span><span class="hl opt">(</span><span class="hl kwd">getCache</span><span class="hl opt">().</span>detailedEnums<span class="hl opt">,</span>MemberListType_enumMembers<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trMemberEnumerationDocumentation</span><span class="hl opt">(),</span>TRUE<span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">detailedServices</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMemberList</span><span class="hl opt">(</span><span class="hl kwd">getCache</span><span class="hl opt">().</span>detailedServices<span class="hl opt">,</span>MemberListType_serviceMembers<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trServices</span><span class="hl opt">(),</span>TRUE<span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">detailedInterfaces</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMemberList</span><span class="hl opt">(</span><span class="hl kwd">getCache</span><span class="hl opt">().</span>detailedInterfaces<span class="hl opt">,</span>MemberListType_interfaceMembers<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trInterfaces</span><span class="hl opt">(),</span>TRUE<span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">detailedConstructors</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMemberList</span><span class="hl opt">(</span><span class="hl kwd">getCache</span><span class="hl opt">().</span>detailedConstructors<span class="hl opt">,</span>MemberListType_constructors<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trConstructorDocumentation</span><span class="hl opt">(),</span>TRUE<span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">detailedMethods</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMemberList</span><span class="hl opt">(</span><span class="hl kwd">getCache</span><span class="hl opt">().</span>detailedMethods<span class="hl opt">,</span>MemberListType_functionMembers<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trMemberFunctionDocumentation</span><span class="hl opt">(),</span>TRUE<span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">detailedRelated</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMemberList</span><span class="hl opt">(</span><span class="hl kwd">getCache</span><span class="hl opt">().</span>detailedRelated<span class="hl opt">,</span>MemberListType_relatedMembers<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trRelatedFunctionDocumentation</span><span class="hl opt">(),</span>TRUE<span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">detailedVariables</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMemberList</span><span class="hl opt">(</span><span class="hl kwd">getCache</span><span class="hl opt">().</span>detailedVariables<span class="hl opt">,</span>MemberListType_variableMembers<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trMemberDataDocumentation</span><span class="hl opt">(),</span>TRUE<span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">detailedProperties</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMemberList</span><span class="hl opt">(</span><span class="hl kwd">getCache</span><span class="hl opt">().</span>detailedProperties<span class="hl opt">,</span>MemberListType_propertyMembers<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trPropertyDocumentation</span><span class="hl opt">(),</span>TRUE<span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">detailedEvents</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMemberList</span><span class="hl opt">(</span><span class="hl kwd">getCache</span><span class="hl opt">().</span>detailedEvents<span class="hl opt">,</span>MemberListType_eventMembers<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trEventDocumentation</span><span class="hl opt">(),</span>TRUE<span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">classes</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      Cachable <span class="hl opt">&amp;</span>cache <span class="hl opt">=</span> <span class="hl kwd">getCache</span><span class="hl opt">();</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>cache<span class="hl opt">.</span>classes<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        TemplateList <span class="hl opt">*</span>classList <span class="hl opt">=</span> TemplateList<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">();</span>
        <span class="hl kwa">if</span> <span class="hl opt">(</span>m_classDef<span class="hl opt">-&gt;</span><span class="hl kwd">getClassSDict</span><span class="hl opt">())</span>
        <span class="hl opt">{</span>
          ClassSDict<span class="hl opt">::</span>Iterator <span class="hl kwd">sdi</span><span class="hl opt">(*</span>m_classDef<span class="hl opt">-&gt;</span><span class="hl kwd">getClassSDict</span><span class="hl opt">());</span>
          <span class="hl kwb">const</span> ClassDef <span class="hl opt">*</span>cd<span class="hl opt">;</span>
          <span class="hl kwa">for</span> <span class="hl opt">(</span>sdi<span class="hl opt">.</span><span class="hl kwd">toFirst</span><span class="hl opt">();(</span>cd<span class="hl opt">=</span>sdi<span class="hl opt">.</span><span class="hl kwd">current</span><span class="hl opt">());++</span>sdi<span class="hl opt">)</span>
          <span class="hl opt">{</span>
            <span class="hl kwa">if</span> <span class="hl opt">(</span>cd<span class="hl opt">-&gt;</span><span class="hl kwd">visibleInParentsDeclList</span><span class="hl opt">())</span>
            <span class="hl opt">{</span>
              classList<span class="hl opt">-&gt;</span><span class="hl kwd">append</span><span class="hl opt">(</span>ClassContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>cd<span class="hl opt">));</span>
            <span class="hl opt">}</span>
          <span class="hl opt">}</span>
        <span class="hl opt">}</span>
        cache<span class="hl opt">.</span>classes<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>classList<span class="hl opt">);</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> cache<span class="hl opt">.</span>classes<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">innerClasses</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      Cachable <span class="hl opt">&amp;</span>cache <span class="hl opt">=</span> <span class="hl kwd">getCache</span><span class="hl opt">();</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>cache<span class="hl opt">.</span>innerClasses<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        TemplateList <span class="hl opt">*</span>classList <span class="hl opt">=</span> TemplateList<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">();</span>
        <span class="hl kwa">if</span> <span class="hl opt">(</span>m_classDef<span class="hl opt">-&gt;</span><span class="hl kwd">getClassSDict</span><span class="hl opt">())</span>
        <span class="hl opt">{</span>
          ClassSDict<span class="hl opt">::</span>Iterator <span class="hl kwd">sdi</span><span class="hl opt">(*</span>m_classDef<span class="hl opt">-&gt;</span><span class="hl kwd">getClassSDict</span><span class="hl opt">());</span>
          <span class="hl kwb">const</span> ClassDef <span class="hl opt">*</span>cd<span class="hl opt">;</span>
          <span class="hl kwa">for</span> <span class="hl opt">(</span>sdi<span class="hl opt">.</span><span class="hl kwd">toFirst</span><span class="hl opt">();(</span>cd<span class="hl opt">=</span>sdi<span class="hl opt">.</span><span class="hl kwd">current</span><span class="hl opt">());++</span>sdi<span class="hl opt">)</span>
          <span class="hl opt">{</span>
            <span class="hl kwa">if</span> <span class="hl opt">(!</span>cd<span class="hl opt">-&gt;</span><span class="hl kwd">isAnonymous</span><span class="hl opt">() &amp;&amp;</span>
                cd<span class="hl opt">-&gt;</span><span class="hl kwd">isLinkableInProject</span><span class="hl opt">() &amp;&amp;</span>
                cd<span class="hl opt">-&gt;</span><span class="hl kwd">isEmbeddedInOuterScope</span><span class="hl opt">() &amp;&amp;</span>
                cd<span class="hl opt">-&gt;</span><span class="hl kwd">partOfGroups</span><span class="hl opt">()==</span><span class="hl num">0</span>
               <span class="hl opt">)</span>
            <span class="hl opt">{</span>
              classList<span class="hl opt">-&gt;</span><span class="hl kwd">append</span><span class="hl opt">(</span>ClassContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>cd<span class="hl opt">));</span>
            <span class="hl opt">}</span>
          <span class="hl opt">}</span>
        <span class="hl opt">}</span>
        cache<span class="hl opt">.</span>innerClasses<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>classList<span class="hl opt">);</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> cache<span class="hl opt">.</span>innerClasses<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">compoundType</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_classDef<span class="hl opt">-&gt;</span><span class="hl kwd">compoundTypeString</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    <span class="hl kwb">void</span> <span class="hl kwd">addTemplateDecls</span><span class="hl opt">(</span><span class="hl kwb">const</span> Definition <span class="hl opt">*</span>d<span class="hl opt">,</span>TemplateList <span class="hl opt">*</span>tl<span class="hl opt">)</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>d<span class="hl opt">-&gt;</span><span class="hl kwd">definitionType</span><span class="hl opt">()==</span>Definition<span class="hl opt">::</span>TypeClass<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwb">const</span> Definition <span class="hl opt">*</span>parent <span class="hl opt">=</span> d<span class="hl opt">-&gt;</span><span class="hl kwd">getOuterScope</span><span class="hl opt">();</span>
        <span class="hl kwa">if</span> <span class="hl opt">(</span>parent<span class="hl opt">)</span>
        <span class="hl opt">{</span>
          <span class="hl kwd">addTemplateDecls</span><span class="hl opt">(</span>parent<span class="hl opt">,</span>tl<span class="hl opt">);</span>
        <span class="hl opt">}</span>
        <span class="hl kwb">const</span> ClassDef <span class="hl opt">*</span>cd<span class="hl opt">=</span><span class="hl kwa">dynamic_cast</span><span class="hl opt">&lt;</span><span class="hl kwb">const</span> ClassDef <span class="hl opt">*&gt;(</span>d<span class="hl opt">);</span>
        <span class="hl kwa">if</span> <span class="hl opt">(!</span>cd<span class="hl opt">-&gt;</span><span class="hl kwd">templateArguments</span><span class="hl opt">().</span><span class="hl kwd">empty</span><span class="hl opt">())</span>
        <span class="hl opt">{</span>
          ArgumentListContext <span class="hl opt">*</span>al <span class="hl opt">=</span> ArgumentListContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>cd<span class="hl opt">-&gt;</span><span class="hl kwd">templateArguments</span><span class="hl opt">(),</span>cd<span class="hl opt">,</span><span class="hl kwd">relPathAsString</span><span class="hl opt">());</span>
          <span class="hl slc">// since a TemplateVariant does take ownership of the object, we add it</span>
          <span class="hl slc">// a separate list just to be able to delete it and avoid a memory leak</span>
          tl<span class="hl opt">-&gt;</span><span class="hl kwd">append</span><span class="hl opt">(</span>al<span class="hl opt">);</span>
        <span class="hl opt">}</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
    <span class="hl kwb">void</span> <span class="hl kwd">addExamples</span><span class="hl opt">(</span>TemplateList <span class="hl opt">*</span>list<span class="hl opt">)</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>m_classDef<span class="hl opt">-&gt;</span><span class="hl kwd">hasExamples</span><span class="hl opt">())</span>
      <span class="hl opt">{</span>
        ExampleSDict<span class="hl opt">::</span>Iterator <span class="hl kwd">it</span><span class="hl opt">(*</span>m_classDef<span class="hl opt">-&gt;</span><span class="hl kwd">exampleList</span><span class="hl opt">());</span>
        Example <span class="hl opt">*</span>ex<span class="hl opt">;</span>
        <span class="hl kwa">for</span> <span class="hl opt">(</span>it<span class="hl opt">.</span><span class="hl kwd">toFirst</span><span class="hl opt">();(</span>ex<span class="hl opt">=</span>it<span class="hl opt">.</span><span class="hl kwd">current</span><span class="hl opt">());++</span>it<span class="hl opt">)</span>
        <span class="hl opt">{</span>
          TemplateStruct <span class="hl opt">*</span>s <span class="hl opt">=</span> TemplateStruct<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">();</span>
          s<span class="hl opt">-&gt;</span><span class="hl kwd">set</span><span class="hl opt">(</span><span class="hl str">&quot;text&quot;</span><span class="hl opt">,</span>ex<span class="hl opt">-&gt;</span>name<span class="hl opt">);</span>
          s<span class="hl opt">-&gt;</span><span class="hl kwd">set</span><span class="hl opt">(</span><span class="hl str">&quot;isLinkable&quot;</span><span class="hl opt">,</span>TRUE<span class="hl opt">);</span>
          s<span class="hl opt">-&gt;</span><span class="hl kwd">set</span><span class="hl opt">(</span><span class="hl str">&quot;anchor&quot;</span><span class="hl opt">,</span>ex<span class="hl opt">-&gt;</span>anchor<span class="hl opt">);</span>
          s<span class="hl opt">-&gt;</span><span class="hl kwd">set</span><span class="hl opt">(</span><span class="hl str">&quot;fileName&quot;</span><span class="hl opt">,</span>ex<span class="hl opt">-&gt;</span>file<span class="hl opt">);</span>
          s<span class="hl opt">-&gt;</span><span class="hl kwd">set</span><span class="hl opt">(</span><span class="hl str">&quot;isReference&quot;</span><span class="hl opt">,</span>FALSE<span class="hl opt">);</span>
          s<span class="hl opt">-&gt;</span><span class="hl kwd">set</span><span class="hl opt">(</span><span class="hl str">&quot;externalReference&quot;</span><span class="hl opt">,</span><span class="hl str">&quot;&quot;</span><span class="hl opt">);</span>
          list<span class="hl opt">-&gt;</span><span class="hl kwd">append</span><span class="hl opt">(</span>s<span class="hl opt">);</span>
        <span class="hl opt">}</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">templateDecls</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      Cachable <span class="hl opt">&amp;</span>cache <span class="hl opt">=</span> <span class="hl kwd">getCache</span><span class="hl opt">();</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>cache<span class="hl opt">.</span>templateDecls<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        TemplateList <span class="hl opt">*</span>tl <span class="hl opt">=</span> TemplateList<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">();</span>
        <span class="hl kwd">addTemplateDecls</span><span class="hl opt">(</span>m_classDef<span class="hl opt">,</span>tl<span class="hl opt">);</span>
        cache<span class="hl opt">.</span>templateDecls<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>tl<span class="hl opt">);</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> cache<span class="hl opt">.</span>templateDecls<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">typeConstraints</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>m_classDef<span class="hl opt">-&gt;</span><span class="hl kwd">typeConstraints</span><span class="hl opt">().</span><span class="hl kwd">empty</span><span class="hl opt">())</span>
      <span class="hl opt">{</span>
        Cachable <span class="hl opt">&amp;</span>cache <span class="hl opt">=</span> <span class="hl kwd">getCache</span><span class="hl opt">();</span>
        <span class="hl kwa">if</span> <span class="hl opt">(!</span>cache<span class="hl opt">.</span>typeConstraints <span class="hl opt">&amp;&amp; !</span>m_classDef<span class="hl opt">-&gt;</span><span class="hl kwd">typeConstraints</span><span class="hl opt">().</span><span class="hl kwd">empty</span><span class="hl opt">())</span>
        <span class="hl opt">{</span>
          cache<span class="hl opt">.</span>typeConstraints<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>ArgumentListContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>m_classDef<span class="hl opt">-&gt;</span><span class="hl kwd">typeConstraints</span><span class="hl opt">(),</span>m_classDef<span class="hl opt">,</span><span class="hl kwd">relPathAsString</span><span class="hl opt">()));</span>
        <span class="hl opt">}</span>
        <span class="hl kwa">return</span> cache<span class="hl opt">.</span>typeConstraints<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> FALSE<span class="hl opt">;</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">examples</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      Cachable <span class="hl opt">&amp;</span>cache <span class="hl opt">=</span> <span class="hl kwd">getCache</span><span class="hl opt">();</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>cache<span class="hl opt">.</span>examples<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        TemplateList <span class="hl opt">*</span>exampleList <span class="hl opt">=</span> TemplateList<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">();</span>
        <span class="hl kwd">addExamples</span><span class="hl opt">(</span>exampleList<span class="hl opt">);</span>
        cache<span class="hl opt">.</span>examples<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>exampleList<span class="hl opt">);</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> cache<span class="hl opt">.</span>examples<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    <span class="hl kwb">void</span> <span class="hl kwd">addMembers</span><span class="hl opt">(</span><span class="hl kwb">const</span> ClassDef <span class="hl opt">*</span>cd<span class="hl opt">,</span>MemberListType lt<span class="hl opt">)</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      MemberList <span class="hl opt">*</span>ml <span class="hl opt">=</span> cd<span class="hl opt">-&gt;</span><span class="hl kwd">getMemberList</span><span class="hl opt">(</span>lt<span class="hl opt">);</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>ml<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        Cachable <span class="hl opt">&amp;</span>cache <span class="hl opt">=</span> <span class="hl kwd">getCache</span><span class="hl opt">();</span>
        MemberListIterator <span class="hl kwd">li</span><span class="hl opt">(*</span>ml<span class="hl opt">);</span>
        <span class="hl kwb">const</span> MemberDef <span class="hl opt">*</span>md<span class="hl opt">;</span>
        <span class="hl kwa">for</span> <span class="hl opt">(</span>li<span class="hl opt">.</span><span class="hl kwd">toFirst</span><span class="hl opt">();(</span>md<span class="hl opt">=</span>li<span class="hl opt">.</span><span class="hl kwd">current</span><span class="hl opt">());++</span>li<span class="hl opt">)</span>
        <span class="hl opt">{</span>
          <span class="hl kwa">if</span> <span class="hl opt">(</span>md<span class="hl opt">-&gt;</span><span class="hl kwd">isBriefSectionVisible</span><span class="hl opt">())</span>
          <span class="hl opt">{</span>
            cache<span class="hl opt">.</span>allMembers<span class="hl opt">.</span><span class="hl kwd">append</span><span class="hl opt">(</span>md<span class="hl opt">);</span>
          <span class="hl opt">}</span>
        <span class="hl opt">}</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">members</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      Cachable <span class="hl opt">&amp;</span>cache <span class="hl opt">=</span> <span class="hl kwd">getCache</span><span class="hl opt">();</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>cache<span class="hl opt">.</span>members<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwd">addMembers</span><span class="hl opt">(</span>m_classDef<span class="hl opt">,</span>MemberListType_pubTypes<span class="hl opt">);</span>
        <span class="hl kwd">addMembers</span><span class="hl opt">(</span>m_classDef<span class="hl opt">,</span>MemberListType_services<span class="hl opt">);</span>
        <span class="hl kwd">addMembers</span><span class="hl opt">(</span>m_classDef<span class="hl opt">,</span>MemberListType_interfaces<span class="hl opt">);</span>
        <span class="hl kwd">addMembers</span><span class="hl opt">(</span>m_classDef<span class="hl opt">,</span>MemberListType_pubSlots<span class="hl opt">);</span>
        <span class="hl kwd">addMembers</span><span class="hl opt">(</span>m_classDef<span class="hl opt">,</span>MemberListType_signals<span class="hl opt">);</span>
        <span class="hl kwd">addMembers</span><span class="hl opt">(</span>m_classDef<span class="hl opt">,</span>MemberListType_pubMethods<span class="hl opt">);</span>
        <span class="hl kwd">addMembers</span><span class="hl opt">(</span>m_classDef<span class="hl opt">,</span>MemberListType_pubStaticMethods<span class="hl opt">);</span>
        <span class="hl kwd">addMembers</span><span class="hl opt">(</span>m_classDef<span class="hl opt">,</span>MemberListType_pubAttribs<span class="hl opt">);</span>
        <span class="hl kwd">addMembers</span><span class="hl opt">(</span>m_classDef<span class="hl opt">,</span>MemberListType_pubStaticAttribs<span class="hl opt">);</span>
        <span class="hl kwd">addMembers</span><span class="hl opt">(</span>m_classDef<span class="hl opt">,</span>MemberListType_proTypes<span class="hl opt">);</span>
        <span class="hl kwd">addMembers</span><span class="hl opt">(</span>m_classDef<span class="hl opt">,</span>MemberListType_proSlots<span class="hl opt">);</span>
        <span class="hl kwd">addMembers</span><span class="hl opt">(</span>m_classDef<span class="hl opt">,</span>MemberListType_proMethods<span class="hl opt">);</span>
        <span class="hl kwd">addMembers</span><span class="hl opt">(</span>m_classDef<span class="hl opt">,</span>MemberListType_proStaticMethods<span class="hl opt">);</span>
        <span class="hl kwd">addMembers</span><span class="hl opt">(</span>m_classDef<span class="hl opt">,</span>MemberListType_proAttribs<span class="hl opt">);</span>
        <span class="hl kwd">addMembers</span><span class="hl opt">(</span>m_classDef<span class="hl opt">,</span>MemberListType_proStaticAttribs<span class="hl opt">);</span>
        <span class="hl kwd">addMembers</span><span class="hl opt">(</span>m_classDef<span class="hl opt">,</span>MemberListType_pacTypes<span class="hl opt">);</span>
        <span class="hl kwd">addMembers</span><span class="hl opt">(</span>m_classDef<span class="hl opt">,</span>MemberListType_pacMethods<span class="hl opt">);</span>
        <span class="hl kwd">addMembers</span><span class="hl opt">(</span>m_classDef<span class="hl opt">,</span>MemberListType_pacStaticMethods<span class="hl opt">);</span>
        <span class="hl kwd">addMembers</span><span class="hl opt">(</span>m_classDef<span class="hl opt">,</span>MemberListType_pacAttribs<span class="hl opt">);</span>
        <span class="hl kwd">addMembers</span><span class="hl opt">(</span>m_classDef<span class="hl opt">,</span>MemberListType_pacStaticAttribs<span class="hl opt">);</span>
        <span class="hl kwd">addMembers</span><span class="hl opt">(</span>m_classDef<span class="hl opt">,</span>MemberListType_properties<span class="hl opt">);</span>
        <span class="hl kwd">addMembers</span><span class="hl opt">(</span>m_classDef<span class="hl opt">,</span>MemberListType_events<span class="hl opt">);</span>
        <span class="hl kwd">addMembers</span><span class="hl opt">(</span>m_classDef<span class="hl opt">,</span>MemberListType_priTypes<span class="hl opt">);</span>
        <span class="hl kwd">addMembers</span><span class="hl opt">(</span>m_classDef<span class="hl opt">,</span>MemberListType_priSlots<span class="hl opt">);</span>
        <span class="hl kwd">addMembers</span><span class="hl opt">(</span>m_classDef<span class="hl opt">,</span>MemberListType_priMethods<span class="hl opt">);</span>
        <span class="hl kwd">addMembers</span><span class="hl opt">(</span>m_classDef<span class="hl opt">,</span>MemberListType_priStaticMethods<span class="hl opt">);</span>
        <span class="hl kwd">addMembers</span><span class="hl opt">(</span>m_classDef<span class="hl opt">,</span>MemberListType_priAttribs<span class="hl opt">);</span>
        <span class="hl kwd">addMembers</span><span class="hl opt">(</span>m_classDef<span class="hl opt">,</span>MemberListType_priStaticAttribs<span class="hl opt">);</span>
        <span class="hl kwd">addMembers</span><span class="hl opt">(</span>m_classDef<span class="hl opt">,</span>MemberListType_related<span class="hl opt">);</span>
        cache<span class="hl opt">.</span>members<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>MemberListContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(&amp;</span>cache<span class="hl opt">.</span>allMembers<span class="hl opt">));</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> cache<span class="hl opt">.</span>members<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">allMembersList</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      Cachable <span class="hl opt">&amp;</span>cache <span class="hl opt">=</span> <span class="hl kwd">getCache</span><span class="hl opt">();</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>cache<span class="hl opt">.</span>allMembersList<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        AllMembersListContext <span class="hl opt">*</span>ml <span class="hl opt">=</span> AllMembersListContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>m_classDef<span class="hl opt">-&gt;</span><span class="hl kwd">memberNameInfoLinkedMap</span><span class="hl opt">());</span>
        cache<span class="hl opt">.</span>allMembersList<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>ml<span class="hl opt">);</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> cache<span class="hl opt">.</span>allMembersList<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">allMembersFileName</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_classDef<span class="hl opt">-&gt;</span><span class="hl kwd">getMemberListFileName</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">memberGroups</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      Cachable <span class="hl opt">&amp;</span>cache <span class="hl opt">=</span> <span class="hl kwd">getCache</span><span class="hl opt">();</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>cache<span class="hl opt">.</span>memberGroups<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">if</span> <span class="hl opt">(</span>m_classDef<span class="hl opt">-&gt;</span><span class="hl kwd">getMemberGroupSDict</span><span class="hl opt">())</span>
        <span class="hl opt">{</span>
          cache<span class="hl opt">.</span>memberGroups<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>MemberGroupListContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>m_classDef<span class="hl opt">,</span><span class="hl kwd">relPathAsString</span><span class="hl opt">(),</span>m_classDef<span class="hl opt">-&gt;</span><span class="hl kwd">getMemberGroupSDict</span><span class="hl opt">(),</span>m_classDef<span class="hl opt">-&gt;</span><span class="hl kwd">subGrouping</span><span class="hl opt">()));</span>
        <span class="hl opt">}</span>
        <span class="hl kwa">else</span>
        <span class="hl opt">{</span>
          cache<span class="hl opt">.</span>memberGroups<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>MemberGroupListContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">());</span>
        <span class="hl opt">}</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> cache<span class="hl opt">.</span>memberGroups<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">additionalInheritedMembers</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      Cachable <span class="hl opt">&amp;</span>cache <span class="hl opt">=</span> <span class="hl kwd">getCache</span><span class="hl opt">();</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>cache<span class="hl opt">.</span>additionalInheritedMembers<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        InheritedMemberInfoListContext <span class="hl opt">*</span>ctx <span class="hl opt">=</span> InheritedMemberInfoListContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">();</span>
        ctx<span class="hl opt">-&gt;</span><span class="hl kwd">addMemberList</span><span class="hl opt">(</span>m_classDef<span class="hl opt">,</span>MemberListType_pubTypes<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trPublicTypes</span><span class="hl opt">());</span>
        ctx<span class="hl opt">-&gt;</span><span class="hl kwd">addMemberList</span><span class="hl opt">(</span>m_classDef<span class="hl opt">,</span>MemberListType_services<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trServices</span><span class="hl opt">());</span>
        ctx<span class="hl opt">-&gt;</span><span class="hl kwd">addMemberList</span><span class="hl opt">(</span>m_classDef<span class="hl opt">,</span>MemberListType_interfaces<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trInterfaces</span><span class="hl opt">());</span>
        ctx<span class="hl opt">-&gt;</span><span class="hl kwd">addMemberList</span><span class="hl opt">(</span>m_classDef<span class="hl opt">,</span>MemberListType_pubSlots<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trPublicSlots</span><span class="hl opt">());</span>
        ctx<span class="hl opt">-&gt;</span><span class="hl kwd">addMemberList</span><span class="hl opt">(</span>m_classDef<span class="hl opt">,</span>MemberListType_signals<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trSignals</span><span class="hl opt">());</span>
        ctx<span class="hl opt">-&gt;</span><span class="hl kwd">addMemberList</span><span class="hl opt">(</span>m_classDef<span class="hl opt">,</span>MemberListType_pubMethods<span class="hl opt">,</span>
          m_classDef<span class="hl opt">-&gt;</span><span class="hl kwd">getLanguage</span><span class="hl opt">()==</span>SrcLangExt_ObjC ? theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trInstanceMethods</span><span class="hl opt">()</span>
                                                     <span class="hl opt">:</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trPublicMembers</span><span class="hl opt">());</span>
        ctx<span class="hl opt">-&gt;</span><span class="hl kwd">addMemberList</span><span class="hl opt">(</span>m_classDef<span class="hl opt">,</span>MemberListType_pubStaticMethods<span class="hl opt">,</span>
          m_classDef<span class="hl opt">-&gt;</span><span class="hl kwd">getLanguage</span><span class="hl opt">()==</span>SrcLangExt_ObjC ? theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trClassMethods</span><span class="hl opt">()</span>
                                                     <span class="hl opt">:</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trStaticPublicMembers</span><span class="hl opt">());</span>
        ctx<span class="hl opt">-&gt;</span><span class="hl kwd">addMemberList</span><span class="hl opt">(</span>m_classDef<span class="hl opt">,</span>MemberListType_pubAttribs<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trPublicAttribs</span><span class="hl opt">());</span>
        ctx<span class="hl opt">-&gt;</span><span class="hl kwd">addMemberList</span><span class="hl opt">(</span>m_classDef<span class="hl opt">,</span>MemberListType_pubStaticAttribs<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trStaticPublicAttribs</span><span class="hl opt">());</span>
        ctx<span class="hl opt">-&gt;</span><span class="hl kwd">addMemberList</span><span class="hl opt">(</span>m_classDef<span class="hl opt">,</span>MemberListType_proTypes<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trProtectedTypes</span><span class="hl opt">());</span>
        ctx<span class="hl opt">-&gt;</span><span class="hl kwd">addMemberList</span><span class="hl opt">(</span>m_classDef<span class="hl opt">,</span>MemberListType_proSlots<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trProtectedSlots</span><span class="hl opt">());</span>
        ctx<span class="hl opt">-&gt;</span><span class="hl kwd">addMemberList</span><span class="hl opt">(</span>m_classDef<span class="hl opt">,</span>MemberListType_proMethods<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trProtectedMembers</span><span class="hl opt">());</span>
        ctx<span class="hl opt">-&gt;</span><span class="hl kwd">addMemberList</span><span class="hl opt">(</span>m_classDef<span class="hl opt">,</span>MemberListType_proStaticMethods<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trStaticProtectedMembers</span><span class="hl opt">());</span>
        ctx<span class="hl opt">-&gt;</span><span class="hl kwd">addMemberList</span><span class="hl opt">(</span>m_classDef<span class="hl opt">,</span>MemberListType_proAttribs<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trProtectedAttribs</span><span class="hl opt">());</span>
        ctx<span class="hl opt">-&gt;</span><span class="hl kwd">addMemberList</span><span class="hl opt">(</span>m_classDef<span class="hl opt">,</span>MemberListType_proStaticAttribs<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trStaticProtectedAttribs</span><span class="hl opt">());</span>
        ctx<span class="hl opt">-&gt;</span><span class="hl kwd">addMemberList</span><span class="hl opt">(</span>m_classDef<span class="hl opt">,</span>MemberListType_pacTypes<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trPackageTypes</span><span class="hl opt">());</span>
        ctx<span class="hl opt">-&gt;</span><span class="hl kwd">addMemberList</span><span class="hl opt">(</span>m_classDef<span class="hl opt">,</span>MemberListType_pacMethods<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trPackageMembers</span><span class="hl opt">());</span>
        ctx<span class="hl opt">-&gt;</span><span class="hl kwd">addMemberList</span><span class="hl opt">(</span>m_classDef<span class="hl opt">,</span>MemberListType_pacStaticMethods<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trStaticPackageMembers</span><span class="hl opt">());</span>
        ctx<span class="hl opt">-&gt;</span><span class="hl kwd">addMemberList</span><span class="hl opt">(</span>m_classDef<span class="hl opt">,</span>MemberListType_pacAttribs<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trPackageAttribs</span><span class="hl opt">());</span>
        ctx<span class="hl opt">-&gt;</span><span class="hl kwd">addMemberList</span><span class="hl opt">(</span>m_classDef<span class="hl opt">,</span>MemberListType_pacStaticAttribs<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trStaticPackageAttribs</span><span class="hl opt">());</span>
        ctx<span class="hl opt">-&gt;</span><span class="hl kwd">addMemberList</span><span class="hl opt">(</span>m_classDef<span class="hl opt">,</span>MemberListType_properties<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trProperties</span><span class="hl opt">());</span>
        ctx<span class="hl opt">-&gt;</span><span class="hl kwd">addMemberList</span><span class="hl opt">(</span>m_classDef<span class="hl opt">,</span>MemberListType_events<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trEvents</span><span class="hl opt">());</span>
        ctx<span class="hl opt">-&gt;</span><span class="hl kwd">addMemberList</span><span class="hl opt">(</span>m_classDef<span class="hl opt">,</span>MemberListType_priTypes<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trPrivateTypes</span><span class="hl opt">());</span>
        ctx<span class="hl opt">-&gt;</span><span class="hl kwd">addMemberList</span><span class="hl opt">(</span>m_classDef<span class="hl opt">,</span>MemberListType_priSlots<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trPrivateSlots</span><span class="hl opt">());</span>
        ctx<span class="hl opt">-&gt;</span><span class="hl kwd">addMemberList</span><span class="hl opt">(</span>m_classDef<span class="hl opt">,</span>MemberListType_priMethods<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trPrivateMembers</span><span class="hl opt">());</span>
        ctx<span class="hl opt">-&gt;</span><span class="hl kwd">addMemberList</span><span class="hl opt">(</span>m_classDef<span class="hl opt">,</span>MemberListType_priStaticMethods<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trStaticPrivateMembers</span><span class="hl opt">());</span>
        ctx<span class="hl opt">-&gt;</span><span class="hl kwd">addMemberList</span><span class="hl opt">(</span>m_classDef<span class="hl opt">,</span>MemberListType_priAttribs<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trPrivateAttribs</span><span class="hl opt">());</span>
        ctx<span class="hl opt">-&gt;</span><span class="hl kwd">addMemberList</span><span class="hl opt">(</span>m_classDef<span class="hl opt">,</span>MemberListType_priStaticAttribs<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trStaticPrivateAttribs</span><span class="hl opt">());</span>
        ctx<span class="hl opt">-&gt;</span><span class="hl kwd">addMemberList</span><span class="hl opt">(</span>m_classDef<span class="hl opt">,</span>MemberListType_related<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trRelatedFunctions</span><span class="hl opt">());</span>
        cache<span class="hl opt">.</span>additionalInheritedMembers<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>ctx<span class="hl opt">);</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> cache<span class="hl opt">.</span>additionalInheritedMembers<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">isSimple</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_classDef<span class="hl opt">-&gt;</span><span class="hl kwd">isSimple</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">categoryOf</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      Cachable <span class="hl opt">&amp;</span>cache <span class="hl opt">=</span> <span class="hl kwd">getCache</span><span class="hl opt">();</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>cache<span class="hl opt">.</span>categoryOf <span class="hl opt">&amp;&amp;</span> m_classDef<span class="hl opt">-&gt;</span><span class="hl kwd">categoryOf</span><span class="hl opt">())</span>
      <span class="hl opt">{</span>
        cache<span class="hl opt">.</span>categoryOf<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>ClassContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>m_classDef<span class="hl opt">-&gt;</span><span class="hl kwd">categoryOf</span><span class="hl opt">()));</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>cache<span class="hl opt">.</span>categoryOf<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> cache<span class="hl opt">.</span>categoryOf<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">else</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> <span class="hl kwd">TemplateVariant</span><span class="hl opt">(</span>FALSE<span class="hl opt">);</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>

  <span class="hl kwc">private</span><span class="hl opt">:</span>
    <span class="hl kwb">const</span> ClassDef <span class="hl opt">*</span>m_classDef<span class="hl opt">;</span>
    <span class="hl kwb">struct</span> Cachable <span class="hl opt">:</span> <span class="hl kwc">public</span> DefinitionContext<span class="hl opt">&lt;</span>ClassContext<span class="hl opt">::</span>Private<span class="hl opt">&gt;::</span>Cachable
    <span class="hl opt">{</span>
      <span class="hl kwd">Cachable</span><span class="hl opt">(</span><span class="hl kwb">const</span> ClassDef <span class="hl opt">*</span>cd<span class="hl opt">) :</span> DefinitionContext<span class="hl opt">&lt;</span>ClassContext<span class="hl opt">::</span>Private<span class="hl opt">&gt;::</span><span class="hl kwd">Cachable</span><span class="hl opt">(</span>cd<span class="hl opt">),</span>
                               <span class="hl kwd">inheritanceNodes</span><span class="hl opt">(-</span><span class="hl num">1</span><span class="hl opt">) { }</span>
      SharedPtr<span class="hl opt">&lt;</span>IncludeInfoContext<span class="hl opt">&gt;</span>     includeInfo<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>InheritanceListContext<span class="hl opt">&gt;</span> inheritsList<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>InheritanceListContext<span class="hl opt">&gt;</span> inheritedByList<span class="hl opt">;</span>
      ScopedPtr<span class="hl opt">&lt;</span>DotClassGraph<span class="hl opt">&gt;</span>          classGraph<span class="hl opt">;</span>
      ScopedPtr<span class="hl opt">&lt;</span>DotClassGraph<span class="hl opt">&gt;</span>          collaborationGraph<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>TemplateList<span class="hl opt">&gt;</span>           classes<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>TemplateList<span class="hl opt">&gt;</span>           innerClasses<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberListInfoContext<span class="hl opt">&gt;</span>  publicTypes<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberListInfoContext<span class="hl opt">&gt;</span>  publicMethods<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberListInfoContext<span class="hl opt">&gt;</span>  publicStaticMethods<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberListInfoContext<span class="hl opt">&gt;</span>  publicAttributes<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberListInfoContext<span class="hl opt">&gt;</span>  publicStaticAttributes<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberListInfoContext<span class="hl opt">&gt;</span>  publicSlots<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberListInfoContext<span class="hl opt">&gt;</span>  protectedTypes<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberListInfoContext<span class="hl opt">&gt;</span>  protectedMethods<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberListInfoContext<span class="hl opt">&gt;</span>  protectedStaticMethods<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberListInfoContext<span class="hl opt">&gt;</span>  protectedAttributes<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberListInfoContext<span class="hl opt">&gt;</span>  protectedStaticAttributes<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberListInfoContext<span class="hl opt">&gt;</span>  protectedSlots<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberListInfoContext<span class="hl opt">&gt;</span>  privateTypes<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberListInfoContext<span class="hl opt">&gt;</span>  privateMethods<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberListInfoContext<span class="hl opt">&gt;</span>  privateStaticMethods<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberListInfoContext<span class="hl opt">&gt;</span>  privateAttributes<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberListInfoContext<span class="hl opt">&gt;</span>  privateStaticAttributes<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberListInfoContext<span class="hl opt">&gt;</span>  privateSlots<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberListInfoContext<span class="hl opt">&gt;</span>  packageTypes<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberListInfoContext<span class="hl opt">&gt;</span>  packageMethods<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberListInfoContext<span class="hl opt">&gt;</span>  packageStaticMethods<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberListInfoContext<span class="hl opt">&gt;</span>  packageAttributes<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberListInfoContext<span class="hl opt">&gt;</span>  packageStaticAttributes<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberListInfoContext<span class="hl opt">&gt;</span>  unoIDLServices<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberListInfoContext<span class="hl opt">&gt;</span>  unoIDLInterfaces<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberListInfoContext<span class="hl opt">&gt;</span>  signals<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberListInfoContext<span class="hl opt">&gt;</span>  properties<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberListInfoContext<span class="hl opt">&gt;</span>  events<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberListInfoContext<span class="hl opt">&gt;</span>  friends<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberListInfoContext<span class="hl opt">&gt;</span>  related<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberListInfoContext<span class="hl opt">&gt;</span>  detailedTypedefs<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberListInfoContext<span class="hl opt">&gt;</span>  detailedEnums<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberListInfoContext<span class="hl opt">&gt;</span>  detailedServices<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberListInfoContext<span class="hl opt">&gt;</span>  detailedInterfaces<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberListInfoContext<span class="hl opt">&gt;</span>  detailedConstructors<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberListInfoContext<span class="hl opt">&gt;</span>  detailedMethods<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberListInfoContext<span class="hl opt">&gt;</span>  detailedRelated<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberListInfoContext<span class="hl opt">&gt;</span>  detailedVariables<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberListInfoContext<span class="hl opt">&gt;</span>  detailedProperties<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberListInfoContext<span class="hl opt">&gt;</span>  detailedEvents<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberGroupListContext<span class="hl opt">&gt;</span> memberGroups<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>AllMembersListContext<span class="hl opt">&gt;</span>  allMembersList<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>ArgumentListContext<span class="hl opt">&gt;</span>    typeConstraints<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>TemplateList<span class="hl opt">&gt;</span>           examples<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>TemplateList<span class="hl opt">&gt;</span>           templateDecls<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>InheritedMemberInfoListContext<span class="hl opt">&gt;</span> additionalInheritedMembers<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberListContext<span class="hl opt">&gt;</span>      members<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>UsedFilesContext<span class="hl opt">&gt;</span>       usedFiles<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>TemplateList<span class="hl opt">&gt;</span>           exampleList<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>ClassContext<span class="hl opt">&gt;</span>           categoryOf<span class="hl opt">;</span>
      <span class="hl kwb">int</span>                               inheritanceNodes<span class="hl opt">;</span>
      MemberList                        allMembers<span class="hl opt">;</span>
    <span class="hl opt">};</span>
    Cachable <span class="hl opt">&amp;</span><span class="hl kwd">getCache</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      Cachable <span class="hl opt">*</span>c <span class="hl opt">=</span> <span class="hl kwa">static_cast</span><span class="hl opt">&lt;</span>Cachable<span class="hl opt">*&gt;(</span>m_classDef<span class="hl opt">-&gt;</span><span class="hl kwd">cookie</span><span class="hl opt">());</span>
      <span class="hl kwa">assert</span><span class="hl opt">(</span>c<span class="hl opt">!=</span><span class="hl num">0</span><span class="hl opt">);</span>
      <span class="hl kwa">return</span> <span class="hl opt">*</span>c<span class="hl opt">;</span>
    <span class="hl opt">}</span>
    <span class="hl kwb">static</span> PropertyMapper<span class="hl opt">&lt;</span>ClassContext<span class="hl opt">::</span>Private<span class="hl opt">&gt;</span> s_inst<span class="hl opt">;</span>
<span class="hl opt">};</span>
<span class="hl slc">//%% }</span>

PropertyMapper<span class="hl opt">&lt;</span>ClassContext<span class="hl opt">::</span>Private<span class="hl opt">&gt;</span> ClassContext<span class="hl opt">::</span>Private<span class="hl opt">::</span>s_inst<span class="hl opt">;</span>

ClassContext<span class="hl opt">::</span><span class="hl kwd">ClassContext</span><span class="hl opt">(</span><span class="hl kwb">const</span> ClassDef <span class="hl opt">*</span>cd<span class="hl opt">) :</span> <span class="hl kwd">RefCountedContext</span><span class="hl opt">(</span><span class="hl str">&quot;ClassContext&quot;</span><span class="hl opt">)</span>
<span class="hl opt">{</span>
  <span class="hl slc">//printf(&quot;ClassContext::ClassContext(%s)\n&quot;,cd?cd-&gt;name().data():&quot;&lt;none&gt;&quot;);</span>
  p <span class="hl opt">=</span> <span class="hl kwa">new</span> <span class="hl kwd">Private</span><span class="hl opt">(</span>cd<span class="hl opt">);</span>
<span class="hl opt">}</span>

ClassContext<span class="hl opt">::~</span><span class="hl kwd">ClassContext</span><span class="hl opt">()</span>
<span class="hl opt">{</span>
  <span class="hl kwa">delete</span> p<span class="hl opt">;</span>
<span class="hl opt">}</span>

TemplateVariant ClassContext<span class="hl opt">::</span><span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwb">const char</span> <span class="hl opt">*</span>n<span class="hl opt">)</span> <span class="hl kwb">const</span>
<span class="hl opt">{</span>
  <span class="hl kwa">return</span> p<span class="hl opt">-&gt;</span><span class="hl kwd">get</span><span class="hl opt">(</span>n<span class="hl opt">);</span>
<span class="hl opt">}</span>

<span class="hl slc">//------------------------------------------------------------------------</span>

<span class="hl slc">//%% struct Namespace(Symbol): namespace information</span>
<span class="hl slc">//%% {</span>
<span class="hl kwc">class</span> NamespaceContext<span class="hl opt">::</span>Private <span class="hl opt">:</span> <span class="hl kwc">public</span> DefinitionContext<span class="hl opt">&lt;</span>NamespaceContext<span class="hl opt">::</span>Private<span class="hl opt">&gt;</span>
<span class="hl opt">{</span>
  <span class="hl kwc">public</span><span class="hl opt">:</span>
    <span class="hl kwd">Private</span><span class="hl opt">(</span><span class="hl kwb">const</span> NamespaceDef <span class="hl opt">*</span>nd<span class="hl opt">) :</span> DefinitionContext<span class="hl opt">&lt;</span>NamespaceContext<span class="hl opt">::</span>Private<span class="hl opt">&gt;(</span>nd<span class="hl opt">),</span>
                                <span class="hl kwd">m_namespaceDef</span><span class="hl opt">(</span>nd<span class="hl opt">)</span>
    <span class="hl opt">{</span>
      <span class="hl kwb">static bool</span> init<span class="hl opt">=</span>FALSE<span class="hl opt">;</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>init<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwd">addBaseProperties</span><span class="hl opt">(</span>s_inst<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;title&quot;</span><span class="hl opt">,                &amp;</span>Private<span class="hl opt">::</span>title<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;highlight&quot;</span><span class="hl opt">,            &amp;</span>Private<span class="hl opt">::</span>highlight<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;subhighlight&quot;</span><span class="hl opt">,         &amp;</span>Private<span class="hl opt">::</span>subHighlight<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;compoundType&quot;</span><span class="hl opt">,         &amp;</span>Private<span class="hl opt">::</span>compoundType<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;hasDetails&quot;</span><span class="hl opt">,           &amp;</span>Private<span class="hl opt">::</span>hasDetails<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;classes&quot;</span><span class="hl opt">,              &amp;</span>Private<span class="hl opt">::</span>classes<span class="hl opt">);</span>
        <span class="hl slc">//s_inst.addProperty(&quot;interfaces&quot;,           &amp;Private::interfaces);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;namespaces&quot;</span><span class="hl opt">,           &amp;</span>Private<span class="hl opt">::</span>namespaces<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;constantgroups&quot;</span><span class="hl opt">,       &amp;</span>Private<span class="hl opt">::</span>constantgroups<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;typedefs&quot;</span><span class="hl opt">,             &amp;</span>Private<span class="hl opt">::</span>typedefs<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;sequences&quot;</span><span class="hl opt">,            &amp;</span>Private<span class="hl opt">::</span>sequences<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;dictionaries&quot;</span><span class="hl opt">,         &amp;</span>Private<span class="hl opt">::</span>dictionaries<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;enums&quot;</span><span class="hl opt">,                &amp;</span>Private<span class="hl opt">::</span>enums<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;functions&quot;</span><span class="hl opt">,            &amp;</span>Private<span class="hl opt">::</span>functions<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;variables&quot;</span><span class="hl opt">,            &amp;</span>Private<span class="hl opt">::</span>variables<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;memberGroups&quot;</span><span class="hl opt">,         &amp;</span>Private<span class="hl opt">::</span>memberGroups<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;detailedTypedefs&quot;</span><span class="hl opt">,     &amp;</span>Private<span class="hl opt">::</span>detailedTypedefs<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;detailedSequences&quot;</span><span class="hl opt">,    &amp;</span>Private<span class="hl opt">::</span>detailedSequences<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;detailedDictionaries&quot;</span><span class="hl opt">, &amp;</span>Private<span class="hl opt">::</span>detailedDictionaries<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;detailedEnums&quot;</span><span class="hl opt">,        &amp;</span>Private<span class="hl opt">::</span>detailedEnums<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;detailedFunctions&quot;</span><span class="hl opt">,    &amp;</span>Private<span class="hl opt">::</span>detailedFunctions<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;detailedVariables&quot;</span><span class="hl opt">,    &amp;</span>Private<span class="hl opt">::</span>detailedVariables<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;inlineClasses&quot;</span><span class="hl opt">,        &amp;</span>Private<span class="hl opt">::</span>inlineClasses<span class="hl opt">);</span>
        init<span class="hl opt">=</span>TRUE<span class="hl opt">;</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>nd<span class="hl opt">-&gt;</span><span class="hl kwd">cookie</span><span class="hl opt">()) {</span> nd<span class="hl opt">-&gt;</span><span class="hl kwd">setCookie</span><span class="hl opt">(</span><span class="hl kwa">new</span> NamespaceContext<span class="hl opt">::</span>Private<span class="hl opt">::</span><span class="hl kwd">Cachable</span><span class="hl opt">(</span>nd<span class="hl opt">)); }</span>
    <span class="hl opt">}</span>
    <span class="hl kwc">virtual</span> <span class="hl opt">~</span><span class="hl kwd">Private</span><span class="hl opt">() {}</span>
    TemplateVariant <span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwb">const char</span> <span class="hl opt">*</span>n<span class="hl opt">)</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> s_inst<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwa">this</span><span class="hl opt">,</span>n<span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">title</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">TemplateVariant</span><span class="hl opt">(</span>m_namespaceDef<span class="hl opt">-&gt;</span><span class="hl kwd">title</span><span class="hl opt">());</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">highlight</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">TemplateVariant</span><span class="hl opt">(</span><span class="hl str">&quot;namespaces&quot;</span><span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">subHighlight</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">TemplateVariant</span><span class="hl opt">(</span><span class="hl str">&quot;&quot;</span><span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">compoundType</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_namespaceDef<span class="hl opt">-&gt;</span><span class="hl kwd">compoundTypeString</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">hasDetails</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_namespaceDef<span class="hl opt">-&gt;</span><span class="hl kwd">hasDetailedDescription</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">classes</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      Cachable <span class="hl opt">&amp;</span>cache <span class="hl opt">=</span> <span class="hl kwd">getCache</span><span class="hl opt">();</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>cache<span class="hl opt">.</span>classes<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwb">static bool</span> sliceOpt <span class="hl opt">=</span> <span class="hl kwd">Config_getBool</span><span class="hl opt">(</span>OPTIMIZE_OUTPUT_SLICE<span class="hl opt">);</span>
        TemplateList <span class="hl opt">*</span>classList <span class="hl opt">=</span> TemplateList<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">();</span>
        <span class="hl kwa">if</span> <span class="hl opt">(</span>m_namespaceDef<span class="hl opt">-&gt;</span><span class="hl kwd">getClassSDict</span><span class="hl opt">())</span>
        <span class="hl opt">{</span>
          ClassSDict<span class="hl opt">::</span>Iterator <span class="hl kwd">sdi</span><span class="hl opt">(*</span>m_namespaceDef<span class="hl opt">-&gt;</span><span class="hl kwd">getClassSDict</span><span class="hl opt">());</span>
          <span class="hl kwb">const</span> ClassDef <span class="hl opt">*</span>cd<span class="hl opt">;</span>
          <span class="hl kwa">for</span> <span class="hl opt">(</span>sdi<span class="hl opt">.</span><span class="hl kwd">toFirst</span><span class="hl opt">();(</span>cd<span class="hl opt">=</span>sdi<span class="hl opt">.</span><span class="hl kwd">current</span><span class="hl opt">());++</span>sdi<span class="hl opt">)</span>
          <span class="hl opt">{</span>
            <span class="hl kwa">if</span> <span class="hl opt">(</span>sliceOpt <span class="hl opt">&amp;&amp; (</span>cd<span class="hl opt">-&gt;</span><span class="hl kwd">compoundType</span><span class="hl opt">()==</span>ClassDef<span class="hl opt">::</span>Struct    <span class="hl opt">||</span>
                             cd<span class="hl opt">-&gt;</span><span class="hl kwd">compoundType</span><span class="hl opt">()==</span>ClassDef<span class="hl opt">::</span>Interface <span class="hl opt">||</span>
                             cd<span class="hl opt">-&gt;</span><span class="hl kwd">compoundType</span><span class="hl opt">()==</span>ClassDef<span class="hl opt">::</span>Exception<span class="hl opt">))</span>
            <span class="hl opt">{</span>
              <span class="hl kwa">continue</span><span class="hl opt">;</span> <span class="hl slc">// These types appear in their own sections.</span>
            <span class="hl opt">}</span>
            <span class="hl kwa">if</span> <span class="hl opt">(</span>cd<span class="hl opt">-&gt;</span><span class="hl kwd">visibleInParentsDeclList</span><span class="hl opt">())</span>
            <span class="hl opt">{</span>
              classList<span class="hl opt">-&gt;</span><span class="hl kwd">append</span><span class="hl opt">(</span>ClassContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>cd<span class="hl opt">));</span>
            <span class="hl opt">}</span>
          <span class="hl opt">}</span>
        <span class="hl opt">}</span>
        cache<span class="hl opt">.</span>classes<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>classList<span class="hl opt">);</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> cache<span class="hl opt">.</span>classes<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">namespaces</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      Cachable <span class="hl opt">&amp;</span>cache <span class="hl opt">=</span> <span class="hl kwd">getCache</span><span class="hl opt">();</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>cache<span class="hl opt">.</span>namespaces<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        TemplateList <span class="hl opt">*</span>namespaceList <span class="hl opt">=</span> TemplateList<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">();</span>
        <span class="hl kwa">if</span> <span class="hl opt">(</span>m_namespaceDef<span class="hl opt">-&gt;</span><span class="hl kwd">getNamespaceSDict</span><span class="hl opt">())</span>
        <span class="hl opt">{</span>
          NamespaceSDict<span class="hl opt">::</span>Iterator <span class="hl kwd">sdi</span><span class="hl opt">(*</span>m_namespaceDef<span class="hl opt">-&gt;</span><span class="hl kwd">getNamespaceSDict</span><span class="hl opt">());</span>
          <span class="hl kwb">const</span> NamespaceDef <span class="hl opt">*</span>nd<span class="hl opt">;</span>
          <span class="hl kwa">for</span> <span class="hl opt">(</span>sdi<span class="hl opt">.</span><span class="hl kwd">toFirst</span><span class="hl opt">();(</span>nd<span class="hl opt">=</span>sdi<span class="hl opt">.</span><span class="hl kwd">current</span><span class="hl opt">());++</span>sdi<span class="hl opt">)</span>
          <span class="hl opt">{</span>
            <span class="hl kwa">if</span> <span class="hl opt">(</span>nd<span class="hl opt">-&gt;</span><span class="hl kwd">isLinkable</span><span class="hl opt">() &amp;&amp; !</span>nd<span class="hl opt">-&gt;</span><span class="hl kwd">isConstantGroup</span><span class="hl opt">())</span>
            <span class="hl opt">{</span>
              namespaceList<span class="hl opt">-&gt;</span><span class="hl kwd">append</span><span class="hl opt">(</span>NamespaceContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>nd<span class="hl opt">));</span>
            <span class="hl opt">}</span>
          <span class="hl opt">}</span>
        <span class="hl opt">}</span>
        cache<span class="hl opt">.</span>namespaces<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>namespaceList<span class="hl opt">);</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> cache<span class="hl opt">.</span>namespaces<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">constantgroups</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      Cachable <span class="hl opt">&amp;</span>cache <span class="hl opt">=</span> <span class="hl kwd">getCache</span><span class="hl opt">();</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>cache<span class="hl opt">.</span>constantgroups<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        TemplateList <span class="hl opt">*</span>namespaceList <span class="hl opt">=</span> TemplateList<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">();</span>
        <span class="hl kwa">if</span> <span class="hl opt">(</span>m_namespaceDef<span class="hl opt">-&gt;</span><span class="hl kwd">getNamespaceSDict</span><span class="hl opt">())</span>
        <span class="hl opt">{</span>
          NamespaceSDict<span class="hl opt">::</span>Iterator <span class="hl kwd">sdi</span><span class="hl opt">(*</span>m_namespaceDef<span class="hl opt">-&gt;</span><span class="hl kwd">getNamespaceSDict</span><span class="hl opt">());</span>
          <span class="hl kwb">const</span> NamespaceDef <span class="hl opt">*</span>nd<span class="hl opt">;</span>
          <span class="hl kwa">for</span> <span class="hl opt">(</span>sdi<span class="hl opt">.</span><span class="hl kwd">toFirst</span><span class="hl opt">();(</span>nd<span class="hl opt">=</span>sdi<span class="hl opt">.</span><span class="hl kwd">current</span><span class="hl opt">());++</span>sdi<span class="hl opt">)</span>
          <span class="hl opt">{</span>
            <span class="hl kwa">if</span> <span class="hl opt">(</span>nd<span class="hl opt">-&gt;</span><span class="hl kwd">isLinkable</span><span class="hl opt">() &amp;&amp;</span> nd<span class="hl opt">-&gt;</span><span class="hl kwd">isConstantGroup</span><span class="hl opt">())</span>
            <span class="hl opt">{</span>
              namespaceList<span class="hl opt">-&gt;</span><span class="hl kwd">append</span><span class="hl opt">(</span>NamespaceContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>nd<span class="hl opt">));</span>
            <span class="hl opt">}</span>
          <span class="hl opt">}</span>
        <span class="hl opt">}</span>
        cache<span class="hl opt">.</span>constantgroups<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>namespaceList<span class="hl opt">);</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> cache<span class="hl opt">.</span>constantgroups<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">getMemberList</span><span class="hl opt">(</span>SharedPtr<span class="hl opt">&lt;</span>MemberListInfoContext<span class="hl opt">&gt; &amp;</span>list<span class="hl opt">,</span>
                                  MemberListType type<span class="hl opt">,</span><span class="hl kwb">const char</span> <span class="hl opt">*</span>title<span class="hl opt">,</span><span class="hl kwb">bool</span><span class="hl opt">=</span>FALSE<span class="hl opt">)</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>list<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        MemberList <span class="hl opt">*</span>ml <span class="hl opt">=</span> m_namespaceDef<span class="hl opt">-&gt;</span><span class="hl kwd">getMemberList</span><span class="hl opt">(</span>type<span class="hl opt">);</span>
        <span class="hl kwa">if</span> <span class="hl opt">(</span>ml<span class="hl opt">)</span>
        <span class="hl opt">{</span>
          list<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>MemberListInfoContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>m_namespaceDef<span class="hl opt">,</span><span class="hl kwd">relPathAsString</span><span class="hl opt">(),</span>ml<span class="hl opt">,</span>title<span class="hl opt">,</span><span class="hl str">&quot;&quot;</span><span class="hl opt">));</span>
        <span class="hl opt">}</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>list<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> list<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">else</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> <span class="hl kwd">TemplateVariant</span><span class="hl opt">(</span>FALSE<span class="hl opt">);</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">typedefs</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMemberList</span><span class="hl opt">(</span><span class="hl kwd">getCache</span><span class="hl opt">().</span>typedefs<span class="hl opt">,</span>MemberListType_decTypedefMembers<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trTypedefs</span><span class="hl opt">());</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">sequences</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMemberList</span><span class="hl opt">(</span><span class="hl kwd">getCache</span><span class="hl opt">().</span>sequences<span class="hl opt">,</span>MemberListType_decSequenceMembers<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trSequences</span><span class="hl opt">());</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">dictionaries</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMemberList</span><span class="hl opt">(</span><span class="hl kwd">getCache</span><span class="hl opt">().</span>dictionaries<span class="hl opt">,</span>MemberListType_decDictionaryMembers<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trDictionaries</span><span class="hl opt">());</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">enums</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMemberList</span><span class="hl opt">(</span><span class="hl kwd">getCache</span><span class="hl opt">().</span>enums<span class="hl opt">,</span>MemberListType_decEnumMembers<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trEnumerations</span><span class="hl opt">());</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">functions</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      QCString title <span class="hl opt">=</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trFunctions</span><span class="hl opt">();</span>
      SrcLangExt lang <span class="hl opt">=</span> m_namespaceDef<span class="hl opt">-&gt;</span><span class="hl kwd">getLanguage</span><span class="hl opt">();</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>lang<span class="hl opt">==</span>SrcLangExt_Fortran<span class="hl opt">)</span> title<span class="hl opt">=</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trSubprograms</span><span class="hl opt">();</span>
      <span class="hl kwa">else if</span> <span class="hl opt">(</span>lang<span class="hl opt">==</span>SrcLangExt_VHDL<span class="hl opt">)</span> title<span class="hl opt">=</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trFunctionAndProc</span><span class="hl opt">();</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMemberList</span><span class="hl opt">(</span><span class="hl kwd">getCache</span><span class="hl opt">().</span>functions<span class="hl opt">,</span>MemberListType_decFuncMembers<span class="hl opt">,</span>title<span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">variables</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwb">static bool</span> sliceOpt   <span class="hl opt">=</span> <span class="hl kwd">Config_getBool</span><span class="hl opt">(</span>OPTIMIZE_OUTPUT_SLICE<span class="hl opt">);</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMemberList</span><span class="hl opt">(</span><span class="hl kwd">getCache</span><span class="hl opt">().</span>variables<span class="hl opt">,</span>MemberListType_decVarMembers<span class="hl opt">,</span>
                           sliceOpt ? theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trConstants</span><span class="hl opt">() :</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trVariables</span><span class="hl opt">());</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">memberGroups</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      Cachable <span class="hl opt">&amp;</span>cache <span class="hl opt">=</span> <span class="hl kwd">getCache</span><span class="hl opt">();</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>cache<span class="hl opt">.</span>memberGroups<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">if</span> <span class="hl opt">(</span>m_namespaceDef<span class="hl opt">-&gt;</span><span class="hl kwd">getMemberGroupSDict</span><span class="hl opt">())</span>
        <span class="hl opt">{</span>
          cache<span class="hl opt">.</span>memberGroups<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>MemberGroupListContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>m_namespaceDef<span class="hl opt">,</span><span class="hl kwd">relPathAsString</span><span class="hl opt">(),</span>m_namespaceDef<span class="hl opt">-&gt;</span><span class="hl kwd">getMemberGroupSDict</span><span class="hl opt">(),</span>m_namespaceDef<span class="hl opt">-&gt;</span><span class="hl kwd">subGrouping</span><span class="hl opt">()));</span>
        <span class="hl opt">}</span>
        <span class="hl kwa">else</span>
        <span class="hl opt">{</span>
          cache<span class="hl opt">.</span>memberGroups<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>MemberGroupListContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">());</span>
        <span class="hl opt">}</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> cache<span class="hl opt">.</span>memberGroups<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">detailedTypedefs</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMemberList</span><span class="hl opt">(</span><span class="hl kwd">getCache</span><span class="hl opt">().</span>detailedTypedefs<span class="hl opt">,</span>MemberListType_docTypedefMembers<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trTypedefDocumentation</span><span class="hl opt">());</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">detailedSequences</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMemberList</span><span class="hl opt">(</span><span class="hl kwd">getCache</span><span class="hl opt">().</span>detailedSequences<span class="hl opt">,</span>MemberListType_docSequenceMembers<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trSequenceDocumentation</span><span class="hl opt">());</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">detailedDictionaries</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMemberList</span><span class="hl opt">(</span><span class="hl kwd">getCache</span><span class="hl opt">().</span>detailedDictionaries<span class="hl opt">,</span>MemberListType_docDictionaryMembers<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trDictionaryDocumentation</span><span class="hl opt">());</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">detailedEnums</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMemberList</span><span class="hl opt">(</span><span class="hl kwd">getCache</span><span class="hl opt">().</span>detailedEnums<span class="hl opt">,</span>MemberListType_docEnumMembers<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trEnumerationTypeDocumentation</span><span class="hl opt">());</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">detailedFunctions</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      QCString title <span class="hl opt">=</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trFunctionDocumentation</span><span class="hl opt">();</span>
      SrcLangExt lang <span class="hl opt">=</span> m_namespaceDef<span class="hl opt">-&gt;</span><span class="hl kwd">getLanguage</span><span class="hl opt">();</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>lang<span class="hl opt">==</span>SrcLangExt_Fortran<span class="hl opt">)</span> title<span class="hl opt">=</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trSubprogramDocumentation</span><span class="hl opt">();</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMemberList</span><span class="hl opt">(</span><span class="hl kwd">getCache</span><span class="hl opt">().</span>detailedFunctions<span class="hl opt">,</span>MemberListType_docFuncMembers<span class="hl opt">,</span>title<span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">detailedVariables</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwb">static bool</span> sliceOpt   <span class="hl opt">=</span> <span class="hl kwd">Config_getBool</span><span class="hl opt">(</span>OPTIMIZE_OUTPUT_SLICE<span class="hl opt">);</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMemberList</span><span class="hl opt">(</span><span class="hl kwd">getCache</span><span class="hl opt">().</span>detailedVariables<span class="hl opt">,</span>MemberListType_docVarMembers<span class="hl opt">,</span>
                           sliceOpt ? theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trConstantDocumentation</span><span class="hl opt">() :</span>
                           theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trVariableDocumentation</span><span class="hl opt">());</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">inlineClasses</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      Cachable <span class="hl opt">&amp;</span>cache <span class="hl opt">=</span> <span class="hl kwd">getCache</span><span class="hl opt">();</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>cache<span class="hl opt">.</span>inlineClasses<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        TemplateList <span class="hl opt">*</span>classList <span class="hl opt">=</span> TemplateList<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">();</span>
        <span class="hl kwa">if</span> <span class="hl opt">(</span>m_namespaceDef<span class="hl opt">-&gt;</span><span class="hl kwd">getClassSDict</span><span class="hl opt">())</span>
        <span class="hl opt">{</span>
          ClassSDict<span class="hl opt">::</span>Iterator <span class="hl kwd">sdi</span><span class="hl opt">(*</span>m_namespaceDef<span class="hl opt">-&gt;</span><span class="hl kwd">getClassSDict</span><span class="hl opt">());</span>
          <span class="hl kwb">const</span> ClassDef <span class="hl opt">*</span>cd<span class="hl opt">;</span>
          <span class="hl kwa">for</span> <span class="hl opt">(</span>sdi<span class="hl opt">.</span><span class="hl kwd">toFirst</span><span class="hl opt">();(</span>cd<span class="hl opt">=</span>sdi<span class="hl opt">.</span><span class="hl kwd">current</span><span class="hl opt">());++</span>sdi<span class="hl opt">)</span>
          <span class="hl opt">{</span>
            <span class="hl kwa">if</span> <span class="hl opt">(!</span>cd<span class="hl opt">-&gt;</span><span class="hl kwd">isAnonymous</span><span class="hl opt">() &amp;&amp;</span>
                cd<span class="hl opt">-&gt;</span><span class="hl kwd">isLinkableInProject</span><span class="hl opt">() &amp;&amp;</span>
                cd<span class="hl opt">-&gt;</span><span class="hl kwd">isEmbeddedInOuterScope</span><span class="hl opt">() &amp;&amp;</span>
                cd<span class="hl opt">-&gt;</span><span class="hl kwd">partOfGroups</span><span class="hl opt">()==</span><span class="hl num">0</span><span class="hl opt">)</span>
            <span class="hl opt">{</span>
              classList<span class="hl opt">-&gt;</span><span class="hl kwd">append</span><span class="hl opt">(</span>ClassContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>cd<span class="hl opt">));</span>
            <span class="hl opt">}</span>
          <span class="hl opt">}</span>
        <span class="hl opt">}</span>
        cache<span class="hl opt">.</span>inlineClasses<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>classList<span class="hl opt">);</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> cache<span class="hl opt">.</span>inlineClasses<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
  <span class="hl kwc">private</span><span class="hl opt">:</span>
    <span class="hl kwb">const</span> NamespaceDef <span class="hl opt">*</span>m_namespaceDef<span class="hl opt">;</span>
    <span class="hl kwb">struct</span> Cachable <span class="hl opt">:</span> <span class="hl kwc">public</span> DefinitionContext<span class="hl opt">&lt;</span>NamespaceContext<span class="hl opt">::</span>Private<span class="hl opt">&gt;::</span>Cachable
    <span class="hl opt">{</span>
      <span class="hl kwd">Cachable</span><span class="hl opt">(</span><span class="hl kwb">const</span> NamespaceDef <span class="hl opt">*</span>nd<span class="hl opt">) :</span> DefinitionContext<span class="hl opt">&lt;</span>NamespaceContext<span class="hl opt">::</span>Private<span class="hl opt">&gt;::</span><span class="hl kwd">Cachable</span><span class="hl opt">(</span>nd<span class="hl opt">) {}</span>
      SharedPtr<span class="hl opt">&lt;</span>TemplateList<span class="hl opt">&gt;</span>               classes<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>TemplateList<span class="hl opt">&gt;</span>               interfaces<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>TemplateList<span class="hl opt">&gt;</span>               namespaces<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>TemplateList<span class="hl opt">&gt;</span>               constantgroups<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberListInfoContext<span class="hl opt">&gt;</span>      typedefs<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberListInfoContext<span class="hl opt">&gt;</span>      sequences<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberListInfoContext<span class="hl opt">&gt;</span>      dictionaries<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberListInfoContext<span class="hl opt">&gt;</span>      enums<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberListInfoContext<span class="hl opt">&gt;</span>      functions<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberListInfoContext<span class="hl opt">&gt;</span>      variables<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberGroupListContext<span class="hl opt">&gt;</span>     memberGroups<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberListInfoContext<span class="hl opt">&gt;</span>      detailedTypedefs<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberListInfoContext<span class="hl opt">&gt;</span>      detailedSequences<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberListInfoContext<span class="hl opt">&gt;</span>      detailedDictionaries<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberListInfoContext<span class="hl opt">&gt;</span>      detailedEnums<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberListInfoContext<span class="hl opt">&gt;</span>      detailedFunctions<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberListInfoContext<span class="hl opt">&gt;</span>      detailedVariables<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>TemplateList<span class="hl opt">&gt;</span>               inlineClasses<span class="hl opt">;</span>
    <span class="hl opt">};</span>
    Cachable <span class="hl opt">&amp;</span><span class="hl kwd">getCache</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      Cachable <span class="hl opt">*</span>c <span class="hl opt">=</span> <span class="hl kwa">static_cast</span><span class="hl opt">&lt;</span>Cachable<span class="hl opt">*&gt;(</span>m_namespaceDef<span class="hl opt">-&gt;</span><span class="hl kwd">cookie</span><span class="hl opt">());</span>
      <span class="hl kwa">assert</span><span class="hl opt">(</span>c<span class="hl opt">!=</span><span class="hl num">0</span><span class="hl opt">);</span>
      <span class="hl kwa">return</span> <span class="hl opt">*</span>c<span class="hl opt">;</span>
    <span class="hl opt">}</span>
    <span class="hl kwb">static</span> PropertyMapper<span class="hl opt">&lt;</span>NamespaceContext<span class="hl opt">::</span>Private<span class="hl opt">&gt;</span> s_inst<span class="hl opt">;</span>
<span class="hl opt">};</span>
<span class="hl slc">//%% }</span>

PropertyMapper<span class="hl opt">&lt;</span>NamespaceContext<span class="hl opt">::</span>Private<span class="hl opt">&gt;</span> NamespaceContext<span class="hl opt">::</span>Private<span class="hl opt">::</span>s_inst<span class="hl opt">;</span>

NamespaceContext<span class="hl opt">::</span><span class="hl kwd">NamespaceContext</span><span class="hl opt">(</span><span class="hl kwb">const</span> NamespaceDef <span class="hl opt">*</span>nd<span class="hl opt">) :</span> <span class="hl kwd">RefCountedContext</span><span class="hl opt">(</span><span class="hl str">&quot;NamespaceContext&quot;</span><span class="hl opt">)</span>
<span class="hl opt">{</span>
  p <span class="hl opt">=</span> <span class="hl kwa">new</span> <span class="hl kwd">Private</span><span class="hl opt">(</span>nd<span class="hl opt">);</span>
<span class="hl opt">}</span>

NamespaceContext<span class="hl opt">::~</span><span class="hl kwd">NamespaceContext</span><span class="hl opt">()</span>
<span class="hl opt">{</span>
  <span class="hl kwa">delete</span> p<span class="hl opt">;</span>
<span class="hl opt">}</span>

TemplateVariant NamespaceContext<span class="hl opt">::</span><span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwb">const char</span> <span class="hl opt">*</span>n<span class="hl opt">)</span> <span class="hl kwb">const</span>
<span class="hl opt">{</span>
  <span class="hl kwa">return</span> p<span class="hl opt">-&gt;</span><span class="hl kwd">get</span><span class="hl opt">(</span>n<span class="hl opt">);</span>
<span class="hl opt">}</span>

<span class="hl slc">//------------------------------------------------------------------------</span>

<span class="hl slc">//%% struct File(Symbol): file information</span>
<span class="hl slc">//%% {</span>
<span class="hl kwc">class</span> FileContext<span class="hl opt">::</span>Private <span class="hl opt">:</span> <span class="hl kwc">public</span> DefinitionContext<span class="hl opt">&lt;</span>FileContext<span class="hl opt">::</span>Private<span class="hl opt">&gt;</span>
<span class="hl opt">{</span>
  <span class="hl kwc">public</span><span class="hl opt">:</span>
    <span class="hl kwd">Private</span><span class="hl opt">(</span><span class="hl kwb">const</span> FileDef <span class="hl opt">*</span>fd<span class="hl opt">) :</span> DefinitionContext<span class="hl opt">&lt;</span>FileContext<span class="hl opt">::</span>Private<span class="hl opt">&gt;(</span>fd<span class="hl opt">) ,</span> <span class="hl kwd">m_fileDef</span><span class="hl opt">(</span>fd<span class="hl opt">)</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>fd<span class="hl opt">==</span><span class="hl num">0</span><span class="hl opt">)</span> <span class="hl kwd">abort</span><span class="hl opt">();</span>
      <span class="hl kwb">static bool</span> init<span class="hl opt">=</span>FALSE<span class="hl opt">;</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>init<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwd">addBaseProperties</span><span class="hl opt">(</span>s_inst<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;title&quot;</span><span class="hl opt">,                     &amp;</span>Private<span class="hl opt">::</span>title<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;highlight&quot;</span><span class="hl opt">,                 &amp;</span>Private<span class="hl opt">::</span>highlight<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;subhighlight&quot;</span><span class="hl opt">,              &amp;</span>Private<span class="hl opt">::</span>subHighlight<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;versionInfo&quot;</span><span class="hl opt">,               &amp;</span>Private<span class="hl opt">::</span>versionInfo<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;includeList&quot;</span><span class="hl opt">,               &amp;</span>Private<span class="hl opt">::</span>includeList<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;hasIncludeGraph&quot;</span><span class="hl opt">,           &amp;</span>Private<span class="hl opt">::</span>hasIncludeGraph<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;hasIncludedByGraph&quot;</span><span class="hl opt">,        &amp;</span>Private<span class="hl opt">::</span>hasIncludedByGraph<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;includeGraph&quot;</span><span class="hl opt">,              &amp;</span>Private<span class="hl opt">::</span>includeGraph<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;includedByGraph&quot;</span><span class="hl opt">,           &amp;</span>Private<span class="hl opt">::</span>includedByGraph<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;hasDetails&quot;</span><span class="hl opt">,                &amp;</span>Private<span class="hl opt">::</span>hasDetails<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;hasSourceFile&quot;</span><span class="hl opt">,             &amp;</span>Private<span class="hl opt">::</span>hasSourceFile<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;sources&quot;</span><span class="hl opt">,                   &amp;</span>Private<span class="hl opt">::</span>sources<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;version&quot;</span><span class="hl opt">,                   &amp;</span>Private<span class="hl opt">::</span>version<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;classes&quot;</span><span class="hl opt">,                   &amp;</span>Private<span class="hl opt">::</span>classes<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;namespaces&quot;</span><span class="hl opt">,                &amp;</span>Private<span class="hl opt">::</span>namespaces<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;constantgroups&quot;</span><span class="hl opt">,            &amp;</span>Private<span class="hl opt">::</span>constantgroups<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;macros&quot;</span><span class="hl opt">,                    &amp;</span>Private<span class="hl opt">::</span>macros<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;typedefs&quot;</span><span class="hl opt">,                  &amp;</span>Private<span class="hl opt">::</span>typedefs<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;sequences&quot;</span><span class="hl opt">,                 &amp;</span>Private<span class="hl opt">::</span>sequences<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;dictionaries&quot;</span><span class="hl opt">,              &amp;</span>Private<span class="hl opt">::</span>dictionaries<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;enums&quot;</span><span class="hl opt">,                     &amp;</span>Private<span class="hl opt">::</span>enums<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;functions&quot;</span><span class="hl opt">,                 &amp;</span>Private<span class="hl opt">::</span>functions<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;variables&quot;</span><span class="hl opt">,                 &amp;</span>Private<span class="hl opt">::</span>variables<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;memberGroups&quot;</span><span class="hl opt">,              &amp;</span>Private<span class="hl opt">::</span>memberGroups<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;detailedMacros&quot;</span><span class="hl opt">,            &amp;</span>Private<span class="hl opt">::</span>detailedMacros<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;detailedTypedefs&quot;</span><span class="hl opt">,          &amp;</span>Private<span class="hl opt">::</span>detailedTypedefs<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;detailedSequences&quot;</span><span class="hl opt">,         &amp;</span>Private<span class="hl opt">::</span>detailedSequences<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;detailedDictionaries&quot;</span><span class="hl opt">,      &amp;</span>Private<span class="hl opt">::</span>detailedDictionaries<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;detailedEnums&quot;</span><span class="hl opt">,             &amp;</span>Private<span class="hl opt">::</span>detailedEnums<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;detailedFunctions&quot;</span><span class="hl opt">,         &amp;</span>Private<span class="hl opt">::</span>detailedFunctions<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;detailedVariables&quot;</span><span class="hl opt">,         &amp;</span>Private<span class="hl opt">::</span>detailedVariables<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;inlineClasses&quot;</span><span class="hl opt">,             &amp;</span>Private<span class="hl opt">::</span>inlineClasses<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;compoundType&quot;</span><span class="hl opt">,              &amp;</span>Private<span class="hl opt">::</span>compoundType<span class="hl opt">);</span>
        init<span class="hl opt">=</span>TRUE<span class="hl opt">;</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>fd<span class="hl opt">-&gt;</span><span class="hl kwd">cookie</span><span class="hl opt">()) {</span> fd<span class="hl opt">-&gt;</span><span class="hl kwd">setCookie</span><span class="hl opt">(</span><span class="hl kwa">new</span> FileContext<span class="hl opt">::</span>Private<span class="hl opt">::</span><span class="hl kwd">Cachable</span><span class="hl opt">(</span>fd<span class="hl opt">)); }</span>
    <span class="hl opt">}</span>
    <span class="hl kwc">virtual</span> <span class="hl opt">~</span><span class="hl kwd">Private</span><span class="hl opt">() {}</span>
    TemplateVariant <span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwb">const char</span> <span class="hl opt">*</span>n<span class="hl opt">)</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> s_inst<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwa">this</span><span class="hl opt">,</span>n<span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">title</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_fileDef<span class="hl opt">-&gt;</span><span class="hl kwd">title</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">highlight</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">TemplateVariant</span><span class="hl opt">(</span><span class="hl str">&quot;files&quot;</span><span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">subHighlight</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">TemplateVariant</span><span class="hl opt">(</span><span class="hl str">&quot;&quot;</span><span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">versionInfo</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_fileDef<span class="hl opt">-&gt;</span><span class="hl kwd">getVersion</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">includeList</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      Cachable <span class="hl opt">&amp;</span>cache <span class="hl opt">=</span> <span class="hl kwd">getCache</span><span class="hl opt">();</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>cache<span class="hl opt">.</span>includeInfoList <span class="hl opt">&amp;&amp;</span> m_fileDef<span class="hl opt">-&gt;</span><span class="hl kwd">includeFileList</span><span class="hl opt">())</span>
      <span class="hl opt">{</span>
        cache<span class="hl opt">.</span>includeInfoList<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>IncludeInfoListContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>
              <span class="hl opt">*</span>m_fileDef<span class="hl opt">-&gt;</span><span class="hl kwd">includeFileList</span><span class="hl opt">(),</span>m_fileDef<span class="hl opt">-&gt;</span><span class="hl kwd">getLanguage</span><span class="hl opt">()));</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>cache<span class="hl opt">.</span>includeInfoList<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> cache<span class="hl opt">.</span>includeInfoList<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">else</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> <span class="hl kwd">TemplateVariant</span><span class="hl opt">(</span>FALSE<span class="hl opt">);</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
    DotInclDepGraph <span class="hl opt">*</span><span class="hl kwd">getIncludeGraph</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      Cachable <span class="hl opt">&amp;</span>cache <span class="hl opt">=</span> <span class="hl kwd">getCache</span><span class="hl opt">();</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>cache<span class="hl opt">.</span>includeGraph<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        cache<span class="hl opt">.</span>includeGraph<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span><span class="hl kwa">new</span> <span class="hl kwd">DotInclDepGraph</span><span class="hl opt">(</span>m_fileDef<span class="hl opt">,</span>FALSE<span class="hl opt">));</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> cache<span class="hl opt">.</span>includeGraph<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">hasIncludeGraph</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwb">static bool</span> haveDot <span class="hl opt">=</span> <span class="hl kwd">Config_getBool</span><span class="hl opt">(</span>HAVE_DOT<span class="hl opt">);</span>
      DotInclDepGraph <span class="hl opt">*</span>incGraph <span class="hl opt">=</span> <span class="hl kwd">getIncludeGraph</span><span class="hl opt">();</span>
      <span class="hl kwa">return</span> <span class="hl opt">(</span>haveDot <span class="hl opt">&amp;&amp; !</span>incGraph<span class="hl opt">-&gt;</span><span class="hl kwd">isTooBig</span><span class="hl opt">() &amp;&amp; !</span>incGraph<span class="hl opt">-&gt;</span><span class="hl kwd">isTrivial</span><span class="hl opt">());</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">includeGraph</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwb">static bool</span> haveDot <span class="hl opt">=</span> <span class="hl kwd">Config_getBool</span><span class="hl opt">(</span>HAVE_DOT<span class="hl opt">);</span>
      QGString result<span class="hl opt">;</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>haveDot<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        DotInclDepGraph <span class="hl opt">*</span>cg <span class="hl opt">=</span> <span class="hl kwd">getIncludeGraph</span><span class="hl opt">();</span>
        FTextStream <span class="hl kwd">t</span><span class="hl opt">(&amp;</span>result<span class="hl opt">);</span>
        <span class="hl kwa">switch</span> <span class="hl opt">(</span>g_globals<span class="hl opt">.</span>outputFormat<span class="hl opt">)</span>
        <span class="hl opt">{</span>
          <span class="hl kwa">case</span> ContextOutputFormat_Html<span class="hl opt">:</span>
            <span class="hl opt">{</span>
              cg<span class="hl opt">-&gt;</span><span class="hl kwd">writeGraph</span><span class="hl opt">(</span>t<span class="hl opt">,</span>GOF_BITMAP<span class="hl opt">,</span>EOF_Html<span class="hl opt">,</span>
                  g_globals<span class="hl opt">.</span>outputDir<span class="hl opt">,</span>
                  g_globals<span class="hl opt">.</span>outputDir<span class="hl opt">+</span>Portable<span class="hl opt">::</span><span class="hl kwd">pathSeparator</span><span class="hl opt">()+</span>m_fileDef<span class="hl opt">-&gt;</span><span class="hl kwd">getOutputFileBase</span><span class="hl opt">()+</span>Doxygen<span class="hl opt">::</span>htmlFileExtension<span class="hl opt">,</span>
                  <span class="hl kwd">relPathAsString</span><span class="hl opt">(),</span>TRUE<span class="hl opt">,</span>g_globals<span class="hl opt">.</span>dynSectionId
                  <span class="hl opt">);</span>
            <span class="hl opt">}</span>
            <span class="hl kwa">break</span><span class="hl opt">;</span>
          <span class="hl kwa">case</span> ContextOutputFormat_Latex<span class="hl opt">:</span>
            <span class="hl opt">{</span>
              cg<span class="hl opt">-&gt;</span><span class="hl kwd">writeGraph</span><span class="hl opt">(</span>t<span class="hl opt">,</span>GOF_EPS<span class="hl opt">,</span>EOF_LaTeX<span class="hl opt">,</span>
                  g_globals<span class="hl opt">.</span>outputDir<span class="hl opt">,</span>
                  g_globals<span class="hl opt">.</span>outputDir<span class="hl opt">+</span>Portable<span class="hl opt">::</span><span class="hl kwd">pathSeparator</span><span class="hl opt">()+</span>m_fileDef<span class="hl opt">-&gt;</span><span class="hl kwd">getOutputFileBase</span><span class="hl opt">()+</span><span class="hl str">&quot;.tex&quot;</span><span class="hl opt">,</span>
                  <span class="hl kwd">relPathAsString</span><span class="hl opt">(),</span>TRUE<span class="hl opt">,</span>g_globals<span class="hl opt">.</span>dynSectionId
                  <span class="hl opt">);</span>
            <span class="hl opt">}</span>
            <span class="hl kwa">break</span><span class="hl opt">;</span>
            <span class="hl slc">// TODO: support other generators</span>
          <span class="hl kwa">default</span><span class="hl opt">:</span>
            <span class="hl kwd">err</span><span class="hl opt">(</span><span class="hl str">&quot;context.cpp: output format not yet supported&quot;</span><span class="hl opt">);</span>
            <span class="hl kwa">break</span><span class="hl opt">;</span>
        <span class="hl opt">}</span>
        g_globals<span class="hl opt">.</span>dynSectionId<span class="hl opt">++;</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> <span class="hl kwd">TemplateVariant</span><span class="hl opt">(</span>result<span class="hl opt">.</span><span class="hl kwd">data</span><span class="hl opt">(),</span>TRUE<span class="hl opt">);</span>
    <span class="hl opt">}</span>
    DotInclDepGraph <span class="hl opt">*</span><span class="hl kwd">getIncludedByGraph</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      Cachable <span class="hl opt">&amp;</span>cache <span class="hl opt">=</span> <span class="hl kwd">getCache</span><span class="hl opt">();</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>cache<span class="hl opt">.</span>includedByGraph<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        cache<span class="hl opt">.</span>includedByGraph<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span><span class="hl kwa">new</span> <span class="hl kwd">DotInclDepGraph</span><span class="hl opt">(</span>m_fileDef<span class="hl opt">,</span>TRUE<span class="hl opt">));</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> cache<span class="hl opt">.</span>includedByGraph<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">hasIncludedByGraph</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwb">static bool</span> haveDot <span class="hl opt">=</span> <span class="hl kwd">Config_getBool</span><span class="hl opt">(</span>HAVE_DOT<span class="hl opt">);</span>
      DotInclDepGraph <span class="hl opt">*</span>incGraph <span class="hl opt">=</span> <span class="hl kwd">getIncludedByGraph</span><span class="hl opt">();</span>
      <span class="hl kwa">return</span> <span class="hl opt">(</span>haveDot <span class="hl opt">&amp;&amp; !</span>incGraph<span class="hl opt">-&gt;</span><span class="hl kwd">isTooBig</span><span class="hl opt">() &amp;&amp; !</span>incGraph<span class="hl opt">-&gt;</span><span class="hl kwd">isTrivial</span><span class="hl opt">());</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">includedByGraph</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwb">static bool</span> haveDot <span class="hl opt">=</span> <span class="hl kwd">Config_getBool</span><span class="hl opt">(</span>HAVE_DOT<span class="hl opt">);</span>
      QGString result<span class="hl opt">;</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>haveDot<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        DotInclDepGraph <span class="hl opt">*</span>cg <span class="hl opt">=</span> <span class="hl kwd">getIncludedByGraph</span><span class="hl opt">();</span>
        FTextStream <span class="hl kwd">t</span><span class="hl opt">(&amp;</span>result<span class="hl opt">);</span>
        <span class="hl kwa">switch</span> <span class="hl opt">(</span>g_globals<span class="hl opt">.</span>outputFormat<span class="hl opt">)</span>
        <span class="hl opt">{</span>
          <span class="hl kwa">case</span> ContextOutputFormat_Html<span class="hl opt">:</span>
            <span class="hl opt">{</span>
              cg<span class="hl opt">-&gt;</span><span class="hl kwd">writeGraph</span><span class="hl opt">(</span>t<span class="hl opt">,</span>GOF_BITMAP<span class="hl opt">,</span>EOF_Html<span class="hl opt">,</span>
                  g_globals<span class="hl opt">.</span>outputDir<span class="hl opt">,</span>
                  g_globals<span class="hl opt">.</span>outputDir<span class="hl opt">+</span>Portable<span class="hl opt">::</span><span class="hl kwd">pathSeparator</span><span class="hl opt">()+</span>m_fileDef<span class="hl opt">-&gt;</span><span class="hl kwd">getOutputFileBase</span><span class="hl opt">()+</span>Doxygen<span class="hl opt">::</span>htmlFileExtension<span class="hl opt">,</span>
                  <span class="hl kwd">relPathAsString</span><span class="hl opt">(),</span>TRUE<span class="hl opt">,</span>g_globals<span class="hl opt">.</span>dynSectionId
                  <span class="hl opt">);</span>
            <span class="hl opt">}</span>
            <span class="hl kwa">break</span><span class="hl opt">;</span>
          <span class="hl kwa">case</span> ContextOutputFormat_Latex<span class="hl opt">:</span>
            <span class="hl opt">{</span>
              cg<span class="hl opt">-&gt;</span><span class="hl kwd">writeGraph</span><span class="hl opt">(</span>t<span class="hl opt">,</span>GOF_EPS<span class="hl opt">,</span>EOF_LaTeX<span class="hl opt">,</span>
                  g_globals<span class="hl opt">.</span>outputDir<span class="hl opt">,</span>
                  g_globals<span class="hl opt">.</span>outputDir<span class="hl opt">+</span>Portable<span class="hl opt">::</span><span class="hl kwd">pathSeparator</span><span class="hl opt">()+</span>m_fileDef<span class="hl opt">-&gt;</span><span class="hl kwd">getOutputFileBase</span><span class="hl opt">()+</span><span class="hl str">&quot;.tex&quot;</span><span class="hl opt">,</span>
                  <span class="hl kwd">relPathAsString</span><span class="hl opt">(),</span>TRUE<span class="hl opt">,</span>g_globals<span class="hl opt">.</span>dynSectionId
                  <span class="hl opt">);</span>
            <span class="hl opt">}</span>
            <span class="hl kwa">break</span><span class="hl opt">;</span>
            <span class="hl slc">// TODO: support other generators</span>
          <span class="hl kwa">default</span><span class="hl opt">:</span>
            <span class="hl kwd">err</span><span class="hl opt">(</span><span class="hl str">&quot;context.cpp: output format not yet supported&quot;</span><span class="hl opt">);</span>
            <span class="hl kwa">break</span><span class="hl opt">;</span>
        <span class="hl opt">}</span>
        g_globals<span class="hl opt">.</span>dynSectionId<span class="hl opt">++;</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> <span class="hl kwd">TemplateVariant</span><span class="hl opt">(</span>result<span class="hl opt">.</span><span class="hl kwd">data</span><span class="hl opt">(),</span>TRUE<span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">hasDetails</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_fileDef<span class="hl opt">-&gt;</span><span class="hl kwd">hasDetailedDescription</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">hasSourceFile</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_fileDef<span class="hl opt">-&gt;</span><span class="hl kwd">generateSourceFile</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">sources</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      Cachable <span class="hl opt">&amp;</span>cache <span class="hl opt">=</span> <span class="hl kwd">getCache</span><span class="hl opt">();</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>cache<span class="hl opt">.</span>sources<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">if</span> <span class="hl opt">(</span>m_fileDef<span class="hl opt">-&gt;</span><span class="hl kwd">generateSourceFile</span><span class="hl opt">())</span>
        <span class="hl opt">{</span>
          cache<span class="hl opt">.</span>sources<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span><span class="hl kwa">new</span> <span class="hl kwd">TemplateVariant</span><span class="hl opt">(</span><span class="hl kwd">parseCode</span><span class="hl opt">(</span>m_fileDef<span class="hl opt">,</span><span class="hl kwd">relPathAsString</span><span class="hl opt">())));</span>
        <span class="hl opt">}</span>
        <span class="hl kwa">else</span>
        <span class="hl opt">{</span>
          cache<span class="hl opt">.</span>sources<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span><span class="hl kwa">new</span> <span class="hl kwd">TemplateVariant</span><span class="hl opt">(</span><span class="hl str">&quot;&quot;</span><span class="hl opt">));</span>
        <span class="hl opt">}</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> <span class="hl opt">*</span>cache<span class="hl opt">.</span>sources<span class="hl opt">;</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">version</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_fileDef<span class="hl opt">-&gt;</span><span class="hl kwd">fileVersion</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">classes</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      Cachable <span class="hl opt">&amp;</span>cache <span class="hl opt">=</span> <span class="hl kwd">getCache</span><span class="hl opt">();</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>cache<span class="hl opt">.</span>classes<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        TemplateList <span class="hl opt">*</span>classList <span class="hl opt">=</span> TemplateList<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">();</span>
        <span class="hl kwa">if</span> <span class="hl opt">(</span>m_fileDef<span class="hl opt">-&gt;</span><span class="hl kwd">getClassSDict</span><span class="hl opt">())</span>
        <span class="hl opt">{</span>
          ClassSDict<span class="hl opt">::</span>Iterator <span class="hl kwd">sdi</span><span class="hl opt">(*</span>m_fileDef<span class="hl opt">-&gt;</span><span class="hl kwd">getClassSDict</span><span class="hl opt">());</span>
          <span class="hl kwb">const</span> ClassDef <span class="hl opt">*</span>cd<span class="hl opt">;</span>
          <span class="hl kwa">for</span> <span class="hl opt">(</span>sdi<span class="hl opt">.</span><span class="hl kwd">toFirst</span><span class="hl opt">();(</span>cd<span class="hl opt">=</span>sdi<span class="hl opt">.</span><span class="hl kwd">current</span><span class="hl opt">());++</span>sdi<span class="hl opt">)</span>
          <span class="hl opt">{</span>
            <span class="hl kwa">if</span> <span class="hl opt">(</span>cd<span class="hl opt">-&gt;</span><span class="hl kwd">visibleInParentsDeclList</span><span class="hl opt">())</span>
            <span class="hl opt">{</span>
              classList<span class="hl opt">-&gt;</span><span class="hl kwd">append</span><span class="hl opt">(</span>ClassContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>cd<span class="hl opt">));</span>
            <span class="hl opt">}</span>
          <span class="hl opt">}</span>
        <span class="hl opt">}</span>
        cache<span class="hl opt">.</span>classes<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>classList<span class="hl opt">);</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> cache<span class="hl opt">.</span>classes<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">namespaces</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      Cachable <span class="hl opt">&amp;</span>cache <span class="hl opt">=</span> <span class="hl kwd">getCache</span><span class="hl opt">();</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>cache<span class="hl opt">.</span>namespaces<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        TemplateList <span class="hl opt">*</span>namespaceList <span class="hl opt">=</span> TemplateList<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">();</span>
        <span class="hl kwa">if</span> <span class="hl opt">(</span>m_fileDef<span class="hl opt">-&gt;</span><span class="hl kwd">getNamespaceSDict</span><span class="hl opt">())</span>
        <span class="hl opt">{</span>
          NamespaceSDict<span class="hl opt">::</span>Iterator <span class="hl kwd">sdi</span><span class="hl opt">(*</span>m_fileDef<span class="hl opt">-&gt;</span><span class="hl kwd">getNamespaceSDict</span><span class="hl opt">());</span>
          <span class="hl kwb">const</span> NamespaceDef <span class="hl opt">*</span>nd<span class="hl opt">;</span>
          <span class="hl kwa">for</span> <span class="hl opt">(</span>sdi<span class="hl opt">.</span><span class="hl kwd">toFirst</span><span class="hl opt">();(</span>nd<span class="hl opt">=</span>sdi<span class="hl opt">.</span><span class="hl kwd">current</span><span class="hl opt">());++</span>sdi<span class="hl opt">)</span>
          <span class="hl opt">{</span>
            <span class="hl kwa">if</span> <span class="hl opt">(</span>nd<span class="hl opt">-&gt;</span><span class="hl kwd">isLinkable</span><span class="hl opt">() &amp;&amp; !</span>nd<span class="hl opt">-&gt;</span><span class="hl kwd">isConstantGroup</span><span class="hl opt">())</span>
            <span class="hl opt">{</span>
              namespaceList<span class="hl opt">-&gt;</span><span class="hl kwd">append</span><span class="hl opt">(</span>NamespaceContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>nd<span class="hl opt">));</span>
            <span class="hl opt">}</span>
          <span class="hl opt">}</span>
        <span class="hl opt">}</span>
        cache<span class="hl opt">.</span>namespaces<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>namespaceList<span class="hl opt">);</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> cache<span class="hl opt">.</span>namespaces<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">constantgroups</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      Cachable <span class="hl opt">&amp;</span>cache <span class="hl opt">=</span> <span class="hl kwd">getCache</span><span class="hl opt">();</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>cache<span class="hl opt">.</span>constantgroups<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        TemplateList <span class="hl opt">*</span>namespaceList <span class="hl opt">=</span> TemplateList<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">();</span>
        <span class="hl kwa">if</span> <span class="hl opt">(</span>m_fileDef<span class="hl opt">-&gt;</span><span class="hl kwd">getNamespaceSDict</span><span class="hl opt">())</span>
        <span class="hl opt">{</span>
          NamespaceSDict<span class="hl opt">::</span>Iterator <span class="hl kwd">sdi</span><span class="hl opt">(*</span>m_fileDef<span class="hl opt">-&gt;</span><span class="hl kwd">getNamespaceSDict</span><span class="hl opt">());</span>
          NamespaceDef <span class="hl opt">*</span>nd<span class="hl opt">;</span>
          <span class="hl kwa">for</span> <span class="hl opt">(</span>sdi<span class="hl opt">.</span><span class="hl kwd">toFirst</span><span class="hl opt">();(</span>nd<span class="hl opt">=</span>sdi<span class="hl opt">.</span><span class="hl kwd">current</span><span class="hl opt">());++</span>sdi<span class="hl opt">)</span>
          <span class="hl opt">{</span>
            <span class="hl kwa">if</span> <span class="hl opt">(</span>nd<span class="hl opt">-&gt;</span><span class="hl kwd">isLinkable</span><span class="hl opt">() &amp;&amp;</span> nd<span class="hl opt">-&gt;</span><span class="hl kwd">isConstantGroup</span><span class="hl opt">())</span>
            <span class="hl opt">{</span>
              namespaceList<span class="hl opt">-&gt;</span><span class="hl kwd">append</span><span class="hl opt">(</span>NamespaceContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>nd<span class="hl opt">));</span>
            <span class="hl opt">}</span>
          <span class="hl opt">}</span>
        <span class="hl opt">}</span>
        cache<span class="hl opt">.</span>constantgroups<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>namespaceList<span class="hl opt">);</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> cache<span class="hl opt">.</span>constantgroups<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">getMemberList</span><span class="hl opt">(</span>SharedPtr<span class="hl opt">&lt;</span>MemberListInfoContext<span class="hl opt">&gt; &amp;</span>list<span class="hl opt">,</span>
                                  MemberListType type<span class="hl opt">,</span><span class="hl kwb">const char</span> <span class="hl opt">*</span>title<span class="hl opt">,</span><span class="hl kwb">bool</span><span class="hl opt">=</span>FALSE<span class="hl opt">)</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>list<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        MemberList <span class="hl opt">*</span>ml <span class="hl opt">=</span> m_fileDef<span class="hl opt">-&gt;</span><span class="hl kwd">getMemberList</span><span class="hl opt">(</span>type<span class="hl opt">);</span>
        <span class="hl kwa">if</span> <span class="hl opt">(</span>ml<span class="hl opt">)</span>
        <span class="hl opt">{</span>
          list<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>MemberListInfoContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>m_fileDef<span class="hl opt">,</span><span class="hl kwd">relPathAsString</span><span class="hl opt">(),</span>ml<span class="hl opt">,</span>title<span class="hl opt">,</span><span class="hl str">&quot;&quot;</span><span class="hl opt">));</span>
        <span class="hl opt">}</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>list<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> list<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">else</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> <span class="hl kwd">TemplateVariant</span><span class="hl opt">(</span>FALSE<span class="hl opt">);</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">macros</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMemberList</span><span class="hl opt">(</span><span class="hl kwd">getCache</span><span class="hl opt">().</span>macros<span class="hl opt">,</span>MemberListType_decDefineMembers<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trDefines</span><span class="hl opt">());</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">typedefs</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMemberList</span><span class="hl opt">(</span><span class="hl kwd">getCache</span><span class="hl opt">().</span>typedefs<span class="hl opt">,</span>MemberListType_decTypedefMembers<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trTypedefs</span><span class="hl opt">());</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">sequences</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMemberList</span><span class="hl opt">(</span><span class="hl kwd">getCache</span><span class="hl opt">().</span>sequences<span class="hl opt">,</span>MemberListType_decSequenceMembers<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trSequences</span><span class="hl opt">());</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">dictionaries</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMemberList</span><span class="hl opt">(</span><span class="hl kwd">getCache</span><span class="hl opt">().</span>dictionaries<span class="hl opt">,</span>MemberListType_decDictionaryMembers<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trDictionaries</span><span class="hl opt">());</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">enums</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMemberList</span><span class="hl opt">(</span><span class="hl kwd">getCache</span><span class="hl opt">().</span>enums<span class="hl opt">,</span>MemberListType_decEnumMembers<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trEnumerations</span><span class="hl opt">());</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">functions</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      QCString title <span class="hl opt">=</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trFunctions</span><span class="hl opt">();</span>
      SrcLangExt lang <span class="hl opt">=</span> m_fileDef<span class="hl opt">-&gt;</span><span class="hl kwd">getLanguage</span><span class="hl opt">();</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>lang<span class="hl opt">==</span>SrcLangExt_Fortran<span class="hl opt">)</span> title<span class="hl opt">=</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trSubprograms</span><span class="hl opt">();</span>
      <span class="hl kwa">else if</span> <span class="hl opt">(</span>lang<span class="hl opt">==</span>SrcLangExt_VHDL<span class="hl opt">)</span> title<span class="hl opt">=</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trFunctionAndProc</span><span class="hl opt">();</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMemberList</span><span class="hl opt">(</span><span class="hl kwd">getCache</span><span class="hl opt">().</span>functions<span class="hl opt">,</span>MemberListType_decFuncMembers<span class="hl opt">,</span>title<span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">variables</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwb">static bool</span> sliceOpt   <span class="hl opt">=</span> <span class="hl kwd">Config_getBool</span><span class="hl opt">(</span>OPTIMIZE_OUTPUT_SLICE<span class="hl opt">);</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMemberList</span><span class="hl opt">(</span><span class="hl kwd">getCache</span><span class="hl opt">().</span>variables<span class="hl opt">,</span>MemberListType_decVarMembers<span class="hl opt">,</span>
                           sliceOpt ? theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trConstants</span><span class="hl opt">() :</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trVariables</span><span class="hl opt">());</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">memberGroups</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      Cachable <span class="hl opt">&amp;</span>cache <span class="hl opt">=</span> <span class="hl kwd">getCache</span><span class="hl opt">();</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>cache<span class="hl opt">.</span>memberGroups<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">if</span> <span class="hl opt">(</span>m_fileDef<span class="hl opt">-&gt;</span><span class="hl kwd">getMemberGroupSDict</span><span class="hl opt">())</span>
        <span class="hl opt">{</span>
          cache<span class="hl opt">.</span>memberGroups<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>MemberGroupListContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>m_fileDef<span class="hl opt">,</span><span class="hl kwd">relPathAsString</span><span class="hl opt">(),</span>m_fileDef<span class="hl opt">-&gt;</span><span class="hl kwd">getMemberGroupSDict</span><span class="hl opt">(),</span>m_fileDef<span class="hl opt">-&gt;</span><span class="hl kwd">subGrouping</span><span class="hl opt">()));</span>
        <span class="hl opt">}</span>
        <span class="hl kwa">else</span>
        <span class="hl opt">{</span>
          cache<span class="hl opt">.</span>memberGroups<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>MemberGroupListContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">());</span>
        <span class="hl opt">}</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> cache<span class="hl opt">.</span>memberGroups<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">detailedMacros</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMemberList</span><span class="hl opt">(</span><span class="hl kwd">getCache</span><span class="hl opt">().</span>detailedMacros<span class="hl opt">,</span>MemberListType_docDefineMembers<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trDefineDocumentation</span><span class="hl opt">());</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">detailedTypedefs</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMemberList</span><span class="hl opt">(</span><span class="hl kwd">getCache</span><span class="hl opt">().</span>detailedTypedefs<span class="hl opt">,</span>MemberListType_docTypedefMembers<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trTypedefDocumentation</span><span class="hl opt">());</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">detailedSequences</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMemberList</span><span class="hl opt">(</span><span class="hl kwd">getCache</span><span class="hl opt">().</span>detailedSequences<span class="hl opt">,</span>MemberListType_docSequenceMembers<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trSequenceDocumentation</span><span class="hl opt">());</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">detailedDictionaries</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMemberList</span><span class="hl opt">(</span><span class="hl kwd">getCache</span><span class="hl opt">().</span>detailedDictionaries<span class="hl opt">,</span>MemberListType_docDictionaryMembers<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trDictionaryDocumentation</span><span class="hl opt">());</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">detailedEnums</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMemberList</span><span class="hl opt">(</span><span class="hl kwd">getCache</span><span class="hl opt">().</span>detailedEnums<span class="hl opt">,</span>MemberListType_docEnumMembers<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trEnumerationTypeDocumentation</span><span class="hl opt">());</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">detailedFunctions</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      QCString title <span class="hl opt">=</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trFunctionDocumentation</span><span class="hl opt">();</span>
      SrcLangExt lang <span class="hl opt">=</span> m_fileDef<span class="hl opt">-&gt;</span><span class="hl kwd">getLanguage</span><span class="hl opt">();</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>lang<span class="hl opt">==</span>SrcLangExt_Fortran<span class="hl opt">)</span> title<span class="hl opt">=</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trSubprogramDocumentation</span><span class="hl opt">();</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMemberList</span><span class="hl opt">(</span><span class="hl kwd">getCache</span><span class="hl opt">().</span>detailedFunctions<span class="hl opt">,</span>MemberListType_docFuncMembers<span class="hl opt">,</span>title<span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">detailedVariables</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMemberList</span><span class="hl opt">(</span><span class="hl kwd">getCache</span><span class="hl opt">().</span>detailedVariables<span class="hl opt">,</span>MemberListType_docVarMembers<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trVariableDocumentation</span><span class="hl opt">());</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">inlineClasses</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      Cachable <span class="hl opt">&amp;</span>cache <span class="hl opt">=</span> <span class="hl kwd">getCache</span><span class="hl opt">();</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>cache<span class="hl opt">.</span>inlineClasses<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        TemplateList <span class="hl opt">*</span>classList <span class="hl opt">=</span> TemplateList<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">();</span>
        <span class="hl kwa">if</span> <span class="hl opt">(</span>m_fileDef<span class="hl opt">-&gt;</span><span class="hl kwd">getClassSDict</span><span class="hl opt">())</span>
        <span class="hl opt">{</span>
          ClassSDict<span class="hl opt">::</span>Iterator <span class="hl kwd">sdi</span><span class="hl opt">(*</span>m_fileDef<span class="hl opt">-&gt;</span><span class="hl kwd">getClassSDict</span><span class="hl opt">());</span>
          <span class="hl kwb">const</span> ClassDef <span class="hl opt">*</span>cd<span class="hl opt">;</span>
          <span class="hl kwa">for</span> <span class="hl opt">(</span>sdi<span class="hl opt">.</span><span class="hl kwd">toFirst</span><span class="hl opt">();(</span>cd<span class="hl opt">=</span>sdi<span class="hl opt">.</span><span class="hl kwd">current</span><span class="hl opt">());++</span>sdi<span class="hl opt">)</span>
          <span class="hl opt">{</span>
            <span class="hl kwa">if</span> <span class="hl opt">(!</span>cd<span class="hl opt">-&gt;</span><span class="hl kwd">isAnonymous</span><span class="hl opt">() &amp;&amp;</span>
                cd<span class="hl opt">-&gt;</span><span class="hl kwd">isLinkableInProject</span><span class="hl opt">() &amp;&amp;</span>
                cd<span class="hl opt">-&gt;</span><span class="hl kwd">isEmbeddedInOuterScope</span><span class="hl opt">() &amp;&amp;</span>
                cd<span class="hl opt">-&gt;</span><span class="hl kwd">partOfGroups</span><span class="hl opt">()==</span><span class="hl num">0</span><span class="hl opt">)</span>
            <span class="hl opt">{</span>
              classList<span class="hl opt">-&gt;</span><span class="hl kwd">append</span><span class="hl opt">(</span>ClassContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>cd<span class="hl opt">));</span>
            <span class="hl opt">}</span>
          <span class="hl opt">}</span>
        <span class="hl opt">}</span>
        cache<span class="hl opt">.</span>inlineClasses<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>classList<span class="hl opt">);</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> cache<span class="hl opt">.</span>inlineClasses<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">compoundType</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trFile</span><span class="hl opt">(</span>FALSE<span class="hl opt">,</span>TRUE<span class="hl opt">);</span>
    <span class="hl opt">}</span>

  <span class="hl kwc">private</span><span class="hl opt">:</span>
    <span class="hl kwb">const</span> FileDef <span class="hl opt">*</span>m_fileDef<span class="hl opt">;</span>
    <span class="hl kwb">struct</span> Cachable <span class="hl opt">:</span> <span class="hl kwc">public</span> DefinitionContext<span class="hl opt">&lt;</span>FileContext<span class="hl opt">::</span>Private<span class="hl opt">&gt;::</span>Cachable
    <span class="hl opt">{</span>
      <span class="hl kwd">Cachable</span><span class="hl opt">(</span><span class="hl kwb">const</span> FileDef <span class="hl opt">*</span>fd<span class="hl opt">) :</span> DefinitionContext<span class="hl opt">&lt;</span>FileContext<span class="hl opt">::</span>Private<span class="hl opt">&gt;::</span><span class="hl kwd">Cachable</span><span class="hl opt">(</span>fd<span class="hl opt">) {}</span>
      SharedPtr<span class="hl opt">&lt;</span>IncludeInfoListContext<span class="hl opt">&gt;</span>     includeInfoList<span class="hl opt">;</span>
      ScopedPtr<span class="hl opt">&lt;</span>DotInclDepGraph<span class="hl opt">&gt;</span>            includeGraph<span class="hl opt">;</span>
      ScopedPtr<span class="hl opt">&lt;</span>DotInclDepGraph<span class="hl opt">&gt;</span>            includedByGraph<span class="hl opt">;</span>
      ScopedPtr<span class="hl opt">&lt;</span>TemplateVariant<span class="hl opt">&gt;</span>            sources<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>TemplateList<span class="hl opt">&gt;</span>               classes<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>TemplateList<span class="hl opt">&gt;</span>               namespaces<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>TemplateList<span class="hl opt">&gt;</span>               constantgroups<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberListInfoContext<span class="hl opt">&gt;</span>      macros<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberListInfoContext<span class="hl opt">&gt;</span>      typedefs<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberListInfoContext<span class="hl opt">&gt;</span>      sequences<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberListInfoContext<span class="hl opt">&gt;</span>      dictionaries<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberListInfoContext<span class="hl opt">&gt;</span>      enums<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberListInfoContext<span class="hl opt">&gt;</span>      functions<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberListInfoContext<span class="hl opt">&gt;</span>      variables<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberGroupListContext<span class="hl opt">&gt;</span>     memberGroups<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberListInfoContext<span class="hl opt">&gt;</span>      detailedMacros<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberListInfoContext<span class="hl opt">&gt;</span>      detailedTypedefs<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberListInfoContext<span class="hl opt">&gt;</span>      detailedSequences<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberListInfoContext<span class="hl opt">&gt;</span>      detailedDictionaries<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberListInfoContext<span class="hl opt">&gt;</span>      detailedEnums<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberListInfoContext<span class="hl opt">&gt;</span>      detailedFunctions<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberListInfoContext<span class="hl opt">&gt;</span>      detailedVariables<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>TemplateList<span class="hl opt">&gt;</span>               inlineClasses<span class="hl opt">;</span>
    <span class="hl opt">};</span>
    Cachable <span class="hl opt">&amp;</span><span class="hl kwd">getCache</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      Cachable <span class="hl opt">*</span>c <span class="hl opt">=</span> <span class="hl kwa">static_cast</span><span class="hl opt">&lt;</span>Cachable<span class="hl opt">*&gt;(</span>m_fileDef<span class="hl opt">-&gt;</span><span class="hl kwd">cookie</span><span class="hl opt">());</span>
      <span class="hl kwa">assert</span><span class="hl opt">(</span>c<span class="hl opt">!=</span><span class="hl num">0</span><span class="hl opt">);</span>
      <span class="hl kwa">return</span> <span class="hl opt">*</span>c<span class="hl opt">;</span>
    <span class="hl opt">}</span>
    <span class="hl kwb">static</span> PropertyMapper<span class="hl opt">&lt;</span>FileContext<span class="hl opt">::</span>Private<span class="hl opt">&gt;</span> s_inst<span class="hl opt">;</span>
<span class="hl opt">};</span>
<span class="hl slc">//%% }</span>

PropertyMapper<span class="hl opt">&lt;</span>FileContext<span class="hl opt">::</span>Private<span class="hl opt">&gt;</span> FileContext<span class="hl opt">::</span>Private<span class="hl opt">::</span>s_inst<span class="hl opt">;</span>

FileContext<span class="hl opt">::</span><span class="hl kwd">FileContext</span><span class="hl opt">(</span><span class="hl kwb">const</span> FileDef <span class="hl opt">*</span>fd<span class="hl opt">) :</span> <span class="hl kwd">RefCountedContext</span><span class="hl opt">(</span><span class="hl str">&quot;FileContext&quot;</span><span class="hl opt">)</span>
<span class="hl opt">{</span>
  p <span class="hl opt">=</span> <span class="hl kwa">new</span> <span class="hl kwd">Private</span><span class="hl opt">(</span>fd<span class="hl opt">);</span>
<span class="hl opt">}</span>

FileContext<span class="hl opt">::~</span><span class="hl kwd">FileContext</span><span class="hl opt">()</span>
<span class="hl opt">{</span>
  <span class="hl kwa">delete</span> p<span class="hl opt">;</span>
<span class="hl opt">}</span>

TemplateVariant FileContext<span class="hl opt">::</span><span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwb">const char</span> <span class="hl opt">*</span>n<span class="hl opt">)</span> <span class="hl kwb">const</span>
<span class="hl opt">{</span>
  <span class="hl kwa">return</span> p<span class="hl opt">-&gt;</span><span class="hl kwd">get</span><span class="hl opt">(</span>n<span class="hl opt">);</span>
<span class="hl opt">}</span>

<span class="hl slc">//------------------------------------------------------------------------</span>

<span class="hl slc">//%% struct Dir(Symbol): directory information</span>
<span class="hl slc">//%% {</span>
<span class="hl kwc">class</span> DirContext<span class="hl opt">::</span>Private <span class="hl opt">:</span> <span class="hl kwc">public</span> DefinitionContext<span class="hl opt">&lt;</span>DirContext<span class="hl opt">::</span>Private<span class="hl opt">&gt;</span>
<span class="hl opt">{</span>
  <span class="hl kwc">public</span><span class="hl opt">:</span>
    <span class="hl kwd">Private</span><span class="hl opt">(</span><span class="hl kwb">const</span> DirDef <span class="hl opt">*</span>dd<span class="hl opt">) :</span> DefinitionContext<span class="hl opt">&lt;</span>DirContext<span class="hl opt">::</span>Private<span class="hl opt">&gt;(</span>dd<span class="hl opt">) ,</span> <span class="hl kwd">m_dirDef</span><span class="hl opt">(</span>dd<span class="hl opt">)</span>
    <span class="hl opt">{</span>
      <span class="hl kwb">static bool</span> init<span class="hl opt">=</span>FALSE<span class="hl opt">;</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>init<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwd">addBaseProperties</span><span class="hl opt">(</span>s_inst<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;title&quot;</span><span class="hl opt">,         &amp;</span>Private<span class="hl opt">::</span>title<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;highlight&quot;</span><span class="hl opt">,     &amp;</span>Private<span class="hl opt">::</span>highlight<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;subhighlight&quot;</span><span class="hl opt">,  &amp;</span>Private<span class="hl opt">::</span>subHighlight<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;dirName&quot;</span><span class="hl opt">,       &amp;</span>Private<span class="hl opt">::</span>dirName<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;dirs&quot;</span><span class="hl opt">,          &amp;</span>Private<span class="hl opt">::</span>dirs<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;files&quot;</span><span class="hl opt">,         &amp;</span>Private<span class="hl opt">::</span>files<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;hasDetails&quot;</span><span class="hl opt">,    &amp;</span>Private<span class="hl opt">::</span>hasDetails<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;hasDirGraph&quot;</span><span class="hl opt">,   &amp;</span>Private<span class="hl opt">::</span>hasDirGraph<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;dirGraph&quot;</span><span class="hl opt">,      &amp;</span>Private<span class="hl opt">::</span>dirGraph<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;compoundType&quot;</span><span class="hl opt">,  &amp;</span>Private<span class="hl opt">::</span>compoundType<span class="hl opt">);</span>
        init<span class="hl opt">=</span>TRUE<span class="hl opt">;</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>dd<span class="hl opt">-&gt;</span><span class="hl kwd">cookie</span><span class="hl opt">()) {</span> dd<span class="hl opt">-&gt;</span><span class="hl kwd">setCookie</span><span class="hl opt">(</span><span class="hl kwa">new</span> DirContext<span class="hl opt">::</span>Private<span class="hl opt">::</span><span class="hl kwd">Cachable</span><span class="hl opt">(</span>dd<span class="hl opt">)); }</span>
    <span class="hl opt">}</span>
    <span class="hl kwc">virtual</span> <span class="hl opt">~</span><span class="hl kwd">Private</span><span class="hl opt">() {}</span>
    TemplateVariant <span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwb">const char</span> <span class="hl opt">*</span>n<span class="hl opt">)</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> s_inst<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwa">this</span><span class="hl opt">,</span>n<span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">title</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">TemplateVariant</span><span class="hl opt">(</span>m_dirDef<span class="hl opt">-&gt;</span><span class="hl kwd">shortTitle</span><span class="hl opt">());</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">highlight</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">TemplateVariant</span><span class="hl opt">(</span><span class="hl str">&quot;files&quot;</span><span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">subHighlight</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">TemplateVariant</span><span class="hl opt">(</span><span class="hl str">&quot;&quot;</span><span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">dirName</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">TemplateVariant</span><span class="hl opt">(</span>m_dirDef<span class="hl opt">-&gt;</span><span class="hl kwd">shortName</span><span class="hl opt">());</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">dirs</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      Cachable <span class="hl opt">&amp;</span>cache <span class="hl opt">=</span> <span class="hl kwd">getCache</span><span class="hl opt">();</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>cache<span class="hl opt">.</span>dirs<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        cache<span class="hl opt">.</span>dirs<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>TemplateList<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">());</span>
        <span class="hl kwa">for</span><span class="hl opt">(</span><span class="hl kwb">const</span> <span class="hl kwc">auto</span> dd <span class="hl opt">:</span> m_dirDef<span class="hl opt">-&gt;</span><span class="hl kwd">subDirs</span><span class="hl opt">())</span>
        <span class="hl opt">{</span>
          DirContext <span class="hl opt">*</span>dc <span class="hl opt">=</span> <span class="hl kwa">new</span> <span class="hl kwd">DirContext</span><span class="hl opt">(</span>dd<span class="hl opt">);</span>
          cache<span class="hl opt">.</span>dirs<span class="hl opt">-&gt;</span><span class="hl kwd">append</span><span class="hl opt">(</span>dc<span class="hl opt">);</span>
        <span class="hl opt">}</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> cache<span class="hl opt">.</span>dirs<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">files</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      Cachable <span class="hl opt">&amp;</span>cache <span class="hl opt">=</span> <span class="hl kwd">getCache</span><span class="hl opt">();</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>cache<span class="hl opt">.</span>files<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        cache<span class="hl opt">.</span>files<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>TemplateList<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">());</span>
        FileList <span class="hl opt">*</span>files <span class="hl opt">=</span> m_dirDef<span class="hl opt">-&gt;</span><span class="hl kwd">getFiles</span><span class="hl opt">();</span>
        <span class="hl kwa">if</span> <span class="hl opt">(</span>files<span class="hl opt">)</span>
        <span class="hl opt">{</span>
          QListIterator<span class="hl opt">&lt;</span>FileDef<span class="hl opt">&gt;</span> <span class="hl kwd">it</span><span class="hl opt">(*</span>files<span class="hl opt">);</span>
          <span class="hl kwb">const</span> FileDef <span class="hl opt">*</span>fd<span class="hl opt">;</span>
          <span class="hl kwa">for</span> <span class="hl opt">(</span>it<span class="hl opt">.</span><span class="hl kwd">toFirst</span><span class="hl opt">();(</span>fd<span class="hl opt">=</span>it<span class="hl opt">.</span><span class="hl kwd">current</span><span class="hl opt">());++</span>it<span class="hl opt">)</span>
          <span class="hl opt">{</span>
            FileContext <span class="hl opt">*</span>fc <span class="hl opt">=</span> FileContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>fd<span class="hl opt">);</span>
            cache<span class="hl opt">.</span>files<span class="hl opt">-&gt;</span><span class="hl kwd">append</span><span class="hl opt">(</span>fc<span class="hl opt">);</span>
          <span class="hl opt">}</span>
        <span class="hl opt">}</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> cache<span class="hl opt">.</span>files<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">hasDetails</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_dirDef<span class="hl opt">-&gt;</span><span class="hl kwd">hasDetailedDescription</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">compoundType</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trDir</span><span class="hl opt">(</span>FALSE<span class="hl opt">,</span>TRUE<span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">relPath</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl str">&quot;&quot;</span><span class="hl opt">;</span>
    <span class="hl opt">}</span>
    DotDirDeps <span class="hl opt">*</span><span class="hl kwd">getDirDepsGraph</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      Cachable <span class="hl opt">&amp;</span>cache <span class="hl opt">=</span> <span class="hl kwd">getCache</span><span class="hl opt">();</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>cache<span class="hl opt">.</span>dirDepsGraph<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        cache<span class="hl opt">.</span>dirDepsGraph<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span><span class="hl kwa">new</span> <span class="hl kwd">DotDirDeps</span><span class="hl opt">(</span>m_dirDef<span class="hl opt">));</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> cache<span class="hl opt">.</span>dirDepsGraph<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">hasDirGraph</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwb">bool</span> result<span class="hl opt">=</span>FALSE<span class="hl opt">;</span>
      <span class="hl kwb">static bool</span> haveDot  <span class="hl opt">=</span> <span class="hl kwd">Config_getBool</span><span class="hl opt">(</span>HAVE_DOT<span class="hl opt">);</span>
      <span class="hl kwb">static bool</span> dirGraph <span class="hl opt">=</span> <span class="hl kwd">Config_getBool</span><span class="hl opt">(</span>DIRECTORY_GRAPH<span class="hl opt">);</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>haveDot <span class="hl opt">&amp;&amp;</span> dirGraph<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        DotDirDeps <span class="hl opt">*</span>graph <span class="hl opt">=</span> <span class="hl kwd">getDirDepsGraph</span><span class="hl opt">();</span>
        result <span class="hl opt">= !</span>graph<span class="hl opt">-&gt;</span><span class="hl kwd">isTrivial</span><span class="hl opt">();</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> result<span class="hl opt">;</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">dirGraph</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      QGString result<span class="hl opt">;</span>
      <span class="hl kwb">static bool</span> haveDot  <span class="hl opt">=</span> <span class="hl kwd">Config_getBool</span><span class="hl opt">(</span>HAVE_DOT<span class="hl opt">);</span>
      <span class="hl kwb">static bool</span> dirGraph <span class="hl opt">=</span> <span class="hl kwd">Config_getBool</span><span class="hl opt">(</span>DIRECTORY_GRAPH<span class="hl opt">);</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>haveDot <span class="hl opt">&amp;&amp;</span> dirGraph<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        DotDirDeps <span class="hl opt">*</span>graph <span class="hl opt">=</span> <span class="hl kwd">getDirDepsGraph</span><span class="hl opt">();</span>
        FTextStream <span class="hl kwd">t</span><span class="hl opt">(&amp;</span>result<span class="hl opt">);</span>
        <span class="hl kwa">switch</span> <span class="hl opt">(</span>g_globals<span class="hl opt">.</span>outputFormat<span class="hl opt">)</span>
        <span class="hl opt">{</span>
          <span class="hl kwa">case</span> ContextOutputFormat_Html<span class="hl opt">:</span>
            <span class="hl opt">{</span>
              graph<span class="hl opt">-&gt;</span><span class="hl kwd">writeGraph</span><span class="hl opt">(</span>t<span class="hl opt">,</span>GOF_BITMAP<span class="hl opt">,</span>
                                EOF_Html<span class="hl opt">,</span>
                                g_globals<span class="hl opt">.</span>outputDir<span class="hl opt">,</span>
                                g_globals<span class="hl opt">.</span>outputDir<span class="hl opt">+</span>Portable<span class="hl opt">::</span><span class="hl kwd">pathSeparator</span><span class="hl opt">()+</span>m_dirDef<span class="hl opt">-&gt;</span><span class="hl kwd">getOutputFileBase</span><span class="hl opt">()+</span>Doxygen<span class="hl opt">::</span>htmlFileExtension<span class="hl opt">,</span>
                                <span class="hl kwd">relPathAsString</span><span class="hl opt">(),</span>
                                TRUE<span class="hl opt">,</span>
                                g_globals<span class="hl opt">.</span>dynSectionId<span class="hl opt">,</span>
                                FALSE<span class="hl opt">);</span>
            <span class="hl opt">}</span>
            <span class="hl kwa">break</span><span class="hl opt">;</span>
          <span class="hl kwa">case</span> ContextOutputFormat_Latex<span class="hl opt">:</span>
            <span class="hl opt">{</span>
              graph<span class="hl opt">-&gt;</span><span class="hl kwd">writeGraph</span><span class="hl opt">(</span>t<span class="hl opt">,</span>GOF_EPS<span class="hl opt">,</span>
                                EOF_LaTeX<span class="hl opt">,</span>
                                g_globals<span class="hl opt">.</span>outputDir<span class="hl opt">,</span>
                                g_globals<span class="hl opt">.</span>outputDir<span class="hl opt">+</span>Portable<span class="hl opt">::</span><span class="hl kwd">pathSeparator</span><span class="hl opt">()+</span>m_dirDef<span class="hl opt">-&gt;</span><span class="hl kwd">getOutputFileBase</span><span class="hl opt">()+</span><span class="hl str">&quot;.tex&quot;</span><span class="hl opt">,</span>
                                <span class="hl kwd">relPathAsString</span><span class="hl opt">(),</span>
                                TRUE<span class="hl opt">,</span>
                                g_globals<span class="hl opt">.</span>dynSectionId<span class="hl opt">,</span>
                                FALSE<span class="hl opt">);</span>
            <span class="hl opt">}</span>
            <span class="hl kwa">break</span><span class="hl opt">;</span>
            <span class="hl slc">// TODO: support other generators</span>
          <span class="hl kwa">default</span><span class="hl opt">:</span>
            <span class="hl kwd">err</span><span class="hl opt">(</span><span class="hl str">&quot;context.cpp: output format not yet supported&quot;</span><span class="hl opt">);</span>
            <span class="hl kwa">break</span><span class="hl opt">;</span>
        <span class="hl opt">}</span>
        g_globals<span class="hl opt">.</span>dynSectionId<span class="hl opt">++;</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> <span class="hl kwd">TemplateVariant</span><span class="hl opt">(</span>result<span class="hl opt">.</span><span class="hl kwd">data</span><span class="hl opt">(),</span>TRUE<span class="hl opt">);</span>
    <span class="hl opt">}</span>

  <span class="hl kwc">private</span><span class="hl opt">:</span>
    <span class="hl kwb">const</span> DirDef <span class="hl opt">*</span>m_dirDef<span class="hl opt">;</span>
    <span class="hl kwb">struct</span> Cachable <span class="hl opt">:</span> <span class="hl kwc">public</span> DefinitionContext<span class="hl opt">&lt;</span>DirContext<span class="hl opt">::</span>Private<span class="hl opt">&gt;::</span>Cachable
    <span class="hl opt">{</span>
      <span class="hl kwd">Cachable</span><span class="hl opt">(</span><span class="hl kwb">const</span> DirDef <span class="hl opt">*</span>dd<span class="hl opt">) :</span> DefinitionContext<span class="hl opt">&lt;</span>DirContext<span class="hl opt">::</span>Private<span class="hl opt">&gt;::</span><span class="hl kwd">Cachable</span><span class="hl opt">(</span>dd<span class="hl opt">) {}</span>
      SharedPtr<span class="hl opt">&lt;</span>TemplateList<span class="hl opt">&gt;</span>  dirs<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>TemplateList<span class="hl opt">&gt;</span>  files<span class="hl opt">;</span>
      ScopedPtr<span class="hl opt">&lt;</span>DotDirDeps<span class="hl opt">&gt;</span>    dirDepsGraph<span class="hl opt">;</span>
    <span class="hl opt">};</span>
    Cachable <span class="hl opt">&amp;</span><span class="hl kwd">getCache</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      Cachable <span class="hl opt">*</span>c <span class="hl opt">=</span> <span class="hl kwa">static_cast</span><span class="hl opt">&lt;</span>Cachable<span class="hl opt">*&gt;(</span>m_dirDef<span class="hl opt">-&gt;</span><span class="hl kwd">cookie</span><span class="hl opt">());</span>
      <span class="hl kwa">assert</span><span class="hl opt">(</span>c<span class="hl opt">!=</span><span class="hl num">0</span><span class="hl opt">);</span>
      <span class="hl kwa">return</span> <span class="hl opt">*</span>c<span class="hl opt">;</span>
    <span class="hl opt">}</span>
    <span class="hl kwb">static</span> PropertyMapper<span class="hl opt">&lt;</span>DirContext<span class="hl opt">::</span>Private<span class="hl opt">&gt;</span> s_inst<span class="hl opt">;</span>
<span class="hl opt">};</span>
<span class="hl slc">//%% }</span>

PropertyMapper<span class="hl opt">&lt;</span>DirContext<span class="hl opt">::</span>Private<span class="hl opt">&gt;</span> DirContext<span class="hl opt">::</span>Private<span class="hl opt">::</span>s_inst<span class="hl opt">;</span>

DirContext<span class="hl opt">::</span><span class="hl kwd">DirContext</span><span class="hl opt">(</span><span class="hl kwb">const</span> DirDef <span class="hl opt">*</span>fd<span class="hl opt">) :</span> <span class="hl kwd">RefCountedContext</span><span class="hl opt">(</span><span class="hl str">&quot;DirContext&quot;</span><span class="hl opt">)</span>
<span class="hl opt">{</span>
  p <span class="hl opt">=</span> <span class="hl kwa">new</span> <span class="hl kwd">Private</span><span class="hl opt">(</span>fd<span class="hl opt">);</span>
<span class="hl opt">}</span>

DirContext<span class="hl opt">::~</span><span class="hl kwd">DirContext</span><span class="hl opt">()</span>
<span class="hl opt">{</span>
  <span class="hl kwa">delete</span> p<span class="hl opt">;</span>
<span class="hl opt">}</span>

TemplateVariant DirContext<span class="hl opt">::</span><span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwb">const char</span> <span class="hl opt">*</span>n<span class="hl opt">)</span> <span class="hl kwb">const</span>
<span class="hl opt">{</span>
  <span class="hl kwa">return</span> p<span class="hl opt">-&gt;</span><span class="hl kwd">get</span><span class="hl opt">(</span>n<span class="hl opt">);</span>
<span class="hl opt">}</span>

<span class="hl slc">//------------------------------------------------------------------------</span>

<span class="hl slc">//%% struct Page(Symbol): page information</span>
<span class="hl slc">//%% {</span>
<span class="hl kwc">class</span> PageContext<span class="hl opt">::</span>Private <span class="hl opt">:</span> <span class="hl kwc">public</span> DefinitionContext<span class="hl opt">&lt;</span>PageContext<span class="hl opt">::</span>Private<span class="hl opt">&gt;</span>
<span class="hl opt">{</span>
  <span class="hl kwc">public</span><span class="hl opt">:</span>
    <span class="hl kwd">Private</span><span class="hl opt">(</span><span class="hl kwb">const</span> PageDef <span class="hl opt">*</span>pd<span class="hl opt">,</span><span class="hl kwb">bool</span> isMainPage<span class="hl opt">,</span><span class="hl kwb">bool</span> isExample<span class="hl opt">)</span>
      <span class="hl opt">:</span> DefinitionContext<span class="hl opt">&lt;</span>PageContext<span class="hl opt">::</span>Private<span class="hl opt">&gt;(</span>pd<span class="hl opt">) ,</span> <span class="hl kwd">m_pageDef</span><span class="hl opt">(</span>pd<span class="hl opt">),</span> <span class="hl kwd">m_isMainPage</span><span class="hl opt">(</span>isMainPage<span class="hl opt">),</span>
        <span class="hl kwd">m_isExample</span><span class="hl opt">(</span>isExample<span class="hl opt">)</span>
    <span class="hl opt">{</span>
      <span class="hl kwb">static bool</span> init<span class="hl opt">=</span>FALSE<span class="hl opt">;</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>init<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwd">addBaseProperties</span><span class="hl opt">(</span>s_inst<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;title&quot;</span><span class="hl opt">,       &amp;</span>Private<span class="hl opt">::</span>title<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;highlight&quot;</span><span class="hl opt">,   &amp;</span>Private<span class="hl opt">::</span>highlight<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;subhighlight&quot;</span><span class="hl opt">,&amp;</span>Private<span class="hl opt">::</span>subHighlight<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;example&quot;</span><span class="hl opt">,     &amp;</span>Private<span class="hl opt">::</span>example<span class="hl opt">);</span>
        init<span class="hl opt">=</span>TRUE<span class="hl opt">;</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>pd<span class="hl opt">-&gt;</span><span class="hl kwd">cookie</span><span class="hl opt">()) {</span> pd<span class="hl opt">-&gt;</span><span class="hl kwd">setCookie</span><span class="hl opt">(</span><span class="hl kwa">new</span> PageContext<span class="hl opt">::</span>Private<span class="hl opt">::</span><span class="hl kwd">Cachable</span><span class="hl opt">(</span>pd<span class="hl opt">)); }</span>
    <span class="hl opt">}</span>
    <span class="hl kwc">virtual</span> <span class="hl opt">~</span><span class="hl kwd">Private</span><span class="hl opt">() {}</span>
    TemplateVariant <span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwb">const char</span> <span class="hl opt">*</span>n<span class="hl opt">)</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> s_inst<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwa">this</span><span class="hl opt">,</span>n<span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">title</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>m_isMainPage<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">if</span> <span class="hl opt">(</span><span class="hl kwd">mainPageHasTitle</span><span class="hl opt">())</span>
        <span class="hl opt">{</span>
          <span class="hl kwa">return</span> m_pageDef<span class="hl opt">-&gt;</span><span class="hl kwd">title</span><span class="hl opt">();</span>
        <span class="hl opt">}</span>
        <span class="hl kwa">else</span>
        <span class="hl opt">{</span>
          <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trMainPage</span><span class="hl opt">();</span>
        <span class="hl opt">}</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">else if</span> <span class="hl opt">(</span>m_isExample<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> m_pageDef<span class="hl opt">-&gt;</span><span class="hl kwd">name</span><span class="hl opt">();</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">else</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> m_pageDef<span class="hl opt">-&gt;</span><span class="hl kwd">title</span><span class="hl opt">();</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">relPath</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>m_isMainPage<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> <span class="hl str">&quot;&quot;</span><span class="hl opt">;</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">else</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> DefinitionContext<span class="hl opt">&lt;</span>PageContext<span class="hl opt">::</span>Private<span class="hl opt">&gt;::</span><span class="hl kwd">relPath</span><span class="hl opt">();</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">highlight</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>m_isMainPage<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> <span class="hl str">&quot;main&quot;</span><span class="hl opt">;</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">else</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> <span class="hl str">&quot;pages&quot;</span><span class="hl opt">;</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">subHighlight</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl str">&quot;&quot;</span><span class="hl opt">;</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">example</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>m_isExample<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        Cachable <span class="hl opt">&amp;</span>cache <span class="hl opt">=</span> <span class="hl kwd">getCache</span><span class="hl opt">();</span>
        <span class="hl kwa">if</span> <span class="hl opt">(!</span>cache<span class="hl opt">.</span>example <span class="hl opt">||</span> g_globals<span class="hl opt">.</span>outputFormat<span class="hl opt">!=</span>cache<span class="hl opt">.</span>exampleOutputFormat<span class="hl opt">)</span>
        <span class="hl opt">{</span>
          cache<span class="hl opt">.</span>example<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span><span class="hl kwa">new</span> <span class="hl kwd">TemplateVariant</span><span class="hl opt">(</span>
                <span class="hl kwd">parseDoc</span><span class="hl opt">(</span>m_pageDef<span class="hl opt">,</span>m_pageDef<span class="hl opt">-&gt;</span><span class="hl kwd">docFile</span><span class="hl opt">(),</span>m_pageDef<span class="hl opt">-&gt;</span><span class="hl kwd">docLine</span><span class="hl opt">(),</span>
                  <span class="hl kwd">relPathAsString</span><span class="hl opt">(),</span><span class="hl str">&quot;</span><span class="hl esc">\\</span><span class="hl str">include &quot;</span><span class="hl opt">+</span>m_pageDef<span class="hl opt">-&gt;</span><span class="hl kwd">name</span><span class="hl opt">(),</span>FALSE<span class="hl opt">)));</span>
          cache<span class="hl opt">.</span>exampleOutputFormat <span class="hl opt">=</span> g_globals<span class="hl opt">.</span>outputFormat<span class="hl opt">;</span>
        <span class="hl opt">}</span>
        <span class="hl kwa">return</span> <span class="hl opt">*</span>cache<span class="hl opt">.</span>example<span class="hl opt">;</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">else</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> <span class="hl kwd">TemplateVariant</span><span class="hl opt">(</span><span class="hl str">&quot;&quot;</span><span class="hl opt">);</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
  <span class="hl kwc">private</span><span class="hl opt">:</span>
    <span class="hl kwb">const</span> PageDef <span class="hl opt">*</span>m_pageDef<span class="hl opt">;</span>
    <span class="hl kwb">struct</span> Cachable <span class="hl opt">:</span> <span class="hl kwc">public</span> DefinitionContext<span class="hl opt">&lt;</span>PageContext<span class="hl opt">::</span>Private<span class="hl opt">&gt;::</span>Cachable
    <span class="hl opt">{</span>
      <span class="hl kwd">Cachable</span><span class="hl opt">(</span><span class="hl kwb">const</span> PageDef <span class="hl opt">*</span>pd<span class="hl opt">) :</span> DefinitionContext<span class="hl opt">&lt;</span>PageContext<span class="hl opt">::</span>Private<span class="hl opt">&gt;::</span><span class="hl kwd">Cachable</span><span class="hl opt">(</span>pd<span class="hl opt">),</span>
                              <span class="hl kwd">exampleOutputFormat</span><span class="hl opt">(</span>ContextOutputFormat_Unspecified<span class="hl opt">) { }</span>
      ScopedPtr<span class="hl opt">&lt;</span>TemplateVariant<span class="hl opt">&gt;</span> example<span class="hl opt">;</span>
      ContextOutputFormat        exampleOutputFormat<span class="hl opt">;</span>
    <span class="hl opt">};</span>
    Cachable <span class="hl opt">&amp;</span><span class="hl kwd">getCache</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      Cachable <span class="hl opt">*</span>c <span class="hl opt">=</span> <span class="hl kwa">static_cast</span><span class="hl opt">&lt;</span>Cachable<span class="hl opt">*&gt;(</span>m_pageDef<span class="hl opt">-&gt;</span><span class="hl kwd">cookie</span><span class="hl opt">());</span>
      <span class="hl kwa">assert</span><span class="hl opt">(</span>c<span class="hl opt">!=</span><span class="hl num">0</span><span class="hl opt">);</span>
      <span class="hl kwa">return</span> <span class="hl opt">*</span>c<span class="hl opt">;</span>
    <span class="hl opt">}</span>
    <span class="hl kwb">bool</span> m_isMainPage<span class="hl opt">;</span>
    <span class="hl kwb">bool</span> m_isExample<span class="hl opt">;</span>
    <span class="hl kwb">static</span> PropertyMapper<span class="hl opt">&lt;</span>PageContext<span class="hl opt">::</span>Private<span class="hl opt">&gt;</span> s_inst<span class="hl opt">;</span>
<span class="hl opt">};</span>
<span class="hl slc">//%% }</span>

PropertyMapper<span class="hl opt">&lt;</span>PageContext<span class="hl opt">::</span>Private<span class="hl opt">&gt;</span> PageContext<span class="hl opt">::</span>Private<span class="hl opt">::</span>s_inst<span class="hl opt">;</span>

PageContext<span class="hl opt">::</span><span class="hl kwd">PageContext</span><span class="hl opt">(</span><span class="hl kwb">const</span> PageDef <span class="hl opt">*</span>pd<span class="hl opt">,</span><span class="hl kwb">bool</span> isMainPage<span class="hl opt">,</span><span class="hl kwb">bool</span> isExample<span class="hl opt">) :</span> <span class="hl kwd">RefCountedContext</span><span class="hl opt">(</span><span class="hl str">&quot;PageContext&quot;</span><span class="hl opt">)</span>
<span class="hl opt">{</span>
  p <span class="hl opt">=</span> <span class="hl kwa">new</span> <span class="hl kwd">Private</span><span class="hl opt">(</span>pd<span class="hl opt">,</span>isMainPage<span class="hl opt">,</span>isExample<span class="hl opt">);</span>
<span class="hl opt">}</span>

PageContext<span class="hl opt">::~</span><span class="hl kwd">PageContext</span><span class="hl opt">()</span>
<span class="hl opt">{</span>
  <span class="hl kwa">delete</span> p<span class="hl opt">;</span>
<span class="hl opt">}</span>

TemplateVariant PageContext<span class="hl opt">::</span><span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwb">const char</span> <span class="hl opt">*</span>n<span class="hl opt">)</span> <span class="hl kwb">const</span>
<span class="hl opt">{</span>
  <span class="hl kwa">return</span> p<span class="hl opt">-&gt;</span><span class="hl kwd">get</span><span class="hl opt">(</span>n<span class="hl opt">);</span>
<span class="hl opt">}</span>

<span class="hl slc">//------------------------------------------------------------------------</span>

<span class="hl kwc">class</span> TextGeneratorHtml <span class="hl opt">:</span> <span class="hl kwc">public</span> TextGeneratorIntf
<span class="hl opt">{</span>
  <span class="hl kwc">public</span><span class="hl opt">:</span>
    <span class="hl kwd">TextGeneratorHtml</span><span class="hl opt">(</span>FTextStream <span class="hl opt">&amp;</span>ts<span class="hl opt">,</span><span class="hl kwb">const</span> QCString <span class="hl opt">&amp;</span>relPath<span class="hl opt">)</span>
       <span class="hl opt">:</span> <span class="hl kwd">m_ts</span><span class="hl opt">(</span>ts<span class="hl opt">),</span> <span class="hl kwd">m_relPath</span><span class="hl opt">(</span>relPath<span class="hl opt">) {}</span>
    <span class="hl kwb">void</span> <span class="hl kwd">writeString</span><span class="hl opt">(</span><span class="hl kwb">const char</span> <span class="hl opt">*</span>s<span class="hl opt">,</span><span class="hl kwb">bool</span> keepSpaces<span class="hl opt">)</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>s<span class="hl opt">==</span><span class="hl num">0</span><span class="hl opt">)</span> <span class="hl kwa">return</span><span class="hl opt">;</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>keepSpaces<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwb">const char</span> <span class="hl opt">*</span>p<span class="hl opt">=</span>s<span class="hl opt">;</span>
        <span class="hl kwb">char</span> c<span class="hl opt">;</span>
        <span class="hl kwa">while</span> <span class="hl opt">((</span>c<span class="hl opt">=*</span>p<span class="hl opt">++))</span>
        <span class="hl opt">{</span>
          <span class="hl kwa">switch</span><span class="hl opt">(</span>c<span class="hl opt">)</span>
          <span class="hl opt">{</span>
            <span class="hl kwa">case</span> <span class="hl str">'&lt;'</span><span class="hl opt">:</span>  m_ts <span class="hl opt">&lt;&lt;</span> <span class="hl str">&quot;&amp;lt;&quot;</span><span class="hl opt">;</span> <span class="hl kwa">break</span><span class="hl opt">;</span>
            <span class="hl kwa">case</span> <span class="hl str">'&gt;'</span><span class="hl opt">:</span>  m_ts <span class="hl opt">&lt;&lt;</span> <span class="hl str">&quot;&amp;gt;&quot;</span><span class="hl opt">;</span> <span class="hl kwa">break</span><span class="hl opt">;</span>
            <span class="hl kwa">case</span> <span class="hl str">'</span><span class="hl esc">\'</span><span class="hl str">'</span><span class="hl opt">:</span> m_ts <span class="hl opt">&lt;&lt;</span> <span class="hl str">&quot;&amp;#39;&quot;</span><span class="hl opt">;</span> <span class="hl kwa">break</span><span class="hl opt">;</span>
            <span class="hl kwa">case</span> <span class="hl str">'&quot;'</span><span class="hl opt">:</span>  m_ts <span class="hl opt">&lt;&lt;</span> <span class="hl str">&quot;&amp;quot;&quot;</span><span class="hl opt">;</span> <span class="hl kwa">break</span><span class="hl opt">;</span>
            <span class="hl kwa">case</span> <span class="hl str">'&amp;'</span><span class="hl opt">:</span>  m_ts <span class="hl opt">&lt;&lt;</span> <span class="hl str">&quot;&amp;amp;&quot;</span><span class="hl opt">;</span> <span class="hl kwa">break</span><span class="hl opt">;</span>
            <span class="hl kwa">case</span> <span class="hl str">' '</span><span class="hl opt">:</span>  m_ts <span class="hl opt">&lt;&lt;</span> <span class="hl str">&quot;&amp;#160;&quot;</span><span class="hl opt">;</span> <span class="hl kwa">break</span><span class="hl opt">;</span>
          <span class="hl opt">}</span>
        <span class="hl opt">}</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">else</span>
      <span class="hl opt">{</span>
        m_ts <span class="hl opt">&lt;&lt;</span> <span class="hl kwd">convertToHtml</span><span class="hl opt">(</span>s<span class="hl opt">);</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>

    <span class="hl kwb">void</span> <span class="hl kwd">writeBreak</span><span class="hl opt">(</span><span class="hl kwb">int</span> indent<span class="hl opt">)</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      m_ts <span class="hl opt">&lt;&lt;</span> <span class="hl str">&quot;&lt;br /&gt;&quot;</span><span class="hl opt">;</span>
      <span class="hl kwa">for</span> <span class="hl opt">(</span><span class="hl kwb">int</span> i<span class="hl opt">=</span><span class="hl num">0</span><span class="hl opt">;</span>i<span class="hl opt">&lt;</span>indent<span class="hl opt">;</span>i<span class="hl opt">++)</span>
      <span class="hl opt">{</span>
        m_ts <span class="hl opt">&lt;&lt;</span> <span class="hl str">&quot;&amp;#160;&quot;</span><span class="hl opt">;</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>

    <span class="hl kwb">void</span> <span class="hl kwd">writeLink</span><span class="hl opt">(</span><span class="hl kwb">const char</span> <span class="hl opt">*</span>ref<span class="hl opt">,</span><span class="hl kwb">const char</span> <span class="hl opt">*</span>f<span class="hl opt">,</span>
                   <span class="hl kwb">const char</span> <span class="hl opt">*</span>anchor<span class="hl opt">,</span><span class="hl kwb">const char</span> <span class="hl opt">*</span>name
                  <span class="hl opt">)</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>ref<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        m_ts <span class="hl opt">&lt;&lt;</span> <span class="hl str">&quot;&lt;a class=</span><span class="hl esc">\&quot;</span><span class="hl str">elRef</span><span class="hl esc">\&quot;</span> <span class="hl str">&quot;</span><span class="hl opt">;</span>
        m_ts <span class="hl opt">&lt;&lt;</span> <span class="hl kwd">externalLinkTarget</span><span class="hl opt">();</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">else</span>
      <span class="hl opt">{</span>
        m_ts <span class="hl opt">&lt;&lt;</span> <span class="hl str">&quot;&lt;a class=</span><span class="hl esc">\&quot;</span><span class="hl str">el</span><span class="hl esc">\&quot;</span> <span class="hl str">&quot;</span><span class="hl opt">;</span>
      <span class="hl opt">}</span>
      m_ts <span class="hl opt">&lt;&lt;</span> <span class="hl str">&quot;href=</span><span class="hl esc">\&quot;</span><span class="hl str">&quot;</span><span class="hl opt">;</span>
      m_ts <span class="hl opt">&lt;&lt;</span> <span class="hl kwd">externalRef</span><span class="hl opt">(</span>m_relPath<span class="hl opt">,</span>ref<span class="hl opt">,</span>TRUE<span class="hl opt">);</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>f<span class="hl opt">)</span> m_ts <span class="hl opt">&lt;&lt;</span> f <span class="hl opt">&lt;&lt;</span> Doxygen<span class="hl opt">::</span>htmlFileExtension<span class="hl opt">;</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>anchor<span class="hl opt">)</span> m_ts <span class="hl opt">&lt;&lt;</span> <span class="hl str">&quot;#&quot;</span> <span class="hl opt">&lt;&lt;</span> anchor<span class="hl opt">;</span>
      m_ts <span class="hl opt">&lt;&lt;</span> <span class="hl str">&quot;</span><span class="hl esc">\&quot;</span><span class="hl str">&gt;&quot;</span><span class="hl opt">;</span>
      m_ts <span class="hl opt">&lt;&lt;</span> <span class="hl kwd">convertToHtml</span><span class="hl opt">(</span>name<span class="hl opt">);</span>
      m_ts <span class="hl opt">&lt;&lt;</span> <span class="hl str">&quot;&lt;/a&gt;&quot;</span><span class="hl opt">;</span>
    <span class="hl opt">}</span>

  <span class="hl kwc">private</span><span class="hl opt">:</span>
    FTextStream <span class="hl opt">&amp;</span>m_ts<span class="hl opt">;</span>
    QCString m_relPath<span class="hl opt">;</span>
<span class="hl opt">};</span>

<span class="hl slc">//------------------------------------------------------------------------</span>

<span class="hl kwc">class</span> TextGeneratorLatex <span class="hl opt">:</span> <span class="hl kwc">public</span> TextGeneratorIntf
<span class="hl opt">{</span>
  <span class="hl kwc">public</span><span class="hl opt">:</span>
    <span class="hl kwd">TextGeneratorLatex</span><span class="hl opt">(</span>FTextStream <span class="hl opt">&amp;</span>ts<span class="hl opt">) :</span> <span class="hl kwd">m_ts</span><span class="hl opt">(</span>ts<span class="hl opt">) {}</span>
    <span class="hl kwb">void</span> <span class="hl kwd">writeString</span><span class="hl opt">(</span><span class="hl kwb">const char</span> <span class="hl opt">*</span>s<span class="hl opt">,</span><span class="hl kwb">bool</span> keepSpaces<span class="hl opt">)</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>s<span class="hl opt">==</span><span class="hl num">0</span><span class="hl opt">)</span> <span class="hl kwa">return</span><span class="hl opt">;</span>
      m_ts <span class="hl opt">&lt;&lt;</span> <span class="hl kwd">convertToLaTeX</span><span class="hl opt">(</span>s<span class="hl opt">,</span>FALSE<span class="hl opt">,</span>keepSpaces<span class="hl opt">);</span>
    <span class="hl opt">}</span>
    <span class="hl kwb">void</span> <span class="hl kwd">writeBreak</span><span class="hl opt">(</span><span class="hl kwb">int</span> indent<span class="hl opt">)</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      m_ts <span class="hl opt">&lt;&lt;</span> <span class="hl str">&quot;</span><span class="hl esc">\\\\</span><span class="hl str">*</span><span class="hl esc">\n</span><span class="hl str">&quot;</span><span class="hl opt">;</span>
      <span class="hl kwa">for</span> <span class="hl opt">(</span><span class="hl kwb">int</span> i<span class="hl opt">=</span><span class="hl num">0</span><span class="hl opt">;</span>i<span class="hl opt">&lt;</span>indent<span class="hl opt">;</span>i<span class="hl opt">++)</span>
      <span class="hl opt">{</span>
        m_ts <span class="hl opt">&lt;&lt;</span> <span class="hl str">&quot;~&quot;</span><span class="hl opt">;</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
    <span class="hl kwb">void</span> <span class="hl kwd">writeLink</span><span class="hl opt">(</span><span class="hl kwb">const char</span> <span class="hl opt">*</span>ref<span class="hl opt">,</span><span class="hl kwb">const char</span> <span class="hl opt">*</span>f<span class="hl opt">,</span>
                   <span class="hl kwb">const char</span> <span class="hl opt">*</span>anchor<span class="hl opt">,</span><span class="hl kwb">const char</span> <span class="hl opt">*</span>text
                  <span class="hl opt">)</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwb">static bool</span> pdfHyperlinks <span class="hl opt">=</span> <span class="hl kwd">Config_getBool</span><span class="hl opt">(</span>PDF_HYPERLINKS<span class="hl opt">);</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>ref <span class="hl opt">&amp;&amp;</span> pdfHyperlinks<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        m_ts <span class="hl opt">&lt;&lt;</span> <span class="hl str">&quot;</span><span class="hl esc">\\</span><span class="hl str">mbox{</span><span class="hl esc">\\</span><span class="hl str">hyperlink{&quot;</span><span class="hl opt">;</span>
        <span class="hl kwa">if</span> <span class="hl opt">(</span>f<span class="hl opt">)</span> m_ts <span class="hl opt">&lt;&lt;</span> <span class="hl kwd">stripPath</span><span class="hl opt">(</span>f<span class="hl opt">);</span>
        <span class="hl kwa">if</span> <span class="hl opt">(</span>f <span class="hl opt">&amp;&amp;</span> anchor<span class="hl opt">)</span> m_ts <span class="hl opt">&lt;&lt;</span> <span class="hl str">&quot;_&quot;</span><span class="hl opt">;</span>
        <span class="hl kwa">if</span> <span class="hl opt">(</span>anchor<span class="hl opt">)</span> m_ts <span class="hl opt">&lt;&lt;</span> anchor<span class="hl opt">;</span>
        m_ts <span class="hl opt">&lt;&lt;</span> <span class="hl str">&quot;}{&quot;</span><span class="hl opt">;</span>
        <span class="hl kwd">filterLatexString</span><span class="hl opt">(</span>m_ts<span class="hl opt">,</span>text<span class="hl opt">);</span>
        m_ts <span class="hl opt">&lt;&lt;</span> <span class="hl str">&quot;}}&quot;</span><span class="hl opt">;</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">else</span>
      <span class="hl opt">{</span>
        m_ts <span class="hl opt">&lt;&lt;</span> <span class="hl str">&quot;</span><span class="hl esc">\\</span><span class="hl str">textbf{ &quot;</span><span class="hl opt">;</span>
        <span class="hl kwd">filterLatexString</span><span class="hl opt">(</span>m_ts<span class="hl opt">,</span>text<span class="hl opt">);</span>
        m_ts <span class="hl opt">&lt;&lt;</span> <span class="hl str">&quot;}&quot;</span><span class="hl opt">;</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>

  <span class="hl kwc">private</span><span class="hl opt">:</span>
    FTextStream <span class="hl opt">&amp;</span>m_ts<span class="hl opt">;</span>
<span class="hl opt">};</span>

<span class="hl slc">//------------------------------------------------------------------------</span>

<span class="hl kwc">class</span> TextGeneratorFactory
<span class="hl opt">{</span>
  <span class="hl kwc">public</span><span class="hl opt">:</span>
    <span class="hl kwb">static</span> TextGeneratorFactory <span class="hl opt">*</span><span class="hl kwd">instance</span><span class="hl opt">()</span>
    <span class="hl opt">{</span>
      <span class="hl kwb">static</span> TextGeneratorFactory <span class="hl opt">*</span>instance <span class="hl opt">=</span> <span class="hl num">0</span><span class="hl opt">;</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>instance<span class="hl opt">==</span><span class="hl num">0</span><span class="hl opt">)</span> instance <span class="hl opt">=</span> <span class="hl kwa">new</span> TextGeneratorFactory<span class="hl opt">;</span>
      <span class="hl kwa">return</span> instance<span class="hl opt">;</span>
    <span class="hl opt">}</span>
    TextGeneratorIntf <span class="hl opt">*</span><span class="hl kwd">create</span><span class="hl opt">(</span>FTextStream <span class="hl opt">&amp;</span>ts<span class="hl opt">,</span><span class="hl kwb">const</span> QCString <span class="hl opt">&amp;</span>relPath<span class="hl opt">)</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">switch</span> <span class="hl opt">(</span>g_globals<span class="hl opt">.</span>outputFormat<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">case</span> ContextOutputFormat_Html<span class="hl opt">:</span>
          <span class="hl kwa">return new</span> <span class="hl kwd">TextGeneratorHtml</span><span class="hl opt">(</span>ts<span class="hl opt">,</span>relPath<span class="hl opt">);</span>
        <span class="hl kwa">case</span> ContextOutputFormat_Latex<span class="hl opt">:</span>
          <span class="hl kwa">return new</span> <span class="hl kwd">TextGeneratorLatex</span><span class="hl opt">(</span>ts<span class="hl opt">);</span>
        <span class="hl kwa">default</span><span class="hl opt">:</span>
          <span class="hl kwa">break</span><span class="hl opt">;</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> <span class="hl num">0</span><span class="hl opt">;</span>
    <span class="hl opt">}</span>
  <span class="hl kwc">private</span><span class="hl opt">:</span>
    <span class="hl kwd">TextGeneratorFactory</span><span class="hl opt">() {}</span>
    <span class="hl kwc">virtual</span> <span class="hl opt">~</span><span class="hl kwd">TextGeneratorFactory</span><span class="hl opt">() {}</span>
<span class="hl opt">};</span>

TemplateVariant <span class="hl kwd">createLinkedText</span><span class="hl opt">(</span><span class="hl kwb">const</span> Definition <span class="hl opt">*</span>def<span class="hl opt">,</span><span class="hl kwb">const</span> QCString <span class="hl opt">&amp;</span>relPath<span class="hl opt">,</span><span class="hl kwb">const</span> QCString <span class="hl opt">&amp;</span>text<span class="hl opt">)</span>
<span class="hl opt">{</span>
  QGString s<span class="hl opt">;</span>
  FTextStream <span class="hl kwd">ts</span><span class="hl opt">(&amp;</span>s<span class="hl opt">);</span>
  TextGeneratorIntf <span class="hl opt">*</span>tg <span class="hl opt">=</span> TextGeneratorFactory<span class="hl opt">::</span><span class="hl kwd">instance</span><span class="hl opt">()-&gt;</span><span class="hl kwd">create</span><span class="hl opt">(</span>ts<span class="hl opt">,</span>relPath<span class="hl opt">);</span>
  <span class="hl kwa">if</span> <span class="hl opt">(</span>tg<span class="hl opt">)</span>
  <span class="hl opt">{</span>
    <span class="hl kwd">linkifyText</span><span class="hl opt">(*</span>tg<span class="hl opt">,</span>def<span class="hl opt">-&gt;</span><span class="hl kwd">getOuterScope</span><span class="hl opt">(),</span>def<span class="hl opt">-&gt;</span><span class="hl kwd">getBodyDef</span><span class="hl opt">(),</span>def<span class="hl opt">,</span>text<span class="hl opt">);</span>
    <span class="hl kwa">delete</span> tg<span class="hl opt">;</span>
    <span class="hl kwa">return</span> <span class="hl kwd">TemplateVariant</span><span class="hl opt">(</span>s<span class="hl opt">.</span><span class="hl kwd">data</span><span class="hl opt">(),</span>TRUE<span class="hl opt">);</span>
  <span class="hl opt">}</span>
  <span class="hl kwa">else</span>
  <span class="hl opt">{</span>
    <span class="hl kwa">return</span> text<span class="hl opt">;</span>
  <span class="hl opt">}</span>
<span class="hl opt">}</span>

<span class="hl slc">//%% struct Member(Symbol): member information</span>
<span class="hl slc">//%% {</span>
<span class="hl kwc">class</span> MemberContext<span class="hl opt">::</span>Private <span class="hl opt">:</span> <span class="hl kwc">public</span> DefinitionContext<span class="hl opt">&lt;</span>MemberContext<span class="hl opt">::</span>Private<span class="hl opt">&gt;</span>
<span class="hl opt">{</span>
  <span class="hl kwc">public</span><span class="hl opt">:</span>
    <span class="hl kwd">Private</span><span class="hl opt">(</span><span class="hl kwb">const</span> MemberDef <span class="hl opt">*</span>md<span class="hl opt">) :</span> DefinitionContext<span class="hl opt">&lt;</span>MemberContext<span class="hl opt">::</span>Private<span class="hl opt">&gt;(</span>md<span class="hl opt">) ,</span> <span class="hl kwd">m_memberDef</span><span class="hl opt">(</span>md<span class="hl opt">)</span>
    <span class="hl opt">{</span>
      <span class="hl kwb">static bool</span> init<span class="hl opt">=</span>FALSE<span class="hl opt">;</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>init<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwd">addBaseProperties</span><span class="hl opt">(</span>s_inst<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;isSignal&quot;</span><span class="hl opt">,            &amp;</span>Private<span class="hl opt">::</span>isSignal<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;isSlot&quot;</span><span class="hl opt">,              &amp;</span>Private<span class="hl opt">::</span>isSlot<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;isVariable&quot;</span><span class="hl opt">,          &amp;</span>Private<span class="hl opt">::</span>isVariable<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;isEnumeration&quot;</span><span class="hl opt">,       &amp;</span>Private<span class="hl opt">::</span>isEnumeration<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;isEnumValue&quot;</span><span class="hl opt">,         &amp;</span>Private<span class="hl opt">::</span>isEnumValue<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;isTypedef&quot;</span><span class="hl opt">,           &amp;</span>Private<span class="hl opt">::</span>isTypedef<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;isFunction&quot;</span><span class="hl opt">,          &amp;</span>Private<span class="hl opt">::</span>isFunction<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;isFunctionPtr&quot;</span><span class="hl opt">,       &amp;</span>Private<span class="hl opt">::</span>isFunctionPtr<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;isDefine&quot;</span><span class="hl opt">,            &amp;</span>Private<span class="hl opt">::</span>isDefine<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;isFriend&quot;</span><span class="hl opt">,            &amp;</span>Private<span class="hl opt">::</span>isFriend<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;isProperty&quot;</span><span class="hl opt">,          &amp;</span>Private<span class="hl opt">::</span>isProperty<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;isEvent&quot;</span><span class="hl opt">,             &amp;</span>Private<span class="hl opt">::</span>isEvent<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;isRelated&quot;</span><span class="hl opt">,           &amp;</span>Private<span class="hl opt">::</span>isRelated<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;isForeign&quot;</span><span class="hl opt">,           &amp;</span>Private<span class="hl opt">::</span>isForeign<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;isStatic&quot;</span><span class="hl opt">,            &amp;</span>Private<span class="hl opt">::</span>isStatic<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;isInline&quot;</span><span class="hl opt">,            &amp;</span>Private<span class="hl opt">::</span>isInline<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;isExplicit&quot;</span><span class="hl opt">,          &amp;</span>Private<span class="hl opt">::</span>isExplicit<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;isMutable&quot;</span><span class="hl opt">,           &amp;</span>Private<span class="hl opt">::</span>isMutable<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;isGettable&quot;</span><span class="hl opt">,          &amp;</span>Private<span class="hl opt">::</span>isGettable<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;isPrivateGettable&quot;</span><span class="hl opt">,   &amp;</span>Private<span class="hl opt">::</span>isPrivateGettable<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;isProtectedGettable&quot;</span><span class="hl opt">, &amp;</span>Private<span class="hl opt">::</span>isProtectedGettable<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;isSettable&quot;</span><span class="hl opt">,          &amp;</span>Private<span class="hl opt">::</span>isSettable<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;isPrivateSettable&quot;</span><span class="hl opt">,   &amp;</span>Private<span class="hl opt">::</span>isPrivateSettable<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;isProtectedSettable&quot;</span><span class="hl opt">, &amp;</span>Private<span class="hl opt">::</span>isProtectedSettable<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;isReadable&quot;</span><span class="hl opt">,          &amp;</span>Private<span class="hl opt">::</span>isReadable<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;isWritable&quot;</span><span class="hl opt">,          &amp;</span>Private<span class="hl opt">::</span>isWritable<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;isAddable&quot;</span><span class="hl opt">,           &amp;</span>Private<span class="hl opt">::</span>isAddable<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;isRemovable&quot;</span><span class="hl opt">,         &amp;</span>Private<span class="hl opt">::</span>isRemovable<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;isRaisable&quot;</span><span class="hl opt">,          &amp;</span>Private<span class="hl opt">::</span>isRaisable<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;isFinal&quot;</span><span class="hl opt">,             &amp;</span>Private<span class="hl opt">::</span>isFinal<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;isAbstract&quot;</span><span class="hl opt">,          &amp;</span>Private<span class="hl opt">::</span>isAbstract<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;isOverride&quot;</span><span class="hl opt">,          &amp;</span>Private<span class="hl opt">::</span>isOverride<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;isInitonly&quot;</span><span class="hl opt">,          &amp;</span>Private<span class="hl opt">::</span>isInitonly<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;isOptional&quot;</span><span class="hl opt">,          &amp;</span>Private<span class="hl opt">::</span>isOptional<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;isRequired&quot;</span><span class="hl opt">,          &amp;</span>Private<span class="hl opt">::</span>isRequired<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;isNonAtomic&quot;</span><span class="hl opt">,         &amp;</span>Private<span class="hl opt">::</span>isNonAtomic<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;isCopy&quot;</span><span class="hl opt">,              &amp;</span>Private<span class="hl opt">::</span>isCopy<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;isAssign&quot;</span><span class="hl opt">,            &amp;</span>Private<span class="hl opt">::</span>isAssign<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;isRetain&quot;</span><span class="hl opt">,            &amp;</span>Private<span class="hl opt">::</span>isRetain<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;isWeak&quot;</span><span class="hl opt">,              &amp;</span>Private<span class="hl opt">::</span>isWeak<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;isStrong&quot;</span><span class="hl opt">,            &amp;</span>Private<span class="hl opt">::</span>isStrong<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;isUnretained&quot;</span><span class="hl opt">,        &amp;</span>Private<span class="hl opt">::</span>isUnretained<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;isNew&quot;</span><span class="hl opt">,               &amp;</span>Private<span class="hl opt">::</span>isNew<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;isSealed&quot;</span><span class="hl opt">,            &amp;</span>Private<span class="hl opt">::</span>isSealed<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;isImplementation&quot;</span><span class="hl opt">,    &amp;</span>Private<span class="hl opt">::</span>isImplementation<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;isExternal&quot;</span><span class="hl opt">,          &amp;</span>Private<span class="hl opt">::</span>isExternal<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;isTypeAlias&quot;</span><span class="hl opt">,         &amp;</span>Private<span class="hl opt">::</span>isTypeAlias<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;isDefault&quot;</span><span class="hl opt">,           &amp;</span>Private<span class="hl opt">::</span>isDefault<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;isDelete&quot;</span><span class="hl opt">,            &amp;</span>Private<span class="hl opt">::</span>isDelete<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;isNoExcept&quot;</span><span class="hl opt">,          &amp;</span>Private<span class="hl opt">::</span>isNoExcept<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;isAttribute&quot;</span><span class="hl opt">,         &amp;</span>Private<span class="hl opt">::</span>isAttribute<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;isUNOProperty&quot;</span><span class="hl opt">,       &amp;</span>Private<span class="hl opt">::</span>isUNOProperty<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;isReadonly&quot;</span><span class="hl opt">,          &amp;</span>Private<span class="hl opt">::</span>isReadonly<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;isBound&quot;</span><span class="hl opt">,             &amp;</span>Private<span class="hl opt">::</span>isBound<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;isConstrained&quot;</span><span class="hl opt">,       &amp;</span>Private<span class="hl opt">::</span>isConstrained<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;isTransient&quot;</span><span class="hl opt">,         &amp;</span>Private<span class="hl opt">::</span>isTransient<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;isMaybeVoid&quot;</span><span class="hl opt">,         &amp;</span>Private<span class="hl opt">::</span>isMaybeVoid<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;isMaybeDefault&quot;</span><span class="hl opt">,      &amp;</span>Private<span class="hl opt">::</span>isMaybeDefault<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;isMaybeAmbiguous&quot;</span><span class="hl opt">,    &amp;</span>Private<span class="hl opt">::</span>isMaybeAmbiguous<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;isPublished&quot;</span><span class="hl opt">,         &amp;</span>Private<span class="hl opt">::</span>isPublished<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;isTemplateSpecialization&quot;</span><span class="hl opt">,&amp;</span>Private<span class="hl opt">::</span>isTemplateSpecialization<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;isObjCMethod&quot;</span><span class="hl opt">,        &amp;</span>Private<span class="hl opt">::</span>isObjCMethod<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;isObjCProperty&quot;</span><span class="hl opt">,      &amp;</span>Private<span class="hl opt">::</span>isObjCProperty<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;isAnonymous&quot;</span><span class="hl opt">,         &amp;</span>Private<span class="hl opt">::</span>isAnonymous<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;hasParameters&quot;</span><span class="hl opt">,       &amp;</span>Private<span class="hl opt">::</span>hasParameters<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;declType&quot;</span><span class="hl opt">,            &amp;</span>Private<span class="hl opt">::</span>declType<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;declArgs&quot;</span><span class="hl opt">,            &amp;</span>Private<span class="hl opt">::</span>declArgs<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;anonymousType&quot;</span><span class="hl opt">,       &amp;</span>Private<span class="hl opt">::</span>anonymousType<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;anonymousMember&quot;</span><span class="hl opt">,     &amp;</span>Private<span class="hl opt">::</span>anonymousMember<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;hasDetails&quot;</span><span class="hl opt">,          &amp;</span>Private<span class="hl opt">::</span>hasDetails<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;exception&quot;</span><span class="hl opt">,           &amp;</span>Private<span class="hl opt">::</span>exception<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;bitfields&quot;</span><span class="hl opt">,           &amp;</span>Private<span class="hl opt">::</span>bitfields<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;initializer&quot;</span><span class="hl opt">,         &amp;</span>Private<span class="hl opt">::</span>initializer<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;initializerAsCode&quot;</span><span class="hl opt">,   &amp;</span>Private<span class="hl opt">::</span>initializerAsCode<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;hasOneLineInitializer&quot;</span><span class="hl opt">,   &amp;</span>Private<span class="hl opt">::</span>hasOneLineInitializer<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;hasMultiLineInitializer&quot;</span><span class="hl opt">, &amp;</span>Private<span class="hl opt">::</span>hasMultiLineInitializer<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;templateArgs&quot;</span><span class="hl opt">,        &amp;</span>Private<span class="hl opt">::</span>templateArgs<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;templateAlias&quot;</span><span class="hl opt">,       &amp;</span>Private<span class="hl opt">::</span>templateAlias<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;propertyAttrs&quot;</span><span class="hl opt">,       &amp;</span>Private<span class="hl opt">::</span>propertyAttrs<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;eventAttrs&quot;</span><span class="hl opt">,          &amp;</span>Private<span class="hl opt">::</span>eventAttrs<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;category&quot;</span><span class="hl opt">,            &amp;</span>Private<span class="hl opt">::</span>category<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;categoryRelation&quot;</span><span class="hl opt">,    &amp;</span>Private<span class="hl opt">::</span>categoryRelation<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;class&quot;</span><span class="hl opt">,               &amp;</span>Private<span class="hl opt">::</span>getClass<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;file&quot;</span><span class="hl opt">,                &amp;</span>Private<span class="hl opt">::</span>getFile<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;namespace&quot;</span><span class="hl opt">,           &amp;</span>Private<span class="hl opt">::</span>getNamespace<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;definition&quot;</span><span class="hl opt">,          &amp;</span>Private<span class="hl opt">::</span>definition<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;parameters&quot;</span><span class="hl opt">,          &amp;</span>Private<span class="hl opt">::</span>parameters<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;hasConstQualifier&quot;</span><span class="hl opt">,   &amp;</span>Private<span class="hl opt">::</span>hasConstQualifier<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;hasVolatileQualifier&quot;</span><span class="hl opt">,&amp;</span>Private<span class="hl opt">::</span>hasVolatileQualifier<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;hasRefQualifierLValue&quot;</span><span class="hl opt">, &amp;</span>Private<span class="hl opt">::</span>hasRefQualifierLValue<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;hasRefQualifierRValue&quot;</span><span class="hl opt">, &amp;</span>Private<span class="hl opt">::</span>hasRefQualifierRValue<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;trailingReturnType&quot;</span><span class="hl opt">,  &amp;</span>Private<span class="hl opt">::</span>trailingReturnType<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;extraTypeChars&quot;</span><span class="hl opt">,      &amp;</span>Private<span class="hl opt">::</span>extraTypeChars<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;templateDecls&quot;</span><span class="hl opt">,       &amp;</span>Private<span class="hl opt">::</span>templateDecls<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;labels&quot;</span><span class="hl opt">,              &amp;</span>Private<span class="hl opt">::</span>labels<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;enumBaseType&quot;</span><span class="hl opt">,        &amp;</span>Private<span class="hl opt">::</span>enumBaseType<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;enumValues&quot;</span><span class="hl opt">,          &amp;</span>Private<span class="hl opt">::</span>enumValues<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;paramDocs&quot;</span><span class="hl opt">,           &amp;</span>Private<span class="hl opt">::</span>paramDocs<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;reimplements&quot;</span><span class="hl opt">,        &amp;</span>Private<span class="hl opt">::</span>reimplements<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;implements&quot;</span><span class="hl opt">,          &amp;</span>Private<span class="hl opt">::</span>implements<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;reimplementedBy&quot;</span><span class="hl opt">,     &amp;</span>Private<span class="hl opt">::</span>reimplementedBy<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;implementedBy&quot;</span><span class="hl opt">,       &amp;</span>Private<span class="hl opt">::</span>implementedBy<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;examples&quot;</span><span class="hl opt">,            &amp;</span>Private<span class="hl opt">::</span>examples<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;typeConstraints&quot;</span><span class="hl opt">,     &amp;</span>Private<span class="hl opt">::</span>typeConstraints<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;functionQualifier&quot;</span><span class="hl opt">,   &amp;</span>Private<span class="hl opt">::</span>functionQualifier<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;sourceRefs&quot;</span><span class="hl opt">,          &amp;</span>Private<span class="hl opt">::</span>sourceRefs<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;sourceRefBys&quot;</span><span class="hl opt">,        &amp;</span>Private<span class="hl opt">::</span>sourceRefBys<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;hasSources&quot;</span><span class="hl opt">,          &amp;</span>Private<span class="hl opt">::</span>hasSources<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;sourceCode&quot;</span><span class="hl opt">,          &amp;</span>Private<span class="hl opt">::</span>sourceCode<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;hasCallGraph&quot;</span><span class="hl opt">,        &amp;</span>Private<span class="hl opt">::</span>hasCallGraph<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;callGraph&quot;</span><span class="hl opt">,           &amp;</span>Private<span class="hl opt">::</span>callGraph<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;hasCallerGraph&quot;</span><span class="hl opt">,      &amp;</span>Private<span class="hl opt">::</span>hasCallerGraph<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;callerGraph&quot;</span><span class="hl opt">,         &amp;</span>Private<span class="hl opt">::</span>callerGraph<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;hasReferencedByRelation&quot;</span><span class="hl opt">, &amp;</span>Private<span class="hl opt">::</span>hasReferencedByRelation<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;referencedByRelation&quot;</span><span class="hl opt">,    &amp;</span>Private<span class="hl opt">::</span>referencedByRelation<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;hasReferencesRelation&quot;</span><span class="hl opt">,   &amp;</span>Private<span class="hl opt">::</span>hasReferencesRelation<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;referencesRelation&quot;</span><span class="hl opt">,      &amp;</span>Private<span class="hl opt">::</span>referencesRelation<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;fieldType&quot;</span><span class="hl opt">,           &amp;</span>Private<span class="hl opt">::</span>fieldType<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;type&quot;</span><span class="hl opt">,                &amp;</span>Private<span class="hl opt">::</span>type<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;detailsVisibleFor&quot;</span><span class="hl opt">,   &amp;</span>Private<span class="hl opt">::</span>detailsVisibleFor<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;nameWithContextFor&quot;</span><span class="hl opt">,  &amp;</span>Private<span class="hl opt">::</span>nameWithContextFor<span class="hl opt">);</span>
        init<span class="hl opt">=</span>TRUE<span class="hl opt">;</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>md<span class="hl opt">-&gt;</span><span class="hl kwd">cookie</span><span class="hl opt">()) {</span> md<span class="hl opt">-&gt;</span><span class="hl kwd">setCookie</span><span class="hl opt">(</span><span class="hl kwa">new</span> MemberContext<span class="hl opt">::</span>Private<span class="hl opt">::</span><span class="hl kwd">Cachable</span><span class="hl opt">(</span>md<span class="hl opt">)); }</span>

      Cachable <span class="hl opt">&amp;</span>cache <span class="hl opt">=</span> <span class="hl kwd">getCache</span><span class="hl opt">();</span>
      cache<span class="hl opt">.</span>propertyAttrs<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>TemplateList<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">());</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>md <span class="hl opt">&amp;&amp;</span> md<span class="hl opt">-&gt;</span><span class="hl kwd">isProperty</span><span class="hl opt">())</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">if</span> <span class="hl opt">(</span>md<span class="hl opt">-&gt;</span><span class="hl kwd">isGettable</span><span class="hl opt">())</span>           cache<span class="hl opt">.</span>propertyAttrs<span class="hl opt">-&gt;</span><span class="hl kwd">append</span><span class="hl opt">(</span><span class="hl str">&quot;get&quot;</span><span class="hl opt">);</span>
        <span class="hl kwa">if</span> <span class="hl opt">(</span>md<span class="hl opt">-&gt;</span><span class="hl kwd">isPrivateGettable</span><span class="hl opt">())</span>    cache<span class="hl opt">.</span>propertyAttrs<span class="hl opt">-&gt;</span><span class="hl kwd">append</span><span class="hl opt">(</span><span class="hl str">&quot;private get&quot;</span><span class="hl opt">);</span>
        <span class="hl kwa">if</span> <span class="hl opt">(</span>md<span class="hl opt">-&gt;</span><span class="hl kwd">isProtectedGettable</span><span class="hl opt">())</span>  cache<span class="hl opt">.</span>propertyAttrs<span class="hl opt">-&gt;</span><span class="hl kwd">append</span><span class="hl opt">(</span><span class="hl str">&quot;protected get&quot;</span><span class="hl opt">);</span>
        <span class="hl kwa">if</span> <span class="hl opt">(</span>md<span class="hl opt">-&gt;</span><span class="hl kwd">isSettable</span><span class="hl opt">())</span>           cache<span class="hl opt">.</span>propertyAttrs<span class="hl opt">-&gt;</span><span class="hl kwd">append</span><span class="hl opt">(</span><span class="hl str">&quot;set&quot;</span><span class="hl opt">);</span>
        <span class="hl kwa">if</span> <span class="hl opt">(</span>md<span class="hl opt">-&gt;</span><span class="hl kwd">isPrivateSettable</span><span class="hl opt">())</span>    cache<span class="hl opt">.</span>propertyAttrs<span class="hl opt">-&gt;</span><span class="hl kwd">append</span><span class="hl opt">(</span><span class="hl str">&quot;private set&quot;</span><span class="hl opt">);</span>
        <span class="hl kwa">if</span> <span class="hl opt">(</span>md<span class="hl opt">-&gt;</span><span class="hl kwd">isProtectedSettable</span><span class="hl opt">())</span>  cache<span class="hl opt">.</span>propertyAttrs<span class="hl opt">-&gt;</span><span class="hl kwd">append</span><span class="hl opt">(</span><span class="hl str">&quot;protected set&quot;</span><span class="hl opt">);</span>
      <span class="hl opt">}</span>
      cache<span class="hl opt">.</span>eventAttrs<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>TemplateList<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">());</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>md <span class="hl opt">&amp;&amp;</span> md<span class="hl opt">-&gt;</span><span class="hl kwd">isEvent</span><span class="hl opt">())</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">if</span> <span class="hl opt">(</span>md<span class="hl opt">-&gt;</span><span class="hl kwd">isAddable</span><span class="hl opt">())</span>   cache<span class="hl opt">.</span>eventAttrs<span class="hl opt">-&gt;</span><span class="hl kwd">append</span><span class="hl opt">(</span><span class="hl str">&quot;add&quot;</span><span class="hl opt">);</span>
        <span class="hl kwa">if</span> <span class="hl opt">(</span>md<span class="hl opt">-&gt;</span><span class="hl kwd">isRemovable</span><span class="hl opt">())</span> cache<span class="hl opt">.</span>eventAttrs<span class="hl opt">-&gt;</span><span class="hl kwd">append</span><span class="hl opt">(</span><span class="hl str">&quot;remove&quot;</span><span class="hl opt">);</span>
        <span class="hl kwa">if</span> <span class="hl opt">(</span>md<span class="hl opt">-&gt;</span><span class="hl kwd">isRaisable</span><span class="hl opt">())</span>  cache<span class="hl opt">.</span>eventAttrs<span class="hl opt">-&gt;</span><span class="hl kwd">append</span><span class="hl opt">(</span><span class="hl str">&quot;raise&quot;</span><span class="hl opt">);</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
    <span class="hl kwc">virtual</span> <span class="hl opt">~</span><span class="hl kwd">Private</span><span class="hl opt">() {}</span>
    TemplateVariant <span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwb">const char</span> <span class="hl opt">*</span>n<span class="hl opt">)</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> s_inst<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwa">this</span><span class="hl opt">,</span>n<span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">fieldType</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">createLinkedText</span><span class="hl opt">(</span>m_memberDef<span class="hl opt">,</span><span class="hl kwd">relPathAsString</span><span class="hl opt">(),</span>m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">fieldType</span><span class="hl opt">());</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">declType</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      Cachable <span class="hl opt">&amp;</span>cache <span class="hl opt">=</span> <span class="hl kwd">getCache</span><span class="hl opt">();</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>cache<span class="hl opt">.</span>declTypeParsed<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        cache<span class="hl opt">.</span>declType<span class="hl opt">=</span><span class="hl kwd">createLinkedText</span><span class="hl opt">(</span>m_memberDef<span class="hl opt">,</span><span class="hl kwd">relPathAsString</span><span class="hl opt">(),</span>m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">getDeclType</span><span class="hl opt">());</span>
        cache<span class="hl opt">.</span>declTypeParsed <span class="hl opt">=</span> TRUE<span class="hl opt">;</span>
        <span class="hl kwa">return</span> cache<span class="hl opt">.</span>declType<span class="hl opt">;</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">else</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> cache<span class="hl opt">.</span>declType<span class="hl opt">;</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">declArgs</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      Cachable <span class="hl opt">&amp;</span>cache <span class="hl opt">=</span> <span class="hl kwd">getCache</span><span class="hl opt">();</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>cache<span class="hl opt">.</span>declArgsParsed<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        cache<span class="hl opt">.</span>declArgs<span class="hl opt">=</span><span class="hl kwd">createLinkedText</span><span class="hl opt">(</span>m_memberDef<span class="hl opt">,</span><span class="hl kwd">relPathAsString</span><span class="hl opt">(),</span>m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">argsString</span><span class="hl opt">());</span>
        cache<span class="hl opt">.</span>declArgsParsed <span class="hl opt">=</span> TRUE<span class="hl opt">;</span>
        <span class="hl kwa">return</span> cache<span class="hl opt">.</span>declArgs<span class="hl opt">;</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">else</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> cache<span class="hl opt">.</span>declArgs<span class="hl opt">;</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">exception</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">createLinkedText</span><span class="hl opt">(</span>m_memberDef<span class="hl opt">,</span><span class="hl kwd">relPathAsString</span><span class="hl opt">(),</span>m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">excpString</span><span class="hl opt">());</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">bitfields</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">createLinkedText</span><span class="hl opt">(</span>m_memberDef<span class="hl opt">,</span><span class="hl kwd">relPathAsString</span><span class="hl opt">(),</span>m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">bitfieldString</span><span class="hl opt">());</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">isStatic</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">isStatic</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">isObjCMethod</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">isObjCMethod</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">isObjCProperty</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">isObjCProperty</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">isImplementation</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">isImplementation</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">isSignal</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">isSignal</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">isSlot</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">isSlot</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">isTypedef</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">isTypedef</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">isFunction</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">isFunction</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">isFunctionPtr</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">isFunctionPtr</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">isFriend</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">isFriend</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">isForeign</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">isForeign</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">isEvent</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">isEvent</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">isInline</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">isInline</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">isExplicit</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">isExplicit</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">isMutable</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">isMutable</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">isGettable</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">isGettable</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">isPrivateGettable</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">isPrivateGettable</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">isProtectedGettable</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">isProtectedGettable</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">isSettable</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">isSettable</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">isPrivateSettable</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">isPrivateSettable</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">isProtectedSettable</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">isProtectedSettable</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">isReadable</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">isReadable</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">isWritable</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">isWritable</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">isAddable</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">isAddable</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">isRemovable</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">isRemovable</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">isRaisable</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">isRaisable</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">isFinal</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">isFinal</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">isAbstract</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">isAbstract</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">isOverride</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">isOverride</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">isInitonly</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">isInitonly</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">isOptional</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">isOptional</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">isRequired</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">isRequired</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">isNonAtomic</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">isNonAtomic</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">isCopy</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">isCopy</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">isAssign</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">isAssign</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">isRetain</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">isRetain</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">isWeak</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">isWeak</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">isStrong</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">isStrong</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">isUnretained</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">isUnretained</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">isNew</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">isNew</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">isSealed</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">isSealed</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">isExternal</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">isExternal</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">isTypeAlias</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">isTypeAlias</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">isDefault</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">isDefault</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">isDelete</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">isDelete</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">isNoExcept</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">isNoExcept</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">isAttribute</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">isAttribute</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">isUNOProperty</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">isUNOProperty</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">isReadonly</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">isReadonly</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">isBound</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">isBound</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">isConstrained</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">isConstrained</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">isTransient</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">isTransient</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">isMaybeVoid</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">isMaybeVoid</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">isMaybeDefault</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">isMaybeDefault</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">isMaybeAmbiguous</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">isMaybeAmbiguous</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">isPublished</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">isPublished</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">isTemplateSpecialization</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">isTemplateSpecialization</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">isProperty</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">isProperty</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">isEnumValue</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">isEnumValue</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">isVariable</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">isVariable</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">isEnumeration</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">isEnumerate</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">hasDetails</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">isDetailedSectionLinkable</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">initializer</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">createLinkedText</span><span class="hl opt">(</span>m_memberDef<span class="hl opt">,</span><span class="hl kwd">relPathAsString</span><span class="hl opt">(),</span>m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">initializer</span><span class="hl opt">());</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">initializerAsCode</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      Cachable <span class="hl opt">&amp;</span>cache <span class="hl opt">=</span> <span class="hl kwd">getCache</span><span class="hl opt">();</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>cache<span class="hl opt">.</span>initializerParsed<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        QCString scopeName<span class="hl opt">;</span>
        <span class="hl kwa">if</span> <span class="hl opt">(</span>m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">getClassDef</span><span class="hl opt">())</span>
        <span class="hl opt">{</span>
          scopeName <span class="hl opt">=</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">getClassDef</span><span class="hl opt">()-&gt;</span><span class="hl kwd">name</span><span class="hl opt">();</span>
        <span class="hl opt">}</span>
        <span class="hl kwa">else if</span> <span class="hl opt">(</span>m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">getNamespaceDef</span><span class="hl opt">())</span>
        <span class="hl opt">{</span>
          scopeName <span class="hl opt">=</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">getNamespaceDef</span><span class="hl opt">()-&gt;</span><span class="hl kwd">name</span><span class="hl opt">();</span>
        <span class="hl opt">}</span>
        cache<span class="hl opt">.</span>initializer <span class="hl opt">=</span> <span class="hl kwd">parseCode</span><span class="hl opt">(</span><span class="hl kwa">const_cast</span><span class="hl opt">&lt;</span>MemberDef<span class="hl opt">*&gt;(</span>m_memberDef<span class="hl opt">),</span>
                                      scopeName<span class="hl opt">,</span><span class="hl kwd">relPathAsString</span><span class="hl opt">(),</span>
                                      m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">initializer</span><span class="hl opt">());</span>
        cache<span class="hl opt">.</span>initializerParsed <span class="hl opt">=</span> TRUE<span class="hl opt">;</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> cache<span class="hl opt">.</span>initializer<span class="hl opt">;</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">isDefine</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">isDefine</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">isAnonymous</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">isAnonymous</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">anonymousType</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      Cachable <span class="hl opt">&amp;</span>cache <span class="hl opt">=</span> <span class="hl kwd">getCache</span><span class="hl opt">();</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>cache<span class="hl opt">.</span>anonymousType<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwb">const</span> ClassDef <span class="hl opt">*</span>cd <span class="hl opt">=</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">getClassDefOfAnonymousType</span><span class="hl opt">();</span>
        <span class="hl kwa">if</span> <span class="hl opt">(</span>cd<span class="hl opt">)</span>
        <span class="hl opt">{</span>
          cache<span class="hl opt">.</span>anonymousType<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>ClassContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>cd<span class="hl opt">));</span>
        <span class="hl opt">}</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>cache<span class="hl opt">.</span>anonymousType<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> cache<span class="hl opt">.</span>anonymousType<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">else</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> FALSE<span class="hl opt">;</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">anonymousMember</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      Cachable <span class="hl opt">&amp;</span>cache <span class="hl opt">=</span> <span class="hl kwd">getCache</span><span class="hl opt">();</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>cache<span class="hl opt">.</span>anonymousMember<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        MemberDef <span class="hl opt">*</span>md <span class="hl opt">=</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">fromAnonymousMember</span><span class="hl opt">();</span>
        <span class="hl kwa">if</span> <span class="hl opt">(</span>md<span class="hl opt">)</span>
        <span class="hl opt">{</span>
          cache<span class="hl opt">.</span>anonymousMember<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>MemberContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>md<span class="hl opt">));</span>
        <span class="hl opt">}</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>cache<span class="hl opt">.</span>anonymousMember<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> cache<span class="hl opt">.</span>anonymousMember<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">else</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> FALSE<span class="hl opt">;</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">isRelated</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">isRelated</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">enumBaseType</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">enumBaseType</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">hasOneLineInitializer</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">hasOneLineInitializer</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">hasMultiLineInitializer</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">hasMultiLineInitializer</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">enumValues</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      Cachable <span class="hl opt">&amp;</span>cache <span class="hl opt">=</span> <span class="hl kwd">getCache</span><span class="hl opt">();</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>cache<span class="hl opt">.</span>enumValues<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwb">const</span> MemberList <span class="hl opt">*</span>ml <span class="hl opt">=</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">enumFieldList</span><span class="hl opt">();</span>
        <span class="hl kwa">if</span> <span class="hl opt">(</span>ml<span class="hl opt">)</span>
        <span class="hl opt">{</span>
          cache<span class="hl opt">.</span>enumValues<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>MemberListContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>ml<span class="hl opt">));</span>
        <span class="hl opt">}</span>
        <span class="hl kwa">else</span>
        <span class="hl opt">{</span>
          cache<span class="hl opt">.</span>enumValues<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>MemberListContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">());</span>
        <span class="hl opt">}</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> cache<span class="hl opt">.</span>enumValues<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">templateArgs</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      Cachable <span class="hl opt">&amp;</span>cache <span class="hl opt">=</span> <span class="hl kwd">getCache</span><span class="hl opt">();</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>cache<span class="hl opt">.</span>templateArgs <span class="hl opt">&amp;&amp; !</span>m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">templateArguments</span><span class="hl opt">().</span><span class="hl kwd">empty</span><span class="hl opt">())</span>
      <span class="hl opt">{</span>
        cache<span class="hl opt">.</span>templateArgs<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>ArgumentListContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">templateArguments</span><span class="hl opt">(),</span>m_memberDef<span class="hl opt">,</span><span class="hl kwd">relPathAsString</span><span class="hl opt">()));</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>cache<span class="hl opt">.</span>templateArgs<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> cache<span class="hl opt">.</span>templateArgs<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">else</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> <span class="hl kwd">TemplateVariant</span><span class="hl opt">(</span>FALSE<span class="hl opt">);</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">templateAlias</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">isTypeAlias</span><span class="hl opt">())</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> <span class="hl kwd">createLinkedText</span><span class="hl opt">(</span>m_memberDef<span class="hl opt">,</span><span class="hl kwd">relPathAsString</span><span class="hl opt">(),</span>
                                <span class="hl kwd">QCString</span><span class="hl opt">(</span><span class="hl str">&quot; = &quot;</span><span class="hl opt">)+</span>m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">typeString</span><span class="hl opt">());</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> <span class="hl str">&quot;&quot;</span><span class="hl opt">;</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">propertyAttrs</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getCache</span><span class="hl opt">().</span>propertyAttrs<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">eventAttrs</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getCache</span><span class="hl opt">().</span>eventAttrs<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">getClass</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      Cachable <span class="hl opt">&amp;</span>cache <span class="hl opt">=</span> <span class="hl kwd">getCache</span><span class="hl opt">();</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>cache<span class="hl opt">.</span>classDef <span class="hl opt">&amp;&amp;</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">getClassDef</span><span class="hl opt">())</span>
      <span class="hl opt">{</span>
        cache<span class="hl opt">.</span>classDef<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>ClassContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">getClassDef</span><span class="hl opt">()));</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>cache<span class="hl opt">.</span>classDef<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> cache<span class="hl opt">.</span>classDef<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">else</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> <span class="hl kwd">TemplateVariant</span><span class="hl opt">(</span>FALSE<span class="hl opt">);</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">category</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      Cachable <span class="hl opt">&amp;</span>cache <span class="hl opt">=</span> <span class="hl kwd">getCache</span><span class="hl opt">();</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>cache<span class="hl opt">.</span>category <span class="hl opt">&amp;&amp;</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">category</span><span class="hl opt">())</span>
      <span class="hl opt">{</span>
        cache<span class="hl opt">.</span>category<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>ClassContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">category</span><span class="hl opt">()));</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>cache<span class="hl opt">.</span>category<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> cache<span class="hl opt">.</span>category<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">else</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> <span class="hl kwd">TemplateVariant</span><span class="hl opt">(</span>FALSE<span class="hl opt">);</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">categoryRelation</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      Cachable <span class="hl opt">&amp;</span>cache <span class="hl opt">=</span> <span class="hl kwd">getCache</span><span class="hl opt">();</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>cache<span class="hl opt">.</span>categoryRelation <span class="hl opt">&amp;&amp;</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">categoryRelation</span><span class="hl opt">())</span>
      <span class="hl opt">{</span>
        cache<span class="hl opt">.</span>categoryRelation<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>MemberContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">categoryRelation</span><span class="hl opt">()));</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>cache<span class="hl opt">.</span>categoryRelation<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> cache<span class="hl opt">.</span>categoryRelation<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">else</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> <span class="hl kwd">TemplateVariant</span><span class="hl opt">(</span>FALSE<span class="hl opt">);</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">getFile</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      Cachable <span class="hl opt">&amp;</span>cache <span class="hl opt">=</span> <span class="hl kwd">getCache</span><span class="hl opt">();</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>cache<span class="hl opt">.</span>fileDef <span class="hl opt">&amp;&amp;</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">getFileDef</span><span class="hl opt">())</span>
      <span class="hl opt">{</span>
        cache<span class="hl opt">.</span>fileDef<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>FileContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">getFileDef</span><span class="hl opt">()));</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>cache<span class="hl opt">.</span>fileDef<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> cache<span class="hl opt">.</span>fileDef<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">else</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> <span class="hl kwd">TemplateVariant</span><span class="hl opt">(</span>FALSE<span class="hl opt">);</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">getNamespace</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      Cachable <span class="hl opt">&amp;</span>cache <span class="hl opt">=</span> <span class="hl kwd">getCache</span><span class="hl opt">();</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>cache<span class="hl opt">.</span>namespaceDef <span class="hl opt">&amp;&amp;</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">getNamespaceDef</span><span class="hl opt">())</span>
      <span class="hl opt">{</span>
        cache<span class="hl opt">.</span>namespaceDef<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>NamespaceContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">getNamespaceDef</span><span class="hl opt">()));</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>cache<span class="hl opt">.</span>namespaceDef<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> cache<span class="hl opt">.</span>namespaceDef<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">else</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> <span class="hl kwd">TemplateVariant</span><span class="hl opt">(</span>FALSE<span class="hl opt">);</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">definition</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">createLinkedText</span><span class="hl opt">(</span>m_memberDef<span class="hl opt">,</span><span class="hl kwd">relPathAsString</span><span class="hl opt">(),</span>
                              m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">displayDefinition</span><span class="hl opt">());</span>
    <span class="hl opt">}</span>
    <span class="hl kwb">const</span> ArgumentList <span class="hl opt">&amp;</span><span class="hl kwd">getDefArgList</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl opt">(</span>m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">isDocsForDefinition</span><span class="hl opt">())</span> ?
              m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">argumentList</span><span class="hl opt">() :</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">declArgumentList</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">parameters</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      Cachable <span class="hl opt">&amp;</span>cache <span class="hl opt">=</span> <span class="hl kwd">getCache</span><span class="hl opt">();</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>cache<span class="hl opt">.</span>arguments<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwb">const</span> ArgumentList <span class="hl opt">&amp;</span>defArgList <span class="hl opt">=</span> <span class="hl kwd">getDefArgList</span><span class="hl opt">();</span>
        <span class="hl kwa">if</span> <span class="hl opt">(!</span>m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">isProperty</span><span class="hl opt">())</span>
        <span class="hl opt">{</span>
          cache<span class="hl opt">.</span>arguments<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>ArgumentListContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>defArgList<span class="hl opt">,</span>m_memberDef<span class="hl opt">,</span><span class="hl kwd">relPathAsString</span><span class="hl opt">()));</span>
        <span class="hl opt">}</span>
        <span class="hl kwa">else</span>
        <span class="hl opt">{</span>
          cache<span class="hl opt">.</span>arguments<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>ArgumentListContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">());</span>
        <span class="hl opt">}</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> cache<span class="hl opt">.</span>arguments<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">hasParameters</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl opt">!</span><span class="hl kwd">getDefArgList</span><span class="hl opt">().</span><span class="hl kwd">empty</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">hasConstQualifier</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getDefArgList</span><span class="hl opt">().</span><span class="hl kwd">constSpecifier</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">hasVolatileQualifier</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getDefArgList</span><span class="hl opt">().</span><span class="hl kwd">volatileSpecifier</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">hasRefQualifierLValue</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getDefArgList</span><span class="hl opt">().</span><span class="hl kwd">refQualifier</span><span class="hl opt">()==</span>RefQualifierLValue<span class="hl opt">;</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">hasRefQualifierRValue</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getDefArgList</span><span class="hl opt">().</span><span class="hl kwd">refQualifier</span><span class="hl opt">()==</span>RefQualifierRValue<span class="hl opt">;</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">trailingReturnType</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwb">const</span> ArgumentList <span class="hl opt">&amp;</span>al <span class="hl opt">=</span> <span class="hl kwd">getDefArgList</span><span class="hl opt">();</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>al<span class="hl opt">.</span><span class="hl kwd">trailingReturnType</span><span class="hl opt">().</span><span class="hl kwd">isEmpty</span><span class="hl opt">())</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> <span class="hl kwd">createLinkedText</span><span class="hl opt">(</span>m_memberDef<span class="hl opt">,</span><span class="hl kwd">relPathAsString</span><span class="hl opt">(),</span>
                                al<span class="hl opt">.</span><span class="hl kwd">trailingReturnType</span><span class="hl opt">());</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">else</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> <span class="hl str">&quot;&quot;</span><span class="hl opt">;</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">extraTypeChars</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">extraTypeChars</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    <span class="hl kwb">void</span> <span class="hl kwd">addTemplateDecls</span><span class="hl opt">(</span>TemplateList <span class="hl opt">*</span>tl<span class="hl opt">)</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwb">const</span> ClassDef <span class="hl opt">*</span>cd<span class="hl opt">=</span>m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">getClassDef</span><span class="hl opt">();</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">definitionTemplateParameterLists</span><span class="hl opt">().</span><span class="hl kwd">empty</span><span class="hl opt">())</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">for</span> <span class="hl opt">(</span><span class="hl kwb">const</span> ArgumentList <span class="hl opt">&amp;</span>tal <span class="hl opt">:</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">definitionTemplateParameterLists</span><span class="hl opt">())</span>
        <span class="hl opt">{</span>
          <span class="hl kwa">if</span> <span class="hl opt">(!</span>tal<span class="hl opt">.</span><span class="hl kwd">empty</span><span class="hl opt">())</span>
          <span class="hl opt">{</span>
            ArgumentListContext <span class="hl opt">*</span>al <span class="hl opt">=</span> ArgumentListContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>tal<span class="hl opt">,</span>m_memberDef<span class="hl opt">,</span><span class="hl kwd">relPathAsString</span><span class="hl opt">());</span>
            tl<span class="hl opt">-&gt;</span><span class="hl kwd">append</span><span class="hl opt">(</span>al<span class="hl opt">);</span>
          <span class="hl opt">}</span>
        <span class="hl opt">}</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">else</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">if</span> <span class="hl opt">(</span>cd <span class="hl opt">&amp;&amp; !</span>m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">isRelated</span><span class="hl opt">() &amp;&amp; !</span>m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">isTemplateSpecialization</span><span class="hl opt">())</span>
        <span class="hl opt">{</span>
          <span class="hl kwa">for</span> <span class="hl opt">(</span><span class="hl kwb">const</span> ArgumentList <span class="hl opt">&amp;</span>tal <span class="hl opt">:</span> cd<span class="hl opt">-&gt;</span><span class="hl kwd">getTemplateParameterLists</span><span class="hl opt">())</span>
          <span class="hl opt">{</span>
            <span class="hl kwa">if</span> <span class="hl opt">(!</span>tal<span class="hl opt">.</span><span class="hl kwd">empty</span><span class="hl opt">())</span>
            <span class="hl opt">{</span>
              ArgumentListContext <span class="hl opt">*</span>al <span class="hl opt">=</span> ArgumentListContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>tal<span class="hl opt">,</span>m_memberDef<span class="hl opt">,</span><span class="hl kwd">relPathAsString</span><span class="hl opt">());</span>
              tl<span class="hl opt">-&gt;</span><span class="hl kwd">append</span><span class="hl opt">(</span>al<span class="hl opt">);</span>
            <span class="hl opt">}</span>
          <span class="hl opt">}</span>
        <span class="hl opt">}</span>
        <span class="hl kwa">if</span> <span class="hl opt">(!</span>m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">templateArguments</span><span class="hl opt">().</span><span class="hl kwd">empty</span><span class="hl opt">())</span> <span class="hl slc">// function template prefix</span>
        <span class="hl opt">{</span>
          ArgumentListContext <span class="hl opt">*</span>al <span class="hl opt">=</span> ArgumentListContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>
              m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">templateArguments</span><span class="hl opt">(),</span>m_memberDef<span class="hl opt">,</span><span class="hl kwd">relPathAsString</span><span class="hl opt">());</span>
          tl<span class="hl opt">-&gt;</span><span class="hl kwd">append</span><span class="hl opt">(</span>al<span class="hl opt">);</span>
        <span class="hl opt">}</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">templateDecls</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      Cachable <span class="hl opt">&amp;</span>cache <span class="hl opt">=</span> <span class="hl kwd">getCache</span><span class="hl opt">();</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>cache<span class="hl opt">.</span>templateDecls<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        TemplateList <span class="hl opt">*</span>tl <span class="hl opt">=</span> TemplateList<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">();</span>
        <span class="hl kwd">addTemplateDecls</span><span class="hl opt">(</span>tl<span class="hl opt">);</span>
        cache<span class="hl opt">.</span>templateDecls<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>tl<span class="hl opt">);</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> cache<span class="hl opt">.</span>templateDecls<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">labels</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      Cachable <span class="hl opt">&amp;</span>cache <span class="hl opt">=</span> <span class="hl kwd">getCache</span><span class="hl opt">();</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>cache<span class="hl opt">.</span>labels<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        QStrList sl<span class="hl opt">;</span>
        m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">getLabels</span><span class="hl opt">(</span>sl<span class="hl opt">,</span>m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">getOuterScope</span><span class="hl opt">());</span>
        TemplateList <span class="hl opt">*</span>tl <span class="hl opt">=</span> TemplateList<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">();</span>
        <span class="hl kwa">if</span> <span class="hl opt">(</span>sl<span class="hl opt">.</span><span class="hl kwd">count</span><span class="hl opt">()&gt;</span><span class="hl num">0</span><span class="hl opt">)</span>
        <span class="hl opt">{</span>
          QStrListIterator <span class="hl kwd">it</span><span class="hl opt">(</span>sl<span class="hl opt">);</span>
          <span class="hl kwa">for</span> <span class="hl opt">(;</span>it<span class="hl opt">.</span><span class="hl kwd">current</span><span class="hl opt">();++</span>it<span class="hl opt">)</span>
          <span class="hl opt">{</span>
            tl<span class="hl opt">-&gt;</span><span class="hl kwd">append</span><span class="hl opt">(*</span>it<span class="hl opt">);</span>
          <span class="hl opt">}</span>
        <span class="hl opt">}</span>
        cache<span class="hl opt">.</span>labels<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>tl<span class="hl opt">);</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> cache<span class="hl opt">.</span>labels<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">paramDocs</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      Cachable <span class="hl opt">&amp;</span>cache <span class="hl opt">=</span> <span class="hl kwd">getCache</span><span class="hl opt">();</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>cache<span class="hl opt">.</span>paramDocs<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">if</span> <span class="hl opt">(</span>m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">argumentList</span><span class="hl opt">().</span><span class="hl kwd">hasDocumentation</span><span class="hl opt">())</span>
        <span class="hl opt">{</span>
          QCString paramDocs<span class="hl opt">;</span>
          <span class="hl kwa">for</span> <span class="hl opt">(</span><span class="hl kwb">const</span> Argument <span class="hl opt">&amp;</span>a <span class="hl opt">:</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">argumentList</span><span class="hl opt">())</span>
          <span class="hl opt">{</span>
            <span class="hl kwa">if</span> <span class="hl opt">(</span>a<span class="hl opt">.</span><span class="hl kwd">hasDocumentation</span><span class="hl opt">())</span>
            <span class="hl opt">{</span>
              QCString docs <span class="hl opt">=</span> a<span class="hl opt">.</span>docs<span class="hl opt">;</span>
              QCString direction <span class="hl opt">=</span> <span class="hl kwd">extractDirection</span><span class="hl opt">(</span>docs<span class="hl opt">);</span>
              paramDocs<span class="hl opt">+=</span><span class="hl str">&quot;&#64;param&quot;</span><span class="hl opt">+</span>direction<span class="hl opt">+</span><span class="hl str">&quot; &quot;</span><span class="hl opt">+</span>a<span class="hl opt">.</span>name<span class="hl opt">+</span><span class="hl str">&quot; &quot;</span><span class="hl opt">+</span>docs<span class="hl opt">;</span>
            <span class="hl opt">}</span>
          <span class="hl opt">}</span>
          cache<span class="hl opt">.</span>paramDocs<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span><span class="hl kwa">new</span> <span class="hl kwd">TemplateVariant</span><span class="hl opt">(</span><span class="hl kwd">parseDoc</span><span class="hl opt">(</span>m_memberDef<span class="hl opt">,</span>
                                           m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">docFile</span><span class="hl opt">(),</span>m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">docLine</span><span class="hl opt">(),</span>
                                           <span class="hl kwd">relPathAsString</span><span class="hl opt">(),</span>paramDocs<span class="hl opt">,</span>FALSE<span class="hl opt">)));</span>
        <span class="hl opt">}</span>
        <span class="hl kwa">else</span>
        <span class="hl opt">{</span>
          cache<span class="hl opt">.</span>paramDocs<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span><span class="hl kwa">new</span> <span class="hl kwd">TemplateVariant</span><span class="hl opt">(</span><span class="hl str">&quot;&quot;</span><span class="hl opt">));</span>
        <span class="hl opt">}</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> <span class="hl opt">*</span>cache<span class="hl opt">.</span>paramDocs<span class="hl opt">;</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">implements</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      Cachable <span class="hl opt">&amp;</span>cache <span class="hl opt">=</span> <span class="hl kwd">getCache</span><span class="hl opt">();</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>cache<span class="hl opt">.</span>implements<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        MemberDef <span class="hl opt">*</span>md <span class="hl opt">=</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">reimplements</span><span class="hl opt">();</span>
        cache<span class="hl opt">.</span>implements<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>TemplateList<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">());</span>
        <span class="hl kwa">if</span> <span class="hl opt">(</span>md<span class="hl opt">)</span>
        <span class="hl opt">{</span>
          <span class="hl kwb">const</span> ClassDef <span class="hl opt">*</span>cd <span class="hl opt">=</span> md<span class="hl opt">-&gt;</span><span class="hl kwd">getClassDef</span><span class="hl opt">();</span>
          <span class="hl kwa">if</span> <span class="hl opt">(</span>cd <span class="hl opt">&amp;&amp; (</span>md<span class="hl opt">-&gt;</span><span class="hl kwd">virtualness</span><span class="hl opt">()==</span>Pure <span class="hl opt">||</span> cd<span class="hl opt">-&gt;</span><span class="hl kwd">compoundType</span><span class="hl opt">()==</span>ClassDef<span class="hl opt">::</span>Interface<span class="hl opt">))</span>
          <span class="hl opt">{</span>
            MemberContext <span class="hl opt">*</span>mc <span class="hl opt">=</span> MemberContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>md<span class="hl opt">);</span>
            cache<span class="hl opt">.</span>implements<span class="hl opt">-&gt;</span><span class="hl kwd">append</span><span class="hl opt">(</span>mc<span class="hl opt">);</span>
          <span class="hl opt">}</span>
        <span class="hl opt">}</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> cache<span class="hl opt">.</span>implements<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">reimplements</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      Cachable <span class="hl opt">&amp;</span>cache <span class="hl opt">=</span> <span class="hl kwd">getCache</span><span class="hl opt">();</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>cache<span class="hl opt">.</span>reimplements<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        MemberDef <span class="hl opt">*</span>md <span class="hl opt">=</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">reimplements</span><span class="hl opt">();</span>
        cache<span class="hl opt">.</span>reimplements<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>TemplateList<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">());</span>
        <span class="hl kwa">if</span> <span class="hl opt">(</span>md<span class="hl opt">)</span>
        <span class="hl opt">{</span>
          <span class="hl kwb">const</span> ClassDef <span class="hl opt">*</span>cd <span class="hl opt">=</span> md<span class="hl opt">-&gt;</span><span class="hl kwd">getClassDef</span><span class="hl opt">();</span>
          <span class="hl kwa">if</span> <span class="hl opt">(</span>cd <span class="hl opt">&amp;&amp;</span> md<span class="hl opt">-&gt;</span><span class="hl kwd">virtualness</span><span class="hl opt">()!=</span>Pure <span class="hl opt">&amp;&amp;</span> cd<span class="hl opt">-&gt;</span><span class="hl kwd">compoundType</span><span class="hl opt">()!=</span>ClassDef<span class="hl opt">::</span>Interface<span class="hl opt">)</span>
          <span class="hl opt">{</span>
            MemberContext <span class="hl opt">*</span>mc <span class="hl opt">=</span> MemberContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>md<span class="hl opt">);</span>
            cache<span class="hl opt">.</span>reimplements<span class="hl opt">-&gt;</span><span class="hl kwd">append</span><span class="hl opt">(</span>mc<span class="hl opt">);</span>
          <span class="hl opt">}</span>
        <span class="hl opt">}</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> cache<span class="hl opt">.</span>reimplements<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">implementedBy</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      Cachable <span class="hl opt">&amp;</span>cache <span class="hl opt">=</span> <span class="hl kwd">getCache</span><span class="hl opt">();</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>cache<span class="hl opt">.</span>implementedBy<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        MemberList <span class="hl opt">*</span>ml <span class="hl opt">=</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">reimplementedBy</span><span class="hl opt">();</span>
        cache<span class="hl opt">.</span>implementedBy<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>TemplateList<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">());</span>
        <span class="hl kwa">if</span> <span class="hl opt">(</span>ml<span class="hl opt">)</span>
        <span class="hl opt">{</span>
          MemberListIterator <span class="hl kwd">mli</span><span class="hl opt">(*</span>ml<span class="hl opt">);</span>
          MemberDef <span class="hl opt">*</span>md<span class="hl opt">=</span><span class="hl num">0</span><span class="hl opt">;</span>
          <span class="hl kwa">for</span> <span class="hl opt">(</span>mli<span class="hl opt">.</span><span class="hl kwd">toFirst</span><span class="hl opt">();(</span>md<span class="hl opt">=</span>mli<span class="hl opt">.</span><span class="hl kwd">current</span><span class="hl opt">());++</span>mli<span class="hl opt">)</span>
          <span class="hl opt">{</span>
            <span class="hl kwb">const</span> ClassDef <span class="hl opt">*</span>cd <span class="hl opt">=</span> md<span class="hl opt">-&gt;</span><span class="hl kwd">getClassDef</span><span class="hl opt">();</span>
            <span class="hl kwa">if</span> <span class="hl opt">(</span>cd <span class="hl opt">&amp;&amp; (</span>md<span class="hl opt">-&gt;</span><span class="hl kwd">virtualness</span><span class="hl opt">()==</span>Pure <span class="hl opt">||</span> cd<span class="hl opt">-&gt;</span><span class="hl kwd">compoundType</span><span class="hl opt">()==</span>ClassDef<span class="hl opt">::</span>Interface<span class="hl opt">))</span>
            <span class="hl opt">{</span>
              MemberContext <span class="hl opt">*</span>mc <span class="hl opt">=</span> <span class="hl kwa">new</span> <span class="hl kwd">MemberContext</span><span class="hl opt">(</span>md<span class="hl opt">);</span>
              cache<span class="hl opt">.</span>implementedBy<span class="hl opt">-&gt;</span><span class="hl kwd">append</span><span class="hl opt">(</span>mc<span class="hl opt">);</span>
            <span class="hl opt">}</span>
          <span class="hl opt">}</span>
        <span class="hl opt">}</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> cache<span class="hl opt">.</span>implementedBy<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">reimplementedBy</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      Cachable <span class="hl opt">&amp;</span>cache <span class="hl opt">=</span> <span class="hl kwd">getCache</span><span class="hl opt">();</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>cache<span class="hl opt">.</span>reimplementedBy<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        cache<span class="hl opt">.</span>reimplementedBy<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>TemplateList<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">());</span>
        MemberList <span class="hl opt">*</span>ml <span class="hl opt">=</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">reimplementedBy</span><span class="hl opt">();</span>
        <span class="hl kwa">if</span> <span class="hl opt">(</span>ml<span class="hl opt">)</span>
        <span class="hl opt">{</span>
          MemberListIterator <span class="hl kwd">mli</span><span class="hl opt">(*</span>ml<span class="hl opt">);</span>
          MemberDef <span class="hl opt">*</span>md<span class="hl opt">=</span><span class="hl num">0</span><span class="hl opt">;</span>
          <span class="hl kwa">for</span> <span class="hl opt">(</span>mli<span class="hl opt">.</span><span class="hl kwd">toFirst</span><span class="hl opt">();(</span>md<span class="hl opt">=</span>mli<span class="hl opt">.</span><span class="hl kwd">current</span><span class="hl opt">());++</span>mli<span class="hl opt">)</span>
          <span class="hl opt">{</span>
            <span class="hl kwb">const</span> ClassDef <span class="hl opt">*</span>cd <span class="hl opt">=</span> md<span class="hl opt">-&gt;</span><span class="hl kwd">getClassDef</span><span class="hl opt">();</span>
            <span class="hl kwa">if</span> <span class="hl opt">(</span>cd <span class="hl opt">&amp;&amp;</span> md<span class="hl opt">-&gt;</span><span class="hl kwd">virtualness</span><span class="hl opt">()!=</span>Pure <span class="hl opt">&amp;&amp;</span> cd<span class="hl opt">-&gt;</span><span class="hl kwd">compoundType</span><span class="hl opt">()!=</span>ClassDef<span class="hl opt">::</span>Interface<span class="hl opt">)</span>
            <span class="hl opt">{</span>
              MemberContext <span class="hl opt">*</span>mc <span class="hl opt">=</span> <span class="hl kwa">new</span> <span class="hl kwd">MemberContext</span><span class="hl opt">(</span>md<span class="hl opt">);</span>
              cache<span class="hl opt">.</span>reimplementedBy<span class="hl opt">-&gt;</span><span class="hl kwd">append</span><span class="hl opt">(</span>mc<span class="hl opt">);</span>
            <span class="hl opt">}</span>
          <span class="hl opt">}</span>
        <span class="hl opt">}</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> cache<span class="hl opt">.</span>reimplementedBy<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    <span class="hl kwb">void</span> <span class="hl kwd">addExamples</span><span class="hl opt">(</span>TemplateList <span class="hl opt">*</span>list<span class="hl opt">)</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">hasExamples</span><span class="hl opt">())</span>
      <span class="hl opt">{</span>
        ExampleSDict<span class="hl opt">::</span>Iterator <span class="hl kwd">it</span><span class="hl opt">(*</span>m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">getExamples</span><span class="hl opt">());</span>
        Example <span class="hl opt">*</span>ex<span class="hl opt">;</span>
        <span class="hl kwa">for</span> <span class="hl opt">(</span>it<span class="hl opt">.</span><span class="hl kwd">toFirst</span><span class="hl opt">();(</span>ex<span class="hl opt">=</span>it<span class="hl opt">.</span><span class="hl kwd">current</span><span class="hl opt">());++</span>it<span class="hl opt">)</span>
        <span class="hl opt">{</span>
          TemplateStruct <span class="hl opt">*</span>s <span class="hl opt">=</span> TemplateStruct<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">();</span>
          s<span class="hl opt">-&gt;</span><span class="hl kwd">set</span><span class="hl opt">(</span><span class="hl str">&quot;text&quot;</span><span class="hl opt">,</span>ex<span class="hl opt">-&gt;</span>name<span class="hl opt">);</span>
          s<span class="hl opt">-&gt;</span><span class="hl kwd">set</span><span class="hl opt">(</span><span class="hl str">&quot;isLinkable&quot;</span><span class="hl opt">,</span>TRUE<span class="hl opt">);</span>
          s<span class="hl opt">-&gt;</span><span class="hl kwd">set</span><span class="hl opt">(</span><span class="hl str">&quot;anchor&quot;</span><span class="hl opt">,</span>ex<span class="hl opt">-&gt;</span>anchor<span class="hl opt">);</span>
          s<span class="hl opt">-&gt;</span><span class="hl kwd">set</span><span class="hl opt">(</span><span class="hl str">&quot;fileName&quot;</span><span class="hl opt">,</span>ex<span class="hl opt">-&gt;</span>file<span class="hl opt">);</span>
          s<span class="hl opt">-&gt;</span><span class="hl kwd">set</span><span class="hl opt">(</span><span class="hl str">&quot;isReference&quot;</span><span class="hl opt">,</span>FALSE<span class="hl opt">);</span>
          s<span class="hl opt">-&gt;</span><span class="hl kwd">set</span><span class="hl opt">(</span><span class="hl str">&quot;externalReference&quot;</span><span class="hl opt">,</span><span class="hl str">&quot;&quot;</span><span class="hl opt">);</span>
          list<span class="hl opt">-&gt;</span><span class="hl kwd">append</span><span class="hl opt">(</span>s<span class="hl opt">);</span>
        <span class="hl opt">}</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">examples</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      Cachable <span class="hl opt">&amp;</span>cache <span class="hl opt">=</span> <span class="hl kwd">getCache</span><span class="hl opt">();</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>cache<span class="hl opt">.</span>examples<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        TemplateList <span class="hl opt">*</span>exampleList <span class="hl opt">=</span> TemplateList<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">();</span>
        <span class="hl kwd">addExamples</span><span class="hl opt">(</span>exampleList<span class="hl opt">);</span>
        cache<span class="hl opt">.</span>examples<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>exampleList<span class="hl opt">);</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> cache<span class="hl opt">.</span>examples<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">typeConstraints</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      Cachable <span class="hl opt">&amp;</span>cache <span class="hl opt">=</span> <span class="hl kwd">getCache</span><span class="hl opt">();</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>cache<span class="hl opt">.</span>typeConstraints <span class="hl opt">&amp;&amp; !</span>m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">typeConstraints</span><span class="hl opt">().</span><span class="hl kwd">empty</span><span class="hl opt">())</span>
      <span class="hl opt">{</span>
        cache<span class="hl opt">.</span>typeConstraints<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>ArgumentListContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">typeConstraints</span><span class="hl opt">(),</span>m_memberDef<span class="hl opt">,</span><span class="hl kwd">relPathAsString</span><span class="hl opt">()));</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">else</span>
      <span class="hl opt">{</span>
        cache<span class="hl opt">.</span>typeConstraints<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>ArgumentListContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">());</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> cache<span class="hl opt">.</span>typeConstraints<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">functionQualifier</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">isObjCMethod</span><span class="hl opt">() &amp;&amp;</span>
          <span class="hl opt">(</span>m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">isFunction</span><span class="hl opt">()  ||</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">isSlot</span><span class="hl opt">() ||</span>
           m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">isPrototype</span><span class="hl opt">() ||</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">isSignal</span><span class="hl opt">()</span>
          <span class="hl opt">)</span>
         <span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> <span class="hl str">&quot;()&quot;</span><span class="hl opt">;</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">else</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> <span class="hl str">&quot;&quot;</span><span class="hl opt">;</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">sourceRefs</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      Cachable <span class="hl opt">&amp;</span>cache <span class="hl opt">=</span> <span class="hl kwd">getCache</span><span class="hl opt">();</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>cache<span class="hl opt">.</span>sourceRefs<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        cache<span class="hl opt">.</span>sourceRefs<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>MemberListContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">getReferencesMembers</span><span class="hl opt">(),</span>TRUE<span class="hl opt">));</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> cache<span class="hl opt">.</span>sourceRefs<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">sourceRefBys</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      Cachable <span class="hl opt">&amp;</span>cache <span class="hl opt">=</span> <span class="hl kwd">getCache</span><span class="hl opt">();</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>cache<span class="hl opt">.</span>sourceRefBys<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        cache<span class="hl opt">.</span>sourceRefBys<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>MemberListContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">getReferencedByMembers</span><span class="hl opt">(),</span>TRUE<span class="hl opt">));</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> cache<span class="hl opt">.</span>sourceRefBys<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">hasSources</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">TemplateVariant</span><span class="hl opt">(</span>m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">hasSources</span><span class="hl opt">());</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">sourceCode</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      Cachable <span class="hl opt">&amp;</span>cache <span class="hl opt">=</span> <span class="hl kwd">getCache</span><span class="hl opt">();</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>cache<span class="hl opt">.</span>sourceCodeParsed<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        QCString codeFragment<span class="hl opt">;</span>
        <span class="hl kwb">const</span> FileDef <span class="hl opt">*</span>fd   <span class="hl opt">=</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">getBodyDef</span><span class="hl opt">();</span>
        <span class="hl kwb">int</span> startLine <span class="hl opt">=</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">getStartBodyLine</span><span class="hl opt">();</span>
        <span class="hl kwb">int</span> endLine   <span class="hl opt">=</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">getEndBodyLine</span><span class="hl opt">();</span>
        <span class="hl kwa">if</span> <span class="hl opt">(</span>fd <span class="hl opt">&amp;&amp;</span> <span class="hl kwd">readCodeFragment</span><span class="hl opt">(</span>fd<span class="hl opt">-&gt;</span><span class="hl kwd">absFilePath</span><span class="hl opt">(),</span>
              startLine<span class="hl opt">,</span>endLine<span class="hl opt">,</span>codeFragment<span class="hl opt">)</span>
           <span class="hl opt">)</span>
        <span class="hl opt">{</span>
          QCString scopeName<span class="hl opt">;</span>
          <span class="hl kwa">if</span> <span class="hl opt">(</span>m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">getClassDef</span><span class="hl opt">())</span>
          <span class="hl opt">{</span>
            scopeName <span class="hl opt">=</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">getClassDef</span><span class="hl opt">()-&gt;</span><span class="hl kwd">name</span><span class="hl opt">();</span>
          <span class="hl opt">}</span>
          <span class="hl kwa">else if</span> <span class="hl opt">(</span>m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">getNamespaceDef</span><span class="hl opt">())</span>
          <span class="hl opt">{</span>
            scopeName <span class="hl opt">=</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">getNamespaceDef</span><span class="hl opt">()-&gt;</span><span class="hl kwd">name</span><span class="hl opt">();</span>
          <span class="hl opt">}</span>
          cache<span class="hl opt">.</span>sourceCode <span class="hl opt">=</span> <span class="hl kwd">parseCode</span><span class="hl opt">(</span><span class="hl kwa">const_cast</span><span class="hl opt">&lt;</span>MemberDef<span class="hl opt">*&gt;(</span>m_memberDef<span class="hl opt">),</span>
                                       scopeName<span class="hl opt">,</span><span class="hl kwd">relPathAsString</span><span class="hl opt">(),</span>
                                       codeFragment<span class="hl opt">,</span>startLine<span class="hl opt">,</span>endLine<span class="hl opt">,</span>TRUE<span class="hl opt">);</span>
          cache<span class="hl opt">.</span>sourceCodeParsed <span class="hl opt">=</span> TRUE<span class="hl opt">;</span>
        <span class="hl opt">}</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> cache<span class="hl opt">.</span>sourceCode<span class="hl opt">;</span>
    <span class="hl opt">}</span>
    DotCallGraph <span class="hl opt">*</span><span class="hl kwd">getCallGraph</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      Cachable <span class="hl opt">&amp;</span>cache <span class="hl opt">=</span> <span class="hl kwd">getCache</span><span class="hl opt">();</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>cache<span class="hl opt">.</span>callGraph<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        cache<span class="hl opt">.</span>callGraph<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span><span class="hl kwa">new</span> <span class="hl kwd">DotCallGraph</span><span class="hl opt">(</span>m_memberDef<span class="hl opt">,</span>FALSE<span class="hl opt">));</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> cache<span class="hl opt">.</span>callGraph<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">hasCallGraph</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwb">static bool</span> haveDot <span class="hl opt">=</span> <span class="hl kwd">Config_getBool</span><span class="hl opt">(</span>HAVE_DOT<span class="hl opt">);</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">hasCallGraph</span><span class="hl opt">() &amp;&amp;</span> haveDot <span class="hl opt">&amp;&amp;</span>
          <span class="hl opt">(</span>m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">isFunction</span><span class="hl opt">() ||</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">isSlot</span><span class="hl opt">() ||</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">isSignal</span><span class="hl opt">()))</span>
      <span class="hl opt">{</span>
        DotCallGraph <span class="hl opt">*</span>cg <span class="hl opt">=</span> <span class="hl kwd">getCallGraph</span><span class="hl opt">();</span>
        <span class="hl kwa">return</span> <span class="hl opt">!</span>cg<span class="hl opt">-&gt;</span><span class="hl kwd">isTooBig</span><span class="hl opt">() &amp;&amp; !</span>cg<span class="hl opt">-&gt;</span><span class="hl kwd">isTrivial</span><span class="hl opt">();</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> <span class="hl kwd">TemplateVariant</span><span class="hl opt">(</span>FALSE<span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">hasReferencedByRelation</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">TemplateVariant</span><span class="hl opt">(</span>m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">hasReferencedByRelation</span><span class="hl opt">());</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">callGraph</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span><span class="hl kwd">hasCallGraph</span><span class="hl opt">().</span><span class="hl kwd">toBool</span><span class="hl opt">())</span>
      <span class="hl opt">{</span>
        DotCallGraph <span class="hl opt">*</span>cg <span class="hl opt">=</span> <span class="hl kwd">getCallGraph</span><span class="hl opt">();</span>
        QGString result<span class="hl opt">;</span>
        FTextStream <span class="hl kwd">t</span><span class="hl opt">(&amp;</span>result<span class="hl opt">);</span>
        <span class="hl kwa">switch</span> <span class="hl opt">(</span>g_globals<span class="hl opt">.</span>outputFormat<span class="hl opt">)</span>
        <span class="hl opt">{</span>
          <span class="hl kwa">case</span> ContextOutputFormat_Html<span class="hl opt">:</span>
            <span class="hl opt">{</span>
              cg<span class="hl opt">-&gt;</span><span class="hl kwd">writeGraph</span><span class="hl opt">(</span>t<span class="hl opt">,</span>GOF_BITMAP<span class="hl opt">,</span>EOF_Html<span class="hl opt">,</span>
                  g_globals<span class="hl opt">.</span>outputDir<span class="hl opt">,</span>
                  g_globals<span class="hl opt">.</span>outputDir<span class="hl opt">+</span>Portable<span class="hl opt">::</span><span class="hl kwd">pathSeparator</span><span class="hl opt">()+</span>m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">getOutputFileBase</span><span class="hl opt">()+</span>Doxygen<span class="hl opt">::</span>htmlFileExtension<span class="hl opt">,</span>
                  <span class="hl kwd">relPathAsString</span><span class="hl opt">(),</span>TRUE<span class="hl opt">,</span>g_globals<span class="hl opt">.</span>dynSectionId
                  <span class="hl opt">);</span>
            <span class="hl opt">}</span>
            <span class="hl kwa">break</span><span class="hl opt">;</span>
          <span class="hl kwa">case</span> ContextOutputFormat_Latex<span class="hl opt">:</span>
            <span class="hl opt">{</span>
              cg<span class="hl opt">-&gt;</span><span class="hl kwd">writeGraph</span><span class="hl opt">(</span>t<span class="hl opt">,</span>GOF_EPS<span class="hl opt">,</span>EOF_LaTeX<span class="hl opt">,</span>
                  g_globals<span class="hl opt">.</span>outputDir<span class="hl opt">,</span>
                  g_globals<span class="hl opt">.</span>outputDir<span class="hl opt">+</span>Portable<span class="hl opt">::</span><span class="hl kwd">pathSeparator</span><span class="hl opt">()+</span>m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">getOutputFileBase</span><span class="hl opt">()+</span><span class="hl str">&quot;.tex&quot;</span><span class="hl opt">,</span>
                  <span class="hl kwd">relPathAsString</span><span class="hl opt">(),</span>TRUE<span class="hl opt">,</span>g_globals<span class="hl opt">.</span>dynSectionId
                  <span class="hl opt">);</span>
            <span class="hl opt">}</span>
            <span class="hl kwa">break</span><span class="hl opt">;</span>
            <span class="hl slc">// TODO: support other generators</span>
          <span class="hl kwa">default</span><span class="hl opt">:</span>
            <span class="hl kwd">err</span><span class="hl opt">(</span><span class="hl str">&quot;context.cpp: output format not yet supported&quot;</span><span class="hl opt">);</span>
            <span class="hl kwa">break</span><span class="hl opt">;</span>
        <span class="hl opt">}</span>
        g_globals<span class="hl opt">.</span>dynSectionId<span class="hl opt">++;</span>
        <span class="hl kwa">return</span> <span class="hl kwd">TemplateVariant</span><span class="hl opt">(</span>result<span class="hl opt">.</span><span class="hl kwd">data</span><span class="hl opt">(),</span>TRUE<span class="hl opt">);</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">else</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> <span class="hl kwd">TemplateVariant</span><span class="hl opt">(</span><span class="hl str">&quot;&quot;</span><span class="hl opt">);</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">referencedByRelation</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span><span class="hl kwd">hasReferencedByRelation</span><span class="hl opt">().</span><span class="hl kwd">toBool</span><span class="hl opt">())</span>
      <span class="hl opt">{</span>
        <span class="hl kwd">err</span><span class="hl opt">(</span><span class="hl str">&quot;context.cpp: output format not yet supported&quot;</span><span class="hl opt">);</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> <span class="hl kwd">TemplateVariant</span><span class="hl opt">(</span><span class="hl str">&quot;&quot;</span><span class="hl opt">);</span>
    <span class="hl opt">}</span>
    DotCallGraph <span class="hl opt">*</span><span class="hl kwd">getCallerGraph</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      Cachable <span class="hl opt">&amp;</span>cache <span class="hl opt">=</span> <span class="hl kwd">getCache</span><span class="hl opt">();</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>cache<span class="hl opt">.</span>callerGraph<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        cache<span class="hl opt">.</span>callerGraph<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span><span class="hl kwa">new</span> <span class="hl kwd">DotCallGraph</span><span class="hl opt">(</span>m_memberDef<span class="hl opt">,</span>TRUE<span class="hl opt">));</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> cache<span class="hl opt">.</span>callerGraph<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">hasCallerGraph</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwb">static bool</span> haveDot <span class="hl opt">=</span> <span class="hl kwd">Config_getBool</span><span class="hl opt">(</span>HAVE_DOT<span class="hl opt">);</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">hasCallerGraph</span><span class="hl opt">() &amp;&amp;</span> haveDot <span class="hl opt">&amp;&amp;</span>
          <span class="hl opt">(</span>m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">isFunction</span><span class="hl opt">() ||</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">isSlot</span><span class="hl opt">() ||</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">isSignal</span><span class="hl opt">()))</span>
      <span class="hl opt">{</span>
        DotCallGraph <span class="hl opt">*</span>cg <span class="hl opt">=</span> <span class="hl kwd">getCallerGraph</span><span class="hl opt">();</span>
        <span class="hl kwa">return</span> <span class="hl opt">!</span>cg<span class="hl opt">-&gt;</span><span class="hl kwd">isTooBig</span><span class="hl opt">() &amp;&amp; !</span>cg<span class="hl opt">-&gt;</span><span class="hl kwd">isTrivial</span><span class="hl opt">();</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> <span class="hl kwd">TemplateVariant</span><span class="hl opt">(</span>FALSE<span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">hasReferencesRelation</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">TemplateVariant</span><span class="hl opt">(</span>m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">hasReferencesRelation</span><span class="hl opt">());</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">callerGraph</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span><span class="hl kwd">hasCallerGraph</span><span class="hl opt">().</span><span class="hl kwd">toBool</span><span class="hl opt">())</span>
      <span class="hl opt">{</span>
        DotCallGraph <span class="hl opt">*</span>cg <span class="hl opt">=</span> <span class="hl kwd">getCallerGraph</span><span class="hl opt">();</span>
        QGString result<span class="hl opt">;</span>
        FTextStream <span class="hl kwd">t</span><span class="hl opt">(&amp;</span>result<span class="hl opt">);</span>
        <span class="hl kwa">switch</span> <span class="hl opt">(</span>g_globals<span class="hl opt">.</span>outputFormat<span class="hl opt">)</span>
        <span class="hl opt">{</span>
          <span class="hl kwa">case</span> ContextOutputFormat_Html<span class="hl opt">:</span>
            <span class="hl opt">{</span>
              cg<span class="hl opt">-&gt;</span><span class="hl kwd">writeGraph</span><span class="hl opt">(</span>t<span class="hl opt">,</span>GOF_BITMAP<span class="hl opt">,</span>EOF_Html<span class="hl opt">,</span>
                  g_globals<span class="hl opt">.</span>outputDir<span class="hl opt">,</span>
                  g_globals<span class="hl opt">.</span>outputDir<span class="hl opt">+</span>Portable<span class="hl opt">::</span><span class="hl kwd">pathSeparator</span><span class="hl opt">()+</span>m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">getOutputFileBase</span><span class="hl opt">()+</span>Doxygen<span class="hl opt">::</span>htmlFileExtension<span class="hl opt">,</span>
                  <span class="hl kwd">relPathAsString</span><span class="hl opt">(),</span>TRUE<span class="hl opt">,</span>g_globals<span class="hl opt">.</span>dynSectionId
                  <span class="hl opt">);</span>
            <span class="hl opt">}</span>
            <span class="hl kwa">break</span><span class="hl opt">;</span>
          <span class="hl kwa">case</span> ContextOutputFormat_Latex<span class="hl opt">:</span>
            <span class="hl opt">{</span>
              cg<span class="hl opt">-&gt;</span><span class="hl kwd">writeGraph</span><span class="hl opt">(</span>t<span class="hl opt">,</span>GOF_EPS<span class="hl opt">,</span>EOF_LaTeX<span class="hl opt">,</span>
                  g_globals<span class="hl opt">.</span>outputDir<span class="hl opt">,</span>
                  g_globals<span class="hl opt">.</span>outputDir<span class="hl opt">+</span>Portable<span class="hl opt">::</span><span class="hl kwd">pathSeparator</span><span class="hl opt">()+</span>m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">getOutputFileBase</span><span class="hl opt">()+</span><span class="hl str">&quot;.tex&quot;</span><span class="hl opt">,</span>
                  <span class="hl kwd">relPathAsString</span><span class="hl opt">(),</span>TRUE<span class="hl opt">,</span>g_globals<span class="hl opt">.</span>dynSectionId
                  <span class="hl opt">);</span>
            <span class="hl opt">}</span>
            <span class="hl kwa">break</span><span class="hl opt">;</span>
            <span class="hl slc">// TODO: support other generators</span>
          <span class="hl kwa">default</span><span class="hl opt">:</span>
            <span class="hl kwd">err</span><span class="hl opt">(</span><span class="hl str">&quot;context.cpp: output format not yet supported&quot;</span><span class="hl opt">);</span>
            <span class="hl kwa">break</span><span class="hl opt">;</span>
        <span class="hl opt">}</span>
        g_globals<span class="hl opt">.</span>dynSectionId<span class="hl opt">++;</span>
        <span class="hl kwa">return</span> <span class="hl kwd">TemplateVariant</span><span class="hl opt">(</span>result<span class="hl opt">.</span><span class="hl kwd">data</span><span class="hl opt">(),</span>TRUE<span class="hl opt">);</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">else</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> <span class="hl kwd">TemplateVariant</span><span class="hl opt">(</span><span class="hl str">&quot;&quot;</span><span class="hl opt">);</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">referencesRelation</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span><span class="hl kwd">hasReferencesRelation</span><span class="hl opt">().</span><span class="hl kwd">toBool</span><span class="hl opt">())</span>
      <span class="hl opt">{</span>
         <span class="hl kwd">err</span><span class="hl opt">(</span><span class="hl str">&quot;context.cpp: output format not yet supported&quot;</span><span class="hl opt">);</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> <span class="hl kwd">TemplateVariant</span><span class="hl opt">(</span><span class="hl str">&quot;&quot;</span><span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">type</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">typeString</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">handleDetailsVisibleFor</span><span class="hl opt">(</span><span class="hl kwb">const</span> QValueList<span class="hl opt">&lt;</span>TemplateVariant<span class="hl opt">&gt; &amp;</span>args<span class="hl opt">)</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>args<span class="hl opt">.</span><span class="hl kwd">count</span><span class="hl opt">()==</span><span class="hl num">1</span><span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">isDetailedSectionVisible</span><span class="hl opt">(</span>args<span class="hl opt">[</span><span class="hl num">0</span><span class="hl opt">].</span><span class="hl kwd">toString</span><span class="hl opt">()==</span><span class="hl str">&quot;module&quot;</span><span class="hl opt">,</span>args<span class="hl opt">[</span><span class="hl num">0</span><span class="hl opt">].</span><span class="hl kwd">toString</span><span class="hl opt">()==</span><span class="hl str">&quot;file&quot;</span><span class="hl opt">);</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">else</span>
      <span class="hl opt">{</span>
        <span class="hl kwd">err</span><span class="hl opt">(</span><span class="hl str">&quot;.detailsVisibleFor should take one string argument, got %d</span><span class="hl esc">\n</span><span class="hl str">&quot;</span><span class="hl opt">,</span>args<span class="hl opt">.</span><span class="hl kwd">count</span><span class="hl opt">());</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> <span class="hl kwd">TemplateVariant</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">detailsVisibleFor</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> TemplateVariant<span class="hl opt">::</span>Delegate<span class="hl opt">::</span>fromMethod<span class="hl opt">&lt;</span>Private<span class="hl opt">,&amp;</span>Private<span class="hl opt">::</span>handleDetailsVisibleFor<span class="hl opt">&gt;(</span><span class="hl kwa">this</span><span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">handleNameWithContextFor</span><span class="hl opt">(</span><span class="hl kwb">const</span> QValueList<span class="hl opt">&lt;</span>TemplateVariant<span class="hl opt">&gt; &amp;</span>args<span class="hl opt">)</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>args<span class="hl opt">.</span><span class="hl kwd">count</span><span class="hl opt">()==</span><span class="hl num">1</span><span class="hl opt">)</span>
      <span class="hl opt">{</span>
        SrcLangExt lang <span class="hl opt">=</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">getLanguage</span><span class="hl opt">();</span>
        QCString n <span class="hl opt">=</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">name</span><span class="hl opt">();</span>
        QCString ctx <span class="hl opt">=</span> args<span class="hl opt">[</span><span class="hl num">0</span><span class="hl opt">].</span><span class="hl kwd">toString</span><span class="hl opt">();</span>
        QCString sep <span class="hl opt">=</span> <span class="hl kwd">getLanguageSpecificSeparator</span><span class="hl opt">(</span>lang<span class="hl opt">,</span>TRUE<span class="hl opt">);</span>
        <span class="hl kwa">if</span> <span class="hl opt">(</span>m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">getEnumScope</span><span class="hl opt">() &amp;&amp;</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">livesInsideEnum</span><span class="hl opt">())</span>
        <span class="hl opt">{</span>
          n<span class="hl opt">.</span><span class="hl kwd">prepend</span><span class="hl opt">(</span>m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">getEnumScope</span><span class="hl opt">()-&gt;</span><span class="hl kwd">displayName</span><span class="hl opt">()+</span>sep<span class="hl opt">);</span>
        <span class="hl opt">}</span>
        <span class="hl kwa">if</span> <span class="hl opt">(</span>ctx<span class="hl opt">==</span><span class="hl str">&quot;module&quot;</span> <span class="hl opt">&amp;&amp;</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">getClassDef</span><span class="hl opt">() &amp;&amp; !</span>m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">isRelated</span><span class="hl opt">())</span>
        <span class="hl opt">{</span>
          n<span class="hl opt">.</span><span class="hl kwd">prepend</span><span class="hl opt">(</span>m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">getClassDef</span><span class="hl opt">()-&gt;</span><span class="hl kwd">displayName</span><span class="hl opt">()+</span>sep<span class="hl opt">);</span>
        <span class="hl opt">}</span>
        <span class="hl kwa">else if</span> <span class="hl opt">((</span>ctx<span class="hl opt">==</span><span class="hl str">&quot;module&quot;</span> <span class="hl opt">||</span> ctx<span class="hl opt">==</span><span class="hl str">&quot;file&quot;</span><span class="hl opt">) &amp;&amp;</span> m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">getNamespaceDef</span><span class="hl opt">())</span>
        <span class="hl opt">{</span>
          n<span class="hl opt">.</span><span class="hl kwd">prepend</span><span class="hl opt">(</span>m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">getNamespaceDef</span><span class="hl opt">()-&gt;</span><span class="hl kwd">displayName</span><span class="hl opt">()+</span>sep<span class="hl opt">);</span>
        <span class="hl opt">}</span>
        <span class="hl kwa">return</span> n<span class="hl opt">;</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">else</span>
      <span class="hl opt">{</span>
        <span class="hl kwd">err</span><span class="hl opt">(</span><span class="hl str">&quot;.nameWithContextFor should take one string argument, got %d</span><span class="hl esc">\n</span><span class="hl str">&quot;</span><span class="hl opt">,</span>args<span class="hl opt">.</span><span class="hl kwd">count</span><span class="hl opt">());</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> <span class="hl kwd">TemplateVariant</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">nameWithContextFor</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> TemplateVariant<span class="hl opt">::</span>Delegate<span class="hl opt">::</span>fromMethod<span class="hl opt">&lt;</span>Private<span class="hl opt">,&amp;</span>Private<span class="hl opt">::</span>handleNameWithContextFor<span class="hl opt">&gt;(</span><span class="hl kwa">this</span><span class="hl opt">);</span>
    <span class="hl opt">}</span>
  <span class="hl kwc">private</span><span class="hl opt">:</span>
    <span class="hl kwb">const</span> MemberDef <span class="hl opt">*</span>m_memberDef<span class="hl opt">;</span>
    <span class="hl kwb">struct</span> Cachable <span class="hl opt">:</span> <span class="hl kwc">public</span> DefinitionContext<span class="hl opt">&lt;</span>MemberContext<span class="hl opt">::</span>Private<span class="hl opt">&gt;::</span>Cachable
    <span class="hl opt">{</span>
      <span class="hl kwd">Cachable</span><span class="hl opt">(</span><span class="hl kwb">const</span> MemberDef <span class="hl opt">*</span>md<span class="hl opt">) :</span> DefinitionContext<span class="hl opt">&lt;</span>MemberContext<span class="hl opt">::</span>Private<span class="hl opt">&gt;::</span><span class="hl kwd">Cachable</span><span class="hl opt">(</span>md<span class="hl opt">),</span>
                                <span class="hl kwd">initializerParsed</span><span class="hl opt">(</span>FALSE<span class="hl opt">),</span> <span class="hl kwd">sourceCodeParsed</span><span class="hl opt">(</span>FALSE<span class="hl opt">),</span>
                                <span class="hl kwd">declArgsParsed</span><span class="hl opt">(</span>FALSE<span class="hl opt">),</span> <span class="hl kwd">declTypeParsed</span><span class="hl opt">(</span>FALSE<span class="hl opt">) { }</span>
      SharedPtr<span class="hl opt">&lt;</span>ArgumentListContext<span class="hl opt">&gt;</span> templateArgs<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>ArgumentListContext<span class="hl opt">&gt;</span> arguments<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberListContext<span class="hl opt">&gt;</span>   enumValues<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>FileContext<span class="hl opt">&gt;</span>         fileDef<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>NamespaceContext<span class="hl opt">&gt;</span>    namespaceDef<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>ClassContext<span class="hl opt">&gt;</span>        category<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberContext<span class="hl opt">&gt;</span>       categoryRelation<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>ClassContext<span class="hl opt">&gt;</span>        classDef<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>ClassContext<span class="hl opt">&gt;</span>        anonymousType<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>TemplateList<span class="hl opt">&gt;</span>        templateDecls<span class="hl opt">;</span>
      ScopedPtr<span class="hl opt">&lt;</span>TemplateVariant<span class="hl opt">&gt;</span>     paramDocs<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>TemplateList<span class="hl opt">&gt;</span>        implements<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>TemplateList<span class="hl opt">&gt;</span>        reimplements<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>TemplateList<span class="hl opt">&gt;</span>        implementedBy<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberListContext<span class="hl opt">&gt;</span>   sourceRefs<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberListContext<span class="hl opt">&gt;</span>   sourceRefBys<span class="hl opt">;</span>
      ScopedPtr<span class="hl opt">&lt;</span>DotCallGraph<span class="hl opt">&gt;</span>        callGraph<span class="hl opt">;</span>
      ScopedPtr<span class="hl opt">&lt;</span>DotCallGraph<span class="hl opt">&gt;</span>        callerGraph<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberContext<span class="hl opt">&gt;</span>       anonymousMember<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>TemplateList<span class="hl opt">&gt;</span>        reimplementedBy<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>TemplateList<span class="hl opt">&gt;</span>        labels<span class="hl opt">;</span>
      TemplateVariant                initializer<span class="hl opt">;</span>
      <span class="hl kwb">bool</span>                           initializerParsed<span class="hl opt">;</span>
      TemplateVariant                sourceCode<span class="hl opt">;</span>
      <span class="hl kwb">bool</span>                           sourceCodeParsed<span class="hl opt">;</span>
      TemplateVariant                declArgs<span class="hl opt">;</span>
      <span class="hl kwb">bool</span>                           declArgsParsed<span class="hl opt">;</span>
      TemplateVariant                declType<span class="hl opt">;</span>
      <span class="hl kwb">bool</span>                           declTypeParsed<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>TemplateList<span class="hl opt">&gt;</span>        examples<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>TemplateList<span class="hl opt">&gt;</span>        exampleList<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>ArgumentListContext<span class="hl opt">&gt;</span> typeConstraints<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>TemplateList<span class="hl opt">&gt;</span>        propertyAttrs<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>TemplateList<span class="hl opt">&gt;</span>        eventAttrs<span class="hl opt">;</span>
    <span class="hl opt">};</span>
    Cachable <span class="hl opt">&amp;</span><span class="hl kwd">getCache</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      Cachable <span class="hl opt">*</span>c <span class="hl opt">=</span> <span class="hl kwa">static_cast</span><span class="hl opt">&lt;</span>Cachable<span class="hl opt">*&gt;(</span>m_memberDef<span class="hl opt">-&gt;</span><span class="hl kwd">cookie</span><span class="hl opt">());</span>
      <span class="hl kwa">assert</span><span class="hl opt">(</span>c<span class="hl opt">!=</span><span class="hl num">0</span><span class="hl opt">);</span>
      <span class="hl kwa">return</span> <span class="hl opt">*</span>c<span class="hl opt">;</span>
    <span class="hl opt">}</span>
    <span class="hl kwb">static</span> PropertyMapper<span class="hl opt">&lt;</span>MemberContext<span class="hl opt">::</span>Private<span class="hl opt">&gt;</span> s_inst<span class="hl opt">;</span>
<span class="hl opt">};</span>
<span class="hl slc">//%% }</span>

PropertyMapper<span class="hl opt">&lt;</span>MemberContext<span class="hl opt">::</span>Private<span class="hl opt">&gt;</span> MemberContext<span class="hl opt">::</span>Private<span class="hl opt">::</span>s_inst<span class="hl opt">;</span>

MemberContext<span class="hl opt">::</span><span class="hl kwd">MemberContext</span><span class="hl opt">(</span><span class="hl kwb">const</span> MemberDef <span class="hl opt">*</span>md<span class="hl opt">) :</span> <span class="hl kwd">RefCountedContext</span><span class="hl opt">(</span><span class="hl str">&quot;MemberContext&quot;</span><span class="hl opt">)</span>
<span class="hl opt">{</span>
  p <span class="hl opt">=</span> <span class="hl kwa">new</span> <span class="hl kwd">Private</span><span class="hl opt">(</span>md<span class="hl opt">);</span>
<span class="hl opt">}</span>

MemberContext<span class="hl opt">::~</span><span class="hl kwd">MemberContext</span><span class="hl opt">()</span>
<span class="hl opt">{</span>
  <span class="hl kwa">delete</span> p<span class="hl opt">;</span>
<span class="hl opt">}</span>

TemplateVariant MemberContext<span class="hl opt">::</span><span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwb">const char</span> <span class="hl opt">*</span>n<span class="hl opt">)</span> <span class="hl kwb">const</span>
<span class="hl opt">{</span>
  <span class="hl kwa">return</span> p<span class="hl opt">-&gt;</span><span class="hl kwd">get</span><span class="hl opt">(</span>n<span class="hl opt">);</span>
<span class="hl opt">}</span>


<span class="hl slc">//------------------------------------------------------------------------</span>

<span class="hl slc">//%% struct Module(Symbol): group information</span>
<span class="hl slc">//%% {</span>
<span class="hl kwc">class</span> ModuleContext<span class="hl opt">::</span>Private <span class="hl opt">:</span> <span class="hl kwc">public</span> DefinitionContext<span class="hl opt">&lt;</span>ModuleContext<span class="hl opt">::</span>Private<span class="hl opt">&gt;</span>
<span class="hl opt">{</span>
  <span class="hl kwc">public</span><span class="hl opt">:</span>
    <span class="hl kwd">Private</span><span class="hl opt">(</span><span class="hl kwb">const</span> GroupDef <span class="hl opt">*</span>gd<span class="hl opt">) :</span> DefinitionContext<span class="hl opt">&lt;</span>ModuleContext<span class="hl opt">::</span>Private<span class="hl opt">&gt;(</span>gd<span class="hl opt">) ,</span> <span class="hl kwd">m_groupDef</span><span class="hl opt">(</span>gd<span class="hl opt">)</span>
    <span class="hl opt">{</span>
      <span class="hl kwb">static bool</span> init<span class="hl opt">=</span>FALSE<span class="hl opt">;</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>init<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwd">addBaseProperties</span><span class="hl opt">(</span>s_inst<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;title&quot;</span><span class="hl opt">,                     &amp;</span>Private<span class="hl opt">::</span>title<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;highlight&quot;</span><span class="hl opt">,                 &amp;</span>Private<span class="hl opt">::</span>highlight<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;subhighlight&quot;</span><span class="hl opt">,              &amp;</span>Private<span class="hl opt">::</span>subHighlight<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;hasGroupGraph&quot;</span><span class="hl opt">,             &amp;</span>Private<span class="hl opt">::</span>hasGroupGraph<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;groupGraph&quot;</span><span class="hl opt">,                &amp;</span>Private<span class="hl opt">::</span>groupGraph<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;hasDetails&quot;</span><span class="hl opt">,                &amp;</span>Private<span class="hl opt">::</span>hasDetails<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;modules&quot;</span><span class="hl opt">,                   &amp;</span>Private<span class="hl opt">::</span>modules<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;dirs&quot;</span><span class="hl opt">,                      &amp;</span>Private<span class="hl opt">::</span>dirs<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;files&quot;</span><span class="hl opt">,                     &amp;</span>Private<span class="hl opt">::</span>files<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;namespaces&quot;</span><span class="hl opt">,                &amp;</span>Private<span class="hl opt">::</span>namespaces<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;classes&quot;</span><span class="hl opt">,                   &amp;</span>Private<span class="hl opt">::</span>classes<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;constantgroups&quot;</span><span class="hl opt">,            &amp;</span>Private<span class="hl opt">::</span>constantgroups<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;examples&quot;</span><span class="hl opt">,                  &amp;</span>Private<span class="hl opt">::</span>examples<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;macros&quot;</span><span class="hl opt">,                    &amp;</span>Private<span class="hl opt">::</span>macros<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;typedefs&quot;</span><span class="hl opt">,                  &amp;</span>Private<span class="hl opt">::</span>typedefs<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;enums&quot;</span><span class="hl opt">,                     &amp;</span>Private<span class="hl opt">::</span>enums<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;enumvalues&quot;</span><span class="hl opt">,                &amp;</span>Private<span class="hl opt">::</span>enumValues<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;functions&quot;</span><span class="hl opt">,                 &amp;</span>Private<span class="hl opt">::</span>functions<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;variables&quot;</span><span class="hl opt">,                 &amp;</span>Private<span class="hl opt">::</span>variables<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;signals&quot;</span><span class="hl opt">,                   &amp;</span>Private<span class="hl opt">::</span>signals<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;publicSlots&quot;</span><span class="hl opt">,               &amp;</span>Private<span class="hl opt">::</span>publicSlots<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;protectedSlots&quot;</span><span class="hl opt">,            &amp;</span>Private<span class="hl opt">::</span>protectedSlots<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;privateSlots&quot;</span><span class="hl opt">,              &amp;</span>Private<span class="hl opt">::</span>privateSlots<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;events&quot;</span><span class="hl opt">,                    &amp;</span>Private<span class="hl opt">::</span>events<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;properties&quot;</span><span class="hl opt">,                &amp;</span>Private<span class="hl opt">::</span>properties<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;friends&quot;</span><span class="hl opt">,                   &amp;</span>Private<span class="hl opt">::</span>friends<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;memberGroups&quot;</span><span class="hl opt">,              &amp;</span>Private<span class="hl opt">::</span>memberGroups<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;detailedMacros&quot;</span><span class="hl opt">,            &amp;</span>Private<span class="hl opt">::</span>detailedMacros<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;detailedTypedefs&quot;</span><span class="hl opt">,          &amp;</span>Private<span class="hl opt">::</span>detailedTypedefs<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;detailedEnums&quot;</span><span class="hl opt">,             &amp;</span>Private<span class="hl opt">::</span>detailedEnums<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;detailedEnumValues&quot;</span><span class="hl opt">,        &amp;</span>Private<span class="hl opt">::</span>detailedEnumValues<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;detailedFunctions&quot;</span><span class="hl opt">,         &amp;</span>Private<span class="hl opt">::</span>detailedFunctions<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;detailedVariables&quot;</span><span class="hl opt">,         &amp;</span>Private<span class="hl opt">::</span>detailedVariables<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;detailedSignals&quot;</span><span class="hl opt">,           &amp;</span>Private<span class="hl opt">::</span>detailedSignals<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;detailedPublicSlots&quot;</span><span class="hl opt">,       &amp;</span>Private<span class="hl opt">::</span>detailedPublicSlots<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;detailedProtectedSlots&quot;</span><span class="hl opt">,    &amp;</span>Private<span class="hl opt">::</span>detailedProtectedSlots<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;detailedPrivateSlots&quot;</span><span class="hl opt">,      &amp;</span>Private<span class="hl opt">::</span>detailedPrivateSlots<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;detailedEvents&quot;</span><span class="hl opt">,            &amp;</span>Private<span class="hl opt">::</span>detailedEvents<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;detailedProperties&quot;</span><span class="hl opt">,        &amp;</span>Private<span class="hl opt">::</span>detailedProperties<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;detailedFriends&quot;</span><span class="hl opt">,           &amp;</span>Private<span class="hl opt">::</span>detailedFriends<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;inlineClasses&quot;</span><span class="hl opt">,             &amp;</span>Private<span class="hl opt">::</span>inlineClasses<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;compoundType&quot;</span><span class="hl opt">,              &amp;</span>Private<span class="hl opt">::</span>compoundType<span class="hl opt">);</span>
        init<span class="hl opt">=</span>TRUE<span class="hl opt">;</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>gd<span class="hl opt">-&gt;</span><span class="hl kwd">cookie</span><span class="hl opt">()) {</span> gd<span class="hl opt">-&gt;</span><span class="hl kwd">setCookie</span><span class="hl opt">(</span><span class="hl kwa">new</span> ModuleContext<span class="hl opt">::</span>Private<span class="hl opt">::</span><span class="hl kwd">Cachable</span><span class="hl opt">(</span>gd<span class="hl opt">)); }</span>
    <span class="hl opt">}</span>
    <span class="hl kwc">virtual</span> <span class="hl opt">~</span><span class="hl kwd">Private</span><span class="hl opt">() {}</span>
    TemplateVariant <span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwb">const char</span> <span class="hl opt">*</span>n<span class="hl opt">)</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> s_inst<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwa">this</span><span class="hl opt">,</span>n<span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">title</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">TemplateVariant</span><span class="hl opt">(</span>m_groupDef<span class="hl opt">-&gt;</span><span class="hl kwd">groupTitle</span><span class="hl opt">());</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">highlight</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">TemplateVariant</span><span class="hl opt">(</span><span class="hl str">&quot;modules&quot;</span><span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">subHighlight</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">TemplateVariant</span><span class="hl opt">(</span><span class="hl str">&quot;&quot;</span><span class="hl opt">);</span>
    <span class="hl opt">}</span>
    DotGroupCollaboration <span class="hl opt">*</span><span class="hl kwd">getGroupGraph</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      Cachable <span class="hl opt">&amp;</span>cache <span class="hl opt">=</span> <span class="hl kwd">getCache</span><span class="hl opt">();</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>cache<span class="hl opt">.</span>groupGraph<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        cache<span class="hl opt">.</span>groupGraph<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span><span class="hl kwa">new</span> <span class="hl kwd">DotGroupCollaboration</span><span class="hl opt">(</span>m_groupDef<span class="hl opt">));</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> cache<span class="hl opt">.</span>groupGraph<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">hasGroupGraph</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwb">bool</span> result<span class="hl opt">=</span>FALSE<span class="hl opt">;</span>
      <span class="hl kwb">static bool</span> haveDot     <span class="hl opt">=</span> <span class="hl kwd">Config_getBool</span><span class="hl opt">(</span>HAVE_DOT<span class="hl opt">);</span>
      <span class="hl kwb">static bool</span> groupGraphs <span class="hl opt">=</span> <span class="hl kwd">Config_getBool</span><span class="hl opt">(</span>GROUP_GRAPHS<span class="hl opt">);</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>haveDot <span class="hl opt">&amp;&amp;</span> groupGraphs<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        DotGroupCollaboration <span class="hl opt">*</span>graph <span class="hl opt">=</span> <span class="hl kwd">getGroupGraph</span><span class="hl opt">();</span>
        result <span class="hl opt">= !</span>graph<span class="hl opt">-&gt;</span><span class="hl kwd">isTrivial</span><span class="hl opt">();</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> result<span class="hl opt">;</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">groupGraph</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      QGString result<span class="hl opt">;</span>
      <span class="hl kwb">static bool</span> haveDot     <span class="hl opt">=</span> <span class="hl kwd">Config_getBool</span><span class="hl opt">(</span>HAVE_DOT<span class="hl opt">);</span>
      <span class="hl kwb">static bool</span> groupGraphs <span class="hl opt">=</span> <span class="hl kwd">Config_getBool</span><span class="hl opt">(</span>GROUP_GRAPHS<span class="hl opt">);</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>haveDot <span class="hl opt">&amp;&amp;</span> groupGraphs<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        DotGroupCollaboration <span class="hl opt">*</span>graph <span class="hl opt">=</span> <span class="hl kwd">getGroupGraph</span><span class="hl opt">();</span>
        FTextStream <span class="hl kwd">t</span><span class="hl opt">(&amp;</span>result<span class="hl opt">);</span>
        <span class="hl kwa">switch</span> <span class="hl opt">(</span>g_globals<span class="hl opt">.</span>outputFormat<span class="hl opt">)</span>
        <span class="hl opt">{</span>
          <span class="hl kwa">case</span> ContextOutputFormat_Html<span class="hl opt">:</span>
            <span class="hl opt">{</span>
              graph<span class="hl opt">-&gt;</span><span class="hl kwd">writeGraph</span><span class="hl opt">(</span>t<span class="hl opt">,</span>GOF_BITMAP<span class="hl opt">,</span>
                                EOF_Html<span class="hl opt">,</span>
                                g_globals<span class="hl opt">.</span>outputDir<span class="hl opt">,</span>
                                g_globals<span class="hl opt">.</span>outputDir<span class="hl opt">+</span>Portable<span class="hl opt">::</span><span class="hl kwd">pathSeparator</span><span class="hl opt">()+</span>m_groupDef<span class="hl opt">-&gt;</span><span class="hl kwd">getOutputFileBase</span><span class="hl opt">()+</span>Doxygen<span class="hl opt">::</span>htmlFileExtension<span class="hl opt">,</span>
                                <span class="hl kwd">relPathAsString</span><span class="hl opt">(),</span>
                                TRUE<span class="hl opt">,</span>
                                g_globals<span class="hl opt">.</span>dynSectionId<span class="hl opt">);</span>
            <span class="hl opt">}</span>
            <span class="hl kwa">break</span><span class="hl opt">;</span>
          <span class="hl kwa">case</span> ContextOutputFormat_Latex<span class="hl opt">:</span>
            <span class="hl opt">{</span>
              graph<span class="hl opt">-&gt;</span><span class="hl kwd">writeGraph</span><span class="hl opt">(</span>t<span class="hl opt">,</span>GOF_EPS<span class="hl opt">,</span>
                                EOF_LaTeX<span class="hl opt">,</span>
                                g_globals<span class="hl opt">.</span>outputDir<span class="hl opt">,</span>
                                g_globals<span class="hl opt">.</span>outputDir<span class="hl opt">+</span>Portable<span class="hl opt">::</span><span class="hl kwd">pathSeparator</span><span class="hl opt">()+</span>m_groupDef<span class="hl opt">-&gt;</span><span class="hl kwd">getOutputFileBase</span><span class="hl opt">()+</span><span class="hl str">&quot;.tex&quot;</span><span class="hl opt">,</span>
                                <span class="hl kwd">relPathAsString</span><span class="hl opt">(),</span>
                                TRUE<span class="hl opt">,</span>
                                g_globals<span class="hl opt">.</span>dynSectionId<span class="hl opt">);</span>
            <span class="hl opt">}</span>
            <span class="hl kwa">break</span><span class="hl opt">;</span>
            <span class="hl slc">// TODO: support other generators</span>
          <span class="hl kwa">default</span><span class="hl opt">:</span>
            <span class="hl kwd">err</span><span class="hl opt">(</span><span class="hl str">&quot;context.cpp: output format not yet supported&quot;</span><span class="hl opt">);</span>
            <span class="hl kwa">break</span><span class="hl opt">;</span>
        <span class="hl opt">}</span>
        g_globals<span class="hl opt">.</span>dynSectionId<span class="hl opt">++;</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> <span class="hl kwd">TemplateVariant</span><span class="hl opt">(</span>result<span class="hl opt">.</span><span class="hl kwd">data</span><span class="hl opt">(),</span>TRUE<span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">hasDetails</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_groupDef<span class="hl opt">-&gt;</span><span class="hl kwd">hasDetailedDescription</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">modules</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      Cachable <span class="hl opt">&amp;</span>cache <span class="hl opt">=</span> <span class="hl kwd">getCache</span><span class="hl opt">();</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>cache<span class="hl opt">.</span>modules<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        TemplateList <span class="hl opt">*</span>moduleList <span class="hl opt">=</span> TemplateList<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">();</span>
        <span class="hl kwa">if</span> <span class="hl opt">(</span>m_groupDef<span class="hl opt">-&gt;</span><span class="hl kwd">getSubGroups</span><span class="hl opt">())</span>
        <span class="hl opt">{</span>
          GroupListIterator <span class="hl kwd">gli</span><span class="hl opt">(*</span>m_groupDef<span class="hl opt">-&gt;</span><span class="hl kwd">getSubGroups</span><span class="hl opt">());</span>
          <span class="hl kwb">const</span> GroupDef <span class="hl opt">*</span>gd<span class="hl opt">;</span>
          <span class="hl kwa">for</span> <span class="hl opt">(</span>gli<span class="hl opt">.</span><span class="hl kwd">toFirst</span><span class="hl opt">();(</span>gd<span class="hl opt">=</span>gli<span class="hl opt">.</span><span class="hl kwd">current</span><span class="hl opt">());++</span>gli<span class="hl opt">)</span>
          <span class="hl opt">{</span>
            <span class="hl kwa">if</span> <span class="hl opt">(</span>gd<span class="hl opt">-&gt;</span><span class="hl kwd">isVisible</span><span class="hl opt">())</span>
            <span class="hl opt">{</span>
              moduleList<span class="hl opt">-&gt;</span><span class="hl kwd">append</span><span class="hl opt">(</span>ModuleContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>gd<span class="hl opt">));</span>
            <span class="hl opt">}</span>
          <span class="hl opt">}</span>
        <span class="hl opt">}</span>
        cache<span class="hl opt">.</span>modules<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>moduleList<span class="hl opt">);</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> cache<span class="hl opt">.</span>modules<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">examples</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      Cachable <span class="hl opt">&amp;</span>cache <span class="hl opt">=</span> <span class="hl kwd">getCache</span><span class="hl opt">();</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>cache<span class="hl opt">.</span>examples<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        TemplateList <span class="hl opt">*</span>exampleList <span class="hl opt">=</span> TemplateList<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">();</span>
        <span class="hl kwa">if</span> <span class="hl opt">(</span>m_groupDef<span class="hl opt">-&gt;</span><span class="hl kwd">getExamples</span><span class="hl opt">())</span>
        <span class="hl opt">{</span>
          PageSDict<span class="hl opt">::</span>Iterator <span class="hl kwd">eli</span><span class="hl opt">(*</span>m_groupDef<span class="hl opt">-&gt;</span><span class="hl kwd">getExamples</span><span class="hl opt">());</span>
          <span class="hl kwb">const</span> PageDef <span class="hl opt">*</span>ex<span class="hl opt">;</span>
          <span class="hl kwa">for</span> <span class="hl opt">(</span>eli<span class="hl opt">.</span><span class="hl kwd">toFirst</span><span class="hl opt">();(</span>ex<span class="hl opt">=</span>eli<span class="hl opt">.</span><span class="hl kwd">current</span><span class="hl opt">());++</span>eli<span class="hl opt">)</span>
          <span class="hl opt">{</span>
            exampleList<span class="hl opt">-&gt;</span><span class="hl kwd">append</span><span class="hl opt">(</span>PageContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>ex<span class="hl opt">,</span>FALSE<span class="hl opt">,</span>TRUE<span class="hl opt">));</span>
          <span class="hl opt">}</span>
        <span class="hl opt">}</span>
        cache<span class="hl opt">.</span>examples<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>exampleList<span class="hl opt">);</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> cache<span class="hl opt">.</span>examples<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">pages</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      Cachable <span class="hl opt">&amp;</span>cache <span class="hl opt">=</span> <span class="hl kwd">getCache</span><span class="hl opt">();</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>cache<span class="hl opt">.</span>pages<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        TemplateList <span class="hl opt">*</span>pageList <span class="hl opt">=</span> TemplateList<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">();</span>
        <span class="hl kwa">if</span> <span class="hl opt">(</span>m_groupDef<span class="hl opt">-&gt;</span><span class="hl kwd">getExamples</span><span class="hl opt">())</span>
        <span class="hl opt">{</span>
          PageSDict<span class="hl opt">::</span>Iterator <span class="hl kwd">eli</span><span class="hl opt">(*</span>m_groupDef<span class="hl opt">-&gt;</span><span class="hl kwd">getPages</span><span class="hl opt">());</span>
          <span class="hl kwb">const</span> PageDef <span class="hl opt">*</span>ex<span class="hl opt">;</span>
          <span class="hl kwa">for</span> <span class="hl opt">(</span>eli<span class="hl opt">.</span><span class="hl kwd">toFirst</span><span class="hl opt">();(</span>ex<span class="hl opt">=</span>eli<span class="hl opt">.</span><span class="hl kwd">current</span><span class="hl opt">());++</span>eli<span class="hl opt">)</span>
          <span class="hl opt">{</span>
            pageList<span class="hl opt">-&gt;</span><span class="hl kwd">append</span><span class="hl opt">(</span>PageContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>ex<span class="hl opt">,</span>FALSE<span class="hl opt">,</span>TRUE<span class="hl opt">));</span>
          <span class="hl opt">}</span>
        <span class="hl opt">}</span>
        cache<span class="hl opt">.</span>pages<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>pageList<span class="hl opt">);</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> cache<span class="hl opt">.</span>pages<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">dirs</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      Cachable <span class="hl opt">&amp;</span>cache <span class="hl opt">=</span> <span class="hl kwd">getCache</span><span class="hl opt">();</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>cache<span class="hl opt">.</span>dirs<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        TemplateList <span class="hl opt">*</span>dirList <span class="hl opt">=</span> TemplateList<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">();</span>
        <span class="hl kwa">for</span><span class="hl opt">(</span><span class="hl kwb">const</span> <span class="hl kwc">auto</span> dd <span class="hl opt">:</span> m_groupDef<span class="hl opt">-&gt;</span><span class="hl kwd">getDirs</span><span class="hl opt">())</span>
        <span class="hl opt">{</span>
          dirList<span class="hl opt">-&gt;</span><span class="hl kwd">append</span><span class="hl opt">(</span>DirContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>dd<span class="hl opt">));</span>
        <span class="hl opt">}</span>
        cache<span class="hl opt">.</span>dirs<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>dirList<span class="hl opt">);</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> cache<span class="hl opt">.</span>dirs<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">files</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      Cachable <span class="hl opt">&amp;</span>cache <span class="hl opt">=</span> <span class="hl kwd">getCache</span><span class="hl opt">();</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>cache<span class="hl opt">.</span>files<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        TemplateList <span class="hl opt">*</span>fileList <span class="hl opt">=</span> TemplateList<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">();</span>
        <span class="hl kwa">if</span> <span class="hl opt">(</span>m_groupDef<span class="hl opt">-&gt;</span><span class="hl kwd">getFiles</span><span class="hl opt">())</span>
        <span class="hl opt">{</span>
          QListIterator<span class="hl opt">&lt;</span>FileDef<span class="hl opt">&gt;</span> <span class="hl kwd">it</span><span class="hl opt">(*</span>m_groupDef<span class="hl opt">-&gt;</span><span class="hl kwd">getFiles</span><span class="hl opt">());</span>
          <span class="hl kwb">const</span> FileDef <span class="hl opt">*</span>fd<span class="hl opt">;</span>
          <span class="hl kwa">for</span> <span class="hl opt">(</span>it<span class="hl opt">.</span><span class="hl kwd">toFirst</span><span class="hl opt">();(</span>fd<span class="hl opt">=</span>it<span class="hl opt">.</span><span class="hl kwd">current</span><span class="hl opt">());++</span>it<span class="hl opt">)</span>
          <span class="hl opt">{</span>
            fileList<span class="hl opt">-&gt;</span><span class="hl kwd">append</span><span class="hl opt">(</span>FileContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>fd<span class="hl opt">));</span>
          <span class="hl opt">}</span>
        <span class="hl opt">}</span>
        cache<span class="hl opt">.</span>files<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>fileList<span class="hl opt">);</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> cache<span class="hl opt">.</span>files<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">classes</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      Cachable <span class="hl opt">&amp;</span>cache <span class="hl opt">=</span> <span class="hl kwd">getCache</span><span class="hl opt">();</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>cache<span class="hl opt">.</span>classes<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        TemplateList <span class="hl opt">*</span>classList <span class="hl opt">=</span> TemplateList<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">();</span>
        <span class="hl kwa">if</span> <span class="hl opt">(</span>m_groupDef<span class="hl opt">-&gt;</span><span class="hl kwd">getClasses</span><span class="hl opt">())</span>
        <span class="hl opt">{</span>
          ClassSDict<span class="hl opt">::</span>Iterator <span class="hl kwd">sdi</span><span class="hl opt">(*</span>m_groupDef<span class="hl opt">-&gt;</span><span class="hl kwd">getClasses</span><span class="hl opt">());</span>
          <span class="hl kwb">const</span> ClassDef <span class="hl opt">*</span>cd<span class="hl opt">;</span>
          <span class="hl kwa">for</span> <span class="hl opt">(</span>sdi<span class="hl opt">.</span><span class="hl kwd">toFirst</span><span class="hl opt">();(</span>cd<span class="hl opt">=</span>sdi<span class="hl opt">.</span><span class="hl kwd">current</span><span class="hl opt">());++</span>sdi<span class="hl opt">)</span>
          <span class="hl opt">{</span>
            <span class="hl kwa">if</span> <span class="hl opt">(</span>cd<span class="hl opt">-&gt;</span><span class="hl kwd">visibleInParentsDeclList</span><span class="hl opt">())</span>
            <span class="hl opt">{</span>
              classList<span class="hl opt">-&gt;</span><span class="hl kwd">append</span><span class="hl opt">(</span>ClassContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>cd<span class="hl opt">));</span>
            <span class="hl opt">}</span>
          <span class="hl opt">}</span>
        <span class="hl opt">}</span>
        cache<span class="hl opt">.</span>classes<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>classList<span class="hl opt">);</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> cache<span class="hl opt">.</span>classes<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">namespaces</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      Cachable <span class="hl opt">&amp;</span>cache <span class="hl opt">=</span> <span class="hl kwd">getCache</span><span class="hl opt">();</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>cache<span class="hl opt">.</span>namespaces<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        TemplateList <span class="hl opt">*</span>namespaceList <span class="hl opt">=</span> TemplateList<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">();</span>
        <span class="hl kwa">if</span> <span class="hl opt">(</span>m_groupDef<span class="hl opt">-&gt;</span><span class="hl kwd">getNamespaces</span><span class="hl opt">())</span>
        <span class="hl opt">{</span>
          NamespaceSDict<span class="hl opt">::</span>Iterator <span class="hl kwd">sdi</span><span class="hl opt">(*</span>m_groupDef<span class="hl opt">-&gt;</span><span class="hl kwd">getNamespaces</span><span class="hl opt">());</span>
          <span class="hl kwb">const</span> NamespaceDef <span class="hl opt">*</span>nd<span class="hl opt">;</span>
          <span class="hl kwa">for</span> <span class="hl opt">(</span>sdi<span class="hl opt">.</span><span class="hl kwd">toFirst</span><span class="hl opt">();(</span>nd<span class="hl opt">=</span>sdi<span class="hl opt">.</span><span class="hl kwd">current</span><span class="hl opt">());++</span>sdi<span class="hl opt">)</span>
          <span class="hl opt">{</span>
            <span class="hl kwa">if</span> <span class="hl opt">(</span>nd<span class="hl opt">-&gt;</span><span class="hl kwd">isLinkable</span><span class="hl opt">() &amp;&amp; !</span>nd<span class="hl opt">-&gt;</span><span class="hl kwd">isConstantGroup</span><span class="hl opt">())</span>
            <span class="hl opt">{</span>
              namespaceList<span class="hl opt">-&gt;</span><span class="hl kwd">append</span><span class="hl opt">(</span>NamespaceContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>nd<span class="hl opt">));</span>
            <span class="hl opt">}</span>
          <span class="hl opt">}</span>
        <span class="hl opt">}</span>
        cache<span class="hl opt">.</span>namespaces<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>namespaceList<span class="hl opt">);</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> cache<span class="hl opt">.</span>namespaces<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">constantgroups</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      Cachable <span class="hl opt">&amp;</span>cache <span class="hl opt">=</span> <span class="hl kwd">getCache</span><span class="hl opt">();</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>cache<span class="hl opt">.</span>constantgroups<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        TemplateList <span class="hl opt">*</span>namespaceList <span class="hl opt">=</span> TemplateList<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">();</span>
        <span class="hl kwa">if</span> <span class="hl opt">(</span>m_groupDef<span class="hl opt">-&gt;</span><span class="hl kwd">getNamespaces</span><span class="hl opt">())</span>
        <span class="hl opt">{</span>
          NamespaceSDict<span class="hl opt">::</span>Iterator <span class="hl kwd">sdi</span><span class="hl opt">(*</span>m_groupDef<span class="hl opt">-&gt;</span><span class="hl kwd">getNamespaces</span><span class="hl opt">());</span>
          NamespaceDef <span class="hl opt">*</span>nd<span class="hl opt">;</span>
          <span class="hl kwa">for</span> <span class="hl opt">(</span>sdi<span class="hl opt">.</span><span class="hl kwd">toFirst</span><span class="hl opt">();(</span>nd<span class="hl opt">=</span>sdi<span class="hl opt">.</span><span class="hl kwd">current</span><span class="hl opt">());++</span>sdi<span class="hl opt">)</span>
          <span class="hl opt">{</span>
            <span class="hl kwa">if</span> <span class="hl opt">(</span>nd<span class="hl opt">-&gt;</span><span class="hl kwd">isLinkable</span><span class="hl opt">() &amp;&amp;</span> nd<span class="hl opt">-&gt;</span><span class="hl kwd">isConstantGroup</span><span class="hl opt">())</span>
            <span class="hl opt">{</span>
              namespaceList<span class="hl opt">-&gt;</span><span class="hl kwd">append</span><span class="hl opt">(</span>NamespaceContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>nd<span class="hl opt">));</span>
            <span class="hl opt">}</span>
          <span class="hl opt">}</span>
        <span class="hl opt">}</span>
        cache<span class="hl opt">.</span>constantgroups<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>namespaceList<span class="hl opt">);</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> cache<span class="hl opt">.</span>constantgroups<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>

    TemplateVariant <span class="hl kwd">getMemberList</span><span class="hl opt">(</span>SharedPtr<span class="hl opt">&lt;</span>MemberListInfoContext<span class="hl opt">&gt; &amp;</span>list<span class="hl opt">,</span>
                                  MemberListType type<span class="hl opt">,</span><span class="hl kwb">const char</span> <span class="hl opt">*</span>title<span class="hl opt">,</span><span class="hl kwb">bool</span><span class="hl opt">=</span>FALSE<span class="hl opt">)</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>list<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        MemberList <span class="hl opt">*</span>ml <span class="hl opt">=</span> m_groupDef<span class="hl opt">-&gt;</span><span class="hl kwd">getMemberList</span><span class="hl opt">(</span>type<span class="hl opt">);</span>
        <span class="hl kwa">if</span> <span class="hl opt">(</span>ml<span class="hl opt">)</span>
        <span class="hl opt">{</span>
          list<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>MemberListInfoContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>m_groupDef<span class="hl opt">,</span><span class="hl kwd">relPathAsString</span><span class="hl opt">(),</span>ml<span class="hl opt">,</span>title<span class="hl opt">,</span><span class="hl str">&quot;&quot;</span><span class="hl opt">));</span>
        <span class="hl opt">}</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>list<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> list<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">else</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> <span class="hl kwd">TemplateVariant</span><span class="hl opt">(</span>FALSE<span class="hl opt">);</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">macros</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMemberList</span><span class="hl opt">(</span><span class="hl kwd">getCache</span><span class="hl opt">().</span>macros<span class="hl opt">,</span>MemberListType_decDefineMembers<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trDefines</span><span class="hl opt">());</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">typedefs</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMemberList</span><span class="hl opt">(</span><span class="hl kwd">getCache</span><span class="hl opt">().</span>typedefs<span class="hl opt">,</span>MemberListType_decTypedefMembers<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trTypedefs</span><span class="hl opt">());</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">enums</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMemberList</span><span class="hl opt">(</span><span class="hl kwd">getCache</span><span class="hl opt">().</span>enums<span class="hl opt">,</span>MemberListType_decEnumMembers<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trEnumerations</span><span class="hl opt">());</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">enumValues</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMemberList</span><span class="hl opt">(</span><span class="hl kwd">getCache</span><span class="hl opt">().</span>enums<span class="hl opt">,</span>MemberListType_decEnumValMembers<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trEnumerationValues</span><span class="hl opt">());</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">functions</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      QCString title <span class="hl opt">=</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trFunctions</span><span class="hl opt">();</span>
      SrcLangExt lang <span class="hl opt">=</span> m_groupDef<span class="hl opt">-&gt;</span><span class="hl kwd">getLanguage</span><span class="hl opt">();</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>lang<span class="hl opt">==</span>SrcLangExt_Fortran<span class="hl opt">)</span> title<span class="hl opt">=</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trSubprograms</span><span class="hl opt">();</span>
      <span class="hl kwa">else if</span> <span class="hl opt">(</span>lang<span class="hl opt">==</span>SrcLangExt_VHDL<span class="hl opt">)</span> title<span class="hl opt">=</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trFunctionAndProc</span><span class="hl opt">();</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMemberList</span><span class="hl opt">(</span><span class="hl kwd">getCache</span><span class="hl opt">().</span>functions<span class="hl opt">,</span>MemberListType_decFuncMembers<span class="hl opt">,</span>title<span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">variables</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwb">static bool</span> sliceOpt   <span class="hl opt">=</span> <span class="hl kwd">Config_getBool</span><span class="hl opt">(</span>OPTIMIZE_OUTPUT_SLICE<span class="hl opt">);</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMemberList</span><span class="hl opt">(</span><span class="hl kwd">getCache</span><span class="hl opt">().</span>variables<span class="hl opt">,</span>MemberListType_decVarMembers<span class="hl opt">,</span>
                           sliceOpt ? theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trConstants</span><span class="hl opt">() :</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trVariables</span><span class="hl opt">());</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">signals</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMemberList</span><span class="hl opt">(</span><span class="hl kwd">getCache</span><span class="hl opt">().</span>signals<span class="hl opt">,</span>MemberListType_signals<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trSignals</span><span class="hl opt">());</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">publicSlots</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMemberList</span><span class="hl opt">(</span><span class="hl kwd">getCache</span><span class="hl opt">().</span>publicSlots<span class="hl opt">,</span>MemberListType_pubSlots<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trPublicSlots</span><span class="hl opt">());</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">protectedSlots</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMemberList</span><span class="hl opt">(</span><span class="hl kwd">getCache</span><span class="hl opt">().</span>protectedSlots<span class="hl opt">,</span>MemberListType_proSlots<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trProtectedSlots</span><span class="hl opt">());</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">privateSlots</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMemberList</span><span class="hl opt">(</span><span class="hl kwd">getCache</span><span class="hl opt">().</span>privateSlots<span class="hl opt">,</span>MemberListType_priSlots<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trPrivateSlots</span><span class="hl opt">());</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">events</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMemberList</span><span class="hl opt">(</span><span class="hl kwd">getCache</span><span class="hl opt">().</span>events<span class="hl opt">,</span>MemberListType_events<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trEvents</span><span class="hl opt">());</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">properties</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMemberList</span><span class="hl opt">(</span><span class="hl kwd">getCache</span><span class="hl opt">().</span>properties<span class="hl opt">,</span>MemberListType_properties<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trProperties</span><span class="hl opt">());</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">friends</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMemberList</span><span class="hl opt">(</span><span class="hl kwd">getCache</span><span class="hl opt">().</span>friends<span class="hl opt">,</span>MemberListType_friends<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trFriends</span><span class="hl opt">());</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">memberGroups</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      Cachable <span class="hl opt">&amp;</span>cache <span class="hl opt">=</span> <span class="hl kwd">getCache</span><span class="hl opt">();</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>cache<span class="hl opt">.</span>memberGroups<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">if</span> <span class="hl opt">(</span>m_groupDef<span class="hl opt">-&gt;</span><span class="hl kwd">getMemberGroupSDict</span><span class="hl opt">())</span>
        <span class="hl opt">{</span>
          cache<span class="hl opt">.</span>memberGroups<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>MemberGroupListContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>m_groupDef<span class="hl opt">,</span><span class="hl kwd">relPathAsString</span><span class="hl opt">(),</span>m_groupDef<span class="hl opt">-&gt;</span><span class="hl kwd">getMemberGroupSDict</span><span class="hl opt">(),</span>m_groupDef<span class="hl opt">-&gt;</span><span class="hl kwd">subGrouping</span><span class="hl opt">()));</span>
        <span class="hl opt">}</span>
        <span class="hl kwa">else</span>
        <span class="hl opt">{</span>
          cache<span class="hl opt">.</span>memberGroups<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>MemberGroupListContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">());</span>
        <span class="hl opt">}</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> cache<span class="hl opt">.</span>memberGroups<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">detailedMacros</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMemberList</span><span class="hl opt">(</span><span class="hl kwd">getCache</span><span class="hl opt">().</span>detailedMacros<span class="hl opt">,</span>MemberListType_docDefineMembers<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trDefineDocumentation</span><span class="hl opt">());</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">detailedTypedefs</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMemberList</span><span class="hl opt">(</span><span class="hl kwd">getCache</span><span class="hl opt">().</span>detailedTypedefs<span class="hl opt">,</span>MemberListType_docTypedefMembers<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trTypedefDocumentation</span><span class="hl opt">());</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">detailedEnums</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMemberList</span><span class="hl opt">(</span><span class="hl kwd">getCache</span><span class="hl opt">().</span>detailedEnums<span class="hl opt">,</span>MemberListType_docEnumMembers<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trEnumerationTypeDocumentation</span><span class="hl opt">());</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">detailedEnumValues</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMemberList</span><span class="hl opt">(</span><span class="hl kwd">getCache</span><span class="hl opt">().</span>detailedEnumValues<span class="hl opt">,</span>MemberListType_docEnumValMembers<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trEnumerationValueDocumentation</span><span class="hl opt">());</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">detailedFunctions</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      QCString title <span class="hl opt">=</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trFunctionDocumentation</span><span class="hl opt">();</span>
      SrcLangExt lang <span class="hl opt">=</span> m_groupDef<span class="hl opt">-&gt;</span><span class="hl kwd">getLanguage</span><span class="hl opt">();</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>lang<span class="hl opt">==</span>SrcLangExt_Fortran<span class="hl opt">)</span> title<span class="hl opt">=</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trSubprogramDocumentation</span><span class="hl opt">();</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMemberList</span><span class="hl opt">(</span><span class="hl kwd">getCache</span><span class="hl opt">().</span>detailedFunctions<span class="hl opt">,</span>MemberListType_docFuncMembers<span class="hl opt">,</span>title<span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">detailedVariables</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMemberList</span><span class="hl opt">(</span><span class="hl kwd">getCache</span><span class="hl opt">().</span>detailedVariables<span class="hl opt">,</span>MemberListType_docVarMembers<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trVariableDocumentation</span><span class="hl opt">());</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">detailedSignals</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMemberList</span><span class="hl opt">(</span><span class="hl kwd">getCache</span><span class="hl opt">().</span>detailedSignals<span class="hl opt">,</span>MemberListType_docSignalMembers<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trSignals</span><span class="hl opt">());</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">detailedPublicSlots</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMemberList</span><span class="hl opt">(</span><span class="hl kwd">getCache</span><span class="hl opt">().</span>detailedPublicSlots<span class="hl opt">,</span>MemberListType_docPubSlotMembers<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trPublicSlots</span><span class="hl opt">());</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">detailedProtectedSlots</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMemberList</span><span class="hl opt">(</span><span class="hl kwd">getCache</span><span class="hl opt">().</span>detailedProtectedSlots<span class="hl opt">,</span>MemberListType_docProSlotMembers<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trProtectedSlots</span><span class="hl opt">());</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">detailedPrivateSlots</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMemberList</span><span class="hl opt">(</span><span class="hl kwd">getCache</span><span class="hl opt">().</span>detailedPrivateSlots<span class="hl opt">,</span>MemberListType_docPriSlotMembers<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trPrivateSlots</span><span class="hl opt">());</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">detailedEvents</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMemberList</span><span class="hl opt">(</span><span class="hl kwd">getCache</span><span class="hl opt">().</span>detailedEvents<span class="hl opt">,</span>MemberListType_docEventMembers<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trEventDocumentation</span><span class="hl opt">(),</span>TRUE<span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">detailedProperties</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMemberList</span><span class="hl opt">(</span><span class="hl kwd">getCache</span><span class="hl opt">().</span>detailedProperties<span class="hl opt">,</span>MemberListType_docPropMembers<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trPropertyDocumentation</span><span class="hl opt">(),</span>TRUE<span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">detailedFriends</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMemberList</span><span class="hl opt">(</span><span class="hl kwd">getCache</span><span class="hl opt">().</span>detailedFriends<span class="hl opt">,</span>MemberListType_docFriendMembers<span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trFriends</span><span class="hl opt">(),</span>TRUE<span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">inlineClasses</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      Cachable <span class="hl opt">&amp;</span>cache <span class="hl opt">=</span> <span class="hl kwd">getCache</span><span class="hl opt">();</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>cache<span class="hl opt">.</span>inlineClasses<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        TemplateList <span class="hl opt">*</span>classList <span class="hl opt">=</span> TemplateList<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">();</span>
        <span class="hl kwa">if</span> <span class="hl opt">(</span>m_groupDef<span class="hl opt">-&gt;</span><span class="hl kwd">getClasses</span><span class="hl opt">())</span>
        <span class="hl opt">{</span>
          ClassSDict<span class="hl opt">::</span>Iterator <span class="hl kwd">sdi</span><span class="hl opt">(*</span>m_groupDef<span class="hl opt">-&gt;</span><span class="hl kwd">getClasses</span><span class="hl opt">());</span>
          <span class="hl kwb">const</span> ClassDef <span class="hl opt">*</span>cd<span class="hl opt">;</span>
          <span class="hl kwa">for</span> <span class="hl opt">(</span>sdi<span class="hl opt">.</span><span class="hl kwd">toFirst</span><span class="hl opt">();(</span>cd<span class="hl opt">=</span>sdi<span class="hl opt">.</span><span class="hl kwd">current</span><span class="hl opt">());++</span>sdi<span class="hl opt">)</span>
          <span class="hl opt">{</span>
            <span class="hl kwa">if</span> <span class="hl opt">(!</span>cd<span class="hl opt">-&gt;</span><span class="hl kwd">isAnonymous</span><span class="hl opt">() &amp;&amp;</span>
                cd<span class="hl opt">-&gt;</span><span class="hl kwd">isLinkableInProject</span><span class="hl opt">() &amp;&amp;</span>
                cd<span class="hl opt">-&gt;</span><span class="hl kwd">isEmbeddedInOuterScope</span><span class="hl opt">() &amp;&amp;</span>
                cd<span class="hl opt">-&gt;</span><span class="hl kwd">partOfGroups</span><span class="hl opt">()==</span><span class="hl num">0</span><span class="hl opt">)</span>
            <span class="hl opt">{</span>
              classList<span class="hl opt">-&gt;</span><span class="hl kwd">append</span><span class="hl opt">(</span>ClassContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>cd<span class="hl opt">));</span>
            <span class="hl opt">}</span>
          <span class="hl opt">}</span>
        <span class="hl opt">}</span>
        cache<span class="hl opt">.</span>inlineClasses<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>classList<span class="hl opt">);</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> cache<span class="hl opt">.</span>inlineClasses<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">compoundType</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl str">&quot;module&quot;</span><span class="hl opt">;</span> <span class="hl slc">//theTranslator-&gt;trGroup(FALSE,TRUE);</span>
    <span class="hl opt">}</span>
  <span class="hl kwc">private</span><span class="hl opt">:</span>
    <span class="hl kwb">const</span> GroupDef <span class="hl opt">*</span>m_groupDef<span class="hl opt">;</span>
    <span class="hl kwb">struct</span> Cachable <span class="hl opt">:</span> <span class="hl kwc">public</span> DefinitionContext<span class="hl opt">&lt;</span>ModuleContext<span class="hl opt">::</span>Private<span class="hl opt">&gt;::</span>Cachable
    <span class="hl opt">{</span>
      <span class="hl kwd">Cachable</span><span class="hl opt">(</span><span class="hl kwb">const</span> GroupDef <span class="hl opt">*</span>gd<span class="hl opt">) :</span> DefinitionContext<span class="hl opt">&lt;</span>ModuleContext<span class="hl opt">::</span>Private<span class="hl opt">&gt;::</span><span class="hl kwd">Cachable</span><span class="hl opt">(</span>gd<span class="hl opt">) {}</span>
      SharedPtr<span class="hl opt">&lt;</span>TemplateList<span class="hl opt">&gt;</span>               modules<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>TemplateList<span class="hl opt">&gt;</span>               dirs<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>TemplateList<span class="hl opt">&gt;</span>               files<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>TemplateList<span class="hl opt">&gt;</span>               classes<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>TemplateList<span class="hl opt">&gt;</span>               namespaces<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>TemplateList<span class="hl opt">&gt;</span>               constantgroups<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>TemplateList<span class="hl opt">&gt;</span>               examples<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>TemplateList<span class="hl opt">&gt;</span>               pages<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberListInfoContext<span class="hl opt">&gt;</span>      macros<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberListInfoContext<span class="hl opt">&gt;</span>      typedefs<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberListInfoContext<span class="hl opt">&gt;</span>      enums<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberListInfoContext<span class="hl opt">&gt;</span>      enumValues<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberListInfoContext<span class="hl opt">&gt;</span>      functions<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberListInfoContext<span class="hl opt">&gt;</span>      variables<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberListInfoContext<span class="hl opt">&gt;</span>      signals<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberListInfoContext<span class="hl opt">&gt;</span>      publicSlots<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberListInfoContext<span class="hl opt">&gt;</span>      protectedSlots<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberListInfoContext<span class="hl opt">&gt;</span>      privateSlots<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberListInfoContext<span class="hl opt">&gt;</span>      events<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberListInfoContext<span class="hl opt">&gt;</span>      properties<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberListInfoContext<span class="hl opt">&gt;</span>      friends<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberGroupListContext<span class="hl opt">&gt;</span>     memberGroups<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberListInfoContext<span class="hl opt">&gt;</span>      detailedMacros<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberListInfoContext<span class="hl opt">&gt;</span>      detailedTypedefs<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberListInfoContext<span class="hl opt">&gt;</span>      detailedEnums<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberListInfoContext<span class="hl opt">&gt;</span>      detailedEnumValues<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberListInfoContext<span class="hl opt">&gt;</span>      detailedFunctions<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberListInfoContext<span class="hl opt">&gt;</span>      detailedVariables<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberListInfoContext<span class="hl opt">&gt;</span>      detailedSignals<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberListInfoContext<span class="hl opt">&gt;</span>      detailedPublicSlots<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberListInfoContext<span class="hl opt">&gt;</span>      detailedProtectedSlots<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberListInfoContext<span class="hl opt">&gt;</span>      detailedPrivateSlots<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberListInfoContext<span class="hl opt">&gt;</span>      detailedEvents<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberListInfoContext<span class="hl opt">&gt;</span>      detailedProperties<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberListInfoContext<span class="hl opt">&gt;</span>      detailedFriends<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>TemplateList<span class="hl opt">&gt;</span>               inlineClasses<span class="hl opt">;</span>
      ScopedPtr<span class="hl opt">&lt;</span>DotGroupCollaboration<span class="hl opt">&gt;</span>      groupGraph<span class="hl opt">;</span>
    <span class="hl opt">};</span>
    Cachable <span class="hl opt">&amp;</span><span class="hl kwd">getCache</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      Cachable <span class="hl opt">*</span>c <span class="hl opt">=</span> <span class="hl kwa">static_cast</span><span class="hl opt">&lt;</span>Cachable<span class="hl opt">*&gt;(</span>m_groupDef<span class="hl opt">-&gt;</span><span class="hl kwd">cookie</span><span class="hl opt">());</span>
      <span class="hl kwa">assert</span><span class="hl opt">(</span>c<span class="hl opt">!=</span><span class="hl num">0</span><span class="hl opt">);</span>
      <span class="hl kwa">return</span> <span class="hl opt">*</span>c<span class="hl opt">;</span>
    <span class="hl opt">}</span>
    <span class="hl kwb">static</span> PropertyMapper<span class="hl opt">&lt;</span>ModuleContext<span class="hl opt">::</span>Private<span class="hl opt">&gt;</span> s_inst<span class="hl opt">;</span>
<span class="hl opt">};</span>
<span class="hl slc">//%% }</span>

PropertyMapper<span class="hl opt">&lt;</span>ModuleContext<span class="hl opt">::</span>Private<span class="hl opt">&gt;</span> ModuleContext<span class="hl opt">::</span>Private<span class="hl opt">::</span>s_inst<span class="hl opt">;</span>

ModuleContext<span class="hl opt">::</span><span class="hl kwd">ModuleContext</span><span class="hl opt">(</span><span class="hl kwb">const</span> GroupDef <span class="hl opt">*</span>gd<span class="hl opt">) :</span> <span class="hl kwd">RefCountedContext</span><span class="hl opt">(</span><span class="hl str">&quot;ModuleContext&quot;</span><span class="hl opt">)</span>
<span class="hl opt">{</span>
  p <span class="hl opt">=</span> <span class="hl kwa">new</span> <span class="hl kwd">Private</span><span class="hl opt">(</span>gd<span class="hl opt">);</span>
<span class="hl opt">}</span>

ModuleContext<span class="hl opt">::~</span><span class="hl kwd">ModuleContext</span><span class="hl opt">()</span>
<span class="hl opt">{</span>
  <span class="hl kwa">delete</span> p<span class="hl opt">;</span>
<span class="hl opt">}</span>

TemplateVariant ModuleContext<span class="hl opt">::</span><span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwb">const char</span> <span class="hl opt">*</span>n<span class="hl opt">)</span> <span class="hl kwb">const</span>
<span class="hl opt">{</span>
  <span class="hl kwa">return</span> p<span class="hl opt">-&gt;</span><span class="hl kwd">get</span><span class="hl opt">(</span>n<span class="hl opt">);</span>
<span class="hl opt">}</span>

<span class="hl slc">//------------------------------------------------------------------------</span>

<span class="hl slc">//%% list ClassList[Class] : list of classes</span>
<span class="hl kwc">class</span> ClassListContext<span class="hl opt">::</span>Private <span class="hl opt">:</span> <span class="hl kwc">public</span> GenericNodeListContext
<span class="hl opt">{</span>
  <span class="hl kwc">public</span><span class="hl opt">:</span>
    <span class="hl kwb">void</span> <span class="hl kwd">addClasses</span><span class="hl opt">(</span><span class="hl kwb">const</span> ClassSDict <span class="hl opt">&amp;</span>classSDict<span class="hl opt">)</span>
    <span class="hl opt">{</span>
      ClassSDict<span class="hl opt">::</span>Iterator <span class="hl kwd">cli</span><span class="hl opt">(</span>classSDict<span class="hl opt">);</span>
      <span class="hl kwb">const</span> ClassDef <span class="hl opt">*</span>cd<span class="hl opt">;</span>
      <span class="hl kwa">for</span> <span class="hl opt">(</span>cli<span class="hl opt">.</span><span class="hl kwd">toFirst</span><span class="hl opt">() ; (</span>cd<span class="hl opt">=</span>cli<span class="hl opt">.</span><span class="hl kwd">current</span><span class="hl opt">()) ; ++</span>cli <span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">if</span> <span class="hl opt">(</span>cd<span class="hl opt">-&gt;</span><span class="hl kwd">getLanguage</span><span class="hl opt">()==</span>SrcLangExt_VHDL <span class="hl opt">&amp;&amp;</span>
            <span class="hl opt">((</span>VhdlDocGen<span class="hl opt">::</span>VhdlClasses<span class="hl opt">)</span>cd<span class="hl opt">-&gt;</span><span class="hl kwd">protection</span><span class="hl opt">()==</span>VhdlDocGen<span class="hl opt">::</span>PACKAGECLASS <span class="hl opt">||</span>
             <span class="hl opt">(</span>VhdlDocGen<span class="hl opt">::</span>VhdlClasses<span class="hl opt">)</span>cd<span class="hl opt">-&gt;</span><span class="hl kwd">protection</span><span class="hl opt">()==</span>VhdlDocGen<span class="hl opt">::</span>PACKBODYCLASS<span class="hl opt">)</span>
           <span class="hl opt">)</span> <span class="hl slc">// no architecture</span>
        <span class="hl opt">{</span>
          <span class="hl kwa">continue</span><span class="hl opt">;</span>
        <span class="hl opt">}</span>
        <span class="hl kwa">if</span> <span class="hl opt">(</span>cd<span class="hl opt">-&gt;</span><span class="hl kwd">isLinkableInProject</span><span class="hl opt">() &amp;&amp;</span> cd<span class="hl opt">-&gt;</span><span class="hl kwd">templateMaster</span><span class="hl opt">()==</span><span class="hl num">0</span> <span class="hl opt">&amp;&amp;</span>
            <span class="hl opt">!</span>cd<span class="hl opt">-&gt;</span><span class="hl kwd">isHidden</span><span class="hl opt">() &amp;&amp; !</span>cd<span class="hl opt">-&gt;</span><span class="hl kwd">isEmbeddedInOuterScope</span><span class="hl opt">())</span>
        <span class="hl opt">{</span>
          <span class="hl kwd">append</span><span class="hl opt">(</span>ClassContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>cd<span class="hl opt">));</span>
        <span class="hl opt">}</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
<span class="hl opt">};</span>

ClassListContext<span class="hl opt">::</span><span class="hl kwd">ClassListContext</span><span class="hl opt">() :</span> <span class="hl kwd">RefCountedContext</span><span class="hl opt">(</span><span class="hl str">&quot;ClassListContext&quot;</span><span class="hl opt">)</span>
<span class="hl opt">{</span>
  p <span class="hl opt">=</span> <span class="hl kwa">new</span> Private<span class="hl opt">;</span>
  p<span class="hl opt">-&gt;</span><span class="hl kwd">addClasses</span><span class="hl opt">(*</span>Doxygen<span class="hl opt">::</span>classSDict<span class="hl opt">);</span>
  p<span class="hl opt">-&gt;</span><span class="hl kwd">addClasses</span><span class="hl opt">(*</span>Doxygen<span class="hl opt">::</span>hiddenClasses<span class="hl opt">);</span>
<span class="hl opt">}</span>

ClassListContext<span class="hl opt">::~</span><span class="hl kwd">ClassListContext</span><span class="hl opt">()</span>
<span class="hl opt">{</span>
  <span class="hl kwa">delete</span> p<span class="hl opt">;</span>
<span class="hl opt">}</span>

<span class="hl slc">// TemplateListIntf</span>
uint ClassListContext<span class="hl opt">::</span><span class="hl kwd">count</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
<span class="hl opt">{</span>
  <span class="hl kwa">return</span> p<span class="hl opt">-&gt;</span><span class="hl kwd">count</span><span class="hl opt">();</span>
<span class="hl opt">}</span>

TemplateVariant ClassListContext<span class="hl opt">::</span><span class="hl kwd">at</span><span class="hl opt">(</span>uint index<span class="hl opt">)</span> <span class="hl kwb">const</span>
<span class="hl opt">{</span>
  <span class="hl kwa">return</span> p<span class="hl opt">-&gt;</span><span class="hl kwd">at</span><span class="hl opt">(</span>index<span class="hl opt">);</span>
<span class="hl opt">}</span>

TemplateListIntf<span class="hl opt">::</span>ConstIterator <span class="hl opt">*</span>ClassListContext<span class="hl opt">::</span><span class="hl kwd">createIterator</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
<span class="hl opt">{</span>
  <span class="hl kwa">return</span> p<span class="hl opt">-&gt;</span><span class="hl kwd">createIterator</span><span class="hl opt">();</span>
<span class="hl opt">}</span>

<span class="hl slc">//------------------------------------------------------------------------</span>

<span class="hl slc">//%% list ClassIndex[Class] : list of classes</span>
<span class="hl kwc">class</span> ClassIndexContext<span class="hl opt">::</span>Private
<span class="hl opt">{</span>
  <span class="hl kwc">public</span><span class="hl opt">:</span>
    <span class="hl kwd">Private</span><span class="hl opt">()</span>
    <span class="hl opt">{</span>
      <span class="hl kwb">static bool</span> init<span class="hl opt">=</span>FALSE<span class="hl opt">;</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>init<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;list&quot;</span><span class="hl opt">,        &amp;</span>Private<span class="hl opt">::</span>list<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;fileName&quot;</span><span class="hl opt">,    &amp;</span>Private<span class="hl opt">::</span>fileName<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;relPath&quot;</span><span class="hl opt">,     &amp;</span>Private<span class="hl opt">::</span>relPath<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;highlight&quot;</span><span class="hl opt">,   &amp;</span>Private<span class="hl opt">::</span>highlight<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;subhighlight&quot;</span><span class="hl opt">,&amp;</span>Private<span class="hl opt">::</span>subhighlight<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;title&quot;</span><span class="hl opt">,       &amp;</span>Private<span class="hl opt">::</span>title<span class="hl opt">);</span>
        init<span class="hl opt">=</span>TRUE<span class="hl opt">;</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwb">const char</span> <span class="hl opt">*</span>n<span class="hl opt">)</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> s_inst<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwa">this</span><span class="hl opt">,</span>n<span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">list</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>m_cache<span class="hl opt">.</span>classes<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        TemplateList <span class="hl opt">*</span>classList <span class="hl opt">=</span> TemplateList<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">();</span>
        <span class="hl kwa">if</span> <span class="hl opt">(</span>Doxygen<span class="hl opt">::</span>classSDict<span class="hl opt">)</span>
        <span class="hl opt">{</span>
          ClassSDict<span class="hl opt">::</span>Iterator <span class="hl kwd">cli</span><span class="hl opt">(*</span>Doxygen<span class="hl opt">::</span>classSDict<span class="hl opt">);</span>
          <span class="hl kwb">const</span> ClassDef <span class="hl opt">*</span>cd<span class="hl opt">;</span>
          <span class="hl kwa">for</span> <span class="hl opt">(</span>cli<span class="hl opt">.</span><span class="hl kwd">toFirst</span><span class="hl opt">() ; (</span>cd<span class="hl opt">=</span>cli<span class="hl opt">.</span><span class="hl kwd">current</span><span class="hl opt">()) ; ++</span>cli <span class="hl opt">)</span>
          <span class="hl opt">{</span>
            <span class="hl kwa">if</span> <span class="hl opt">(</span>cd<span class="hl opt">-&gt;</span><span class="hl kwd">getLanguage</span><span class="hl opt">()==</span>SrcLangExt_VHDL <span class="hl opt">&amp;&amp;</span>
                <span class="hl opt">((</span>VhdlDocGen<span class="hl opt">::</span>VhdlClasses<span class="hl opt">)</span>cd<span class="hl opt">-&gt;</span><span class="hl kwd">protection</span><span class="hl opt">()==</span>VhdlDocGen<span class="hl opt">::</span>PACKAGECLASS <span class="hl opt">||</span>
                 <span class="hl opt">(</span>VhdlDocGen<span class="hl opt">::</span>VhdlClasses<span class="hl opt">)</span>cd<span class="hl opt">-&gt;</span><span class="hl kwd">protection</span><span class="hl opt">()==</span>VhdlDocGen<span class="hl opt">::</span>PACKBODYCLASS<span class="hl opt">)</span>
               <span class="hl opt">)</span> <span class="hl slc">// no architecture</span>
            <span class="hl opt">{</span>
              <span class="hl kwa">continue</span><span class="hl opt">;</span>
            <span class="hl opt">}</span>
            <span class="hl kwa">if</span> <span class="hl opt">(</span>cd<span class="hl opt">-&gt;</span><span class="hl kwd">isLinkableInProject</span><span class="hl opt">() &amp;&amp;</span> cd<span class="hl opt">-&gt;</span><span class="hl kwd">templateMaster</span><span class="hl opt">()==</span><span class="hl num">0</span><span class="hl opt">)</span>
            <span class="hl opt">{</span>
              classList<span class="hl opt">-&gt;</span><span class="hl kwd">append</span><span class="hl opt">(</span>ClassContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>cd<span class="hl opt">));</span>
            <span class="hl opt">}</span>
          <span class="hl opt">}</span>
        <span class="hl opt">}</span>
        m_cache<span class="hl opt">.</span>classes<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>classList<span class="hl opt">);</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> m_cache<span class="hl opt">.</span>classes<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">fileName</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl str">&quot;classes&quot;</span><span class="hl opt">;</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">relPath</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl str">&quot;&quot;</span><span class="hl opt">;</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">highlight</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl str">&quot;classes&quot;</span><span class="hl opt">;</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">subhighlight</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl str">&quot;classindex&quot;</span><span class="hl opt">;</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">title</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwb">static bool</span> fortranOpt <span class="hl opt">=</span> <span class="hl kwd">Config_getBool</span><span class="hl opt">(</span>OPTIMIZE_FOR_FORTRAN<span class="hl opt">);</span>
      <span class="hl kwb">static bool</span> vhdlOpt    <span class="hl opt">=</span> <span class="hl kwd">Config_getBool</span><span class="hl opt">(</span>OPTIMIZE_OUTPUT_VHDL<span class="hl opt">);</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>fortranOpt<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trDataTypes</span><span class="hl opt">();</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">else if</span> <span class="hl opt">(</span>vhdlOpt<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trDesignUnits</span><span class="hl opt">();</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">else</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trCompoundIndex</span><span class="hl opt">();</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
  <span class="hl kwc">private</span><span class="hl opt">:</span>
    <span class="hl kwb">struct</span> Cachable
    <span class="hl opt">{</span>
      SharedPtr<span class="hl opt">&lt;</span>TemplateList<span class="hl opt">&gt;</span> classes<span class="hl opt">;</span>
    <span class="hl opt">};</span>
    <span class="hl kwc">mutable</span> Cachable m_cache<span class="hl opt">;</span>
    <span class="hl kwb">static</span> PropertyMapper<span class="hl opt">&lt;</span>ClassIndexContext<span class="hl opt">::</span>Private<span class="hl opt">&gt;</span> s_inst<span class="hl opt">;</span>
<span class="hl opt">};</span>

PropertyMapper<span class="hl opt">&lt;</span>ClassIndexContext<span class="hl opt">::</span>Private<span class="hl opt">&gt;</span> ClassIndexContext<span class="hl opt">::</span>Private<span class="hl opt">::</span>s_inst<span class="hl opt">;</span>

ClassIndexContext<span class="hl opt">::</span><span class="hl kwd">ClassIndexContext</span><span class="hl opt">() :</span> <span class="hl kwd">RefCountedContext</span><span class="hl opt">(</span><span class="hl str">&quot;ClassIndexContext&quot;</span><span class="hl opt">)</span>
<span class="hl opt">{</span>
  p <span class="hl opt">=</span> <span class="hl kwa">new</span> Private<span class="hl opt">;</span>
  <span class="hl slc">//p-&gt;addClasses(*Doxygen::hiddenClasses);</span>
<span class="hl opt">}</span>

ClassIndexContext<span class="hl opt">::~</span><span class="hl kwd">ClassIndexContext</span><span class="hl opt">()</span>
<span class="hl opt">{</span>
  <span class="hl kwa">delete</span> p<span class="hl opt">;</span>
<span class="hl opt">}</span>

<span class="hl slc">// TemplateStructIntf</span>
TemplateVariant ClassIndexContext<span class="hl opt">::</span><span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwb">const char</span> <span class="hl opt">*</span>n<span class="hl opt">)</span> <span class="hl kwb">const</span>
<span class="hl opt">{</span>
  <span class="hl kwa">return</span> p<span class="hl opt">-&gt;</span><span class="hl kwd">get</span><span class="hl opt">(</span>n<span class="hl opt">);</span>
<span class="hl opt">}</span>

<span class="hl slc">//------------------------------------------------------------------------</span>

<span class="hl kwb">static int</span> <span class="hl kwd">computeMaxDepth</span><span class="hl opt">(</span><span class="hl kwb">const</span> TemplateListIntf <span class="hl opt">*</span>list<span class="hl opt">)</span>
<span class="hl opt">{</span>
  <span class="hl kwb">int</span> maxDepth<span class="hl opt">=</span><span class="hl num">0</span><span class="hl opt">;</span>
  <span class="hl kwa">if</span> <span class="hl opt">(</span>list<span class="hl opt">)</span>
  <span class="hl opt">{</span>
    TemplateListIntf<span class="hl opt">::</span>ConstIterator <span class="hl opt">*</span>it <span class="hl opt">=</span> list<span class="hl opt">-&gt;</span><span class="hl kwd">createIterator</span><span class="hl opt">();</span>
    TemplateVariant v<span class="hl opt">;</span>
    <span class="hl kwa">for</span> <span class="hl opt">(</span>it<span class="hl opt">-&gt;</span><span class="hl kwd">toFirst</span><span class="hl opt">();</span>it<span class="hl opt">-&gt;</span><span class="hl kwd">current</span><span class="hl opt">(</span>v<span class="hl opt">);</span>it<span class="hl opt">-&gt;</span><span class="hl kwd">toNext</span><span class="hl opt">())</span>
    <span class="hl opt">{</span>
      <span class="hl kwb">const</span> TemplateStructIntf <span class="hl opt">*</span>s <span class="hl opt">=</span> v<span class="hl opt">.</span><span class="hl kwd">toStruct</span><span class="hl opt">();</span>
      TemplateVariant child <span class="hl opt">=</span> s<span class="hl opt">-&gt;</span><span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl str">&quot;children&quot;</span><span class="hl opt">);</span>
      <span class="hl kwb">int</span> d <span class="hl opt">=</span> <span class="hl kwd">computeMaxDepth</span><span class="hl opt">(</span>child<span class="hl opt">.</span><span class="hl kwd">toList</span><span class="hl opt">())+</span><span class="hl num">1</span><span class="hl opt">;</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>d<span class="hl opt">&gt;</span>maxDepth<span class="hl opt">)</span> maxDepth<span class="hl opt">=</span>d<span class="hl opt">;</span>
    <span class="hl opt">}</span>
    <span class="hl kwa">delete</span> it<span class="hl opt">;</span>
  <span class="hl opt">}</span>
  <span class="hl kwa">return</span> maxDepth<span class="hl opt">;</span>
<span class="hl opt">}</span>

<span class="hl kwb">static int</span> <span class="hl kwd">computeNumNodesAtLevel</span><span class="hl opt">(</span><span class="hl kwb">const</span> TemplateStructIntf <span class="hl opt">*</span>s<span class="hl opt">,</span><span class="hl kwb">int</span> level<span class="hl opt">,</span><span class="hl kwb">int</span> maxLevel<span class="hl opt">)</span>
<span class="hl opt">{</span>
  <span class="hl kwb">int</span> num<span class="hl opt">=</span><span class="hl num">0</span><span class="hl opt">;</span>
  <span class="hl kwa">if</span> <span class="hl opt">(</span>level<span class="hl opt">&lt;</span>maxLevel<span class="hl opt">)</span>
  <span class="hl opt">{</span>
    num<span class="hl opt">++;</span>
    TemplateVariant child <span class="hl opt">=</span> s<span class="hl opt">-&gt;</span><span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl str">&quot;children&quot;</span><span class="hl opt">);</span>
    <span class="hl kwa">if</span> <span class="hl opt">(</span>child<span class="hl opt">.</span><span class="hl kwd">toList</span><span class="hl opt">())</span>
    <span class="hl opt">{</span>
      TemplateListIntf<span class="hl opt">::</span>ConstIterator <span class="hl opt">*</span>it <span class="hl opt">=</span> child<span class="hl opt">.</span><span class="hl kwd">toList</span><span class="hl opt">()-&gt;</span><span class="hl kwd">createIterator</span><span class="hl opt">();</span>
      TemplateVariant v<span class="hl opt">;</span>
      <span class="hl kwa">for</span> <span class="hl opt">(</span>it<span class="hl opt">-&gt;</span><span class="hl kwd">toFirst</span><span class="hl opt">();</span>it<span class="hl opt">-&gt;</span><span class="hl kwd">current</span><span class="hl opt">(</span>v<span class="hl opt">);</span>it<span class="hl opt">-&gt;</span><span class="hl kwd">toNext</span><span class="hl opt">())</span>
      <span class="hl opt">{</span>
        num<span class="hl opt">+=</span><span class="hl kwd">computeNumNodesAtLevel</span><span class="hl opt">(</span>v<span class="hl opt">.</span><span class="hl kwd">toStruct</span><span class="hl opt">(),</span>level<span class="hl opt">+</span><span class="hl num">1</span><span class="hl opt">,</span>maxLevel<span class="hl opt">);</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">delete</span> it<span class="hl opt">;</span>
    <span class="hl opt">}</span>
  <span class="hl opt">}</span>
  <span class="hl kwa">return</span> num<span class="hl opt">;</span>
<span class="hl opt">}</span>

<span class="hl kwb">static int</span> <span class="hl kwd">computePreferredDepth</span><span class="hl opt">(</span><span class="hl kwb">const</span> TemplateListIntf <span class="hl opt">*</span>list<span class="hl opt">,</span><span class="hl kwb">int</span> maxDepth<span class="hl opt">)</span>
<span class="hl opt">{</span>
  <span class="hl kwb">int</span> preferredNumEntries <span class="hl opt">=</span> <span class="hl kwd">Config_getInt</span><span class="hl opt">(</span>HTML_INDEX_NUM_ENTRIES<span class="hl opt">);</span>
  <span class="hl kwb">int</span> preferredDepth<span class="hl opt">=</span><span class="hl num">1</span><span class="hl opt">;</span>
  <span class="hl kwa">if</span> <span class="hl opt">(</span>preferredNumEntries<span class="hl opt">&gt;</span><span class="hl num">0</span><span class="hl opt">)</span>
  <span class="hl opt">{</span>
    <span class="hl kwb">int</span> depth <span class="hl opt">=</span> maxDepth<span class="hl opt">;</span>
    <span class="hl kwa">for</span> <span class="hl opt">(</span><span class="hl kwb">int</span> i<span class="hl opt">=</span><span class="hl num">1</span><span class="hl opt">;</span>i<span class="hl opt">&lt;=</span>depth<span class="hl opt">;</span>i<span class="hl opt">++)</span>
    <span class="hl opt">{</span>
      <span class="hl kwb">int</span> num<span class="hl opt">=</span><span class="hl num">0</span><span class="hl opt">;</span>
      TemplateListIntf<span class="hl opt">::</span>ConstIterator <span class="hl opt">*</span>it <span class="hl opt">=</span> list<span class="hl opt">-&gt;</span><span class="hl kwd">createIterator</span><span class="hl opt">();</span>
      TemplateVariant v<span class="hl opt">;</span>
      <span class="hl kwa">for</span> <span class="hl opt">(</span>it<span class="hl opt">-&gt;</span><span class="hl kwd">toFirst</span><span class="hl opt">();</span>it<span class="hl opt">-&gt;</span><span class="hl kwd">current</span><span class="hl opt">(</span>v<span class="hl opt">);</span>it<span class="hl opt">-&gt;</span><span class="hl kwd">toNext</span><span class="hl opt">())</span>
      <span class="hl opt">{</span>
        num<span class="hl opt">+=</span><span class="hl kwd">computeNumNodesAtLevel</span><span class="hl opt">(</span>v<span class="hl opt">.</span><span class="hl kwd">toStruct</span><span class="hl opt">(),</span><span class="hl num">0</span><span class="hl opt">,</span>i<span class="hl opt">);</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">delete</span> it<span class="hl opt">;</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>num<span class="hl opt">&lt;=</span>preferredNumEntries<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        preferredDepth<span class="hl opt">=</span>i<span class="hl opt">;</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">else</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">break</span><span class="hl opt">;</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
  <span class="hl opt">}</span>
  <span class="hl kwa">return</span> preferredDepth<span class="hl opt">;</span>
<span class="hl opt">}</span>

<span class="hl slc">//------------------------------------------------------------------------</span>

<span class="hl slc">//%% struct ClassHierarchy: inheritance tree</span>
<span class="hl slc">//%% {</span>
<span class="hl kwc">class</span> ClassHierarchyContext<span class="hl opt">::</span>Private
<span class="hl opt">{</span>
  <span class="hl kwc">public</span><span class="hl opt">:</span>
    <span class="hl kwd">Private</span><span class="hl opt">()</span>
    <span class="hl opt">{</span>
      m_classTree<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>NestingContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span><span class="hl num">0</span><span class="hl opt">,</span><span class="hl num">0</span><span class="hl opt">));</span>
      <span class="hl kwd">initClassHierarchy</span><span class="hl opt">(</span>Doxygen<span class="hl opt">::</span>classSDict<span class="hl opt">);</span>
      <span class="hl kwd">initClassHierarchy</span><span class="hl opt">(</span>Doxygen<span class="hl opt">::</span>hiddenClasses<span class="hl opt">);</span>
      m_classTree<span class="hl opt">-&gt;</span><span class="hl kwd">addClassHierarchy</span><span class="hl opt">(*</span>Doxygen<span class="hl opt">::</span>classSDict<span class="hl opt">,</span>TRUE<span class="hl opt">);</span>
      m_classTree<span class="hl opt">-&gt;</span><span class="hl kwd">addClassHierarchy</span><span class="hl opt">(*</span>Doxygen<span class="hl opt">::</span>hiddenClasses<span class="hl opt">,</span>TRUE<span class="hl opt">);</span>
      <span class="hl slc">//%% ClassInheritance tree</span>
      <span class="hl kwb">static bool</span> init<span class="hl opt">=</span>FALSE<span class="hl opt">;</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>init<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;tree&quot;</span><span class="hl opt">,            &amp;</span>Private<span class="hl opt">::</span>tree<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;fileName&quot;</span><span class="hl opt">,        &amp;</span>Private<span class="hl opt">::</span>fileName<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;relPath&quot;</span><span class="hl opt">,         &amp;</span>Private<span class="hl opt">::</span>relPath<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;highlight&quot;</span><span class="hl opt">,       &amp;</span>Private<span class="hl opt">::</span>highlight<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;subhighlight&quot;</span><span class="hl opt">,    &amp;</span>Private<span class="hl opt">::</span>subhighlight<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;title&quot;</span><span class="hl opt">,           &amp;</span>Private<span class="hl opt">::</span>title<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;preferredDepth&quot;</span><span class="hl opt">,  &amp;</span>Private<span class="hl opt">::</span>preferredDepth<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;maxDepth&quot;</span><span class="hl opt">,        &amp;</span>Private<span class="hl opt">::</span>maxDepth<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;diagrams&quot;</span><span class="hl opt">,        &amp;</span>Private<span class="hl opt">::</span>diagrams<span class="hl opt">);</span>
        init<span class="hl opt">=</span>TRUE<span class="hl opt">;</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwb">const char</span> <span class="hl opt">*</span>n<span class="hl opt">)</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> s_inst<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwa">this</span><span class="hl opt">,</span>n<span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">tree</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_classTree<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">fileName</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl str">&quot;hierarchy&quot;</span><span class="hl opt">;</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">relPath</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl str">&quot;&quot;</span><span class="hl opt">;</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">highlight</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl str">&quot;classes&quot;</span><span class="hl opt">;</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">subhighlight</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl str">&quot;classhierarchy&quot;</span><span class="hl opt">;</span>
    <span class="hl opt">}</span>
    DotGfxHierarchyTable <span class="hl opt">*</span><span class="hl kwd">getHierarchy</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>m_cache<span class="hl opt">.</span>hierarchy<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        m_cache<span class="hl opt">.</span>hierarchy<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span><span class="hl kwa">new</span> <span class="hl kwd">DotGfxHierarchyTable</span><span class="hl opt">());</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> m_cache<span class="hl opt">.</span>hierarchy<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">diagrams</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>m_cache<span class="hl opt">.</span>diagrams<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        TemplateList <span class="hl opt">*</span>diagrams <span class="hl opt">=</span> TemplateList<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">();</span>
        DotGfxHierarchyTable <span class="hl opt">*</span>hierarchy <span class="hl opt">=</span> <span class="hl kwd">getHierarchy</span><span class="hl opt">();</span>
        <span class="hl kwa">if</span> <span class="hl opt">(</span>hierarchy<span class="hl opt">-&gt;</span><span class="hl kwd">subGraphs</span><span class="hl opt">())</span>
        <span class="hl opt">{</span>
          <span class="hl kwb">int</span> id<span class="hl opt">=</span><span class="hl num">0</span><span class="hl opt">;</span>
          QListIterator<span class="hl opt">&lt;</span>DotNode<span class="hl opt">&gt;</span> <span class="hl kwd">li</span><span class="hl opt">(*</span>hierarchy<span class="hl opt">-&gt;</span><span class="hl kwd">subGraphs</span><span class="hl opt">());</span>
          DotNode <span class="hl opt">*</span>n<span class="hl opt">;</span>
          <span class="hl kwa">for</span> <span class="hl opt">(</span>li<span class="hl opt">.</span><span class="hl kwd">toFirst</span><span class="hl opt">();(</span>n<span class="hl opt">=</span>li<span class="hl opt">.</span><span class="hl kwd">current</span><span class="hl opt">());++</span>li<span class="hl opt">)</span>
          <span class="hl opt">{</span>
            diagrams<span class="hl opt">-&gt;</span><span class="hl kwd">append</span><span class="hl opt">(</span>InheritanceGraphContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>hierarchy<span class="hl opt">,</span>n<span class="hl opt">,</span>id<span class="hl opt">++));</span>
          <span class="hl opt">}</span>
        <span class="hl opt">}</span>
        m_cache<span class="hl opt">.</span>diagrams<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>diagrams<span class="hl opt">);</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> m_cache<span class="hl opt">.</span>diagrams<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">title</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwb">static bool</span> vhdlOpt    <span class="hl opt">=</span> <span class="hl kwd">Config_getBool</span><span class="hl opt">(</span>OPTIMIZE_OUTPUT_VHDL<span class="hl opt">);</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>vhdlOpt<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trDesignUnitHierarchy</span><span class="hl opt">();</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">else</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trClassHierarchy</span><span class="hl opt">();</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">maxDepth</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>m_cache<span class="hl opt">.</span>maxDepthComputed<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        m_cache<span class="hl opt">.</span>maxDepth <span class="hl opt">=</span> <span class="hl kwd">computeMaxDepth</span><span class="hl opt">(</span>m_classTree<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">());</span>
        m_cache<span class="hl opt">.</span>maxDepthComputed<span class="hl opt">=</span>TRUE<span class="hl opt">;</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> m_cache<span class="hl opt">.</span>maxDepth<span class="hl opt">;</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">preferredDepth</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>m_cache<span class="hl opt">.</span>preferredDepthComputed<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        m_cache<span class="hl opt">.</span>preferredDepth <span class="hl opt">=</span> <span class="hl kwd">computePreferredDepth</span><span class="hl opt">(</span>m_classTree<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">(),</span><span class="hl kwd">maxDepth</span><span class="hl opt">().</span><span class="hl kwd">toInt</span><span class="hl opt">());</span>
        m_cache<span class="hl opt">.</span>preferredDepthComputed<span class="hl opt">=</span>TRUE<span class="hl opt">;</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> m_cache<span class="hl opt">.</span>preferredDepth<span class="hl opt">;</span>
    <span class="hl opt">}</span>
  <span class="hl kwc">private</span><span class="hl opt">:</span>
    SharedPtr<span class="hl opt">&lt;</span>NestingContext<span class="hl opt">&gt;</span> m_classTree<span class="hl opt">;</span>
    <span class="hl kwb">struct</span> Cachable
    <span class="hl opt">{</span>
      <span class="hl kwd">Cachable</span><span class="hl opt">() :</span> <span class="hl kwd">maxDepth</span><span class="hl opt">(</span><span class="hl num">0</span><span class="hl opt">),</span> <span class="hl kwd">maxDepthComputed</span><span class="hl opt">(</span>FALSE<span class="hl opt">),</span>
                   <span class="hl kwd">preferredDepth</span><span class="hl opt">(</span><span class="hl num">0</span><span class="hl opt">),</span> <span class="hl kwd">preferredDepthComputed</span><span class="hl opt">(</span>FALSE<span class="hl opt">),</span> <span class="hl kwd">hierarchy</span><span class="hl opt">(</span><span class="hl num">0</span><span class="hl opt">) {}</span>
      <span class="hl kwb">int</span>   maxDepth<span class="hl opt">;</span>
      <span class="hl kwb">bool</span>  maxDepthComputed<span class="hl opt">;</span>
      <span class="hl kwb">int</span>   preferredDepth<span class="hl opt">;</span>
      <span class="hl kwb">bool</span>  preferredDepthComputed<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>TemplateList<span class="hl opt">&gt;</span> diagrams<span class="hl opt">;</span>
      ScopedPtr<span class="hl opt">&lt;</span>DotGfxHierarchyTable<span class="hl opt">&gt;</span> hierarchy<span class="hl opt">;</span>
    <span class="hl opt">};</span>
    <span class="hl kwc">mutable</span> Cachable m_cache<span class="hl opt">;</span>
    <span class="hl kwb">static</span> PropertyMapper<span class="hl opt">&lt;</span>ClassHierarchyContext<span class="hl opt">::</span>Private<span class="hl opt">&gt;</span> s_inst<span class="hl opt">;</span>
<span class="hl opt">};</span>
<span class="hl slc">//%% }</span>

PropertyMapper<span class="hl opt">&lt;</span>ClassHierarchyContext<span class="hl opt">::</span>Private<span class="hl opt">&gt;</span> ClassHierarchyContext<span class="hl opt">::</span>Private<span class="hl opt">::</span>s_inst<span class="hl opt">;</span>

ClassHierarchyContext<span class="hl opt">::</span><span class="hl kwd">ClassHierarchyContext</span><span class="hl opt">() :</span> <span class="hl kwd">RefCountedContext</span><span class="hl opt">(</span><span class="hl str">&quot;ClassHierarchyContext&quot;</span><span class="hl opt">)</span>
<span class="hl opt">{</span>
  p <span class="hl opt">=</span> <span class="hl kwa">new</span> Private<span class="hl opt">;</span>
<span class="hl opt">}</span>

ClassHierarchyContext<span class="hl opt">::~</span><span class="hl kwd">ClassHierarchyContext</span><span class="hl opt">()</span>
<span class="hl opt">{</span>
  <span class="hl kwa">delete</span> p<span class="hl opt">;</span>
<span class="hl opt">}</span>

TemplateVariant ClassHierarchyContext<span class="hl opt">::</span><span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwb">const char</span> <span class="hl opt">*</span>name<span class="hl opt">)</span> <span class="hl kwb">const</span>
<span class="hl opt">{</span>
  <span class="hl kwa">return</span> p<span class="hl opt">-&gt;</span><span class="hl kwd">get</span><span class="hl opt">(</span>name<span class="hl opt">);</span>
<span class="hl opt">}</span>

<span class="hl slc">//------------------------------------------------------------------------</span>

<span class="hl slc">//%% struct NestingNode: node is a nesting relation tree</span>
<span class="hl slc">//%% {</span>
<span class="hl kwc">class</span> NestingNodeContext<span class="hl opt">::</span>Private
<span class="hl opt">{</span>
  <span class="hl kwc">public</span><span class="hl opt">:</span>
    <span class="hl kwd">Private</span><span class="hl opt">(</span><span class="hl kwb">const</span> NestingNodeContext <span class="hl opt">*</span>parent<span class="hl opt">,</span><span class="hl kwb">const</span> NestingNodeContext <span class="hl opt">*</span>thisNode<span class="hl opt">,</span>
        <span class="hl kwb">const</span> Definition <span class="hl opt">*</span>d<span class="hl opt">,</span><span class="hl kwb">int</span> index<span class="hl opt">,</span><span class="hl kwb">int</span> level<span class="hl opt">,</span><span class="hl kwb">bool</span> addCls<span class="hl opt">,</span><span class="hl kwb">bool</span> inherit<span class="hl opt">,</span> <span class="hl kwb">bool</span> hideSuper<span class="hl opt">)</span>
      <span class="hl opt">:</span> <span class="hl kwd">m_parent</span><span class="hl opt">(</span>parent<span class="hl opt">),</span> <span class="hl kwd">m_def</span><span class="hl opt">(</span>d<span class="hl opt">),</span> <span class="hl kwd">m_level</span><span class="hl opt">(</span>level<span class="hl opt">),</span> <span class="hl kwd">m_index</span><span class="hl opt">(</span>index<span class="hl opt">)</span>
    <span class="hl opt">{</span>
      m_children<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>NestingContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>thisNode<span class="hl opt">,</span>level<span class="hl opt">+</span><span class="hl num">1</span><span class="hl opt">));</span>
      <span class="hl kwb">static bool</span> init<span class="hl opt">=</span>FALSE<span class="hl opt">;</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>init<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl slc">//%% bool is_leaf_node: true if this node does not have any children</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;is_leaf_node&quot;</span><span class="hl opt">,&amp;</span>Private<span class="hl opt">::</span>isLeafNode<span class="hl opt">);</span>
        <span class="hl slc">//%% Nesting children: list of nested classes/namespaces</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;children&quot;</span><span class="hl opt">,&amp;</span>Private<span class="hl opt">::</span>children<span class="hl opt">);</span>
        <span class="hl slc">//%% [optional] Class class: class info (if this node represents a class)</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;class&quot;</span><span class="hl opt">,&amp;</span>Private<span class="hl opt">::</span>getClass<span class="hl opt">);</span>
        <span class="hl slc">//%% [optional] Namespace namespace: namespace info (if this node represents a namespace)</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;namespace&quot;</span><span class="hl opt">,&amp;</span>Private<span class="hl opt">::</span>getNamespace<span class="hl opt">);</span>
        <span class="hl slc">//%% [optional] File file: file info (if this node represents a file)</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;file&quot;</span><span class="hl opt">,&amp;</span>Private<span class="hl opt">::</span>getFile<span class="hl opt">);</span>
        <span class="hl slc">//%% [optional] Dir dir: directory info (if this node represents a directory)</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;dir&quot;</span><span class="hl opt">,&amp;</span>Private<span class="hl opt">::</span>getDir<span class="hl opt">);</span>
        <span class="hl slc">//%% [optional] Page page: page info (if this node represents a page)</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;page&quot;</span><span class="hl opt">,&amp;</span>Private<span class="hl opt">::</span>getPage<span class="hl opt">);</span>
        <span class="hl slc">//%% [optional] Module module: module info (if this node represents a module)</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;module&quot;</span><span class="hl opt">,&amp;</span>Private<span class="hl opt">::</span>getModule<span class="hl opt">);</span>
        <span class="hl slc">//%% int id</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;id&quot;</span><span class="hl opt">,&amp;</span>Private<span class="hl opt">::</span>id<span class="hl opt">);</span>
        <span class="hl slc">//%% string level</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;level&quot;</span><span class="hl opt">,&amp;</span>Private<span class="hl opt">::</span>level<span class="hl opt">);</span>
        <span class="hl slc">//%% string name</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;name&quot;</span><span class="hl opt">,&amp;</span>Private<span class="hl opt">::</span>name<span class="hl opt">);</span>
        <span class="hl slc">//%% string brief</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;brief&quot;</span><span class="hl opt">,&amp;</span>Private<span class="hl opt">::</span>brief<span class="hl opt">);</span>
        <span class="hl slc">//%% bool isLinkable</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;isLinkable&quot;</span><span class="hl opt">,&amp;</span>Private<span class="hl opt">::</span>isLinkable<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;anchor&quot;</span><span class="hl opt">,&amp;</span>Private<span class="hl opt">::</span>anchor<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;fileName&quot;</span><span class="hl opt">,&amp;</span>Private<span class="hl opt">::</span>fileName<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;isReference&quot;</span><span class="hl opt">,&amp;</span>Private<span class="hl opt">::</span>isReference<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;externalReference&quot;</span><span class="hl opt">,&amp;</span>Private<span class="hl opt">::</span>externalReference<span class="hl opt">);</span>
        init<span class="hl opt">=</span>TRUE<span class="hl opt">;</span>
      <span class="hl opt">}</span>

      <span class="hl kwd">addNamespaces</span><span class="hl opt">(</span>addCls<span class="hl opt">);</span>
      <span class="hl kwd">addClasses</span><span class="hl opt">(</span>inherit<span class="hl opt">,</span>hideSuper<span class="hl opt">);</span>
      <span class="hl kwd">addDirFiles</span><span class="hl opt">();</span>
      <span class="hl kwd">addPages</span><span class="hl opt">();</span>
      <span class="hl kwd">addModules</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwb">const char</span> <span class="hl opt">*</span>n<span class="hl opt">)</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> s_inst<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwa">this</span><span class="hl opt">,</span>n<span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">isLeafNode</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_children<span class="hl opt">-&gt;</span><span class="hl kwd">count</span><span class="hl opt">()==</span><span class="hl num">0</span><span class="hl opt">;</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">children</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_children<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">getClass</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>m_cache<span class="hl opt">.</span>classContext <span class="hl opt">&amp;&amp;</span> m_def<span class="hl opt">-&gt;</span><span class="hl kwd">definitionType</span><span class="hl opt">()==</span>Definition<span class="hl opt">::</span>TypeClass<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        m_cache<span class="hl opt">.</span>classContext<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>ClassContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span><span class="hl kwa">dynamic_cast</span><span class="hl opt">&lt;</span><span class="hl kwb">const</span> ClassDef<span class="hl opt">*&gt;(</span>m_def<span class="hl opt">)));</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>m_cache<span class="hl opt">.</span>classContext<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> m_cache<span class="hl opt">.</span>classContext<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">else</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> <span class="hl kwd">TemplateVariant</span><span class="hl opt">(</span>FALSE<span class="hl opt">);</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">getNamespace</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>m_cache<span class="hl opt">.</span>namespaceContext <span class="hl opt">&amp;&amp;</span> m_def<span class="hl opt">-&gt;</span><span class="hl kwd">definitionType</span><span class="hl opt">()==</span>Definition<span class="hl opt">::</span>TypeNamespace<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        m_cache<span class="hl opt">.</span>namespaceContext<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>NamespaceContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span><span class="hl kwa">dynamic_cast</span><span class="hl opt">&lt;</span><span class="hl kwb">const</span> NamespaceDef<span class="hl opt">*&gt;(</span>m_def<span class="hl opt">)));</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>m_cache<span class="hl opt">.</span>namespaceContext<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> m_cache<span class="hl opt">.</span>namespaceContext<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">else</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> <span class="hl kwd">TemplateVariant</span><span class="hl opt">(</span>FALSE<span class="hl opt">);</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">getDir</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>m_cache<span class="hl opt">.</span>dirContext <span class="hl opt">&amp;&amp;</span> m_def<span class="hl opt">-&gt;</span><span class="hl kwd">definitionType</span><span class="hl opt">()==</span>Definition<span class="hl opt">::</span>TypeDir<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        m_cache<span class="hl opt">.</span>dirContext<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>DirContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span><span class="hl kwa">dynamic_cast</span><span class="hl opt">&lt;</span><span class="hl kwb">const</span> DirDef<span class="hl opt">*&gt;(</span>m_def<span class="hl opt">)));</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>m_cache<span class="hl opt">.</span>dirContext<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> m_cache<span class="hl opt">.</span>dirContext<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">else</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> <span class="hl kwd">TemplateVariant</span><span class="hl opt">(</span>FALSE<span class="hl opt">);</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">getFile</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>m_cache<span class="hl opt">.</span>fileContext <span class="hl opt">&amp;&amp;</span> m_def<span class="hl opt">-&gt;</span><span class="hl kwd">definitionType</span><span class="hl opt">()==</span>Definition<span class="hl opt">::</span>TypeFile<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        m_cache<span class="hl opt">.</span>fileContext<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>FileContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span><span class="hl kwa">dynamic_cast</span><span class="hl opt">&lt;</span><span class="hl kwb">const</span> FileDef<span class="hl opt">*&gt;(</span>m_def<span class="hl opt">)));</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>m_cache<span class="hl opt">.</span>fileContext<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> m_cache<span class="hl opt">.</span>fileContext<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">else</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> <span class="hl kwd">TemplateVariant</span><span class="hl opt">(</span>FALSE<span class="hl opt">);</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">getPage</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>m_cache<span class="hl opt">.</span>pageContext <span class="hl opt">&amp;&amp;</span> m_def<span class="hl opt">-&gt;</span><span class="hl kwd">definitionType</span><span class="hl opt">()==</span>Definition<span class="hl opt">::</span>TypePage<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        m_cache<span class="hl opt">.</span>pageContext<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>PageContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span><span class="hl kwa">dynamic_cast</span><span class="hl opt">&lt;</span><span class="hl kwb">const</span> PageDef<span class="hl opt">*&gt;(</span>m_def<span class="hl opt">),</span>FALSE<span class="hl opt">,</span>FALSE<span class="hl opt">));</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>m_cache<span class="hl opt">.</span>pageContext<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> m_cache<span class="hl opt">.</span>pageContext<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">else</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> <span class="hl kwd">TemplateVariant</span><span class="hl opt">(</span>FALSE<span class="hl opt">);</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">getModule</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>m_cache<span class="hl opt">.</span>moduleContext <span class="hl opt">&amp;&amp;</span> m_def<span class="hl opt">-&gt;</span><span class="hl kwd">definitionType</span><span class="hl opt">()==</span>Definition<span class="hl opt">::</span>TypeGroup<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        m_cache<span class="hl opt">.</span>moduleContext<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>ModuleContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span><span class="hl kwa">dynamic_cast</span><span class="hl opt">&lt;</span><span class="hl kwb">const</span> GroupDef<span class="hl opt">*&gt;(</span>m_def<span class="hl opt">)));</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>m_cache<span class="hl opt">.</span>moduleContext<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> m_cache<span class="hl opt">.</span>moduleContext<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">else</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> <span class="hl kwd">TemplateVariant</span><span class="hl opt">(</span>FALSE<span class="hl opt">);</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">level</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_level<span class="hl opt">;</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">id</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      QCString result<span class="hl opt">;</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>m_parent<span class="hl opt">)</span> result<span class="hl opt">=</span>m_parent<span class="hl opt">-&gt;</span><span class="hl kwd">id</span><span class="hl opt">();</span>
      result<span class="hl opt">+=</span><span class="hl kwd">QCString</span><span class="hl opt">().</span><span class="hl kwd">setNum</span><span class="hl opt">(</span>m_index<span class="hl opt">)+</span><span class="hl str">&quot;_&quot;</span><span class="hl opt">;</span>
      <span class="hl kwa">return</span> result<span class="hl opt">;</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">name</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_def<span class="hl opt">-&gt;</span><span class="hl kwd">displayName</span><span class="hl opt">(</span>FALSE<span class="hl opt">);</span>
    <span class="hl opt">}</span>
    QCString <span class="hl kwd">relPathAsString</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwb">static bool</span> createSubdirs <span class="hl opt">=</span> <span class="hl kwd">Config_getBool</span><span class="hl opt">(</span>CREATE_SUBDIRS<span class="hl opt">);</span>
      <span class="hl kwa">return</span> createSubdirs ? <span class="hl kwd">QCString</span><span class="hl opt">(</span><span class="hl str">&quot;../../&quot;</span><span class="hl opt">) :</span> <span class="hl kwd">QCString</span><span class="hl opt">(</span><span class="hl str">&quot;&quot;</span><span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">brief</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>m_cache<span class="hl opt">.</span>brief<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">if</span> <span class="hl opt">(</span>m_def<span class="hl opt">-&gt;</span><span class="hl kwd">hasBriefDescription</span><span class="hl opt">())</span>
        <span class="hl opt">{</span>
          m_cache<span class="hl opt">.</span>brief<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span><span class="hl kwa">new</span> <span class="hl kwd">TemplateVariant</span><span class="hl opt">(</span><span class="hl kwd">parseDoc</span><span class="hl opt">(</span>m_def<span class="hl opt">,</span>m_def<span class="hl opt">-&gt;</span><span class="hl kwd">briefFile</span><span class="hl opt">(),</span>m_def<span class="hl opt">-&gt;</span><span class="hl kwd">briefLine</span><span class="hl opt">(),</span>
                              <span class="hl str">&quot;&quot;</span><span class="hl opt">,</span>m_def<span class="hl opt">-&gt;</span><span class="hl kwd">briefDescription</span><span class="hl opt">(),</span>TRUE<span class="hl opt">)));</span>
        <span class="hl opt">}</span>
        <span class="hl kwa">else</span>
        <span class="hl opt">{</span>
          m_cache<span class="hl opt">.</span>brief<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span><span class="hl kwa">new</span> <span class="hl kwd">TemplateVariant</span><span class="hl opt">(</span><span class="hl str">&quot;&quot;</span><span class="hl opt">));</span>
        <span class="hl opt">}</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> <span class="hl opt">*</span>m_cache<span class="hl opt">.</span>brief<span class="hl opt">;</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">isLinkable</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_def<span class="hl opt">-&gt;</span><span class="hl kwd">isLinkable</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">anchor</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_def<span class="hl opt">-&gt;</span><span class="hl kwd">anchor</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">fileName</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_def<span class="hl opt">-&gt;</span><span class="hl kwd">getOutputFileBase</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">isReference</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_def<span class="hl opt">-&gt;</span><span class="hl kwd">isReference</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">externalReference</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_def<span class="hl opt">-&gt;</span><span class="hl kwd">externalReference</span><span class="hl opt">(</span><span class="hl kwd">relPathAsString</span><span class="hl opt">());</span>
    <span class="hl opt">}</span>

    <span class="hl slc">//------------------------------------------------------------------</span>

    <span class="hl kwb">void</span> <span class="hl kwd">addClasses</span><span class="hl opt">(</span><span class="hl kwb">bool</span> inherit<span class="hl opt">,</span> <span class="hl kwb">bool</span> hideSuper<span class="hl opt">)</span>
    <span class="hl opt">{</span>
      <span class="hl kwb">const</span> ClassDef <span class="hl opt">*</span>cd <span class="hl opt">=</span> <span class="hl kwa">dynamic_cast</span><span class="hl opt">&lt;</span><span class="hl kwb">const</span> ClassDef<span class="hl opt">*&gt;(</span>m_def<span class="hl opt">);</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>cd <span class="hl opt">&amp;&amp;</span> inherit<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwb">bool</span> hasChildren <span class="hl opt">= !</span>cd<span class="hl opt">-&gt;</span><span class="hl kwd">isVisited</span><span class="hl opt">() &amp;&amp; !</span>hideSuper <span class="hl opt">&amp;&amp;</span> <span class="hl kwd">classHasVisibleChildren</span><span class="hl opt">(</span>cd<span class="hl opt">);</span>
        <span class="hl kwa">if</span> <span class="hl opt">(</span>hasChildren<span class="hl opt">)</span>
        <span class="hl opt">{</span>
          <span class="hl kwb">bool</span> wasVisited<span class="hl opt">=</span>cd<span class="hl opt">-&gt;</span><span class="hl kwd">isVisited</span><span class="hl opt">();</span>
          cd<span class="hl opt">-&gt;</span><span class="hl kwd">setVisited</span><span class="hl opt">(</span>TRUE<span class="hl opt">);</span>
          <span class="hl kwa">if</span> <span class="hl opt">(</span>cd<span class="hl opt">-&gt;</span><span class="hl kwd">getLanguage</span><span class="hl opt">()==</span>SrcLangExt_VHDL<span class="hl opt">)</span>
          <span class="hl opt">{</span>
            m_children<span class="hl opt">-&gt;</span><span class="hl kwd">addDerivedClasses</span><span class="hl opt">(</span>cd<span class="hl opt">-&gt;</span><span class="hl kwd">baseClasses</span><span class="hl opt">(),</span>wasVisited<span class="hl opt">);</span>
          <span class="hl opt">}</span>
          <span class="hl kwa">else</span>
          <span class="hl opt">{</span>
            m_children<span class="hl opt">-&gt;</span><span class="hl kwd">addDerivedClasses</span><span class="hl opt">(</span>cd<span class="hl opt">-&gt;</span><span class="hl kwd">subClasses</span><span class="hl opt">(),</span>wasVisited<span class="hl opt">);</span>
          <span class="hl opt">}</span>
        <span class="hl opt">}</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">else</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">if</span> <span class="hl opt">(</span>cd <span class="hl opt">&amp;&amp;</span> cd<span class="hl opt">-&gt;</span><span class="hl kwd">getClassSDict</span><span class="hl opt">())</span>
        <span class="hl opt">{</span>
          m_children<span class="hl opt">-&gt;</span><span class="hl kwd">addClasses</span><span class="hl opt">(*</span>cd<span class="hl opt">-&gt;</span><span class="hl kwd">getClassSDict</span><span class="hl opt">(),</span>FALSE<span class="hl opt">);</span>
        <span class="hl opt">}</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
    <span class="hl kwb">void</span> <span class="hl kwd">addNamespaces</span><span class="hl opt">(</span><span class="hl kwb">bool</span> addClasses<span class="hl opt">)</span>
    <span class="hl opt">{</span>
      <span class="hl kwb">const</span> NamespaceDef <span class="hl opt">*</span>nd <span class="hl opt">=</span> <span class="hl kwa">dynamic_cast</span><span class="hl opt">&lt;</span><span class="hl kwb">const</span> NamespaceDef<span class="hl opt">*&gt;(</span>m_def<span class="hl opt">);</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>nd <span class="hl opt">&amp;&amp;</span> nd<span class="hl opt">-&gt;</span><span class="hl kwd">getNamespaceSDict</span><span class="hl opt">())</span>
      <span class="hl opt">{</span>
        m_children<span class="hl opt">-&gt;</span><span class="hl kwd">addNamespaces</span><span class="hl opt">(*</span>nd<span class="hl opt">-&gt;</span><span class="hl kwd">getNamespaceSDict</span><span class="hl opt">(),</span>FALSE<span class="hl opt">,</span>addClasses<span class="hl opt">);</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>addClasses <span class="hl opt">&amp;&amp;</span> nd <span class="hl opt">&amp;&amp;</span> nd<span class="hl opt">-&gt;</span><span class="hl kwd">getClassSDict</span><span class="hl opt">())</span>
      <span class="hl opt">{</span>
        m_children<span class="hl opt">-&gt;</span><span class="hl kwd">addClasses</span><span class="hl opt">(*</span>nd<span class="hl opt">-&gt;</span><span class="hl kwd">getClassSDict</span><span class="hl opt">(),</span>FALSE<span class="hl opt">);</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
    <span class="hl kwb">void</span> <span class="hl kwd">addDirFiles</span><span class="hl opt">()</span>
    <span class="hl opt">{</span>
      <span class="hl kwb">const</span> DirDef <span class="hl opt">*</span>dd <span class="hl opt">=</span> <span class="hl kwa">dynamic_cast</span><span class="hl opt">&lt;</span><span class="hl kwb">const</span> DirDef<span class="hl opt">*&gt;(</span>m_def<span class="hl opt">);</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>dd<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        m_children<span class="hl opt">-&gt;</span><span class="hl kwd">addDirs</span><span class="hl opt">(</span>dd<span class="hl opt">-&gt;</span><span class="hl kwd">subDirs</span><span class="hl opt">());</span>
        <span class="hl kwa">if</span> <span class="hl opt">(</span>dd <span class="hl opt">&amp;&amp;</span> dd<span class="hl opt">-&gt;</span><span class="hl kwd">getFiles</span><span class="hl opt">())</span>
        <span class="hl opt">{</span>
          m_children<span class="hl opt">-&gt;</span><span class="hl kwd">addFiles</span><span class="hl opt">(*</span>dd<span class="hl opt">-&gt;</span><span class="hl kwd">getFiles</span><span class="hl opt">());</span>
        <span class="hl opt">}</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
    <span class="hl kwb">void</span> <span class="hl kwd">addPages</span><span class="hl opt">()</span>
    <span class="hl opt">{</span>
      <span class="hl kwb">const</span> PageDef <span class="hl opt">*</span>pd <span class="hl opt">=</span> <span class="hl kwa">dynamic_cast</span><span class="hl opt">&lt;</span><span class="hl kwb">const</span> PageDef<span class="hl opt">*&gt;(</span>m_def<span class="hl opt">);</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>pd <span class="hl opt">&amp;&amp;</span> pd<span class="hl opt">-&gt;</span><span class="hl kwd">getSubPages</span><span class="hl opt">())</span>
      <span class="hl opt">{</span>
        m_children<span class="hl opt">-&gt;</span><span class="hl kwd">addPages</span><span class="hl opt">(*</span>pd<span class="hl opt">-&gt;</span><span class="hl kwd">getSubPages</span><span class="hl opt">(),</span>FALSE<span class="hl opt">);</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
    <span class="hl kwb">void</span> <span class="hl kwd">addModules</span><span class="hl opt">()</span>
    <span class="hl opt">{</span>
      <span class="hl kwb">const</span> GroupDef <span class="hl opt">*</span>gd <span class="hl opt">=</span> <span class="hl kwa">dynamic_cast</span><span class="hl opt">&lt;</span><span class="hl kwb">const</span> GroupDef<span class="hl opt">*&gt;(</span>m_def<span class="hl opt">);</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>gd <span class="hl opt">&amp;&amp;</span> gd<span class="hl opt">-&gt;</span><span class="hl kwd">getSubGroups</span><span class="hl opt">())</span>
      <span class="hl opt">{</span>
        m_children<span class="hl opt">-&gt;</span><span class="hl kwd">addModules</span><span class="hl opt">(*</span>gd<span class="hl opt">-&gt;</span><span class="hl kwd">getSubGroups</span><span class="hl opt">());</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
  <span class="hl kwc">private</span><span class="hl opt">:</span>
    <span class="hl kwb">const</span> NestingNodeContext <span class="hl opt">*</span>m_parent<span class="hl opt">;</span>
    <span class="hl kwb">const</span> Definition <span class="hl opt">*</span>m_def<span class="hl opt">;</span>
    SharedPtr<span class="hl opt">&lt;</span>NestingContext<span class="hl opt">&gt;</span> m_children<span class="hl opt">;</span>
    <span class="hl kwb">int</span> m_level<span class="hl opt">;</span>
    <span class="hl kwb">int</span> m_index<span class="hl opt">;</span>
    <span class="hl kwb">struct</span> Cachable
    <span class="hl opt">{</span>
      SharedPtr<span class="hl opt">&lt;</span>ClassContext<span class="hl opt">&gt;</span>     classContext<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>NamespaceContext<span class="hl opt">&gt;</span> namespaceContext<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>DirContext<span class="hl opt">&gt;</span>       dirContext<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>FileContext<span class="hl opt">&gt;</span>      fileContext<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>PageContext<span class="hl opt">&gt;</span>      pageContext<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>ModuleContext<span class="hl opt">&gt;</span>    moduleContext<span class="hl opt">;</span>
      ScopedPtr<span class="hl opt">&lt;</span>TemplateVariant<span class="hl opt">&gt;</span>  brief<span class="hl opt">;</span>
    <span class="hl opt">};</span>
    <span class="hl kwc">mutable</span> Cachable m_cache<span class="hl opt">;</span>
    <span class="hl kwb">static</span> PropertyMapper<span class="hl opt">&lt;</span>NestingNodeContext<span class="hl opt">::</span>Private<span class="hl opt">&gt;</span> s_inst<span class="hl opt">;</span>
<span class="hl opt">};</span>
<span class="hl slc">//%% }</span>

PropertyMapper<span class="hl opt">&lt;</span>NestingNodeContext<span class="hl opt">::</span>Private<span class="hl opt">&gt;</span> NestingNodeContext<span class="hl opt">::</span>Private<span class="hl opt">::</span>s_inst<span class="hl opt">;</span>

NestingNodeContext<span class="hl opt">::</span><span class="hl kwd">NestingNodeContext</span><span class="hl opt">(</span><span class="hl kwb">const</span> NestingNodeContext <span class="hl opt">*</span>parent<span class="hl opt">,</span>
                                       <span class="hl kwb">const</span> Definition <span class="hl opt">*</span>d<span class="hl opt">,</span><span class="hl kwb">int</span> index<span class="hl opt">,</span><span class="hl kwb">int</span> level<span class="hl opt">,</span><span class="hl kwb">bool</span> addClass<span class="hl opt">,</span><span class="hl kwb">bool</span> inherit<span class="hl opt">,</span><span class="hl kwb">bool</span> hideSuper<span class="hl opt">)</span>
   <span class="hl opt">:</span> <span class="hl kwd">RefCountedContext</span><span class="hl opt">(</span><span class="hl str">&quot;NestingNodeContext&quot;</span><span class="hl opt">)</span>
<span class="hl opt">{</span>
  p <span class="hl opt">=</span> <span class="hl kwa">new</span> <span class="hl kwd">Private</span><span class="hl opt">(</span>parent<span class="hl opt">,</span><span class="hl kwa">this</span><span class="hl opt">,</span>d<span class="hl opt">,</span>index<span class="hl opt">,</span>level<span class="hl opt">,</span>addClass<span class="hl opt">,</span>inherit<span class="hl opt">,</span>hideSuper<span class="hl opt">);</span>
<span class="hl opt">}</span>

NestingNodeContext<span class="hl opt">::~</span><span class="hl kwd">NestingNodeContext</span><span class="hl opt">()</span>
<span class="hl opt">{</span>
  <span class="hl kwa">delete</span> p<span class="hl opt">;</span>
<span class="hl opt">}</span>

TemplateVariant NestingNodeContext<span class="hl opt">::</span><span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwb">const char</span> <span class="hl opt">*</span>n<span class="hl opt">)</span> <span class="hl kwb">const</span>
<span class="hl opt">{</span>
  <span class="hl kwa">return</span> p<span class="hl opt">-&gt;</span><span class="hl kwd">get</span><span class="hl opt">(</span>n<span class="hl opt">);</span>
<span class="hl opt">}</span>

QCString NestingNodeContext<span class="hl opt">::</span><span class="hl kwd">id</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
<span class="hl opt">{</span>
  <span class="hl kwa">return</span> p<span class="hl opt">-&gt;</span><span class="hl kwd">id</span><span class="hl opt">().</span><span class="hl kwd">toString</span><span class="hl opt">();</span>
<span class="hl opt">}</span>

<span class="hl slc">//------------------------------------------------------------------------</span>

<span class="hl slc">//%% list Nesting[NestingNode]: namespace and class nesting relations</span>
<span class="hl kwc">class</span> NestingContext<span class="hl opt">::</span>Private <span class="hl opt">:</span> <span class="hl kwc">public</span> GenericNodeListContext
<span class="hl opt">{</span>
  <span class="hl kwc">public</span><span class="hl opt">:</span>
    <span class="hl kwd">Private</span><span class="hl opt">(</span><span class="hl kwb">const</span> NestingNodeContext <span class="hl opt">*</span>parent<span class="hl opt">,</span><span class="hl kwb">int</span> level<span class="hl opt">)</span>
      <span class="hl opt">:</span> <span class="hl kwd">m_parent</span><span class="hl opt">(</span>parent<span class="hl opt">),</span> <span class="hl kwd">m_level</span><span class="hl opt">(</span>level<span class="hl opt">),</span> <span class="hl kwd">m_index</span><span class="hl opt">(</span><span class="hl num">0</span><span class="hl opt">) {}</span>

    <span class="hl kwb">void</span> <span class="hl kwd">addNamespaces</span><span class="hl opt">(</span><span class="hl kwb">const</span> NamespaceSDict <span class="hl opt">&amp;</span>nsDict<span class="hl opt">,</span><span class="hl kwb">bool</span> rootOnly<span class="hl opt">,</span><span class="hl kwb">bool</span> addClasses<span class="hl opt">)</span>
    <span class="hl opt">{</span>
      NamespaceSDict<span class="hl opt">::</span>Iterator <span class="hl kwd">nli</span><span class="hl opt">(</span>nsDict<span class="hl opt">);</span>
      <span class="hl kwb">const</span> NamespaceDef <span class="hl opt">*</span>nd<span class="hl opt">;</span>
      <span class="hl kwa">for</span> <span class="hl opt">(</span>nli<span class="hl opt">.</span><span class="hl kwd">toFirst</span><span class="hl opt">();(</span>nd<span class="hl opt">=</span>nli<span class="hl opt">.</span><span class="hl kwd">current</span><span class="hl opt">());++</span>nli<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">if</span> <span class="hl opt">(!</span>nd<span class="hl opt">-&gt;</span><span class="hl kwd">isAnonymous</span><span class="hl opt">() &amp;&amp;</span>
            <span class="hl opt">(!</span>rootOnly <span class="hl opt">||</span> nd<span class="hl opt">-&gt;</span><span class="hl kwd">getOuterScope</span><span class="hl opt">()==</span>Doxygen<span class="hl opt">::</span>globalScope<span class="hl opt">))</span>
        <span class="hl opt">{</span>
          <span class="hl kwb">bool</span> hasChildren <span class="hl opt">=</span> <span class="hl kwd">namespaceHasVisibleChild</span><span class="hl opt">(</span>nd<span class="hl opt">,</span>addClasses<span class="hl opt">,</span><span class="hl kwa">false</span><span class="hl opt">,</span>ClassDef<span class="hl opt">::</span>Class<span class="hl opt">);</span>
          <span class="hl kwb">bool</span> isLinkable  <span class="hl opt">=</span> nd<span class="hl opt">-&gt;</span><span class="hl kwd">isLinkableInProject</span><span class="hl opt">();</span>
          <span class="hl kwa">if</span> <span class="hl opt">(</span>isLinkable <span class="hl opt">||</span> hasChildren<span class="hl opt">)</span>
          <span class="hl opt">{</span>
            NestingNodeContext <span class="hl opt">*</span>nnc <span class="hl opt">=</span> NestingNodeContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>m_parent<span class="hl opt">,</span>nd<span class="hl opt">,</span>m_index<span class="hl opt">,</span>m_level<span class="hl opt">,</span>addClasses<span class="hl opt">,</span>FALSE<span class="hl opt">,</span>FALSE<span class="hl opt">);</span>
            <span class="hl kwd">append</span><span class="hl opt">(</span>nnc<span class="hl opt">);</span>
            m_index<span class="hl opt">++;</span>
          <span class="hl opt">}</span>
        <span class="hl opt">}</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
    <span class="hl kwb">void</span> <span class="hl kwd">addClasses</span><span class="hl opt">(</span><span class="hl kwb">const</span> ClassSDict <span class="hl opt">&amp;</span>clDict<span class="hl opt">,</span><span class="hl kwb">bool</span> rootOnly<span class="hl opt">)</span>
    <span class="hl opt">{</span>
      ClassSDict<span class="hl opt">::</span>Iterator <span class="hl kwd">cli</span><span class="hl opt">(</span>clDict<span class="hl opt">);</span>
      <span class="hl kwb">const</span> ClassDef <span class="hl opt">*</span>cd<span class="hl opt">;</span>
      <span class="hl kwa">for</span> <span class="hl opt">(;(</span>cd<span class="hl opt">=</span>cli<span class="hl opt">.</span><span class="hl kwd">current</span><span class="hl opt">());++</span>cli<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">if</span> <span class="hl opt">(</span>cd<span class="hl opt">-&gt;</span><span class="hl kwd">getLanguage</span><span class="hl opt">()==</span>SrcLangExt_VHDL<span class="hl opt">)</span>
        <span class="hl opt">{</span>
          <span class="hl kwa">if</span> <span class="hl opt">((</span>VhdlDocGen<span class="hl opt">::</span>VhdlClasses<span class="hl opt">)</span>cd<span class="hl opt">-&gt;</span><span class="hl kwd">protection</span><span class="hl opt">()==</span>VhdlDocGen<span class="hl opt">::</span>PACKAGECLASS <span class="hl opt">||</span>
              <span class="hl opt">(</span>VhdlDocGen<span class="hl opt">::</span>VhdlClasses<span class="hl opt">)</span>cd<span class="hl opt">-&gt;</span><span class="hl kwd">protection</span><span class="hl opt">()==</span>VhdlDocGen<span class="hl opt">::</span>PACKBODYCLASS
             <span class="hl opt">)</span><span class="hl slc">// no architecture</span>
          <span class="hl opt">{</span>
            <span class="hl kwa">continue</span><span class="hl opt">;</span>
          <span class="hl opt">}</span>
        <span class="hl opt">}</span>
        <span class="hl kwa">if</span> <span class="hl opt">(!</span>rootOnly <span class="hl opt">||</span>
            cd<span class="hl opt">-&gt;</span><span class="hl kwd">getOuterScope</span><span class="hl opt">()==</span><span class="hl num">0</span> <span class="hl opt">||</span>
            cd<span class="hl opt">-&gt;</span><span class="hl kwd">getOuterScope</span><span class="hl opt">()==</span>Doxygen<span class="hl opt">::</span>globalScope
           <span class="hl opt">)</span>
        <span class="hl opt">{</span>
          <span class="hl kwa">if</span> <span class="hl opt">(</span><span class="hl kwd">classVisibleInIndex</span><span class="hl opt">(</span>cd<span class="hl opt">) &amp;&amp;</span> cd<span class="hl opt">-&gt;</span><span class="hl kwd">templateMaster</span><span class="hl opt">()==</span><span class="hl num">0</span><span class="hl opt">)</span>
          <span class="hl opt">{</span>
            NestingNodeContext <span class="hl opt">*</span>nnc <span class="hl opt">=</span> NestingNodeContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>m_parent<span class="hl opt">,</span>cd<span class="hl opt">,</span>m_index<span class="hl opt">,</span>m_level<span class="hl opt">,</span>TRUE<span class="hl opt">,</span>FALSE<span class="hl opt">,</span>FALSE<span class="hl opt">);</span>
            <span class="hl kwd">append</span><span class="hl opt">(</span>nnc<span class="hl opt">);</span>
            m_index<span class="hl opt">++;</span>
          <span class="hl opt">}</span>
        <span class="hl opt">}</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
    <span class="hl kwb">void</span> <span class="hl kwd">addDirs</span><span class="hl opt">(</span><span class="hl kwb">const</span> DirSDict <span class="hl opt">&amp;</span>dirDict<span class="hl opt">)</span>
    <span class="hl opt">{</span>
      SDict<span class="hl opt">&lt;</span>DirDef<span class="hl opt">&gt;::</span>Iterator <span class="hl kwd">dli</span><span class="hl opt">(</span>dirDict<span class="hl opt">);</span>
      <span class="hl kwb">const</span> DirDef <span class="hl opt">*</span>dd<span class="hl opt">;</span>
      <span class="hl kwa">for</span> <span class="hl opt">(</span>dli<span class="hl opt">.</span><span class="hl kwd">toFirst</span><span class="hl opt">();(</span>dd<span class="hl opt">=</span>dli<span class="hl opt">.</span><span class="hl kwd">current</span><span class="hl opt">());++</span>dli<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">if</span> <span class="hl opt">(</span>dd<span class="hl opt">-&gt;</span><span class="hl kwd">getOuterScope</span><span class="hl opt">()==</span>Doxygen<span class="hl opt">::</span>globalScope<span class="hl opt">)</span>
        <span class="hl opt">{</span>
          <span class="hl kwd">append</span><span class="hl opt">(</span>NestingNodeContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>m_parent<span class="hl opt">,</span>dd<span class="hl opt">,</span>m_index<span class="hl opt">,</span>m_level<span class="hl opt">,</span>FALSE<span class="hl opt">,</span>FALSE<span class="hl opt">,</span>FALSE<span class="hl opt">));</span>
          m_index<span class="hl opt">++;</span>
        <span class="hl opt">}</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
    <span class="hl kwb">void</span> <span class="hl kwd">addDirs</span><span class="hl opt">(</span><span class="hl kwb">const</span> DirList <span class="hl opt">&amp;</span>dirList<span class="hl opt">)</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">for</span><span class="hl opt">(</span><span class="hl kwb">const</span> <span class="hl kwc">auto</span> dd <span class="hl opt">:</span> dirList<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwd">append</span><span class="hl opt">(</span>NestingNodeContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>m_parent<span class="hl opt">,</span>dd<span class="hl opt">,</span>m_index<span class="hl opt">,</span>m_level<span class="hl opt">,</span>FALSE<span class="hl opt">,</span>FALSE<span class="hl opt">,</span>FALSE<span class="hl opt">));</span>
        m_index<span class="hl opt">++;</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
    <span class="hl kwb">void</span> <span class="hl kwd">addFiles</span><span class="hl opt">(</span><span class="hl kwb">const</span> FileNameLinkedMap <span class="hl opt">&amp;</span>fnList<span class="hl opt">)</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">for</span> <span class="hl opt">(</span><span class="hl kwb">const</span> FileNameLinkedMap<span class="hl opt">::</span>Ptr <span class="hl opt">&amp;</span>fn <span class="hl opt">:</span> fnList<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">for</span> <span class="hl opt">(</span><span class="hl kwb">const</span> <span class="hl kwc">auto</span> <span class="hl opt">&amp;</span>fd <span class="hl opt">: *</span>fn<span class="hl opt">)</span>
        <span class="hl opt">{</span>
          <span class="hl kwa">if</span> <span class="hl opt">(</span>fd<span class="hl opt">-&gt;</span><span class="hl kwd">getDirDef</span><span class="hl opt">()==</span><span class="hl num">0</span><span class="hl opt">)</span> <span class="hl slc">// top level file</span>
          <span class="hl opt">{</span>
            <span class="hl kwd">append</span><span class="hl opt">(</span>NestingNodeContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>m_parent<span class="hl opt">,</span>fd<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">(),</span>m_index<span class="hl opt">,</span>m_level<span class="hl opt">,</span>FALSE<span class="hl opt">,</span>FALSE<span class="hl opt">,</span>FALSE<span class="hl opt">));</span>
            m_index<span class="hl opt">++;</span>
          <span class="hl opt">}</span>
        <span class="hl opt">}</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
    <span class="hl kwb">void</span> <span class="hl kwd">addFiles</span><span class="hl opt">(</span><span class="hl kwb">const</span> FileList <span class="hl opt">&amp;</span>fList<span class="hl opt">)</span>
    <span class="hl opt">{</span>
      QListIterator<span class="hl opt">&lt;</span>FileDef<span class="hl opt">&gt;</span> <span class="hl kwd">li</span><span class="hl opt">(</span>fList<span class="hl opt">);</span>
      <span class="hl kwb">const</span> FileDef <span class="hl opt">*</span>fd<span class="hl opt">;</span>
      <span class="hl kwa">for</span> <span class="hl opt">(</span>li<span class="hl opt">.</span><span class="hl kwd">toFirst</span><span class="hl opt">();(</span>fd<span class="hl opt">=</span>li<span class="hl opt">.</span><span class="hl kwd">current</span><span class="hl opt">());++</span>li<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwd">append</span><span class="hl opt">(</span>NestingNodeContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>m_parent<span class="hl opt">,</span>fd<span class="hl opt">,</span>m_index<span class="hl opt">,</span>m_level<span class="hl opt">,</span>FALSE<span class="hl opt">,</span>FALSE<span class="hl opt">,</span>FALSE<span class="hl opt">));</span>
        m_index<span class="hl opt">++;</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
    <span class="hl kwb">void</span> <span class="hl kwd">addPages</span><span class="hl opt">(</span><span class="hl kwb">const</span> PageSDict <span class="hl opt">&amp;</span>pages<span class="hl opt">,</span><span class="hl kwb">bool</span> rootOnly<span class="hl opt">)</span>
    <span class="hl opt">{</span>
      SDict<span class="hl opt">&lt;</span>PageDef<span class="hl opt">&gt;::</span>Iterator <span class="hl kwd">pli</span><span class="hl opt">(</span>pages<span class="hl opt">);</span>
      <span class="hl kwb">const</span> PageDef <span class="hl opt">*</span>pd<span class="hl opt">;</span>
      <span class="hl kwa">for</span> <span class="hl opt">(</span>pli<span class="hl opt">.</span><span class="hl kwd">toFirst</span><span class="hl opt">();(</span>pd<span class="hl opt">=</span>pli<span class="hl opt">.</span><span class="hl kwd">current</span><span class="hl opt">());++</span>pli<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">if</span> <span class="hl opt">(!</span>rootOnly <span class="hl opt">||</span>
            pd<span class="hl opt">-&gt;</span><span class="hl kwd">getOuterScope</span><span class="hl opt">()==</span><span class="hl num">0</span> <span class="hl opt">||</span>
            pd<span class="hl opt">-&gt;</span><span class="hl kwd">getOuterScope</span><span class="hl opt">()-&gt;</span><span class="hl kwd">definitionType</span><span class="hl opt">()!=</span>Definition<span class="hl opt">::</span>TypePage<span class="hl opt">)</span>
        <span class="hl opt">{</span>
          <span class="hl kwd">append</span><span class="hl opt">(</span>NestingNodeContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>m_parent<span class="hl opt">,</span>pd<span class="hl opt">,</span>m_index<span class="hl opt">,</span>m_level<span class="hl opt">,</span>FALSE<span class="hl opt">,</span>FALSE<span class="hl opt">,</span>FALSE<span class="hl opt">));</span>
          m_index<span class="hl opt">++;</span>
        <span class="hl opt">}</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
    <span class="hl kwb">void</span> <span class="hl kwd">addModules</span><span class="hl opt">(</span><span class="hl kwb">const</span> GroupSDict <span class="hl opt">&amp;</span>groups<span class="hl opt">)</span>
    <span class="hl opt">{</span>
      GroupSDict<span class="hl opt">::</span>Iterator <span class="hl kwd">gli</span><span class="hl opt">(</span>groups<span class="hl opt">);</span>
      <span class="hl kwb">const</span> GroupDef <span class="hl opt">*</span>gd<span class="hl opt">;</span>
      <span class="hl kwa">for</span> <span class="hl opt">(</span>gli<span class="hl opt">.</span><span class="hl kwd">toFirst</span><span class="hl opt">();(</span>gd<span class="hl opt">=</span>gli<span class="hl opt">.</span><span class="hl kwd">current</span><span class="hl opt">());++</span>gli<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwb">static bool</span> externalGroups <span class="hl opt">=</span> <span class="hl kwd">Config_getBool</span><span class="hl opt">(</span>EXTERNAL_GROUPS<span class="hl opt">);</span>
        <span class="hl kwa">if</span> <span class="hl opt">(!</span>gd<span class="hl opt">-&gt;</span><span class="hl kwd">isASubGroup</span><span class="hl opt">() &amp;&amp;</span> gd<span class="hl opt">-&gt;</span><span class="hl kwd">isVisible</span><span class="hl opt">() &amp;&amp;</span>
             <span class="hl opt">(!</span>gd<span class="hl opt">-&gt;</span><span class="hl kwd">isReference</span><span class="hl opt">() ||</span> externalGroups<span class="hl opt">)</span>
           <span class="hl opt">)</span>
        <span class="hl opt">{</span>
          <span class="hl kwd">append</span><span class="hl opt">(</span>NestingNodeContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>m_parent<span class="hl opt">,</span>gd<span class="hl opt">,</span>m_index<span class="hl opt">,</span>m_level<span class="hl opt">,</span>FALSE<span class="hl opt">,</span>FALSE<span class="hl opt">,</span>FALSE<span class="hl opt">));</span>
          m_index<span class="hl opt">++;</span>
        <span class="hl opt">}</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
    <span class="hl kwb">void</span> <span class="hl kwd">addModules</span><span class="hl opt">(</span><span class="hl kwb">const</span> GroupList <span class="hl opt">&amp;</span>list<span class="hl opt">)</span>
    <span class="hl opt">{</span>
      GroupListIterator <span class="hl kwd">gli</span><span class="hl opt">(</span>list<span class="hl opt">);</span>
      <span class="hl kwb">const</span> GroupDef <span class="hl opt">*</span>gd<span class="hl opt">;</span>
      <span class="hl kwa">for</span> <span class="hl opt">(</span>gli<span class="hl opt">.</span><span class="hl kwd">toFirst</span><span class="hl opt">();(</span>gd<span class="hl opt">=</span>gli<span class="hl opt">.</span><span class="hl kwd">current</span><span class="hl opt">());++</span>gli<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">if</span> <span class="hl opt">(</span>gd<span class="hl opt">-&gt;</span><span class="hl kwd">isVisible</span><span class="hl opt">())</span>
        <span class="hl opt">{</span>
          <span class="hl kwd">append</span><span class="hl opt">(</span>NestingNodeContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>m_parent<span class="hl opt">,</span>gd<span class="hl opt">,</span>m_index<span class="hl opt">,</span>m_level<span class="hl opt">,</span>FALSE<span class="hl opt">,</span>FALSE<span class="hl opt">,</span>FALSE<span class="hl opt">));</span>
          m_index<span class="hl opt">++;</span>
        <span class="hl opt">}</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
    <span class="hl kwb">void</span> <span class="hl kwd">addDerivedClasses</span><span class="hl opt">(</span><span class="hl kwb">const</span> BaseClassList <span class="hl opt">*</span>bcl<span class="hl opt">,</span><span class="hl kwb">bool</span> hideSuper<span class="hl opt">)</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>bcl<span class="hl opt">==</span><span class="hl num">0</span><span class="hl opt">)</span> <span class="hl kwa">return</span><span class="hl opt">;</span>
      BaseClassListIterator <span class="hl kwd">bcli</span><span class="hl opt">(*</span>bcl<span class="hl opt">);</span>
      BaseClassDef <span class="hl opt">*</span>bcd<span class="hl opt">;</span>
      <span class="hl kwa">for</span> <span class="hl opt">(</span>bcli<span class="hl opt">.</span><span class="hl kwd">toFirst</span><span class="hl opt">() ; (</span>bcd<span class="hl opt">=</span>bcli<span class="hl opt">.</span><span class="hl kwd">current</span><span class="hl opt">()) ; ++</span>bcli<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwb">const</span> ClassDef <span class="hl opt">*</span>cd<span class="hl opt">=</span>bcd<span class="hl opt">-&gt;</span>classDef<span class="hl opt">;</span>
        <span class="hl kwa">if</span> <span class="hl opt">(</span>cd<span class="hl opt">-&gt;</span><span class="hl kwd">getLanguage</span><span class="hl opt">()==</span>SrcLangExt_VHDL <span class="hl opt">&amp;&amp; (</span>VhdlDocGen<span class="hl opt">::</span>VhdlClasses<span class="hl opt">)</span>cd<span class="hl opt">-&gt;</span><span class="hl kwd">protection</span><span class="hl opt">()!=</span>VhdlDocGen<span class="hl opt">::</span>ENTITYCLASS<span class="hl opt">)</span>
        <span class="hl opt">{</span>
          <span class="hl kwa">continue</span><span class="hl opt">;</span>
        <span class="hl opt">}</span>

        <span class="hl kwb">bool</span> b<span class="hl opt">;</span>
        <span class="hl kwa">if</span> <span class="hl opt">(</span>cd<span class="hl opt">-&gt;</span><span class="hl kwd">getLanguage</span><span class="hl opt">()==</span>SrcLangExt_VHDL<span class="hl opt">)</span>
        <span class="hl opt">{</span>
          b<span class="hl opt">=</span><span class="hl kwd">hasVisibleRoot</span><span class="hl opt">(</span>cd<span class="hl opt">-&gt;</span><span class="hl kwd">subClasses</span><span class="hl opt">());</span>
        <span class="hl opt">}</span>
        <span class="hl kwa">else</span>
        <span class="hl opt">{</span>
          b<span class="hl opt">=</span><span class="hl kwd">hasVisibleRoot</span><span class="hl opt">(</span>cd<span class="hl opt">-&gt;</span><span class="hl kwd">baseClasses</span><span class="hl opt">());</span>
        <span class="hl opt">}</span>

        <span class="hl kwa">if</span> <span class="hl opt">(</span>cd<span class="hl opt">-&gt;</span><span class="hl kwd">isVisibleInHierarchy</span><span class="hl opt">() &amp;&amp;</span> b<span class="hl opt">)</span>
        <span class="hl opt">{</span>
          NestingNodeContext <span class="hl opt">*</span>tnc <span class="hl opt">=</span> NestingNodeContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>m_parent<span class="hl opt">,</span>cd<span class="hl opt">,</span>m_index<span class="hl opt">,</span>m_level<span class="hl opt">,</span>TRUE<span class="hl opt">,</span>TRUE<span class="hl opt">,</span>hideSuper<span class="hl opt">);</span>
          <span class="hl kwd">append</span><span class="hl opt">(</span>tnc<span class="hl opt">);</span>
          m_index<span class="hl opt">++;</span>
        <span class="hl opt">}</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
    <span class="hl kwb">void</span> <span class="hl kwd">addClassHierarchy</span><span class="hl opt">(</span><span class="hl kwb">const</span> ClassSDict <span class="hl opt">&amp;</span>classSDict<span class="hl opt">,</span><span class="hl kwb">bool</span><span class="hl opt">)</span>
    <span class="hl opt">{</span>
      ClassSDict<span class="hl opt">::</span>Iterator <span class="hl kwd">cli</span><span class="hl opt">(</span>classSDict<span class="hl opt">);</span>
      <span class="hl kwb">const</span> ClassDef <span class="hl opt">*</span>cd<span class="hl opt">;</span>
      <span class="hl kwa">for</span> <span class="hl opt">(</span>cli<span class="hl opt">.</span><span class="hl kwd">toFirst</span><span class="hl opt">();(</span>cd<span class="hl opt">=</span>cli<span class="hl opt">.</span><span class="hl kwd">current</span><span class="hl opt">());++</span>cli<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwb">bool</span> b<span class="hl opt">;</span>
        <span class="hl kwa">if</span> <span class="hl opt">(</span>cd<span class="hl opt">-&gt;</span><span class="hl kwd">getLanguage</span><span class="hl opt">()==</span>SrcLangExt_VHDL<span class="hl opt">)</span>
        <span class="hl opt">{</span>
          <span class="hl kwa">if</span> <span class="hl opt">((</span>VhdlDocGen<span class="hl opt">::</span>VhdlClasses<span class="hl opt">)</span>cd<span class="hl opt">-&gt;</span><span class="hl kwd">protection</span><span class="hl opt">()!=</span>VhdlDocGen<span class="hl opt">::</span>ENTITYCLASS<span class="hl opt">)</span>
          <span class="hl opt">{</span>
            <span class="hl kwa">continue</span><span class="hl opt">;</span>
          <span class="hl opt">}</span>
          b<span class="hl opt">=!</span><span class="hl kwd">hasVisibleRoot</span><span class="hl opt">(</span>cd<span class="hl opt">-&gt;</span><span class="hl kwd">subClasses</span><span class="hl opt">());</span>
        <span class="hl opt">}</span>
        <span class="hl kwa">else</span>
        <span class="hl opt">{</span>
          b<span class="hl opt">=!</span><span class="hl kwd">hasVisibleRoot</span><span class="hl opt">(</span>cd<span class="hl opt">-&gt;</span><span class="hl kwd">baseClasses</span><span class="hl opt">());</span>
        <span class="hl opt">}</span>
        <span class="hl kwa">if</span> <span class="hl opt">(</span>b<span class="hl opt">)</span>
        <span class="hl opt">{</span>
          <span class="hl kwa">if</span> <span class="hl opt">(</span>cd<span class="hl opt">-&gt;</span><span class="hl kwd">isVisibleInHierarchy</span><span class="hl opt">())</span> <span class="hl slc">// should it be visible</span>
          <span class="hl opt">{</span>
            <span class="hl slc">// new root level class</span>
            NestingNodeContext <span class="hl opt">*</span>nnc <span class="hl opt">=</span> NestingNodeContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>m_parent<span class="hl opt">,</span>cd<span class="hl opt">,</span>m_index<span class="hl opt">,</span>m_level<span class="hl opt">,</span>TRUE<span class="hl opt">,</span>TRUE<span class="hl opt">,</span>cd<span class="hl opt">-&gt;</span><span class="hl kwd">isVisited</span><span class="hl opt">());</span>
            <span class="hl kwd">append</span><span class="hl opt">(</span>nnc<span class="hl opt">);</span>
            m_index<span class="hl opt">++;</span>
          <span class="hl opt">}</span>
        <span class="hl opt">}</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>

  <span class="hl kwc">private</span><span class="hl opt">:</span>
    <span class="hl kwb">const</span> NestingNodeContext <span class="hl opt">*</span>m_parent<span class="hl opt">;</span>
    <span class="hl kwb">int</span> m_level<span class="hl opt">;</span>
    <span class="hl kwb">int</span> m_index<span class="hl opt">;</span>
<span class="hl opt">};</span>

NestingContext<span class="hl opt">::</span><span class="hl kwd">NestingContext</span><span class="hl opt">(</span><span class="hl kwb">const</span> NestingNodeContext <span class="hl opt">*</span>parent<span class="hl opt">,</span><span class="hl kwb">int</span> level<span class="hl opt">) :</span> <span class="hl kwd">RefCountedContext</span><span class="hl opt">(</span><span class="hl str">&quot;NestingContext&quot;</span><span class="hl opt">)</span>
<span class="hl opt">{</span>
  p <span class="hl opt">=</span> <span class="hl kwa">new</span> <span class="hl kwd">Private</span><span class="hl opt">(</span>parent<span class="hl opt">,</span>level<span class="hl opt">);</span>
<span class="hl opt">}</span>

NestingContext<span class="hl opt">::~</span><span class="hl kwd">NestingContext</span><span class="hl opt">()</span>
<span class="hl opt">{</span>
  <span class="hl kwa">delete</span> p<span class="hl opt">;</span>
<span class="hl opt">}</span>

<span class="hl slc">// TemplateListIntf</span>
uint NestingContext<span class="hl opt">::</span><span class="hl kwd">count</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
<span class="hl opt">{</span>
  <span class="hl kwa">return</span> p<span class="hl opt">-&gt;</span><span class="hl kwd">count</span><span class="hl opt">();</span>
<span class="hl opt">}</span>

TemplateVariant NestingContext<span class="hl opt">::</span><span class="hl kwd">at</span><span class="hl opt">(</span>uint index<span class="hl opt">)</span> <span class="hl kwb">const</span>
<span class="hl opt">{</span>
  <span class="hl kwa">return</span> p<span class="hl opt">-&gt;</span><span class="hl kwd">at</span><span class="hl opt">(</span>index<span class="hl opt">);</span>
<span class="hl opt">}</span>

TemplateListIntf<span class="hl opt">::</span>ConstIterator <span class="hl opt">*</span>NestingContext<span class="hl opt">::</span><span class="hl kwd">createIterator</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
<span class="hl opt">{</span>
  <span class="hl kwa">return</span> p<span class="hl opt">-&gt;</span><span class="hl kwd">createIterator</span><span class="hl opt">();</span>
<span class="hl opt">}</span>

<span class="hl kwb">void</span> NestingContext<span class="hl opt">::</span><span class="hl kwd">addClasses</span><span class="hl opt">(</span><span class="hl kwb">const</span> ClassSDict <span class="hl opt">&amp;</span>clDict<span class="hl opt">,</span><span class="hl kwb">bool</span> rootOnly<span class="hl opt">)</span>
<span class="hl opt">{</span>
  p<span class="hl opt">-&gt;</span><span class="hl kwd">addClasses</span><span class="hl opt">(</span>clDict<span class="hl opt">,</span>rootOnly<span class="hl opt">);</span>
<span class="hl opt">}</span>

<span class="hl kwb">void</span> NestingContext<span class="hl opt">::</span><span class="hl kwd">addNamespaces</span><span class="hl opt">(</span><span class="hl kwb">const</span> NamespaceSDict <span class="hl opt">&amp;</span>nsDict<span class="hl opt">,</span><span class="hl kwb">bool</span> rootOnly<span class="hl opt">,</span><span class="hl kwb">bool</span> addClasses<span class="hl opt">)</span>
<span class="hl opt">{</span>
  p<span class="hl opt">-&gt;</span><span class="hl kwd">addNamespaces</span><span class="hl opt">(</span>nsDict<span class="hl opt">,</span>rootOnly<span class="hl opt">,</span>addClasses<span class="hl opt">);</span>
<span class="hl opt">}</span>

<span class="hl kwb">void</span> NestingContext<span class="hl opt">::</span><span class="hl kwd">addDirs</span><span class="hl opt">(</span><span class="hl kwb">const</span> DirSDict <span class="hl opt">&amp;</span>dirs<span class="hl opt">)</span>
<span class="hl opt">{</span>
  p<span class="hl opt">-&gt;</span><span class="hl kwd">addDirs</span><span class="hl opt">(</span>dirs<span class="hl opt">);</span>
<span class="hl opt">}</span>

<span class="hl kwb">void</span> NestingContext<span class="hl opt">::</span><span class="hl kwd">addDirs</span><span class="hl opt">(</span><span class="hl kwb">const</span> DirList <span class="hl opt">&amp;</span>dirs<span class="hl opt">)</span>
<span class="hl opt">{</span>
  p<span class="hl opt">-&gt;</span><span class="hl kwd">addDirs</span><span class="hl opt">(</span>dirs<span class="hl opt">);</span>
<span class="hl opt">}</span>

<span class="hl kwb">void</span> NestingContext<span class="hl opt">::</span><span class="hl kwd">addFiles</span><span class="hl opt">(</span><span class="hl kwb">const</span> FileNameLinkedMap <span class="hl opt">&amp;</span>files<span class="hl opt">)</span>
<span class="hl opt">{</span>
  p<span class="hl opt">-&gt;</span><span class="hl kwd">addFiles</span><span class="hl opt">(</span>files<span class="hl opt">);</span>
<span class="hl opt">}</span>

<span class="hl kwb">void</span> NestingContext<span class="hl opt">::</span><span class="hl kwd">addFiles</span><span class="hl opt">(</span><span class="hl kwb">const</span> FileList <span class="hl opt">&amp;</span>files<span class="hl opt">)</span>
<span class="hl opt">{</span>
  p<span class="hl opt">-&gt;</span><span class="hl kwd">addFiles</span><span class="hl opt">(</span>files<span class="hl opt">);</span>
<span class="hl opt">}</span>

<span class="hl kwb">void</span> NestingContext<span class="hl opt">::</span><span class="hl kwd">addPages</span><span class="hl opt">(</span><span class="hl kwb">const</span> PageSDict <span class="hl opt">&amp;</span>pages<span class="hl opt">,</span><span class="hl kwb">bool</span> rootOnly<span class="hl opt">)</span>
<span class="hl opt">{</span>
  p<span class="hl opt">-&gt;</span><span class="hl kwd">addPages</span><span class="hl opt">(</span>pages<span class="hl opt">,</span>rootOnly<span class="hl opt">);</span>
<span class="hl opt">}</span>

<span class="hl kwb">void</span> NestingContext<span class="hl opt">::</span><span class="hl kwd">addModules</span><span class="hl opt">(</span><span class="hl kwb">const</span> GroupSDict <span class="hl opt">&amp;</span>modules<span class="hl opt">)</span>
<span class="hl opt">{</span>
  p<span class="hl opt">-&gt;</span><span class="hl kwd">addModules</span><span class="hl opt">(</span>modules<span class="hl opt">);</span>
<span class="hl opt">}</span>

<span class="hl kwb">void</span> NestingContext<span class="hl opt">::</span><span class="hl kwd">addModules</span><span class="hl opt">(</span><span class="hl kwb">const</span> GroupList <span class="hl opt">&amp;</span>modules<span class="hl opt">)</span>
<span class="hl opt">{</span>
  p<span class="hl opt">-&gt;</span><span class="hl kwd">addModules</span><span class="hl opt">(</span>modules<span class="hl opt">);</span>
<span class="hl opt">}</span>

<span class="hl kwb">void</span> NestingContext<span class="hl opt">::</span><span class="hl kwd">addClassHierarchy</span><span class="hl opt">(</span><span class="hl kwb">const</span> ClassSDict <span class="hl opt">&amp;</span>classSDict<span class="hl opt">,</span><span class="hl kwb">bool</span> rootOnly<span class="hl opt">)</span>
<span class="hl opt">{</span>
  p<span class="hl opt">-&gt;</span><span class="hl kwd">addClassHierarchy</span><span class="hl opt">(</span>classSDict<span class="hl opt">,</span>rootOnly<span class="hl opt">);</span>
<span class="hl opt">}</span>

<span class="hl kwb">void</span> NestingContext<span class="hl opt">::</span><span class="hl kwd">addDerivedClasses</span><span class="hl opt">(</span><span class="hl kwb">const</span> BaseClassList <span class="hl opt">*</span>bcl<span class="hl opt">,</span><span class="hl kwb">bool</span> hideSuper<span class="hl opt">)</span>
<span class="hl opt">{</span>
  p<span class="hl opt">-&gt;</span><span class="hl kwd">addDerivedClasses</span><span class="hl opt">(</span>bcl<span class="hl opt">,</span>hideSuper<span class="hl opt">);</span>
<span class="hl opt">}</span>

<span class="hl slc">//------------------------------------------------------------------------</span>

<span class="hl slc">//%% struct ClassTree: Class nesting relations</span>
<span class="hl slc">//%% {</span>
<span class="hl kwc">class</span> ClassTreeContext<span class="hl opt">::</span>Private
<span class="hl opt">{</span>
  <span class="hl kwc">public</span><span class="hl opt">:</span>
    <span class="hl kwd">Private</span><span class="hl opt">()</span>
    <span class="hl opt">{</span>
      m_classTree<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>NestingContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span><span class="hl num">0</span><span class="hl opt">,</span><span class="hl num">0</span><span class="hl opt">));</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>Doxygen<span class="hl opt">::</span>namespaceSDict<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        m_classTree<span class="hl opt">-&gt;</span><span class="hl kwd">addNamespaces</span><span class="hl opt">(*</span>Doxygen<span class="hl opt">::</span>namespaceSDict<span class="hl opt">,</span>TRUE<span class="hl opt">,</span>TRUE<span class="hl opt">);</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>Doxygen<span class="hl opt">::</span>classSDict<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        m_classTree<span class="hl opt">-&gt;</span><span class="hl kwd">addClasses</span><span class="hl opt">(*</span>Doxygen<span class="hl opt">::</span>classSDict<span class="hl opt">,</span>TRUE<span class="hl opt">);</span>
      <span class="hl opt">}</span>
      <span class="hl slc">//%% Nesting tree</span>
      <span class="hl kwb">static bool</span> init<span class="hl opt">=</span>FALSE<span class="hl opt">;</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>init<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;tree&quot;</span><span class="hl opt">,          &amp;</span>Private<span class="hl opt">::</span>tree<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;fileName&quot;</span><span class="hl opt">,      &amp;</span>Private<span class="hl opt">::</span>fileName<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;relPath&quot;</span><span class="hl opt">,       &amp;</span>Private<span class="hl opt">::</span>relPath<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;highlight&quot;</span><span class="hl opt">,     &amp;</span>Private<span class="hl opt">::</span>highlight<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;subhighlight&quot;</span><span class="hl opt">,  &amp;</span>Private<span class="hl opt">::</span>subhighlight<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;title&quot;</span><span class="hl opt">,         &amp;</span>Private<span class="hl opt">::</span>title<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;preferredDepth&quot;</span><span class="hl opt">,&amp;</span>Private<span class="hl opt">::</span>preferredDepth<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;maxDepth&quot;</span><span class="hl opt">,      &amp;</span>Private<span class="hl opt">::</span>maxDepth<span class="hl opt">);</span>
        init<span class="hl opt">=</span>TRUE<span class="hl opt">;</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwb">const char</span> <span class="hl opt">*</span>n<span class="hl opt">)</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> s_inst<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwa">this</span><span class="hl opt">,</span>n<span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">tree</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_classTree<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">fileName</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl str">&quot;annotated&quot;</span><span class="hl opt">;</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">relPath</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl str">&quot;&quot;</span><span class="hl opt">;</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">highlight</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl str">&quot;classes&quot;</span><span class="hl opt">;</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">subhighlight</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl str">&quot;classlist&quot;</span><span class="hl opt">;</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">title</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwb">static bool</span> fortranOpt <span class="hl opt">=</span> <span class="hl kwd">Config_getBool</span><span class="hl opt">(</span>OPTIMIZE_FOR_FORTRAN<span class="hl opt">);</span>
      <span class="hl kwb">static bool</span> vhdlOpt    <span class="hl opt">=</span> <span class="hl kwd">Config_getBool</span><span class="hl opt">(</span>OPTIMIZE_OUTPUT_VHDL<span class="hl opt">);</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>fortranOpt<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trCompoundListFortran</span><span class="hl opt">();</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">else if</span> <span class="hl opt">(</span>vhdlOpt<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trDesignUnitList</span><span class="hl opt">();</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">else</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trClasses</span><span class="hl opt">();</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">maxDepth</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>m_cache<span class="hl opt">.</span>maxDepthComputed<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        m_cache<span class="hl opt">.</span>maxDepth <span class="hl opt">=</span> <span class="hl kwd">computeMaxDepth</span><span class="hl opt">(</span>m_classTree<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">());</span>
        m_cache<span class="hl opt">.</span>maxDepthComputed<span class="hl opt">=</span>TRUE<span class="hl opt">;</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> m_cache<span class="hl opt">.</span>maxDepth<span class="hl opt">;</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">preferredDepth</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>m_cache<span class="hl opt">.</span>preferredDepthComputed<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        m_cache<span class="hl opt">.</span>preferredDepth <span class="hl opt">=</span> <span class="hl kwd">computePreferredDepth</span><span class="hl opt">(</span>m_classTree<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">(),</span><span class="hl kwd">maxDepth</span><span class="hl opt">().</span><span class="hl kwd">toInt</span><span class="hl opt">());</span>
        m_cache<span class="hl opt">.</span>preferredDepthComputed<span class="hl opt">=</span>TRUE<span class="hl opt">;</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> m_cache<span class="hl opt">.</span>preferredDepth<span class="hl opt">;</span>
    <span class="hl opt">}</span>
  <span class="hl kwc">private</span><span class="hl opt">:</span>
    SharedPtr<span class="hl opt">&lt;</span>NestingContext<span class="hl opt">&gt;</span> m_classTree<span class="hl opt">;</span>
    <span class="hl kwb">struct</span> Cachable
    <span class="hl opt">{</span>
      <span class="hl kwd">Cachable</span><span class="hl opt">() :</span> <span class="hl kwd">maxDepth</span><span class="hl opt">(</span><span class="hl num">0</span><span class="hl opt">),</span> <span class="hl kwd">maxDepthComputed</span><span class="hl opt">(</span>FALSE<span class="hl opt">),</span>
                   <span class="hl kwd">preferredDepth</span><span class="hl opt">(</span><span class="hl num">0</span><span class="hl opt">),</span> <span class="hl kwd">preferredDepthComputed</span><span class="hl opt">(</span>FALSE<span class="hl opt">) {}</span>
      <span class="hl kwb">int</span>   maxDepth<span class="hl opt">;</span>
      <span class="hl kwb">bool</span>  maxDepthComputed<span class="hl opt">;</span>
      <span class="hl kwb">int</span>   preferredDepth<span class="hl opt">;</span>
      <span class="hl kwb">bool</span>  preferredDepthComputed<span class="hl opt">;</span>
    <span class="hl opt">};</span>
    <span class="hl kwc">mutable</span> Cachable m_cache<span class="hl opt">;</span>
    <span class="hl kwb">static</span> PropertyMapper<span class="hl opt">&lt;</span>ClassTreeContext<span class="hl opt">::</span>Private<span class="hl opt">&gt;</span> s_inst<span class="hl opt">;</span>
<span class="hl opt">};</span>
<span class="hl slc">//%% }</span>

PropertyMapper<span class="hl opt">&lt;</span>ClassTreeContext<span class="hl opt">::</span>Private<span class="hl opt">&gt;</span> ClassTreeContext<span class="hl opt">::</span>Private<span class="hl opt">::</span>s_inst<span class="hl opt">;</span>

ClassTreeContext<span class="hl opt">::</span><span class="hl kwd">ClassTreeContext</span><span class="hl opt">() :</span> <span class="hl kwd">RefCountedContext</span><span class="hl opt">(</span><span class="hl str">&quot;ClassTreeContext&quot;</span><span class="hl opt">)</span>
<span class="hl opt">{</span>
  p <span class="hl opt">=</span> <span class="hl kwa">new</span> Private<span class="hl opt">;</span>
<span class="hl opt">}</span>

ClassTreeContext<span class="hl opt">::~</span><span class="hl kwd">ClassTreeContext</span><span class="hl opt">()</span>
<span class="hl opt">{</span>
  <span class="hl kwa">delete</span> p<span class="hl opt">;</span>
<span class="hl opt">}</span>

TemplateVariant ClassTreeContext<span class="hl opt">::</span><span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwb">const char</span> <span class="hl opt">*</span>name<span class="hl opt">)</span> <span class="hl kwb">const</span>
<span class="hl opt">{</span>
  <span class="hl kwa">return</span> p<span class="hl opt">-&gt;</span><span class="hl kwd">get</span><span class="hl opt">(</span>name<span class="hl opt">);</span>
<span class="hl opt">}</span>

<span class="hl slc">//------------------------------------------------------------------------</span>

<span class="hl slc">//%% list NamespaceList[Namespace] : list of namespaces</span>
<span class="hl kwc">class</span> NamespaceListContext<span class="hl opt">::</span>Private <span class="hl opt">:</span> <span class="hl kwc">public</span> GenericNodeListContext
<span class="hl opt">{</span>
  <span class="hl kwc">public</span><span class="hl opt">:</span>
    <span class="hl kwb">void</span> <span class="hl kwd">addNamespaces</span><span class="hl opt">(</span><span class="hl kwb">const</span> NamespaceSDict <span class="hl opt">&amp;</span>nsDict<span class="hl opt">)</span>
    <span class="hl opt">{</span>
      NamespaceSDict<span class="hl opt">::</span>Iterator <span class="hl kwd">nli</span><span class="hl opt">(</span>nsDict<span class="hl opt">);</span>
      <span class="hl kwb">const</span> NamespaceDef <span class="hl opt">*</span>nd<span class="hl opt">;</span>
      <span class="hl kwa">for</span> <span class="hl opt">(</span>nli<span class="hl opt">.</span><span class="hl kwd">toFirst</span><span class="hl opt">();(</span>nd<span class="hl opt">=</span>nli<span class="hl opt">.</span><span class="hl kwd">current</span><span class="hl opt">());++</span>nli<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">if</span> <span class="hl opt">(</span>nd<span class="hl opt">-&gt;</span><span class="hl kwd">isLinkableInProject</span><span class="hl opt">())</span>
        <span class="hl opt">{</span>
          <span class="hl kwd">append</span><span class="hl opt">(</span>NamespaceContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>nd<span class="hl opt">));</span>
        <span class="hl opt">}</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
<span class="hl opt">};</span>

NamespaceListContext<span class="hl opt">::</span><span class="hl kwd">NamespaceListContext</span><span class="hl opt">() :</span> <span class="hl kwd">RefCountedContext</span><span class="hl opt">(</span><span class="hl str">&quot;NamespaceListContext&quot;</span><span class="hl opt">)</span>
<span class="hl opt">{</span>
  p <span class="hl opt">=</span> <span class="hl kwa">new</span> Private<span class="hl opt">;</span>
  p<span class="hl opt">-&gt;</span><span class="hl kwd">addNamespaces</span><span class="hl opt">(*</span>Doxygen<span class="hl opt">::</span>namespaceSDict<span class="hl opt">);</span>
<span class="hl opt">}</span>

NamespaceListContext<span class="hl opt">::~</span><span class="hl kwd">NamespaceListContext</span><span class="hl opt">()</span>
<span class="hl opt">{</span>
  <span class="hl kwa">delete</span> p<span class="hl opt">;</span>
<span class="hl opt">}</span>

<span class="hl slc">// TemplateListIntf</span>
uint NamespaceListContext<span class="hl opt">::</span><span class="hl kwd">count</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
<span class="hl opt">{</span>
  <span class="hl kwa">return</span> p<span class="hl opt">-&gt;</span><span class="hl kwd">count</span><span class="hl opt">();</span>
<span class="hl opt">}</span>

TemplateVariant NamespaceListContext<span class="hl opt">::</span><span class="hl kwd">at</span><span class="hl opt">(</span>uint index<span class="hl opt">)</span> <span class="hl kwb">const</span>
<span class="hl opt">{</span>
  <span class="hl kwa">return</span> p<span class="hl opt">-&gt;</span><span class="hl kwd">at</span><span class="hl opt">(</span>index<span class="hl opt">);</span>
<span class="hl opt">}</span>

TemplateListIntf<span class="hl opt">::</span>ConstIterator <span class="hl opt">*</span>NamespaceListContext<span class="hl opt">::</span><span class="hl kwd">createIterator</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
<span class="hl opt">{</span>
  <span class="hl kwa">return</span> p<span class="hl opt">-&gt;</span><span class="hl kwd">createIterator</span><span class="hl opt">();</span>
<span class="hl opt">}</span>

<span class="hl slc">//------------------------------------------------------------------------</span>

<span class="hl slc">//%% struct NamespaceTree: tree of nested namespace</span>
<span class="hl slc">//%% {</span>
<span class="hl kwc">class</span> NamespaceTreeContext<span class="hl opt">::</span>Private
<span class="hl opt">{</span>
  <span class="hl kwc">public</span><span class="hl opt">:</span>
    <span class="hl kwd">Private</span><span class="hl opt">()</span>
    <span class="hl opt">{</span>
      m_namespaceTree<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>NestingContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span><span class="hl num">0</span><span class="hl opt">,</span><span class="hl num">0</span><span class="hl opt">));</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>Doxygen<span class="hl opt">::</span>namespaceSDict<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        m_namespaceTree<span class="hl opt">-&gt;</span><span class="hl kwd">addNamespaces</span><span class="hl opt">(*</span>Doxygen<span class="hl opt">::</span>namespaceSDict<span class="hl opt">,</span>TRUE<span class="hl opt">,</span>FALSE<span class="hl opt">);</span>
      <span class="hl opt">}</span>
      <span class="hl slc">//%% Nesting tree</span>
      <span class="hl kwb">static bool</span> init<span class="hl opt">=</span>FALSE<span class="hl opt">;</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>init<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;tree&quot;</span><span class="hl opt">,          &amp;</span>Private<span class="hl opt">::</span>tree<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;fileName&quot;</span><span class="hl opt">,      &amp;</span>Private<span class="hl opt">::</span>fileName<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;relPath&quot;</span><span class="hl opt">,       &amp;</span>Private<span class="hl opt">::</span>relPath<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;highlight&quot;</span><span class="hl opt">,     &amp;</span>Private<span class="hl opt">::</span>highlight<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;subhighlight&quot;</span><span class="hl opt">,  &amp;</span>Private<span class="hl opt">::</span>subhighlight<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;title&quot;</span><span class="hl opt">,         &amp;</span>Private<span class="hl opt">::</span>title<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;preferredDepth&quot;</span><span class="hl opt">,&amp;</span>Private<span class="hl opt">::</span>preferredDepth<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;maxDepth&quot;</span><span class="hl opt">,      &amp;</span>Private<span class="hl opt">::</span>maxDepth<span class="hl opt">);</span>
        init<span class="hl opt">=</span>TRUE<span class="hl opt">;</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwb">const char</span> <span class="hl opt">*</span>n<span class="hl opt">)</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> s_inst<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwa">this</span><span class="hl opt">,</span>n<span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">tree</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_namespaceTree<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">fileName</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl str">&quot;namespaces&quot;</span><span class="hl opt">;</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">relPath</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl str">&quot;&quot;</span><span class="hl opt">;</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">highlight</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl str">&quot;namespaces&quot;</span><span class="hl opt">;</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">subhighlight</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl str">&quot;namespacelist&quot;</span><span class="hl opt">;</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">title</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwb">static bool</span> javaOpt    <span class="hl opt">=</span> <span class="hl kwd">Config_getBool</span><span class="hl opt">(</span>OPTIMIZE_OUTPUT_JAVA<span class="hl opt">);</span>
      <span class="hl kwb">static bool</span> fortranOpt <span class="hl opt">=</span> <span class="hl kwd">Config_getBool</span><span class="hl opt">(</span>OPTIMIZE_FOR_FORTRAN<span class="hl opt">);</span>
      <span class="hl kwb">static bool</span> vhdlOpt    <span class="hl opt">=</span> <span class="hl kwd">Config_getBool</span><span class="hl opt">(</span>OPTIMIZE_OUTPUT_VHDL<span class="hl opt">);</span>
      <span class="hl kwb">static bool</span> sliceOpt   <span class="hl opt">=</span> <span class="hl kwd">Config_getBool</span><span class="hl opt">(</span>OPTIMIZE_OUTPUT_SLICE<span class="hl opt">);</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>javaOpt <span class="hl opt">||</span> vhdlOpt<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trPackages</span><span class="hl opt">();</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">else if</span> <span class="hl opt">(</span>fortranOpt <span class="hl opt">||</span> sliceOpt<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trModulesList</span><span class="hl opt">();</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">else</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trNamespaceList</span><span class="hl opt">();</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">maxDepth</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>m_cache<span class="hl opt">.</span>maxDepthComputed<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        m_cache<span class="hl opt">.</span>maxDepth <span class="hl opt">=</span> <span class="hl kwd">computeMaxDepth</span><span class="hl opt">(</span>m_namespaceTree<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">());</span>
        m_cache<span class="hl opt">.</span>maxDepthComputed<span class="hl opt">=</span>TRUE<span class="hl opt">;</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> m_cache<span class="hl opt">.</span>maxDepth<span class="hl opt">;</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">preferredDepth</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>m_cache<span class="hl opt">.</span>preferredDepthComputed<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        m_cache<span class="hl opt">.</span>preferredDepth <span class="hl opt">=</span> <span class="hl kwd">computePreferredDepth</span><span class="hl opt">(</span>m_namespaceTree<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">(),</span><span class="hl kwd">maxDepth</span><span class="hl opt">().</span><span class="hl kwd">toInt</span><span class="hl opt">());</span>
        m_cache<span class="hl opt">.</span>preferredDepthComputed<span class="hl opt">=</span>TRUE<span class="hl opt">;</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> m_cache<span class="hl opt">.</span>preferredDepth<span class="hl opt">;</span>
    <span class="hl opt">}</span>
  <span class="hl kwc">private</span><span class="hl opt">:</span>
    SharedPtr<span class="hl opt">&lt;</span>NestingContext<span class="hl opt">&gt;</span> m_namespaceTree<span class="hl opt">;</span>
    <span class="hl kwb">struct</span> Cachable
    <span class="hl opt">{</span>
      <span class="hl kwd">Cachable</span><span class="hl opt">() :</span> <span class="hl kwd">maxDepth</span><span class="hl opt">(</span><span class="hl num">0</span><span class="hl opt">),</span> <span class="hl kwd">maxDepthComputed</span><span class="hl opt">(</span>FALSE<span class="hl opt">),</span>
                   <span class="hl kwd">preferredDepth</span><span class="hl opt">(</span><span class="hl num">0</span><span class="hl opt">),</span> <span class="hl kwd">preferredDepthComputed</span><span class="hl opt">(</span>FALSE<span class="hl opt">) {}</span>
      <span class="hl kwb">int</span>   maxDepth<span class="hl opt">;</span>
      <span class="hl kwb">bool</span>  maxDepthComputed<span class="hl opt">;</span>
      <span class="hl kwb">int</span>   preferredDepth<span class="hl opt">;</span>
      <span class="hl kwb">bool</span>  preferredDepthComputed<span class="hl opt">;</span>
    <span class="hl opt">};</span>
    <span class="hl kwc">mutable</span> Cachable m_cache<span class="hl opt">;</span>
    <span class="hl kwb">static</span> PropertyMapper<span class="hl opt">&lt;</span>NamespaceTreeContext<span class="hl opt">::</span>Private<span class="hl opt">&gt;</span> s_inst<span class="hl opt">;</span>
<span class="hl opt">};</span>
<span class="hl slc">//%% }</span>

PropertyMapper<span class="hl opt">&lt;</span>NamespaceTreeContext<span class="hl opt">::</span>Private<span class="hl opt">&gt;</span> NamespaceTreeContext<span class="hl opt">::</span>Private<span class="hl opt">::</span>s_inst<span class="hl opt">;</span>

NamespaceTreeContext<span class="hl opt">::</span><span class="hl kwd">NamespaceTreeContext</span><span class="hl opt">() :</span> <span class="hl kwd">RefCountedContext</span><span class="hl opt">(</span><span class="hl str">&quot;NamespaceTreeContext&quot;</span><span class="hl opt">)</span>
<span class="hl opt">{</span>
  p <span class="hl opt">=</span> <span class="hl kwa">new</span> Private<span class="hl opt">;</span>
<span class="hl opt">}</span>

NamespaceTreeContext<span class="hl opt">::~</span><span class="hl kwd">NamespaceTreeContext</span><span class="hl opt">()</span>
<span class="hl opt">{</span>
  <span class="hl kwa">delete</span> p<span class="hl opt">;</span>
<span class="hl opt">}</span>

TemplateVariant NamespaceTreeContext<span class="hl opt">::</span><span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwb">const char</span> <span class="hl opt">*</span>name<span class="hl opt">)</span> <span class="hl kwb">const</span>
<span class="hl opt">{</span>
  <span class="hl kwa">return</span> p<span class="hl opt">-&gt;</span><span class="hl kwd">get</span><span class="hl opt">(</span>name<span class="hl opt">);</span>
<span class="hl opt">}</span>

<span class="hl slc">//------------------------------------------------------------------------</span>

<span class="hl slc">//%% list FileList[File] : list of files</span>
<span class="hl kwc">class</span> FileListContext<span class="hl opt">::</span>Private <span class="hl opt">:</span> <span class="hl kwc">public</span> GenericNodeListContext
<span class="hl opt">{</span>
  <span class="hl kwc">public</span><span class="hl opt">:</span>
    <span class="hl kwb">void</span> <span class="hl kwd">addFiles</span><span class="hl opt">(</span><span class="hl kwb">const</span> FileNameLinkedMap <span class="hl opt">&amp;</span>fnMap<span class="hl opt">)</span>
    <span class="hl opt">{</span>
      <span class="hl slc">// TODO: if FULL_PATH_NAMES is enabled, the ordering should be dir+file</span>
      <span class="hl kwa">for</span> <span class="hl opt">(</span><span class="hl kwb">const</span> <span class="hl kwc">auto</span> <span class="hl opt">&amp;</span>fn <span class="hl opt">:</span> fnMap<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">for</span> <span class="hl opt">(</span><span class="hl kwb">const</span> <span class="hl kwc">auto</span> <span class="hl opt">&amp;</span>fd <span class="hl opt">: *</span>fn<span class="hl opt">)</span>
        <span class="hl opt">{</span>
          <span class="hl kwb">bool</span> doc <span class="hl opt">=</span> fd<span class="hl opt">-&gt;</span><span class="hl kwd">isLinkableInProject</span><span class="hl opt">();</span>
          <span class="hl kwb">bool</span> src <span class="hl opt">=</span> fd<span class="hl opt">-&gt;</span><span class="hl kwd">generateSourceFile</span><span class="hl opt">();</span>
          <span class="hl kwb">bool</span> nameOk <span class="hl opt">= !</span>fd<span class="hl opt">-&gt;</span><span class="hl kwd">isDocumentationFile</span><span class="hl opt">();</span>
          <span class="hl kwa">if</span> <span class="hl opt">(</span>nameOk <span class="hl opt">&amp;&amp; (</span>doc <span class="hl opt">||</span> src<span class="hl opt">) &amp;&amp; !</span>fd<span class="hl opt">-&gt;</span><span class="hl kwd">isReference</span><span class="hl opt">())</span>
          <span class="hl opt">{</span>
            <span class="hl kwd">append</span><span class="hl opt">(</span>FileContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>fd<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">()));</span>
          <span class="hl opt">}</span>
        <span class="hl opt">}</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
<span class="hl opt">};</span>

FileListContext<span class="hl opt">::</span><span class="hl kwd">FileListContext</span><span class="hl opt">() :</span> <span class="hl kwd">RefCountedContext</span><span class="hl opt">(</span><span class="hl str">&quot;FileListContext&quot;</span><span class="hl opt">)</span>
<span class="hl opt">{</span>
  p <span class="hl opt">=</span> <span class="hl kwa">new</span> Private<span class="hl opt">;</span>
  <span class="hl kwa">if</span> <span class="hl opt">(</span>Doxygen<span class="hl opt">::</span>inputNameLinkedMap<span class="hl opt">)</span> p<span class="hl opt">-&gt;</span><span class="hl kwd">addFiles</span><span class="hl opt">(*</span>Doxygen<span class="hl opt">::</span>inputNameLinkedMap<span class="hl opt">);</span>
<span class="hl opt">}</span>

FileListContext<span class="hl opt">::~</span><span class="hl kwd">FileListContext</span><span class="hl opt">()</span>
<span class="hl opt">{</span>
  <span class="hl kwa">delete</span> p<span class="hl opt">;</span>
<span class="hl opt">}</span>

<span class="hl slc">// TemplateListIntf</span>
uint FileListContext<span class="hl opt">::</span><span class="hl kwd">count</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
<span class="hl opt">{</span>
  <span class="hl kwa">return</span> p<span class="hl opt">-&gt;</span><span class="hl kwd">count</span><span class="hl opt">();</span>
<span class="hl opt">}</span>

TemplateVariant FileListContext<span class="hl opt">::</span><span class="hl kwd">at</span><span class="hl opt">(</span>uint index<span class="hl opt">)</span> <span class="hl kwb">const</span>
<span class="hl opt">{</span>
  <span class="hl kwa">return</span> p<span class="hl opt">-&gt;</span><span class="hl kwd">at</span><span class="hl opt">(</span>index<span class="hl opt">);</span>
<span class="hl opt">}</span>

TemplateListIntf<span class="hl opt">::</span>ConstIterator <span class="hl opt">*</span>FileListContext<span class="hl opt">::</span><span class="hl kwd">createIterator</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
<span class="hl opt">{</span>
  <span class="hl kwa">return</span> p<span class="hl opt">-&gt;</span><span class="hl kwd">createIterator</span><span class="hl opt">();</span>
<span class="hl opt">}</span>

<span class="hl slc">//------------------------------------------------------------------------</span>

<span class="hl slc">//%% list DirList[Dir] : list of files</span>
<span class="hl kwc">class</span> DirListContext<span class="hl opt">::</span>Private <span class="hl opt">:</span> <span class="hl kwc">public</span> GenericNodeListContext
<span class="hl opt">{</span>
  <span class="hl kwc">public</span><span class="hl opt">:</span>
    <span class="hl kwd">Private</span><span class="hl opt">()</span>
    <span class="hl opt">{</span>
      <span class="hl kwb">const</span> DirDef <span class="hl opt">*</span>dir<span class="hl opt">;</span>
      DirSDict<span class="hl opt">::</span>Iterator <span class="hl kwd">sdi</span><span class="hl opt">(*</span>Doxygen<span class="hl opt">::</span>directories<span class="hl opt">);</span>
      <span class="hl kwa">for</span> <span class="hl opt">(</span>sdi<span class="hl opt">.</span><span class="hl kwd">toFirst</span><span class="hl opt">();(</span>dir<span class="hl opt">=</span>sdi<span class="hl opt">.</span><span class="hl kwd">current</span><span class="hl opt">());++</span>sdi<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwd">append</span><span class="hl opt">(</span>DirContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>dir<span class="hl opt">));</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
<span class="hl opt">};</span>

DirListContext<span class="hl opt">::</span><span class="hl kwd">DirListContext</span><span class="hl opt">() :</span> <span class="hl kwd">RefCountedContext</span><span class="hl opt">(</span><span class="hl str">&quot;DirListContext&quot;</span><span class="hl opt">)</span>
<span class="hl opt">{</span>
  p <span class="hl opt">=</span> <span class="hl kwa">new</span> Private<span class="hl opt">;</span>
<span class="hl opt">}</span>

DirListContext<span class="hl opt">::~</span><span class="hl kwd">DirListContext</span><span class="hl opt">()</span>
<span class="hl opt">{</span>
  <span class="hl kwa">delete</span> p<span class="hl opt">;</span>
<span class="hl opt">}</span>

<span class="hl slc">// TemplateListIntf</span>
uint DirListContext<span class="hl opt">::</span><span class="hl kwd">count</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
<span class="hl opt">{</span>
  <span class="hl kwa">return</span> p<span class="hl opt">-&gt;</span><span class="hl kwd">count</span><span class="hl opt">();</span>
<span class="hl opt">}</span>

TemplateVariant DirListContext<span class="hl opt">::</span><span class="hl kwd">at</span><span class="hl opt">(</span>uint index<span class="hl opt">)</span> <span class="hl kwb">const</span>
<span class="hl opt">{</span>
  <span class="hl kwa">return</span> p<span class="hl opt">-&gt;</span><span class="hl kwd">at</span><span class="hl opt">(</span>index<span class="hl opt">);</span>
<span class="hl opt">}</span>

TemplateListIntf<span class="hl opt">::</span>ConstIterator <span class="hl opt">*</span>DirListContext<span class="hl opt">::</span><span class="hl kwd">createIterator</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
<span class="hl opt">{</span>
  <span class="hl kwa">return</span> p<span class="hl opt">-&gt;</span><span class="hl kwd">createIterator</span><span class="hl opt">();</span>
<span class="hl opt">}</span>


<span class="hl slc">//------------------------------------------------------------------------</span>

<span class="hl slc">//%% list UsedFiles[File] : list of files</span>
<span class="hl kwc">class</span> UsedFilesContext<span class="hl opt">::</span>Private <span class="hl opt">:</span> <span class="hl kwc">public</span> GenericNodeListContext
<span class="hl opt">{</span>
  <span class="hl kwc">public</span><span class="hl opt">:</span>
    <span class="hl kwb">void</span> <span class="hl kwd">addFile</span><span class="hl opt">(</span><span class="hl kwb">const</span> FileDef <span class="hl opt">*</span>fd<span class="hl opt">)</span>
    <span class="hl opt">{</span>
      <span class="hl kwd">append</span><span class="hl opt">(</span>FileContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>fd<span class="hl opt">));</span>
    <span class="hl opt">}</span>
<span class="hl opt">};</span>

UsedFilesContext<span class="hl opt">::</span><span class="hl kwd">UsedFilesContext</span><span class="hl opt">(</span><span class="hl kwb">const</span> ClassDef <span class="hl opt">*</span>cd<span class="hl opt">) :</span> <span class="hl kwd">RefCountedContext</span><span class="hl opt">(</span><span class="hl str">&quot;UsedFilesContext&quot;</span><span class="hl opt">)</span>
<span class="hl opt">{</span>
  p <span class="hl opt">=</span> <span class="hl kwa">new</span> Private<span class="hl opt">;</span>
  <span class="hl kwa">if</span> <span class="hl opt">(</span>cd<span class="hl opt">)</span>
  <span class="hl opt">{</span>
    QListIterator<span class="hl opt">&lt;</span>FileDef<span class="hl opt">&gt;</span> <span class="hl kwd">li</span><span class="hl opt">(</span>cd<span class="hl opt">-&gt;</span><span class="hl kwd">usedFiles</span><span class="hl opt">());</span>
    <span class="hl kwb">const</span> FileDef <span class="hl opt">*</span>fd<span class="hl opt">;</span>
    <span class="hl kwa">for</span> <span class="hl opt">(</span>li<span class="hl opt">.</span><span class="hl kwd">toFirst</span><span class="hl opt">();(</span>fd<span class="hl opt">=</span>li<span class="hl opt">.</span><span class="hl kwd">current</span><span class="hl opt">());++</span>li<span class="hl opt">)</span>
    <span class="hl opt">{</span>
      p<span class="hl opt">-&gt;</span><span class="hl kwd">addFile</span><span class="hl opt">(</span>fd<span class="hl opt">);</span>
    <span class="hl opt">}</span>
  <span class="hl opt">}</span>
<span class="hl opt">}</span>

UsedFilesContext<span class="hl opt">::~</span><span class="hl kwd">UsedFilesContext</span><span class="hl opt">()</span>
<span class="hl opt">{</span>
  <span class="hl kwa">delete</span> p<span class="hl opt">;</span>
<span class="hl opt">}</span>

<span class="hl slc">// TemplateListIntf</span>
uint UsedFilesContext<span class="hl opt">::</span><span class="hl kwd">count</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
<span class="hl opt">{</span>
  <span class="hl kwa">return</span> p<span class="hl opt">-&gt;</span><span class="hl kwd">count</span><span class="hl opt">();</span>
<span class="hl opt">}</span>

TemplateVariant UsedFilesContext<span class="hl opt">::</span><span class="hl kwd">at</span><span class="hl opt">(</span>uint index<span class="hl opt">)</span> <span class="hl kwb">const</span>
<span class="hl opt">{</span>
  <span class="hl kwa">return</span> p<span class="hl opt">-&gt;</span><span class="hl kwd">at</span><span class="hl opt">(</span>index<span class="hl opt">);</span>
<span class="hl opt">}</span>

TemplateListIntf<span class="hl opt">::</span>ConstIterator <span class="hl opt">*</span>UsedFilesContext<span class="hl opt">::</span><span class="hl kwd">createIterator</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
<span class="hl opt">{</span>
  <span class="hl kwa">return</span> p<span class="hl opt">-&gt;</span><span class="hl kwd">createIterator</span><span class="hl opt">();</span>
<span class="hl opt">}</span>

<span class="hl kwb">void</span> UsedFilesContext<span class="hl opt">::</span><span class="hl kwd">addFile</span><span class="hl opt">(</span><span class="hl kwb">const</span> FileDef <span class="hl opt">*</span>fd<span class="hl opt">)</span>
<span class="hl opt">{</span>
  p<span class="hl opt">-&gt;</span><span class="hl kwd">addFile</span><span class="hl opt">(</span>fd<span class="hl opt">);</span>
<span class="hl opt">}</span>

<span class="hl slc">//------------------------------------------------------------------------</span>

<span class="hl slc">//%% struct FileTree: tree of directories and files</span>
<span class="hl slc">//%% {</span>
<span class="hl kwc">class</span> FileTreeContext<span class="hl opt">::</span>Private
<span class="hl opt">{</span>
  <span class="hl kwc">public</span><span class="hl opt">:</span>
    <span class="hl kwd">Private</span><span class="hl opt">()</span>
    <span class="hl opt">{</span>
      <span class="hl slc">// Add dirs tree</span>
      m_dirFileTree<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>NestingContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span><span class="hl num">0</span><span class="hl opt">,</span><span class="hl num">0</span><span class="hl opt">));</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>Doxygen<span class="hl opt">::</span>directories<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        m_dirFileTree<span class="hl opt">-&gt;</span><span class="hl kwd">addDirs</span><span class="hl opt">(*</span>Doxygen<span class="hl opt">::</span>directories<span class="hl opt">);</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>Doxygen<span class="hl opt">::</span>inputNameLinkedMap<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        m_dirFileTree<span class="hl opt">-&gt;</span><span class="hl kwd">addFiles</span><span class="hl opt">(*</span>Doxygen<span class="hl opt">::</span>inputNameLinkedMap<span class="hl opt">);</span>
      <span class="hl opt">}</span>
      <span class="hl slc">//%% DirFile tree:</span>
      <span class="hl kwb">static bool</span> init<span class="hl opt">=</span>FALSE<span class="hl opt">;</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>init<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;tree&quot;</span><span class="hl opt">,          &amp;</span>Private<span class="hl opt">::</span>tree<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;fileName&quot;</span><span class="hl opt">,      &amp;</span>Private<span class="hl opt">::</span>fileName<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;relPath&quot;</span><span class="hl opt">,       &amp;</span>Private<span class="hl opt">::</span>relPath<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;highlight&quot;</span><span class="hl opt">,     &amp;</span>Private<span class="hl opt">::</span>highlight<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;subhighlight&quot;</span><span class="hl opt">,  &amp;</span>Private<span class="hl opt">::</span>subhighlight<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;title&quot;</span><span class="hl opt">,         &amp;</span>Private<span class="hl opt">::</span>title<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;preferredDepth&quot;</span><span class="hl opt">,&amp;</span>Private<span class="hl opt">::</span>preferredDepth<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;maxDepth&quot;</span><span class="hl opt">,      &amp;</span>Private<span class="hl opt">::</span>maxDepth<span class="hl opt">);</span>
        init<span class="hl opt">=</span>TRUE<span class="hl opt">;</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwb">const char</span> <span class="hl opt">*</span>n<span class="hl opt">)</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> s_inst<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwa">this</span><span class="hl opt">,</span>n<span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">tree</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_dirFileTree<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">fileName</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl str">&quot;files&quot;</span><span class="hl opt">;</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">relPath</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl str">&quot;&quot;</span><span class="hl opt">;</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">highlight</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl str">&quot;files&quot;</span><span class="hl opt">;</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">subhighlight</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl str">&quot;filelist&quot;</span><span class="hl opt">;</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">title</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trFileList</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">maxDepth</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>m_cache<span class="hl opt">.</span>maxDepthComputed<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        m_cache<span class="hl opt">.</span>maxDepth <span class="hl opt">=</span> <span class="hl kwd">computeMaxDepth</span><span class="hl opt">(</span>m_dirFileTree<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">());</span>
        m_cache<span class="hl opt">.</span>maxDepthComputed<span class="hl opt">=</span>TRUE<span class="hl opt">;</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> m_cache<span class="hl opt">.</span>maxDepth<span class="hl opt">;</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">preferredDepth</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>m_cache<span class="hl opt">.</span>preferredDepthComputed<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        m_cache<span class="hl opt">.</span>preferredDepth <span class="hl opt">=</span> <span class="hl kwd">computePreferredDepth</span><span class="hl opt">(</span>m_dirFileTree<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">(),</span><span class="hl kwd">maxDepth</span><span class="hl opt">().</span><span class="hl kwd">toInt</span><span class="hl opt">());</span>
        m_cache<span class="hl opt">.</span>preferredDepthComputed<span class="hl opt">=</span>TRUE<span class="hl opt">;</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> m_cache<span class="hl opt">.</span>preferredDepth<span class="hl opt">;</span>
    <span class="hl opt">}</span>
  <span class="hl kwc">private</span><span class="hl opt">:</span>
    SharedPtr<span class="hl opt">&lt;</span>NestingContext<span class="hl opt">&gt;</span> m_dirFileTree<span class="hl opt">;</span>
    <span class="hl kwb">struct</span> Cachable
    <span class="hl opt">{</span>
      <span class="hl kwd">Cachable</span><span class="hl opt">() :</span> <span class="hl kwd">maxDepth</span><span class="hl opt">(</span><span class="hl num">0</span><span class="hl opt">),</span> <span class="hl kwd">maxDepthComputed</span><span class="hl opt">(</span>FALSE<span class="hl opt">),</span>
                   <span class="hl kwd">preferredDepth</span><span class="hl opt">(</span><span class="hl num">0</span><span class="hl opt">),</span> <span class="hl kwd">preferredDepthComputed</span><span class="hl opt">(</span>FALSE<span class="hl opt">) {}</span>
      <span class="hl kwb">int</span>   maxDepth<span class="hl opt">;</span>
      <span class="hl kwb">bool</span>  maxDepthComputed<span class="hl opt">;</span>
      <span class="hl kwb">int</span>   preferredDepth<span class="hl opt">;</span>
      <span class="hl kwb">bool</span>  preferredDepthComputed<span class="hl opt">;</span>
    <span class="hl opt">};</span>
    <span class="hl kwc">mutable</span> Cachable m_cache<span class="hl opt">;</span>
    <span class="hl kwb">static</span> PropertyMapper<span class="hl opt">&lt;</span>FileTreeContext<span class="hl opt">::</span>Private<span class="hl opt">&gt;</span> s_inst<span class="hl opt">;</span>
<span class="hl opt">};</span>
<span class="hl slc">//%% }</span>

PropertyMapper<span class="hl opt">&lt;</span>FileTreeContext<span class="hl opt">::</span>Private<span class="hl opt">&gt;</span> FileTreeContext<span class="hl opt">::</span>Private<span class="hl opt">::</span>s_inst<span class="hl opt">;</span>

FileTreeContext<span class="hl opt">::</span><span class="hl kwd">FileTreeContext</span><span class="hl opt">() :</span> <span class="hl kwd">RefCountedContext</span><span class="hl opt">(</span><span class="hl str">&quot;FileTreeContext&quot;</span><span class="hl opt">)</span>
<span class="hl opt">{</span>
  p <span class="hl opt">=</span> <span class="hl kwa">new</span> Private<span class="hl opt">;</span>
<span class="hl opt">}</span>

FileTreeContext<span class="hl opt">::~</span><span class="hl kwd">FileTreeContext</span><span class="hl opt">()</span>
<span class="hl opt">{</span>
  <span class="hl kwa">delete</span> p<span class="hl opt">;</span>
<span class="hl opt">}</span>

TemplateVariant FileTreeContext<span class="hl opt">::</span><span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwb">const char</span> <span class="hl opt">*</span>name<span class="hl opt">)</span> <span class="hl kwb">const</span>
<span class="hl opt">{</span>
  <span class="hl kwa">return</span> p<span class="hl opt">-&gt;</span><span class="hl kwd">get</span><span class="hl opt">(</span>name<span class="hl opt">);</span>
<span class="hl opt">}</span>

<span class="hl slc">//------------------------------------------------------------------------</span>

<span class="hl slc">//%% struct PageTree: tree of related pages</span>
<span class="hl slc">//%% {</span>
<span class="hl kwc">class</span> PageTreeContext<span class="hl opt">::</span>Private
<span class="hl opt">{</span>
  <span class="hl kwc">public</span><span class="hl opt">:</span>
    <span class="hl kwd">Private</span><span class="hl opt">(</span><span class="hl kwb">const</span> PageSDict <span class="hl opt">*</span>pages<span class="hl opt">)</span>
    <span class="hl opt">{</span>
      m_pageTree<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>NestingContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span><span class="hl num">0</span><span class="hl opt">,</span><span class="hl num">0</span><span class="hl opt">));</span>
      <span class="hl slc">// Add pages</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>pages<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        m_pageTree<span class="hl opt">-&gt;</span><span class="hl kwd">addPages</span><span class="hl opt">(*</span>pages<span class="hl opt">,</span>TRUE<span class="hl opt">);</span>
      <span class="hl opt">}</span>

      <span class="hl slc">//%% PageNodeList tree:</span>
      <span class="hl kwb">static bool</span> init<span class="hl opt">=</span>FALSE<span class="hl opt">;</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>init<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;tree&quot;</span><span class="hl opt">,          &amp;</span>Private<span class="hl opt">::</span>tree<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;fileName&quot;</span><span class="hl opt">,      &amp;</span>Private<span class="hl opt">::</span>fileName<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;relPath&quot;</span><span class="hl opt">,       &amp;</span>Private<span class="hl opt">::</span>relPath<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;highlight&quot;</span><span class="hl opt">,     &amp;</span>Private<span class="hl opt">::</span>highlight<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;subhighlight&quot;</span><span class="hl opt">,  &amp;</span>Private<span class="hl opt">::</span>subhighlight<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;title&quot;</span><span class="hl opt">,         &amp;</span>Private<span class="hl opt">::</span>title<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;preferredDepth&quot;</span><span class="hl opt">,&amp;</span>Private<span class="hl opt">::</span>preferredDepth<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;maxDepth&quot;</span><span class="hl opt">,      &amp;</span>Private<span class="hl opt">::</span>maxDepth<span class="hl opt">);</span>
        init<span class="hl opt">=</span>TRUE<span class="hl opt">;</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwb">const char</span> <span class="hl opt">*</span>n<span class="hl opt">)</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> s_inst<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwa">this</span><span class="hl opt">,</span>n<span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">tree</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_pageTree<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">fileName</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl str">&quot;pages&quot;</span><span class="hl opt">;</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">relPath</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl str">&quot;&quot;</span><span class="hl opt">;</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">highlight</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl str">&quot;pages&quot;</span><span class="hl opt">;</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">subhighlight</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl str">&quot;&quot;</span><span class="hl opt">;</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">title</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trRelatedPages</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">maxDepth</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>m_cache<span class="hl opt">.</span>maxDepthComputed<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        m_cache<span class="hl opt">.</span>maxDepth <span class="hl opt">=</span> <span class="hl kwd">computeMaxDepth</span><span class="hl opt">(</span>m_pageTree<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">());</span>
        m_cache<span class="hl opt">.</span>maxDepthComputed<span class="hl opt">=</span>TRUE<span class="hl opt">;</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> m_cache<span class="hl opt">.</span>maxDepth<span class="hl opt">;</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">preferredDepth</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>m_cache<span class="hl opt">.</span>preferredDepthComputed<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        m_cache<span class="hl opt">.</span>preferredDepth <span class="hl opt">=</span> <span class="hl kwd">computePreferredDepth</span><span class="hl opt">(</span>m_pageTree<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">(),</span><span class="hl kwd">maxDepth</span><span class="hl opt">().</span><span class="hl kwd">toInt</span><span class="hl opt">());</span>
        m_cache<span class="hl opt">.</span>preferredDepthComputed<span class="hl opt">=</span>TRUE<span class="hl opt">;</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> m_cache<span class="hl opt">.</span>preferredDepth<span class="hl opt">;</span>
    <span class="hl opt">}</span>
  <span class="hl kwc">private</span><span class="hl opt">:</span>
    SharedPtr<span class="hl opt">&lt;</span>NestingContext<span class="hl opt">&gt;</span> m_pageTree<span class="hl opt">;</span>
    <span class="hl kwb">struct</span> Cachable
    <span class="hl opt">{</span>
      <span class="hl kwd">Cachable</span><span class="hl opt">() :</span> <span class="hl kwd">maxDepth</span><span class="hl opt">(</span><span class="hl num">0</span><span class="hl opt">),</span> <span class="hl kwd">maxDepthComputed</span><span class="hl opt">(</span>FALSE<span class="hl opt">),</span>
                   <span class="hl kwd">preferredDepth</span><span class="hl opt">(</span><span class="hl num">0</span><span class="hl opt">),</span> <span class="hl kwd">preferredDepthComputed</span><span class="hl opt">(</span>FALSE<span class="hl opt">) {}</span>
      <span class="hl kwb">int</span>   maxDepth<span class="hl opt">;</span>
      <span class="hl kwb">bool</span>  maxDepthComputed<span class="hl opt">;</span>
      <span class="hl kwb">int</span>   preferredDepth<span class="hl opt">;</span>
      <span class="hl kwb">bool</span>  preferredDepthComputed<span class="hl opt">;</span>
    <span class="hl opt">};</span>
    <span class="hl kwc">mutable</span> Cachable m_cache<span class="hl opt">;</span>
    <span class="hl kwb">static</span> PropertyMapper<span class="hl opt">&lt;</span>PageTreeContext<span class="hl opt">::</span>Private<span class="hl opt">&gt;</span> s_inst<span class="hl opt">;</span>
<span class="hl opt">};</span>
<span class="hl slc">//%% }</span>

PropertyMapper<span class="hl opt">&lt;</span>PageTreeContext<span class="hl opt">::</span>Private<span class="hl opt">&gt;</span> PageTreeContext<span class="hl opt">::</span>Private<span class="hl opt">::</span>s_inst<span class="hl opt">;</span>

PageTreeContext<span class="hl opt">::</span><span class="hl kwd">PageTreeContext</span><span class="hl opt">(</span><span class="hl kwb">const</span> PageSDict <span class="hl opt">*</span>pages<span class="hl opt">) :</span> <span class="hl kwd">RefCountedContext</span><span class="hl opt">(</span><span class="hl str">&quot;PageTreeContext&quot;</span><span class="hl opt">)</span>
<span class="hl opt">{</span>
  p <span class="hl opt">=</span> <span class="hl kwa">new</span> <span class="hl kwd">Private</span><span class="hl opt">(</span>pages<span class="hl opt">);</span>
<span class="hl opt">}</span>

PageTreeContext<span class="hl opt">::~</span><span class="hl kwd">PageTreeContext</span><span class="hl opt">()</span>
<span class="hl opt">{</span>
  <span class="hl kwa">delete</span> p<span class="hl opt">;</span>
<span class="hl opt">}</span>

TemplateVariant PageTreeContext<span class="hl opt">::</span><span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwb">const char</span> <span class="hl opt">*</span>name<span class="hl opt">)</span> <span class="hl kwb">const</span>
<span class="hl opt">{</span>
  <span class="hl kwa">return</span> p<span class="hl opt">-&gt;</span><span class="hl kwd">get</span><span class="hl opt">(</span>name<span class="hl opt">);</span>
<span class="hl opt">}</span>

<span class="hl slc">//------------------------------------------------------------------------</span>

<span class="hl slc">//%% list PageList[Page]: list of pages</span>
<span class="hl kwc">class</span> PageListContext<span class="hl opt">::</span>Private <span class="hl opt">:</span> <span class="hl kwc">public</span> GenericNodeListContext
<span class="hl opt">{</span>
  <span class="hl kwc">public</span><span class="hl opt">:</span>
    <span class="hl kwb">void</span> <span class="hl kwd">addPages</span><span class="hl opt">(</span><span class="hl kwb">const</span> PageSDict <span class="hl opt">&amp;</span>pages<span class="hl opt">)</span>
    <span class="hl opt">{</span>
      PageSDict<span class="hl opt">::</span>Iterator <span class="hl kwd">pdi</span><span class="hl opt">(</span>pages<span class="hl opt">);</span>
      <span class="hl kwb">const</span> PageDef <span class="hl opt">*</span>pd<span class="hl opt">=</span><span class="hl num">0</span><span class="hl opt">;</span>
      <span class="hl kwa">for</span> <span class="hl opt">(</span>pdi<span class="hl opt">.</span><span class="hl kwd">toFirst</span><span class="hl opt">();(</span>pd<span class="hl opt">=</span>pdi<span class="hl opt">.</span><span class="hl kwd">current</span><span class="hl opt">());++</span>pdi<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">if</span> <span class="hl opt">(!</span>pd<span class="hl opt">-&gt;</span><span class="hl kwd">getGroupDef</span><span class="hl opt">() &amp;&amp; !</span>pd<span class="hl opt">-&gt;</span><span class="hl kwd">isReference</span><span class="hl opt">())</span>
        <span class="hl opt">{</span>
          <span class="hl kwd">append</span><span class="hl opt">(</span>PageContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>pd<span class="hl opt">,</span>FALSE<span class="hl opt">,</span>FALSE<span class="hl opt">));</span>
        <span class="hl opt">}</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
<span class="hl opt">};</span>

PageListContext<span class="hl opt">::</span><span class="hl kwd">PageListContext</span><span class="hl opt">(</span><span class="hl kwb">const</span> PageSDict <span class="hl opt">*</span>pages<span class="hl opt">) :</span> <span class="hl kwd">RefCountedContext</span><span class="hl opt">(</span><span class="hl str">&quot;PageListContext&quot;</span><span class="hl opt">)</span>
<span class="hl opt">{</span>
  p <span class="hl opt">=</span> <span class="hl kwa">new</span> Private<span class="hl opt">;</span>
  <span class="hl kwa">if</span> <span class="hl opt">(</span>pages<span class="hl opt">)</span> p<span class="hl opt">-&gt;</span><span class="hl kwd">addPages</span><span class="hl opt">(*</span>pages<span class="hl opt">);</span>
<span class="hl opt">}</span>

PageListContext<span class="hl opt">::~</span><span class="hl kwd">PageListContext</span><span class="hl opt">()</span>
<span class="hl opt">{</span>
  <span class="hl kwa">delete</span> p<span class="hl opt">;</span>
<span class="hl opt">}</span>

<span class="hl slc">// TemplateListIntf</span>
uint PageListContext<span class="hl opt">::</span><span class="hl kwd">count</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
<span class="hl opt">{</span>
  <span class="hl kwa">return</span> p<span class="hl opt">-&gt;</span><span class="hl kwd">count</span><span class="hl opt">();</span>
<span class="hl opt">}</span>

TemplateVariant PageListContext<span class="hl opt">::</span><span class="hl kwd">at</span><span class="hl opt">(</span>uint index<span class="hl opt">)</span> <span class="hl kwb">const</span>
<span class="hl opt">{</span>
  <span class="hl kwa">return</span> p<span class="hl opt">-&gt;</span><span class="hl kwd">at</span><span class="hl opt">(</span>index<span class="hl opt">);</span>
<span class="hl opt">}</span>

TemplateListIntf<span class="hl opt">::</span>ConstIterator <span class="hl opt">*</span>PageListContext<span class="hl opt">::</span><span class="hl kwd">createIterator</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
<span class="hl opt">{</span>
  <span class="hl kwa">return</span> p<span class="hl opt">-&gt;</span><span class="hl kwd">createIterator</span><span class="hl opt">();</span>
<span class="hl opt">}</span>

<span class="hl slc">//------------------------------------------------------------------------</span>

<span class="hl slc">//%% list ExampleList[Page]: list of pages</span>
<span class="hl kwc">class</span> ExampleListContext<span class="hl opt">::</span>Private <span class="hl opt">:</span> <span class="hl kwc">public</span> GenericNodeListContext
<span class="hl opt">{</span>
  <span class="hl kwc">public</span><span class="hl opt">:</span>
    <span class="hl kwd">Private</span><span class="hl opt">()</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>Doxygen<span class="hl opt">::</span>exampleSDict<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        PageSDict<span class="hl opt">::</span>Iterator <span class="hl kwd">pdi</span><span class="hl opt">(*</span>Doxygen<span class="hl opt">::</span>exampleSDict<span class="hl opt">);</span>
        <span class="hl kwb">const</span> PageDef <span class="hl opt">*</span>pd<span class="hl opt">=</span><span class="hl num">0</span><span class="hl opt">;</span>
        <span class="hl kwa">for</span> <span class="hl opt">(</span>pdi<span class="hl opt">.</span><span class="hl kwd">toFirst</span><span class="hl opt">();(</span>pd<span class="hl opt">=</span>pdi<span class="hl opt">.</span><span class="hl kwd">current</span><span class="hl opt">());++</span>pdi<span class="hl opt">)</span>
        <span class="hl opt">{</span>
          <span class="hl kwa">if</span> <span class="hl opt">(!</span>pd<span class="hl opt">-&gt;</span><span class="hl kwd">getGroupDef</span><span class="hl opt">() &amp;&amp; !</span>pd<span class="hl opt">-&gt;</span><span class="hl kwd">isReference</span><span class="hl opt">())</span>
          <span class="hl opt">{</span>
            <span class="hl kwd">append</span><span class="hl opt">(</span>PageContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>pd<span class="hl opt">,</span>FALSE<span class="hl opt">,</span>TRUE<span class="hl opt">));</span>
          <span class="hl opt">}</span>
        <span class="hl opt">}</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
<span class="hl opt">};</span>

ExampleListContext<span class="hl opt">::</span><span class="hl kwd">ExampleListContext</span><span class="hl opt">() :</span> <span class="hl kwd">RefCountedContext</span><span class="hl opt">(</span><span class="hl str">&quot;ExampleListContext&quot;</span><span class="hl opt">)</span>
<span class="hl opt">{</span>
  p <span class="hl opt">=</span> <span class="hl kwa">new</span> Private<span class="hl opt">;</span>
<span class="hl opt">}</span>

ExampleListContext<span class="hl opt">::~</span><span class="hl kwd">ExampleListContext</span><span class="hl opt">()</span>
<span class="hl opt">{</span>
  <span class="hl kwa">delete</span> p<span class="hl opt">;</span>
<span class="hl opt">}</span>

<span class="hl slc">// TemplateListIntf</span>
uint ExampleListContext<span class="hl opt">::</span><span class="hl kwd">count</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
<span class="hl opt">{</span>
  <span class="hl kwa">return</span> p<span class="hl opt">-&gt;</span><span class="hl kwd">count</span><span class="hl opt">();</span>
<span class="hl opt">}</span>

TemplateVariant ExampleListContext<span class="hl opt">::</span><span class="hl kwd">at</span><span class="hl opt">(</span>uint index<span class="hl opt">)</span> <span class="hl kwb">const</span>
<span class="hl opt">{</span>
  <span class="hl kwa">return</span> p<span class="hl opt">-&gt;</span><span class="hl kwd">at</span><span class="hl opt">(</span>index<span class="hl opt">);</span>
<span class="hl opt">}</span>

TemplateListIntf<span class="hl opt">::</span>ConstIterator <span class="hl opt">*</span>ExampleListContext<span class="hl opt">::</span><span class="hl kwd">createIterator</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
<span class="hl opt">{</span>
  <span class="hl kwa">return</span> p<span class="hl opt">-&gt;</span><span class="hl kwd">createIterator</span><span class="hl opt">();</span>
<span class="hl opt">}</span>

<span class="hl slc">//------------------------------------------------------------------------</span>

<span class="hl slc">//%% list ModuleList[ModuleNode]: list of directories and/or files</span>
<span class="hl kwc">class</span> ModuleListContext<span class="hl opt">::</span>Private <span class="hl opt">:</span> <span class="hl kwc">public</span> GenericNodeListContext
<span class="hl opt">{</span>
  <span class="hl kwc">public</span><span class="hl opt">:</span>
    <span class="hl kwb">void</span> <span class="hl kwd">addModules</span><span class="hl opt">()</span>
    <span class="hl opt">{</span>
      GroupSDict<span class="hl opt">::</span>Iterator <span class="hl kwd">gli</span><span class="hl opt">(*</span>Doxygen<span class="hl opt">::</span>groupSDict<span class="hl opt">);</span>
      <span class="hl kwb">const</span> GroupDef <span class="hl opt">*</span>gd<span class="hl opt">;</span>
      <span class="hl kwa">for</span> <span class="hl opt">(</span>gli<span class="hl opt">.</span><span class="hl kwd">toFirst</span><span class="hl opt">();(</span>gd<span class="hl opt">=</span>gli<span class="hl opt">.</span><span class="hl kwd">current</span><span class="hl opt">());++</span>gli<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">if</span> <span class="hl opt">(!</span>gd<span class="hl opt">-&gt;</span><span class="hl kwd">isReference</span><span class="hl opt">())</span>
        <span class="hl opt">{</span>
          <span class="hl kwd">append</span><span class="hl opt">(</span>ModuleContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>gd<span class="hl opt">));</span>
        <span class="hl opt">}</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
<span class="hl opt">};</span>

ModuleListContext<span class="hl opt">::</span><span class="hl kwd">ModuleListContext</span><span class="hl opt">() :</span> <span class="hl kwd">RefCountedContext</span><span class="hl opt">(</span><span class="hl str">&quot;ModuleListContext&quot;</span><span class="hl opt">)</span>
<span class="hl opt">{</span>
  p <span class="hl opt">=</span> <span class="hl kwa">new</span> Private<span class="hl opt">;</span>
  p<span class="hl opt">-&gt;</span><span class="hl kwd">addModules</span><span class="hl opt">();</span>
<span class="hl opt">}</span>

ModuleListContext<span class="hl opt">::~</span><span class="hl kwd">ModuleListContext</span><span class="hl opt">()</span>
<span class="hl opt">{</span>
  <span class="hl kwa">delete</span> p<span class="hl opt">;</span>
<span class="hl opt">}</span>

<span class="hl slc">// TemplateListIntf</span>
uint ModuleListContext<span class="hl opt">::</span><span class="hl kwd">count</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
<span class="hl opt">{</span>
  <span class="hl kwa">return</span> p<span class="hl opt">-&gt;</span><span class="hl kwd">count</span><span class="hl opt">();</span>
<span class="hl opt">}</span>

TemplateVariant ModuleListContext<span class="hl opt">::</span><span class="hl kwd">at</span><span class="hl opt">(</span>uint index<span class="hl opt">)</span> <span class="hl kwb">const</span>
<span class="hl opt">{</span>
  <span class="hl kwa">return</span> p<span class="hl opt">-&gt;</span><span class="hl kwd">at</span><span class="hl opt">(</span>index<span class="hl opt">);</span>
<span class="hl opt">}</span>

TemplateListIntf<span class="hl opt">::</span>ConstIterator <span class="hl opt">*</span>ModuleListContext<span class="hl opt">::</span><span class="hl kwd">createIterator</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
<span class="hl opt">{</span>
  <span class="hl kwa">return</span> p<span class="hl opt">-&gt;</span><span class="hl kwd">createIterator</span><span class="hl opt">();</span>
<span class="hl opt">}</span>

<span class="hl slc">//------------------------------------------------------------------------</span>

<span class="hl slc">//%% struct ModuleTree: tree of modules</span>
<span class="hl slc">//%% {</span>
<span class="hl kwc">class</span> ModuleTreeContext<span class="hl opt">::</span>Private
<span class="hl opt">{</span>
  <span class="hl kwc">public</span><span class="hl opt">:</span>
    <span class="hl kwd">Private</span><span class="hl opt">()</span>
    <span class="hl opt">{</span>
      m_moduleTree<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>NestingContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span><span class="hl num">0</span><span class="hl opt">,</span><span class="hl num">0</span><span class="hl opt">));</span>
      <span class="hl slc">// Add modules</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>Doxygen<span class="hl opt">::</span>groupSDict<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        m_moduleTree<span class="hl opt">-&gt;</span><span class="hl kwd">addModules</span><span class="hl opt">(*</span>Doxygen<span class="hl opt">::</span>groupSDict<span class="hl opt">);</span>
      <span class="hl opt">}</span>

      <span class="hl slc">//%% ModuleList tree:</span>
      <span class="hl kwb">static bool</span> init<span class="hl opt">=</span>FALSE<span class="hl opt">;</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>init<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;tree&quot;</span><span class="hl opt">,          &amp;</span>Private<span class="hl opt">::</span>tree<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;fileName&quot;</span><span class="hl opt">,      &amp;</span>Private<span class="hl opt">::</span>fileName<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;relPath&quot;</span><span class="hl opt">,       &amp;</span>Private<span class="hl opt">::</span>relPath<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;highlight&quot;</span><span class="hl opt">,     &amp;</span>Private<span class="hl opt">::</span>highlight<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;subhighlight&quot;</span><span class="hl opt">,  &amp;</span>Private<span class="hl opt">::</span>subhighlight<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;title&quot;</span><span class="hl opt">,         &amp;</span>Private<span class="hl opt">::</span>title<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;preferredDepth&quot;</span><span class="hl opt">,&amp;</span>Private<span class="hl opt">::</span>preferredDepth<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;maxDepth&quot;</span><span class="hl opt">,      &amp;</span>Private<span class="hl opt">::</span>maxDepth<span class="hl opt">);</span>
        init<span class="hl opt">=</span>TRUE<span class="hl opt">;</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwb">const char</span> <span class="hl opt">*</span>n<span class="hl opt">)</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> s_inst<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwa">this</span><span class="hl opt">,</span>n<span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">tree</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_moduleTree<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">fileName</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl str">&quot;modules&quot;</span><span class="hl opt">;</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">relPath</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl str">&quot;&quot;</span><span class="hl opt">;</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">highlight</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl str">&quot;modules&quot;</span><span class="hl opt">;</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">subhighlight</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl str">&quot;&quot;</span><span class="hl opt">;</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">title</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trModules</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">maxDepth</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>m_cache<span class="hl opt">.</span>maxDepthComputed<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        m_cache<span class="hl opt">.</span>maxDepth <span class="hl opt">=</span> <span class="hl kwd">computeMaxDepth</span><span class="hl opt">(</span>m_moduleTree<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">());</span>
        m_cache<span class="hl opt">.</span>maxDepthComputed<span class="hl opt">=</span>TRUE<span class="hl opt">;</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> m_cache<span class="hl opt">.</span>maxDepth<span class="hl opt">;</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">preferredDepth</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>m_cache<span class="hl opt">.</span>preferredDepthComputed<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        m_cache<span class="hl opt">.</span>preferredDepth <span class="hl opt">=</span> <span class="hl kwd">computePreferredDepth</span><span class="hl opt">(</span>m_moduleTree<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">(),</span><span class="hl kwd">maxDepth</span><span class="hl opt">().</span><span class="hl kwd">toInt</span><span class="hl opt">());</span>
        m_cache<span class="hl opt">.</span>preferredDepthComputed<span class="hl opt">=</span>TRUE<span class="hl opt">;</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> m_cache<span class="hl opt">.</span>preferredDepth<span class="hl opt">;</span>
    <span class="hl opt">}</span>
  <span class="hl kwc">private</span><span class="hl opt">:</span>
    SharedPtr<span class="hl opt">&lt;</span>NestingContext<span class="hl opt">&gt;</span> m_moduleTree<span class="hl opt">;</span>
    <span class="hl kwb">struct</span> Cachable
    <span class="hl opt">{</span>
      <span class="hl kwd">Cachable</span><span class="hl opt">() :</span> <span class="hl kwd">maxDepth</span><span class="hl opt">(</span><span class="hl num">0</span><span class="hl opt">),</span> <span class="hl kwd">maxDepthComputed</span><span class="hl opt">(</span>FALSE<span class="hl opt">),</span>
                   <span class="hl kwd">preferredDepth</span><span class="hl opt">(</span><span class="hl num">0</span><span class="hl opt">),</span> <span class="hl kwd">preferredDepthComputed</span><span class="hl opt">(</span>FALSE<span class="hl opt">) {}</span>
      <span class="hl kwb">int</span>   maxDepth<span class="hl opt">;</span>
      <span class="hl kwb">bool</span>  maxDepthComputed<span class="hl opt">;</span>
      <span class="hl kwb">int</span>   preferredDepth<span class="hl opt">;</span>
      <span class="hl kwb">bool</span>  preferredDepthComputed<span class="hl opt">;</span>
    <span class="hl opt">};</span>
    <span class="hl kwc">mutable</span> Cachable m_cache<span class="hl opt">;</span>
    <span class="hl kwb">static</span> PropertyMapper<span class="hl opt">&lt;</span>ModuleTreeContext<span class="hl opt">::</span>Private<span class="hl opt">&gt;</span> s_inst<span class="hl opt">;</span>
<span class="hl opt">};</span>
<span class="hl slc">//%% }</span>

PropertyMapper<span class="hl opt">&lt;</span>ModuleTreeContext<span class="hl opt">::</span>Private<span class="hl opt">&gt;</span> ModuleTreeContext<span class="hl opt">::</span>Private<span class="hl opt">::</span>s_inst<span class="hl opt">;</span>

ModuleTreeContext<span class="hl opt">::</span><span class="hl kwd">ModuleTreeContext</span><span class="hl opt">() :</span> <span class="hl kwd">RefCountedContext</span><span class="hl opt">(</span><span class="hl str">&quot;ModuleTreeContext&quot;</span><span class="hl opt">)</span>
<span class="hl opt">{</span>
  p <span class="hl opt">=</span> <span class="hl kwa">new</span> Private<span class="hl opt">;</span>
<span class="hl opt">}</span>

ModuleTreeContext<span class="hl opt">::~</span><span class="hl kwd">ModuleTreeContext</span><span class="hl opt">()</span>
<span class="hl opt">{</span>
  <span class="hl kwa">delete</span> p<span class="hl opt">;</span>
<span class="hl opt">}</span>

TemplateVariant ModuleTreeContext<span class="hl opt">::</span><span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwb">const char</span> <span class="hl opt">*</span>name<span class="hl opt">)</span> <span class="hl kwb">const</span>
<span class="hl opt">{</span>
  <span class="hl kwa">return</span> p<span class="hl opt">-&gt;</span><span class="hl kwd">get</span><span class="hl opt">(</span>name<span class="hl opt">);</span>
<span class="hl opt">}</span>

<span class="hl slc">//------------------------------------------------------------------------</span>

<span class="hl slc">//%% struct NavPathElem: list of examples page</span>
<span class="hl slc">//%% {</span>
<span class="hl kwc">class</span> NavPathElemContext<span class="hl opt">::</span>Private
<span class="hl opt">{</span>
  <span class="hl kwc">public</span><span class="hl opt">:</span>
    <span class="hl kwd">Private</span><span class="hl opt">(</span><span class="hl kwb">const</span> Definition <span class="hl opt">*</span>def<span class="hl opt">) :</span> <span class="hl kwd">m_def</span><span class="hl opt">(</span>def<span class="hl opt">)</span>
    <span class="hl opt">{</span>
      <span class="hl kwb">static bool</span> init<span class="hl opt">=</span>FALSE<span class="hl opt">;</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>init<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;isLinkable&quot;</span><span class="hl opt">,       &amp;</span>Private<span class="hl opt">::</span>isLinkable<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;fileName&quot;</span><span class="hl opt">,         &amp;</span>Private<span class="hl opt">::</span>fileName<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;anchor&quot;</span><span class="hl opt">,           &amp;</span>Private<span class="hl opt">::</span>anchor<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;text&quot;</span><span class="hl opt">,             &amp;</span>Private<span class="hl opt">::</span>text<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;isReference&quot;</span><span class="hl opt">,      &amp;</span>Private<span class="hl opt">::</span>isReference<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;externalReference&quot;</span><span class="hl opt">,&amp;</span>Private<span class="hl opt">::</span>externalReference<span class="hl opt">);</span>
        init<span class="hl opt">=</span>TRUE<span class="hl opt">;</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwb">const char</span> <span class="hl opt">*</span>n<span class="hl opt">)</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> s_inst<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwa">this</span><span class="hl opt">,</span>n<span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">isLinkable</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_def<span class="hl opt">-&gt;</span><span class="hl kwd">isLinkable</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">anchor</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_def<span class="hl opt">-&gt;</span><span class="hl kwd">anchor</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">fileName</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_def<span class="hl opt">-&gt;</span><span class="hl kwd">getOutputFileBase</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">text</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      Definition<span class="hl opt">::</span>DefType type <span class="hl opt">=</span> m_def<span class="hl opt">-&gt;</span><span class="hl kwd">definitionType</span><span class="hl opt">();</span>
      QCString text <span class="hl opt">=</span> m_def<span class="hl opt">-&gt;</span><span class="hl kwd">localName</span><span class="hl opt">();</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>type<span class="hl opt">==</span>Definition<span class="hl opt">::</span>TypeGroup<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        text <span class="hl opt">= (</span><span class="hl kwa">dynamic_cast</span><span class="hl opt">&lt;</span><span class="hl kwb">const</span> GroupDef<span class="hl opt">*&gt;(</span>m_def<span class="hl opt">))-&gt;</span><span class="hl kwd">groupTitle</span><span class="hl opt">();</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">else if</span> <span class="hl opt">(</span>type<span class="hl opt">==</span>Definition<span class="hl opt">::</span>TypePage <span class="hl opt">&amp;&amp; ((</span><span class="hl kwa">dynamic_cast</span><span class="hl opt">&lt;</span><span class="hl kwb">const</span> PageDef<span class="hl opt">*&gt;(</span>m_def<span class="hl opt">))-&gt;</span><span class="hl kwd">hasTitle</span><span class="hl opt">()))</span>
      <span class="hl opt">{</span>
        text <span class="hl opt">= (</span><span class="hl kwa">dynamic_cast</span><span class="hl opt">&lt;</span><span class="hl kwb">const</span> PageDef<span class="hl opt">*&gt;(</span>m_def<span class="hl opt">))-&gt;</span><span class="hl kwd">title</span><span class="hl opt">();</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">else if</span> <span class="hl opt">(</span>type<span class="hl opt">==</span>Definition<span class="hl opt">::</span>TypeClass<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">if</span> <span class="hl opt">(</span>text<span class="hl opt">.</span><span class="hl kwd">right</span><span class="hl opt">(</span><span class="hl num">2</span><span class="hl opt">)==</span><span class="hl str">&quot;-p&quot;</span><span class="hl opt">)</span>
        <span class="hl opt">{</span>
          text <span class="hl opt">=</span> text<span class="hl opt">.</span><span class="hl kwd">left</span><span class="hl opt">(</span>text<span class="hl opt">.</span><span class="hl kwd">length</span><span class="hl opt">()-</span><span class="hl num">2</span><span class="hl opt">);</span>
        <span class="hl opt">}</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> text<span class="hl opt">;</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">isReference</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_def<span class="hl opt">-&gt;</span><span class="hl kwd">isReference</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    QCString <span class="hl kwd">relPathAsString</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwb">static bool</span> createSubdirs <span class="hl opt">=</span> <span class="hl kwd">Config_getBool</span><span class="hl opt">(</span>CREATE_SUBDIRS<span class="hl opt">);</span>
      <span class="hl kwa">return</span> createSubdirs ? <span class="hl kwd">QCString</span><span class="hl opt">(</span><span class="hl str">&quot;../../&quot;</span><span class="hl opt">) :</span> <span class="hl kwd">QCString</span><span class="hl opt">(</span><span class="hl str">&quot;&quot;</span><span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">externalReference</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_def<span class="hl opt">-&gt;</span><span class="hl kwd">externalReference</span><span class="hl opt">(</span><span class="hl kwd">relPathAsString</span><span class="hl opt">());</span>
    <span class="hl opt">}</span>
  <span class="hl kwc">private</span><span class="hl opt">:</span>
    <span class="hl kwb">const</span> Definition <span class="hl opt">*</span>m_def<span class="hl opt">;</span>
    <span class="hl kwb">static</span> PropertyMapper<span class="hl opt">&lt;</span>NavPathElemContext<span class="hl opt">::</span>Private<span class="hl opt">&gt;</span> s_inst<span class="hl opt">;</span>
<span class="hl opt">};</span>
<span class="hl slc">//%% }</span>

PropertyMapper<span class="hl opt">&lt;</span>NavPathElemContext<span class="hl opt">::</span>Private<span class="hl opt">&gt;</span> NavPathElemContext<span class="hl opt">::</span>Private<span class="hl opt">::</span>s_inst<span class="hl opt">;</span>

NavPathElemContext<span class="hl opt">::</span><span class="hl kwd">NavPathElemContext</span><span class="hl opt">(</span><span class="hl kwb">const</span> Definition <span class="hl opt">*</span>def<span class="hl opt">) :</span> <span class="hl kwd">RefCountedContext</span><span class="hl opt">(</span><span class="hl str">&quot;NavPathElemContext&quot;</span><span class="hl opt">)</span>
<span class="hl opt">{</span>
  p <span class="hl opt">=</span> <span class="hl kwa">new</span> <span class="hl kwd">Private</span><span class="hl opt">(</span>def<span class="hl opt">);</span>
<span class="hl opt">}</span>

NavPathElemContext<span class="hl opt">::~</span><span class="hl kwd">NavPathElemContext</span><span class="hl opt">()</span>
<span class="hl opt">{</span>
  <span class="hl kwa">delete</span> p<span class="hl opt">;</span>
<span class="hl opt">}</span>

TemplateVariant NavPathElemContext<span class="hl opt">::</span><span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwb">const char</span> <span class="hl opt">*</span>name<span class="hl opt">)</span> <span class="hl kwb">const</span>
<span class="hl opt">{</span>
  <span class="hl kwa">return</span> p<span class="hl opt">-&gt;</span><span class="hl kwd">get</span><span class="hl opt">(</span>name<span class="hl opt">);</span>
<span class="hl opt">}</span>


<span class="hl slc">//------------------------------------------------------------------------</span>

<span class="hl slc">//%% struct ExampleList: list of examples page</span>
<span class="hl slc">//%% {</span>
<span class="hl kwc">class</span> ExampleTreeContext<span class="hl opt">::</span>Private
<span class="hl opt">{</span>
  <span class="hl kwc">public</span><span class="hl opt">:</span>
    <span class="hl kwd">Private</span><span class="hl opt">()</span>
    <span class="hl opt">{</span>
      m_exampleTree<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>NestingContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span><span class="hl num">0</span><span class="hl opt">,</span><span class="hl num">0</span><span class="hl opt">));</span>
      <span class="hl slc">// Add pages</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>Doxygen<span class="hl opt">::</span>exampleSDict<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        m_exampleTree<span class="hl opt">-&gt;</span><span class="hl kwd">addPages</span><span class="hl opt">(*</span>Doxygen<span class="hl opt">::</span>exampleSDict<span class="hl opt">,</span>TRUE<span class="hl opt">);</span>
      <span class="hl opt">}</span>

      <span class="hl kwb">static bool</span> init<span class="hl opt">=</span>FALSE<span class="hl opt">;</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>init<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;tree&quot;</span><span class="hl opt">,          &amp;</span>Private<span class="hl opt">::</span>tree<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;fileName&quot;</span><span class="hl opt">,      &amp;</span>Private<span class="hl opt">::</span>fileName<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;relPath&quot;</span><span class="hl opt">,       &amp;</span>Private<span class="hl opt">::</span>relPath<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;highlight&quot;</span><span class="hl opt">,     &amp;</span>Private<span class="hl opt">::</span>highlight<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;subhighlight&quot;</span><span class="hl opt">,  &amp;</span>Private<span class="hl opt">::</span>subhighlight<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;title&quot;</span><span class="hl opt">,         &amp;</span>Private<span class="hl opt">::</span>title<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;preferredDepth&quot;</span><span class="hl opt">,&amp;</span>Private<span class="hl opt">::</span>preferredDepth<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;maxDepth&quot;</span><span class="hl opt">,      &amp;</span>Private<span class="hl opt">::</span>maxDepth<span class="hl opt">);</span>
        init<span class="hl opt">=</span>TRUE<span class="hl opt">;</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwb">const char</span> <span class="hl opt">*</span>n<span class="hl opt">)</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> s_inst<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwa">this</span><span class="hl opt">,</span>n<span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">tree</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_exampleTree<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">fileName</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl str">&quot;examples&quot;</span><span class="hl opt">;</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">relPath</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl str">&quot;&quot;</span><span class="hl opt">;</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">highlight</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl str">&quot;examples&quot;</span><span class="hl opt">;</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">subhighlight</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl str">&quot;&quot;</span><span class="hl opt">;</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">title</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trExamples</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">maxDepth</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>m_cache<span class="hl opt">.</span>maxDepthComputed<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        m_cache<span class="hl opt">.</span>maxDepth <span class="hl opt">=</span> <span class="hl kwd">computeMaxDepth</span><span class="hl opt">(</span>m_exampleTree<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">());</span>
        m_cache<span class="hl opt">.</span>maxDepthComputed<span class="hl opt">=</span>TRUE<span class="hl opt">;</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> m_cache<span class="hl opt">.</span>maxDepth<span class="hl opt">;</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">preferredDepth</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>m_cache<span class="hl opt">.</span>preferredDepthComputed<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        m_cache<span class="hl opt">.</span>preferredDepth <span class="hl opt">=</span> <span class="hl kwd">computePreferredDepth</span><span class="hl opt">(</span>m_exampleTree<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">(),</span><span class="hl kwd">maxDepth</span><span class="hl opt">().</span><span class="hl kwd">toInt</span><span class="hl opt">());</span>
        m_cache<span class="hl opt">.</span>preferredDepthComputed<span class="hl opt">=</span>TRUE<span class="hl opt">;</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> m_cache<span class="hl opt">.</span>preferredDepth<span class="hl opt">;</span>
    <span class="hl opt">}</span>
  <span class="hl kwc">private</span><span class="hl opt">:</span>
    SharedPtr<span class="hl opt">&lt;</span>NestingContext<span class="hl opt">&gt;</span> m_exampleTree<span class="hl opt">;</span>
    <span class="hl kwb">struct</span> Cachable
    <span class="hl opt">{</span>
      <span class="hl kwd">Cachable</span><span class="hl opt">() :</span> <span class="hl kwd">maxDepth</span><span class="hl opt">(</span><span class="hl num">0</span><span class="hl opt">),</span> <span class="hl kwd">maxDepthComputed</span><span class="hl opt">(</span>FALSE<span class="hl opt">),</span>
                   <span class="hl kwd">preferredDepth</span><span class="hl opt">(</span><span class="hl num">0</span><span class="hl opt">),</span> <span class="hl kwd">preferredDepthComputed</span><span class="hl opt">(</span>FALSE<span class="hl opt">) {}</span>
      <span class="hl kwb">int</span>   maxDepth<span class="hl opt">;</span>
      <span class="hl kwb">bool</span>  maxDepthComputed<span class="hl opt">;</span>
      <span class="hl kwb">int</span>   preferredDepth<span class="hl opt">;</span>
      <span class="hl kwb">bool</span>  preferredDepthComputed<span class="hl opt">;</span>
    <span class="hl opt">};</span>
    <span class="hl kwc">mutable</span> Cachable m_cache<span class="hl opt">;</span>
    <span class="hl kwb">static</span> PropertyMapper<span class="hl opt">&lt;</span>ExampleTreeContext<span class="hl opt">::</span>Private<span class="hl opt">&gt;</span> s_inst<span class="hl opt">;</span>
<span class="hl opt">};</span>
<span class="hl slc">//%% }</span>

PropertyMapper<span class="hl opt">&lt;</span>ExampleTreeContext<span class="hl opt">::</span>Private<span class="hl opt">&gt;</span> ExampleTreeContext<span class="hl opt">::</span>Private<span class="hl opt">::</span>s_inst<span class="hl opt">;</span>

ExampleTreeContext<span class="hl opt">::</span><span class="hl kwd">ExampleTreeContext</span><span class="hl opt">() :</span> <span class="hl kwd">RefCountedContext</span><span class="hl opt">(</span><span class="hl str">&quot;ExampleTreeContext&quot;</span><span class="hl opt">)</span>
<span class="hl opt">{</span>
  p <span class="hl opt">=</span> <span class="hl kwa">new</span> Private<span class="hl opt">;</span>
<span class="hl opt">}</span>

ExampleTreeContext<span class="hl opt">::~</span><span class="hl kwd">ExampleTreeContext</span><span class="hl opt">()</span>
<span class="hl opt">{</span>
  <span class="hl kwa">delete</span> p<span class="hl opt">;</span>
<span class="hl opt">}</span>

TemplateVariant ExampleTreeContext<span class="hl opt">::</span><span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwb">const char</span> <span class="hl opt">*</span>name<span class="hl opt">)</span> <span class="hl kwb">const</span>
<span class="hl opt">{</span>
  <span class="hl kwa">return</span> p<span class="hl opt">-&gt;</span><span class="hl kwd">get</span><span class="hl opt">(</span>name<span class="hl opt">);</span>
<span class="hl opt">}</span>

<span class="hl slc">//------------------------------------------------------------------------</span>

<span class="hl slc">//%% struct GlobalsIndex: list of examples page</span>
<span class="hl slc">//%% {</span>
<span class="hl kwc">class</span> GlobalsIndexContext<span class="hl opt">::</span>Private
<span class="hl opt">{</span>
  <span class="hl kwc">public</span><span class="hl opt">:</span>
    <span class="hl kwd">Private</span><span class="hl opt">()</span>
    <span class="hl opt">{</span>
      <span class="hl kwb">static bool</span> init<span class="hl opt">=</span>FALSE<span class="hl opt">;</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>init<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;all&quot;</span><span class="hl opt">,         &amp;</span>Private<span class="hl opt">::</span>all<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;functions&quot;</span><span class="hl opt">,   &amp;</span>Private<span class="hl opt">::</span>functions<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;variables&quot;</span><span class="hl opt">,   &amp;</span>Private<span class="hl opt">::</span>variables<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;typedefs&quot;</span><span class="hl opt">,    &amp;</span>Private<span class="hl opt">::</span>typedefs<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;enums&quot;</span><span class="hl opt">,       &amp;</span>Private<span class="hl opt">::</span>enums<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;enumValues&quot;</span><span class="hl opt">,  &amp;</span>Private<span class="hl opt">::</span>enumValues<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;macros&quot;</span><span class="hl opt">,      &amp;</span>Private<span class="hl opt">::</span>macros<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;properties&quot;</span><span class="hl opt">,  &amp;</span>Private<span class="hl opt">::</span>properties<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;events&quot;</span><span class="hl opt">,      &amp;</span>Private<span class="hl opt">::</span>events<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;related&quot;</span><span class="hl opt">,     &amp;</span>Private<span class="hl opt">::</span>related<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;fileName&quot;</span><span class="hl opt">,    &amp;</span>Private<span class="hl opt">::</span>fileName<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;relPath&quot;</span><span class="hl opt">,     &amp;</span>Private<span class="hl opt">::</span>relPath<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;highlight&quot;</span><span class="hl opt">,   &amp;</span>Private<span class="hl opt">::</span>highlight<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;subhighlight&quot;</span><span class="hl opt">,&amp;</span>Private<span class="hl opt">::</span>subhighlight<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;title&quot;</span><span class="hl opt">,       &amp;</span>Private<span class="hl opt">::</span>title<span class="hl opt">);</span>
        init<span class="hl opt">=</span>TRUE<span class="hl opt">;</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwb">const char</span> <span class="hl opt">*</span>n<span class="hl opt">)</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> s_inst<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwa">this</span><span class="hl opt">,</span>n<span class="hl opt">);</span>
    <span class="hl opt">}</span>
    <span class="hl kwc">typedef</span> <span class="hl kwb">bool</span> <span class="hl opt">(</span>MemberDef<span class="hl opt">::*</span>MemberFunc<span class="hl opt">)()</span> <span class="hl kwb">const</span><span class="hl opt">;</span>
    TemplateVariant <span class="hl kwd">getMembersFiltered</span><span class="hl opt">(</span>SharedPtr<span class="hl opt">&lt;</span>TemplateList<span class="hl opt">&gt; &amp;</span>listRef<span class="hl opt">,</span>MemberFunc filter<span class="hl opt">)</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>listRef<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        TemplateList <span class="hl opt">*</span>list <span class="hl opt">=</span> TemplateList<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">();</span>
        <span class="hl kwa">for</span> <span class="hl opt">(</span><span class="hl kwb">const</span> <span class="hl kwc">auto</span> <span class="hl opt">&amp;</span>mn <span class="hl opt">: *</span>Doxygen<span class="hl opt">::</span>functionNameLinkedMap<span class="hl opt">)</span>
        <span class="hl opt">{</span>
          <span class="hl kwa">for</span> <span class="hl opt">(</span><span class="hl kwb">const</span> <span class="hl kwc">auto</span> <span class="hl opt">&amp;</span>md <span class="hl opt">: *</span>mn<span class="hl opt">)</span>
          <span class="hl opt">{</span>
            <span class="hl kwb">const</span> FileDef <span class="hl opt">*</span>fd<span class="hl opt">=</span>md<span class="hl opt">-&gt;</span><span class="hl kwd">getFileDef</span><span class="hl opt">();</span>
            <span class="hl kwa">if</span> <span class="hl opt">(</span>fd <span class="hl opt">&amp;&amp;</span> fd<span class="hl opt">-&gt;</span><span class="hl kwd">isLinkableInProject</span><span class="hl opt">() &amp;&amp;</span>
                <span class="hl opt">!</span>md<span class="hl opt">-&gt;</span><span class="hl kwd">name</span><span class="hl opt">().</span><span class="hl kwd">isEmpty</span><span class="hl opt">() &amp;&amp; !</span>md<span class="hl opt">-&gt;</span><span class="hl kwd">getNamespaceDef</span><span class="hl opt">() &amp;&amp;</span> md<span class="hl opt">-&gt;</span><span class="hl kwd">isLinkableInProject</span><span class="hl opt">())</span>
            <span class="hl opt">{</span>
              <span class="hl kwa">if</span> <span class="hl opt">(</span>filter<span class="hl opt">==</span><span class="hl num">0</span> <span class="hl opt">|| (</span>md<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">()-&gt;*</span>filter<span class="hl opt">)())</span>
              <span class="hl opt">{</span>
                list<span class="hl opt">-&gt;</span><span class="hl kwd">append</span><span class="hl opt">(</span>MemberContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>md<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">()));</span>
              <span class="hl opt">}</span>
            <span class="hl opt">}</span>
          <span class="hl opt">}</span>
        <span class="hl opt">}</span>
        listRef<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>list<span class="hl opt">);</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> listRef<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">all</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMembersFiltered</span><span class="hl opt">(</span>m_cache<span class="hl opt">.</span>all<span class="hl opt">,</span><span class="hl num">0</span><span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">functions</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMembersFiltered</span><span class="hl opt">(</span>m_cache<span class="hl opt">.</span>functions<span class="hl opt">,&amp;</span>MemberDef<span class="hl opt">::</span>isFunction<span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">variables</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMembersFiltered</span><span class="hl opt">(</span>m_cache<span class="hl opt">.</span>variables<span class="hl opt">,&amp;</span>MemberDef<span class="hl opt">::</span>isVariable<span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">typedefs</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMembersFiltered</span><span class="hl opt">(</span>m_cache<span class="hl opt">.</span>typedefs<span class="hl opt">,&amp;</span>MemberDef<span class="hl opt">::</span>isTypedef<span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">enums</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMembersFiltered</span><span class="hl opt">(</span>m_cache<span class="hl opt">.</span>enums<span class="hl opt">,&amp;</span>MemberDef<span class="hl opt">::</span>isEnumerate<span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">enumValues</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMembersFiltered</span><span class="hl opt">(</span>m_cache<span class="hl opt">.</span>enumValues<span class="hl opt">,&amp;</span>MemberDef<span class="hl opt">::</span>isEnumValue<span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">macros</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMembersFiltered</span><span class="hl opt">(</span>m_cache<span class="hl opt">.</span>macros<span class="hl opt">,&amp;</span>MemberDef<span class="hl opt">::</span>isDefine<span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">properties</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> FALSE<span class="hl opt">;</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">events</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> FALSE<span class="hl opt">;</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">related</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> FALSE<span class="hl opt">;</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">fileName</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl str">&quot;globals&quot;</span><span class="hl opt">;</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">relPath</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl str">&quot;&quot;</span><span class="hl opt">;</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">highlight</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl str">&quot;files&quot;</span><span class="hl opt">;</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">subhighlight</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl str">&quot;filemembers&quot;</span><span class="hl opt">;</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">title</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trFileMembers</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
  <span class="hl kwc">private</span><span class="hl opt">:</span>
    <span class="hl kwb">struct</span> Cachable
    <span class="hl opt">{</span>
      <span class="hl kwd">Cachable</span><span class="hl opt">() {}</span>
      SharedPtr<span class="hl opt">&lt;</span>TemplateList<span class="hl opt">&gt;</span> all<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>TemplateList<span class="hl opt">&gt;</span> functions<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>TemplateList<span class="hl opt">&gt;</span> variables<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>TemplateList<span class="hl opt">&gt;</span> typedefs<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>TemplateList<span class="hl opt">&gt;</span> enums<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>TemplateList<span class="hl opt">&gt;</span> enumValues<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>TemplateList<span class="hl opt">&gt;</span> macros<span class="hl opt">;</span>
    <span class="hl opt">};</span>
    <span class="hl kwc">mutable</span> Cachable m_cache<span class="hl opt">;</span>
    <span class="hl kwb">static</span> PropertyMapper<span class="hl opt">&lt;</span>GlobalsIndexContext<span class="hl opt">::</span>Private<span class="hl opt">&gt;</span> s_inst<span class="hl opt">;</span>
<span class="hl opt">};</span>
<span class="hl slc">//%% }</span>

PropertyMapper<span class="hl opt">&lt;</span>GlobalsIndexContext<span class="hl opt">::</span>Private<span class="hl opt">&gt;</span> GlobalsIndexContext<span class="hl opt">::</span>Private<span class="hl opt">::</span>s_inst<span class="hl opt">;</span>

GlobalsIndexContext<span class="hl opt">::</span><span class="hl kwd">GlobalsIndexContext</span><span class="hl opt">() :</span> <span class="hl kwd">RefCountedContext</span><span class="hl opt">(</span><span class="hl str">&quot;GlobalsIndexContext&quot;</span><span class="hl opt">)</span>
<span class="hl opt">{</span>
  p <span class="hl opt">=</span> <span class="hl kwa">new</span> Private<span class="hl opt">;</span>
<span class="hl opt">}</span>

GlobalsIndexContext<span class="hl opt">::~</span><span class="hl kwd">GlobalsIndexContext</span><span class="hl opt">()</span>
<span class="hl opt">{</span>
  <span class="hl kwa">delete</span> p<span class="hl opt">;</span>
<span class="hl opt">}</span>

TemplateVariant GlobalsIndexContext<span class="hl opt">::</span><span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwb">const char</span> <span class="hl opt">*</span>name<span class="hl opt">)</span> <span class="hl kwb">const</span>
<span class="hl opt">{</span>
  <span class="hl kwa">return</span> p<span class="hl opt">-&gt;</span><span class="hl kwd">get</span><span class="hl opt">(</span>name<span class="hl opt">);</span>
<span class="hl opt">}</span>

<span class="hl slc">//------------------------------------------------------------------------</span>

<span class="hl slc">//%% struct ClassMembersIndex: list of examples page</span>
<span class="hl slc">//%% {</span>
<span class="hl kwc">class</span> ClassMembersIndexContext<span class="hl opt">::</span>Private
<span class="hl opt">{</span>
  <span class="hl kwc">public</span><span class="hl opt">:</span>
    <span class="hl kwd">Private</span><span class="hl opt">()</span>
    <span class="hl opt">{</span>
      <span class="hl kwb">static bool</span> init<span class="hl opt">=</span>FALSE<span class="hl opt">;</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>init<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;all&quot;</span><span class="hl opt">,         &amp;</span>Private<span class="hl opt">::</span>all<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;functions&quot;</span><span class="hl opt">,   &amp;</span>Private<span class="hl opt">::</span>functions<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;variables&quot;</span><span class="hl opt">,   &amp;</span>Private<span class="hl opt">::</span>variables<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;typedefs&quot;</span><span class="hl opt">,    &amp;</span>Private<span class="hl opt">::</span>typedefs<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;enums&quot;</span><span class="hl opt">,       &amp;</span>Private<span class="hl opt">::</span>enums<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;enumValues&quot;</span><span class="hl opt">,  &amp;</span>Private<span class="hl opt">::</span>enumValues<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;macros&quot;</span><span class="hl opt">,      &amp;</span>Private<span class="hl opt">::</span>macros<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;properties&quot;</span><span class="hl opt">,  &amp;</span>Private<span class="hl opt">::</span>properties<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;events&quot;</span><span class="hl opt">,      &amp;</span>Private<span class="hl opt">::</span>events<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;related&quot;</span><span class="hl opt">,     &amp;</span>Private<span class="hl opt">::</span>related<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;fileName&quot;</span><span class="hl opt">,    &amp;</span>Private<span class="hl opt">::</span>fileName<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;relPath&quot;</span><span class="hl opt">,     &amp;</span>Private<span class="hl opt">::</span>relPath<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;highlight&quot;</span><span class="hl opt">,   &amp;</span>Private<span class="hl opt">::</span>highlight<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;subhighlight&quot;</span><span class="hl opt">,&amp;</span>Private<span class="hl opt">::</span>subhighlight<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;title&quot;</span><span class="hl opt">,       &amp;</span>Private<span class="hl opt">::</span>title<span class="hl opt">);</span>
        init<span class="hl opt">=</span>TRUE<span class="hl opt">;</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwb">const char</span> <span class="hl opt">*</span>n<span class="hl opt">)</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> s_inst<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwa">this</span><span class="hl opt">,</span>n<span class="hl opt">);</span>
    <span class="hl opt">}</span>
    <span class="hl kwc">typedef</span> <span class="hl kwb">bool</span> <span class="hl opt">(</span>MemberDef<span class="hl opt">::*</span>MemberFunc<span class="hl opt">)()</span> <span class="hl kwb">const</span><span class="hl opt">;</span>
    TemplateVariant <span class="hl kwd">getMembersFiltered</span><span class="hl opt">(</span>SharedPtr<span class="hl opt">&lt;</span>TemplateList<span class="hl opt">&gt; &amp;</span>listRef<span class="hl opt">,</span>MemberFunc filter<span class="hl opt">)</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>listRef<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        TemplateList <span class="hl opt">*</span>list <span class="hl opt">=</span> TemplateList<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">();</span>
        <span class="hl kwa">for</span> <span class="hl opt">(</span><span class="hl kwb">const</span> <span class="hl kwc">auto</span> <span class="hl opt">&amp;</span>mn <span class="hl opt">: *</span>Doxygen<span class="hl opt">::</span>memberNameLinkedMap<span class="hl opt">)</span>
        <span class="hl opt">{</span>
          <span class="hl kwa">for</span> <span class="hl opt">(</span><span class="hl kwb">const</span> <span class="hl kwc">auto</span> <span class="hl opt">&amp;</span>md <span class="hl opt">: *</span>mn<span class="hl opt">)</span>
          <span class="hl opt">{</span>
            <span class="hl kwb">const</span> ClassDef <span class="hl opt">*</span>cd <span class="hl opt">=</span> md<span class="hl opt">-&gt;</span><span class="hl kwd">getClassDef</span><span class="hl opt">();</span>
            <span class="hl kwa">if</span> <span class="hl opt">(</span>cd <span class="hl opt">&amp;&amp;</span> cd<span class="hl opt">-&gt;</span><span class="hl kwd">isLinkableInProject</span><span class="hl opt">() &amp;&amp;</span> cd<span class="hl opt">-&gt;</span><span class="hl kwd">templateMaster</span><span class="hl opt">()==</span><span class="hl num">0</span> <span class="hl opt">&amp;&amp;</span>
                md<span class="hl opt">-&gt;</span><span class="hl kwd">isLinkableInProject</span><span class="hl opt">() &amp;&amp; !</span>md<span class="hl opt">-&gt;</span><span class="hl kwd">name</span><span class="hl opt">().</span><span class="hl kwd">isEmpty</span><span class="hl opt">())</span>
            <span class="hl opt">{</span>
              <span class="hl kwa">if</span> <span class="hl opt">(</span>filter<span class="hl opt">==</span><span class="hl num">0</span> <span class="hl opt">|| (</span>md<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">()-&gt;*</span>filter<span class="hl opt">)())</span>
              <span class="hl opt">{</span>
                list<span class="hl opt">-&gt;</span><span class="hl kwd">append</span><span class="hl opt">(</span>MemberContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>md<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">()));</span>
              <span class="hl opt">}</span>
            <span class="hl opt">}</span>
          <span class="hl opt">}</span>
        <span class="hl opt">}</span>
        listRef<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>list<span class="hl opt">);</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> listRef<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">all</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMembersFiltered</span><span class="hl opt">(</span>m_cache<span class="hl opt">.</span>all<span class="hl opt">,&amp;</span>MemberDef<span class="hl opt">::</span>isNotFriend<span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">functions</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMembersFiltered</span><span class="hl opt">(</span>m_cache<span class="hl opt">.</span>functions<span class="hl opt">,&amp;</span>MemberDef<span class="hl opt">::</span>isFunctionOrSignalSlot<span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">variables</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMembersFiltered</span><span class="hl opt">(</span>m_cache<span class="hl opt">.</span>variables<span class="hl opt">,&amp;</span>MemberDef<span class="hl opt">::</span>isVariable<span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">typedefs</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMembersFiltered</span><span class="hl opt">(</span>m_cache<span class="hl opt">.</span>typedefs<span class="hl opt">,&amp;</span>MemberDef<span class="hl opt">::</span>isTypedef<span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">enums</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMembersFiltered</span><span class="hl opt">(</span>m_cache<span class="hl opt">.</span>enums<span class="hl opt">,&amp;</span>MemberDef<span class="hl opt">::</span>isEnumerate<span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">enumValues</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMembersFiltered</span><span class="hl opt">(</span>m_cache<span class="hl opt">.</span>enumValues<span class="hl opt">,&amp;</span>MemberDef<span class="hl opt">::</span>isEnumValue<span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">macros</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> FALSE<span class="hl opt">;</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">properties</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMembersFiltered</span><span class="hl opt">(</span>m_cache<span class="hl opt">.</span>properties<span class="hl opt">,&amp;</span>MemberDef<span class="hl opt">::</span>isProperty<span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">events</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMembersFiltered</span><span class="hl opt">(</span>m_cache<span class="hl opt">.</span>events<span class="hl opt">,&amp;</span>MemberDef<span class="hl opt">::</span>isEvent<span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">related</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMembersFiltered</span><span class="hl opt">(</span>m_cache<span class="hl opt">.</span>related<span class="hl opt">,&amp;</span>MemberDef<span class="hl opt">::</span>isRelated<span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">fileName</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl str">&quot;functions&quot;</span><span class="hl opt">;</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">relPath</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl str">&quot;&quot;</span><span class="hl opt">;</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">highlight</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl str">&quot;classes&quot;</span><span class="hl opt">;</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">subhighlight</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl str">&quot;classmembers&quot;</span><span class="hl opt">;</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">title</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trCompoundMembers</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
  <span class="hl kwc">private</span><span class="hl opt">:</span>
    <span class="hl kwb">struct</span> Cachable
    <span class="hl opt">{</span>
      <span class="hl kwd">Cachable</span><span class="hl opt">() {}</span>
      SharedPtr<span class="hl opt">&lt;</span>TemplateList<span class="hl opt">&gt;</span> all<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>TemplateList<span class="hl opt">&gt;</span> functions<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>TemplateList<span class="hl opt">&gt;</span> variables<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>TemplateList<span class="hl opt">&gt;</span> typedefs<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>TemplateList<span class="hl opt">&gt;</span> enums<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>TemplateList<span class="hl opt">&gt;</span> enumValues<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>TemplateList<span class="hl opt">&gt;</span> properties<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>TemplateList<span class="hl opt">&gt;</span> events<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>TemplateList<span class="hl opt">&gt;</span> related<span class="hl opt">;</span>
    <span class="hl opt">};</span>
    <span class="hl kwc">mutable</span> Cachable m_cache<span class="hl opt">;</span>
    <span class="hl kwb">static</span> PropertyMapper<span class="hl opt">&lt;</span>ClassMembersIndexContext<span class="hl opt">::</span>Private<span class="hl opt">&gt;</span> s_inst<span class="hl opt">;</span>
<span class="hl opt">};</span>
<span class="hl slc">//%% }</span>

PropertyMapper<span class="hl opt">&lt;</span>ClassMembersIndexContext<span class="hl opt">::</span>Private<span class="hl opt">&gt;</span> ClassMembersIndexContext<span class="hl opt">::</span>Private<span class="hl opt">::</span>s_inst<span class="hl opt">;</span>

ClassMembersIndexContext<span class="hl opt">::</span><span class="hl kwd">ClassMembersIndexContext</span><span class="hl opt">() :</span> <span class="hl kwd">RefCountedContext</span><span class="hl opt">(</span><span class="hl str">&quot;ClassMembersIndexContext&quot;</span><span class="hl opt">)</span>
<span class="hl opt">{</span>
  p <span class="hl opt">=</span> <span class="hl kwa">new</span> Private<span class="hl opt">;</span>
<span class="hl opt">}</span>

ClassMembersIndexContext<span class="hl opt">::~</span><span class="hl kwd">ClassMembersIndexContext</span><span class="hl opt">()</span>
<span class="hl opt">{</span>
  <span class="hl kwa">delete</span> p<span class="hl opt">;</span>
<span class="hl opt">}</span>

TemplateVariant ClassMembersIndexContext<span class="hl opt">::</span><span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwb">const char</span> <span class="hl opt">*</span>name<span class="hl opt">)</span> <span class="hl kwb">const</span>
<span class="hl opt">{</span>
  <span class="hl kwa">return</span> p<span class="hl opt">-&gt;</span><span class="hl kwd">get</span><span class="hl opt">(</span>name<span class="hl opt">);</span>
<span class="hl opt">}</span>

<span class="hl slc">//------------------------------------------------------------------------</span>

<span class="hl slc">//%% struct NamespaceMembersIndex: list of examples page</span>
<span class="hl slc">//%% {</span>
<span class="hl kwc">class</span> NamespaceMembersIndexContext<span class="hl opt">::</span>Private
<span class="hl opt">{</span>
  <span class="hl kwc">public</span><span class="hl opt">:</span>
    <span class="hl kwd">Private</span><span class="hl opt">()</span>
    <span class="hl opt">{</span>
      <span class="hl kwb">static bool</span> init<span class="hl opt">=</span>FALSE<span class="hl opt">;</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>init<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;all&quot;</span><span class="hl opt">,         &amp;</span>Private<span class="hl opt">::</span>all<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;functions&quot;</span><span class="hl opt">,   &amp;</span>Private<span class="hl opt">::</span>functions<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;variables&quot;</span><span class="hl opt">,   &amp;</span>Private<span class="hl opt">::</span>variables<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;typedefs&quot;</span><span class="hl opt">,    &amp;</span>Private<span class="hl opt">::</span>typedefs<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;enums&quot;</span><span class="hl opt">,       &amp;</span>Private<span class="hl opt">::</span>enums<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;enumValues&quot;</span><span class="hl opt">,  &amp;</span>Private<span class="hl opt">::</span>enumValues<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;macros&quot;</span><span class="hl opt">,      &amp;</span>Private<span class="hl opt">::</span>macros<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;properties&quot;</span><span class="hl opt">,  &amp;</span>Private<span class="hl opt">::</span>properties<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;events&quot;</span><span class="hl opt">,      &amp;</span>Private<span class="hl opt">::</span>events<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;related&quot;</span><span class="hl opt">,     &amp;</span>Private<span class="hl opt">::</span>related<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;fileName&quot;</span><span class="hl opt">,    &amp;</span>Private<span class="hl opt">::</span>fileName<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;relPath&quot;</span><span class="hl opt">,     &amp;</span>Private<span class="hl opt">::</span>relPath<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;highlight&quot;</span><span class="hl opt">,   &amp;</span>Private<span class="hl opt">::</span>highlight<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;subhighlight&quot;</span><span class="hl opt">,&amp;</span>Private<span class="hl opt">::</span>subhighlight<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;title&quot;</span><span class="hl opt">,       &amp;</span>Private<span class="hl opt">::</span>title<span class="hl opt">);</span>
        init<span class="hl opt">=</span>TRUE<span class="hl opt">;</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwb">const char</span> <span class="hl opt">*</span>n<span class="hl opt">)</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> s_inst<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwa">this</span><span class="hl opt">,</span>n<span class="hl opt">);</span>
    <span class="hl opt">}</span>
    <span class="hl kwc">typedef</span> <span class="hl kwb">bool</span> <span class="hl opt">(</span>MemberDef<span class="hl opt">::*</span>MemberFunc<span class="hl opt">)()</span> <span class="hl kwb">const</span><span class="hl opt">;</span>
    TemplateVariant <span class="hl kwd">getMembersFiltered</span><span class="hl opt">(</span>SharedPtr<span class="hl opt">&lt;</span>TemplateList<span class="hl opt">&gt; &amp;</span>listRef<span class="hl opt">,</span>MemberFunc filter<span class="hl opt">)</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>listRef<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        TemplateList <span class="hl opt">*</span>list <span class="hl opt">=</span> TemplateList<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">();</span>
        <span class="hl kwa">for</span> <span class="hl opt">(</span><span class="hl kwb">const</span> <span class="hl kwc">auto</span> <span class="hl opt">&amp;</span>mn <span class="hl opt">: *</span>Doxygen<span class="hl opt">::</span>functionNameLinkedMap<span class="hl opt">)</span>
        <span class="hl opt">{</span>
          <span class="hl kwa">for</span> <span class="hl opt">(</span><span class="hl kwb">const</span> <span class="hl kwc">auto</span> <span class="hl opt">&amp;</span>md <span class="hl opt">: *</span>mn<span class="hl opt">)</span>
          <span class="hl opt">{</span>
            <span class="hl kwb">const</span> NamespaceDef <span class="hl opt">*</span>nd<span class="hl opt">=</span>md<span class="hl opt">-&gt;</span><span class="hl kwd">getNamespaceDef</span><span class="hl opt">();</span>
            <span class="hl kwa">if</span> <span class="hl opt">(</span>nd <span class="hl opt">&amp;&amp;</span> nd<span class="hl opt">-&gt;</span><span class="hl kwd">isLinkableInProject</span><span class="hl opt">() &amp;&amp;</span>
                <span class="hl opt">!</span>md<span class="hl opt">-&gt;</span><span class="hl kwd">name</span><span class="hl opt">().</span><span class="hl kwd">isEmpty</span><span class="hl opt">() &amp;&amp;</span> md<span class="hl opt">-&gt;</span><span class="hl kwd">isLinkableInProject</span><span class="hl opt">())</span>
            <span class="hl opt">{</span>
              <span class="hl kwa">if</span> <span class="hl opt">(</span>filter<span class="hl opt">==</span><span class="hl num">0</span> <span class="hl opt">|| (</span>md<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">()-&gt;*</span>filter<span class="hl opt">)())</span>
              <span class="hl opt">{</span>
                list<span class="hl opt">-&gt;</span><span class="hl kwd">append</span><span class="hl opt">(</span>MemberContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>md<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">()));</span>
              <span class="hl opt">}</span>
            <span class="hl opt">}</span>
          <span class="hl opt">}</span>
        <span class="hl opt">}</span>
        listRef<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>list<span class="hl opt">);</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> listRef<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">all</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMembersFiltered</span><span class="hl opt">(</span>m_cache<span class="hl opt">.</span>all<span class="hl opt">,</span><span class="hl num">0</span><span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">functions</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMembersFiltered</span><span class="hl opt">(</span>m_cache<span class="hl opt">.</span>functions<span class="hl opt">,&amp;</span>MemberDef<span class="hl opt">::</span>isFunction<span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">variables</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMembersFiltered</span><span class="hl opt">(</span>m_cache<span class="hl opt">.</span>variables<span class="hl opt">,&amp;</span>MemberDef<span class="hl opt">::</span>isVariable<span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">typedefs</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMembersFiltered</span><span class="hl opt">(</span>m_cache<span class="hl opt">.</span>typedefs<span class="hl opt">,&amp;</span>MemberDef<span class="hl opt">::</span>isTypedef<span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">enums</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMembersFiltered</span><span class="hl opt">(</span>m_cache<span class="hl opt">.</span>enums<span class="hl opt">,&amp;</span>MemberDef<span class="hl opt">::</span>isEnumerate<span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">enumValues</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">getMembersFiltered</span><span class="hl opt">(</span>m_cache<span class="hl opt">.</span>enumValues<span class="hl opt">,&amp;</span>MemberDef<span class="hl opt">::</span>isEnumValue<span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">macros</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> FALSE<span class="hl opt">;</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">properties</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> FALSE<span class="hl opt">;</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">events</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> FALSE<span class="hl opt">;</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">related</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> FALSE<span class="hl opt">;</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">fileName</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl str">&quot;namespacemembers&quot;</span><span class="hl opt">;</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">relPath</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl str">&quot;&quot;</span><span class="hl opt">;</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">highlight</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl str">&quot;namespaces&quot;</span><span class="hl opt">;</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">subhighlight</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl str">&quot;namespacemembers&quot;</span><span class="hl opt">;</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">title</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trNamespaceMembers</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
  <span class="hl kwc">private</span><span class="hl opt">:</span>
    <span class="hl kwb">struct</span> Cachable
    <span class="hl opt">{</span>
      <span class="hl kwd">Cachable</span><span class="hl opt">() {}</span>
      SharedPtr<span class="hl opt">&lt;</span>TemplateList<span class="hl opt">&gt;</span> all<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>TemplateList<span class="hl opt">&gt;</span> functions<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>TemplateList<span class="hl opt">&gt;</span> variables<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>TemplateList<span class="hl opt">&gt;</span> typedefs<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>TemplateList<span class="hl opt">&gt;</span> enums<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>TemplateList<span class="hl opt">&gt;</span> enumValues<span class="hl opt">;</span>
    <span class="hl opt">};</span>
    <span class="hl kwc">mutable</span> Cachable m_cache<span class="hl opt">;</span>
    <span class="hl kwb">static</span> PropertyMapper<span class="hl opt">&lt;</span>NamespaceMembersIndexContext<span class="hl opt">::</span>Private<span class="hl opt">&gt;</span> s_inst<span class="hl opt">;</span>
<span class="hl opt">};</span>
<span class="hl slc">//%% }</span>

PropertyMapper<span class="hl opt">&lt;</span>NamespaceMembersIndexContext<span class="hl opt">::</span>Private<span class="hl opt">&gt;</span> NamespaceMembersIndexContext<span class="hl opt">::</span>Private<span class="hl opt">::</span>s_inst<span class="hl opt">;</span>

NamespaceMembersIndexContext<span class="hl opt">::</span><span class="hl kwd">NamespaceMembersIndexContext</span><span class="hl opt">() :</span> <span class="hl kwd">RefCountedContext</span><span class="hl opt">(</span><span class="hl str">&quot;NamespaceMembersIndexContext&quot;</span><span class="hl opt">)</span>
<span class="hl opt">{</span>
  p <span class="hl opt">=</span> <span class="hl kwa">new</span> Private<span class="hl opt">;</span>
<span class="hl opt">}</span>

NamespaceMembersIndexContext<span class="hl opt">::~</span><span class="hl kwd">NamespaceMembersIndexContext</span><span class="hl opt">()</span>
<span class="hl opt">{</span>
  <span class="hl kwa">delete</span> p<span class="hl opt">;</span>
<span class="hl opt">}</span>

TemplateVariant NamespaceMembersIndexContext<span class="hl opt">::</span><span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwb">const char</span> <span class="hl opt">*</span>name<span class="hl opt">)</span> <span class="hl kwb">const</span>
<span class="hl opt">{</span>
  <span class="hl kwa">return</span> p<span class="hl opt">-&gt;</span><span class="hl kwd">get</span><span class="hl opt">(</span>name<span class="hl opt">);</span>
<span class="hl opt">}</span>

<span class="hl slc">//------------------------------------------------------------------------</span>

<span class="hl slc">//%% struct InheritanceGraph: a connected graph representing part of the overall inheritance tree</span>
<span class="hl slc">//%% {</span>
<span class="hl kwc">class</span> InheritanceGraphContext<span class="hl opt">::</span>Private
<span class="hl opt">{</span>
  <span class="hl kwc">public</span><span class="hl opt">:</span>
    <span class="hl kwd">Private</span><span class="hl opt">(</span>DotGfxHierarchyTable <span class="hl opt">*</span>hierarchy<span class="hl opt">,</span>DotNode <span class="hl opt">*</span>n<span class="hl opt">,</span><span class="hl kwb">int</span> id<span class="hl opt">) :</span> <span class="hl kwd">m_hierarchy</span><span class="hl opt">(</span>hierarchy<span class="hl opt">),</span> <span class="hl kwd">m_node</span><span class="hl opt">(</span>n<span class="hl opt">),</span> <span class="hl kwd">m_id</span><span class="hl opt">(</span>id<span class="hl opt">)</span>
    <span class="hl opt">{</span>
      <span class="hl kwb">static bool</span> init<span class="hl opt">=</span>FALSE<span class="hl opt">;</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>init<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;graph&quot;</span><span class="hl opt">,&amp;</span>Private<span class="hl opt">::</span>graph<span class="hl opt">);</span>
        init<span class="hl opt">=</span>TRUE<span class="hl opt">;</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwb">const char</span> <span class="hl opt">*</span>n<span class="hl opt">)</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> s_inst<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwa">this</span><span class="hl opt">,</span>n<span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">graph</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      QGString result<span class="hl opt">;</span>
      <span class="hl kwb">static bool</span> haveDot            <span class="hl opt">=</span> <span class="hl kwd">Config_getBool</span><span class="hl opt">(</span>HAVE_DOT<span class="hl opt">);</span>
      <span class="hl kwb">static bool</span> graphicalHierarchy <span class="hl opt">=</span> <span class="hl kwd">Config_getBool</span><span class="hl opt">(</span>GRAPHICAL_HIERARCHY<span class="hl opt">);</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>haveDot <span class="hl opt">&amp;&amp;</span> graphicalHierarchy<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        FTextStream <span class="hl kwd">t</span><span class="hl opt">(&amp;</span>result<span class="hl opt">);</span>
        m_hierarchy<span class="hl opt">-&gt;</span><span class="hl kwd">createGraph</span><span class="hl opt">(</span>m_node<span class="hl opt">,</span>t<span class="hl opt">,</span>
                          <span class="hl com">/*GOF_BITMAP,</span>
<span class="hl com">                          EOF_Html,*/</span>
                          g_globals<span class="hl opt">.</span>outputDir<span class="hl opt">,</span>
                          g_globals<span class="hl opt">.</span>outputDir<span class="hl opt">+</span>Portable<span class="hl opt">::</span><span class="hl kwd">pathSeparator</span><span class="hl opt">()+</span><span class="hl str">&quot;inherits&quot;</span><span class="hl opt">+</span>Doxygen<span class="hl opt">::</span>htmlFileExtension<span class="hl opt">,</span>
                          m_id<span class="hl opt">);</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> <span class="hl kwd">TemplateVariant</span><span class="hl opt">(</span>result<span class="hl opt">.</span><span class="hl kwd">data</span><span class="hl opt">(),</span>TRUE<span class="hl opt">);</span>
    <span class="hl opt">}</span>
  <span class="hl kwc">private</span><span class="hl opt">:</span>
    DotGfxHierarchyTable <span class="hl opt">*</span>m_hierarchy<span class="hl opt">;</span>
    DotNode <span class="hl opt">*</span>m_node<span class="hl opt">;</span>
    <span class="hl kwb">int</span> m_id<span class="hl opt">;</span>
    <span class="hl kwb">static</span> PropertyMapper<span class="hl opt">&lt;</span>InheritanceGraphContext<span class="hl opt">::</span>Private<span class="hl opt">&gt;</span> s_inst<span class="hl opt">;</span>
<span class="hl opt">};</span>

PropertyMapper<span class="hl opt">&lt;</span>InheritanceGraphContext<span class="hl opt">::</span>Private<span class="hl opt">&gt;</span> InheritanceGraphContext<span class="hl opt">::</span>Private<span class="hl opt">::</span>s_inst<span class="hl opt">;</span>

InheritanceGraphContext<span class="hl opt">::</span><span class="hl kwd">InheritanceGraphContext</span><span class="hl opt">(</span>DotGfxHierarchyTable <span class="hl opt">*</span>hierarchy<span class="hl opt">,</span>DotNode <span class="hl opt">*</span>n<span class="hl opt">,</span><span class="hl kwb">int</span> id<span class="hl opt">)</span>
   <span class="hl opt">:</span> <span class="hl kwd">RefCountedContext</span><span class="hl opt">(</span><span class="hl str">&quot;InheritanceGraphContext&quot;</span><span class="hl opt">)</span>
<span class="hl opt">{</span>
  p <span class="hl opt">=</span> <span class="hl kwa">new</span> <span class="hl kwd">Private</span><span class="hl opt">(</span>hierarchy<span class="hl opt">,</span>n<span class="hl opt">,</span>id<span class="hl opt">);</span>
<span class="hl opt">}</span>

InheritanceGraphContext<span class="hl opt">::~</span><span class="hl kwd">InheritanceGraphContext</span><span class="hl opt">()</span>
<span class="hl opt">{</span>
  <span class="hl kwa">delete</span> p<span class="hl opt">;</span>
<span class="hl opt">}</span>

TemplateVariant InheritanceGraphContext<span class="hl opt">::</span><span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwb">const char</span> <span class="hl opt">*</span>name<span class="hl opt">)</span> <span class="hl kwb">const</span>
<span class="hl opt">{</span>
  <span class="hl kwa">return</span> p<span class="hl opt">-&gt;</span><span class="hl kwd">get</span><span class="hl opt">(</span>name<span class="hl opt">);</span>
<span class="hl opt">}</span>


<span class="hl slc">//------------------------------------------------------------------------</span>

<span class="hl slc">//%% struct InheritanceNode: a class in the inheritance list</span>
<span class="hl slc">//%% {</span>
<span class="hl kwc">class</span> InheritanceNodeContext<span class="hl opt">::</span>Private
<span class="hl opt">{</span>
  <span class="hl kwc">public</span><span class="hl opt">:</span>
    <span class="hl kwd">Private</span><span class="hl opt">(</span><span class="hl kwb">const</span> ClassDef <span class="hl opt">*</span>cd<span class="hl opt">,</span><span class="hl kwb">const</span> QCString <span class="hl opt">&amp;</span>name<span class="hl opt">) :</span> <span class="hl kwd">m_classDef</span><span class="hl opt">(</span>cd<span class="hl opt">),</span> <span class="hl kwd">m_name</span><span class="hl opt">(</span>name<span class="hl opt">)</span>
    <span class="hl opt">{</span>
      <span class="hl kwb">static bool</span> init<span class="hl opt">=</span>FALSE<span class="hl opt">;</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>init<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;class&quot;</span><span class="hl opt">,&amp;</span>Private<span class="hl opt">::</span>getClass<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;name&quot;</span><span class="hl opt">, &amp;</span>Private<span class="hl opt">::</span>name<span class="hl opt">);</span>
        init<span class="hl opt">=</span>TRUE<span class="hl opt">;</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwb">const char</span> <span class="hl opt">*</span>n<span class="hl opt">)</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> s_inst<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwa">this</span><span class="hl opt">,</span>n<span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">getClass</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>m_classContext<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        m_classContext<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>ClassContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>m_classDef<span class="hl opt">));</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> m_classContext<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">name</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_name<span class="hl opt">;</span>
    <span class="hl opt">}</span>
  <span class="hl kwc">private</span><span class="hl opt">:</span>
    <span class="hl kwb">const</span> ClassDef <span class="hl opt">*</span>m_classDef<span class="hl opt">;</span>
    <span class="hl kwc">mutable</span> SharedPtr<span class="hl opt">&lt;</span>ClassContext<span class="hl opt">&gt;</span> m_classContext<span class="hl opt">;</span>
    QCString m_name<span class="hl opt">;</span>
    <span class="hl kwb">static</span> PropertyMapper<span class="hl opt">&lt;</span>InheritanceNodeContext<span class="hl opt">::</span>Private<span class="hl opt">&gt;</span> s_inst<span class="hl opt">;</span>
<span class="hl opt">};</span>
<span class="hl slc">//%% }</span>

PropertyMapper<span class="hl opt">&lt;</span>InheritanceNodeContext<span class="hl opt">::</span>Private<span class="hl opt">&gt;</span> InheritanceNodeContext<span class="hl opt">::</span>Private<span class="hl opt">::</span>s_inst<span class="hl opt">;</span>

InheritanceNodeContext<span class="hl opt">::</span><span class="hl kwd">InheritanceNodeContext</span><span class="hl opt">(</span><span class="hl kwb">const</span> ClassDef <span class="hl opt">*</span>cd<span class="hl opt">,</span><span class="hl kwb">const</span> QCString <span class="hl opt">&amp;</span>name<span class="hl opt">) :</span> <span class="hl kwd">RefCountedContext</span><span class="hl opt">(</span><span class="hl str">&quot;InheritanceNodeContext&quot;</span><span class="hl opt">)</span>
<span class="hl opt">{</span>
  p <span class="hl opt">=</span> <span class="hl kwa">new</span> <span class="hl kwd">Private</span><span class="hl opt">(</span>cd<span class="hl opt">,</span>name<span class="hl opt">);</span>
<span class="hl opt">}</span>

InheritanceNodeContext<span class="hl opt">::~</span><span class="hl kwd">InheritanceNodeContext</span><span class="hl opt">()</span>
<span class="hl opt">{</span>
  <span class="hl kwa">delete</span> p<span class="hl opt">;</span>
<span class="hl opt">}</span>

TemplateVariant InheritanceNodeContext<span class="hl opt">::</span><span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwb">const char</span> <span class="hl opt">*</span>name<span class="hl opt">)</span> <span class="hl kwb">const</span>
<span class="hl opt">{</span>
  <span class="hl kwa">return</span> p<span class="hl opt">-&gt;</span><span class="hl kwd">get</span><span class="hl opt">(</span>name<span class="hl opt">);</span>
<span class="hl opt">}</span>

<span class="hl slc">//------------------------------------------------------------------------</span>

<span class="hl slc">//%% list InheritanceList[InheritanceNode] : list of inherited classes</span>
<span class="hl kwc">class</span> InheritanceListContext<span class="hl opt">::</span>Private <span class="hl opt">:</span> <span class="hl kwc">public</span> GenericNodeListContext
<span class="hl opt">{</span>
  <span class="hl kwc">public</span><span class="hl opt">:</span>
    <span class="hl kwb">void</span> <span class="hl kwd">addClass</span><span class="hl opt">(</span><span class="hl kwb">const</span> ClassDef <span class="hl opt">*</span>cd<span class="hl opt">,</span><span class="hl kwb">const</span> QCString <span class="hl opt">&amp;</span>name<span class="hl opt">)</span>
    <span class="hl opt">{</span>
      <span class="hl kwd">append</span><span class="hl opt">(</span>InheritanceNodeContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>cd<span class="hl opt">,</span>name<span class="hl opt">));</span>
    <span class="hl opt">}</span>
<span class="hl opt">};</span>

InheritanceListContext<span class="hl opt">::</span><span class="hl kwd">InheritanceListContext</span><span class="hl opt">(</span><span class="hl kwb">const</span> BaseClassList <span class="hl opt">*</span>list<span class="hl opt">,</span> <span class="hl kwb">bool</span> baseClasses<span class="hl opt">) :</span> <span class="hl kwd">RefCountedContext</span><span class="hl opt">(</span><span class="hl str">&quot;InheritanceListContext&quot;</span><span class="hl opt">)</span>
<span class="hl opt">{</span>
  p <span class="hl opt">=</span> <span class="hl kwa">new</span> Private<span class="hl opt">;</span>
  <span class="hl kwa">if</span> <span class="hl opt">(</span>list<span class="hl opt">)</span>
  <span class="hl opt">{</span>
    BaseClassListIterator <span class="hl kwd">li</span><span class="hl opt">(*</span>list<span class="hl opt">);</span>
    BaseClassDef <span class="hl opt">*</span>bcd<span class="hl opt">;</span>
    <span class="hl kwa">for</span> <span class="hl opt">(</span>li<span class="hl opt">.</span><span class="hl kwd">toFirst</span><span class="hl opt">();(</span>bcd<span class="hl opt">=</span>li<span class="hl opt">.</span><span class="hl kwd">current</span><span class="hl opt">());++</span>li<span class="hl opt">)</span>
    <span class="hl opt">{</span>
      <span class="hl kwb">const</span> ClassDef <span class="hl opt">*</span>cd<span class="hl opt">=</span>bcd<span class="hl opt">-&gt;</span>classDef<span class="hl opt">;</span>
      QCString name<span class="hl opt">;</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>baseClasses<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        name <span class="hl opt">=</span> <span class="hl kwd">insertTemplateSpecifierInScope</span><span class="hl opt">(</span>
                     cd<span class="hl opt">-&gt;</span><span class="hl kwd">displayName</span><span class="hl opt">(),</span>bcd<span class="hl opt">-&gt;</span>templSpecifiers<span class="hl opt">);</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">else</span>
      <span class="hl opt">{</span>
        name <span class="hl opt">=</span> cd<span class="hl opt">-&gt;</span><span class="hl kwd">displayName</span><span class="hl opt">();</span>
      <span class="hl opt">}</span>
      <span class="hl slc">//printf(&quot;InheritanceListContext: adding %s baseClass=%d\n&quot;,name.data(),baseClasses);</span>
      p<span class="hl opt">-&gt;</span><span class="hl kwd">addClass</span><span class="hl opt">(</span>cd<span class="hl opt">,</span>name<span class="hl opt">);</span>
    <span class="hl opt">}</span>
  <span class="hl opt">}</span>
<span class="hl opt">}</span>

InheritanceListContext<span class="hl opt">::~</span><span class="hl kwd">InheritanceListContext</span><span class="hl opt">()</span>
<span class="hl opt">{</span>
  <span class="hl kwa">delete</span> p<span class="hl opt">;</span>
<span class="hl opt">}</span>

<span class="hl slc">// TemplateListIntf</span>
uint InheritanceListContext<span class="hl opt">::</span><span class="hl kwd">count</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
<span class="hl opt">{</span>
  <span class="hl kwa">return</span> p<span class="hl opt">-&gt;</span><span class="hl kwd">count</span><span class="hl opt">();</span>
<span class="hl opt">}</span>

TemplateVariant InheritanceListContext<span class="hl opt">::</span><span class="hl kwd">at</span><span class="hl opt">(</span>uint index<span class="hl opt">)</span> <span class="hl kwb">const</span>
<span class="hl opt">{</span>
  <span class="hl kwa">return</span> p<span class="hl opt">-&gt;</span><span class="hl kwd">at</span><span class="hl opt">(</span>index<span class="hl opt">);</span>
<span class="hl opt">}</span>

TemplateListIntf<span class="hl opt">::</span>ConstIterator <span class="hl opt">*</span>InheritanceListContext<span class="hl opt">::</span><span class="hl kwd">createIterator</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
<span class="hl opt">{</span>
  <span class="hl kwa">return</span> p<span class="hl opt">-&gt;</span><span class="hl kwd">createIterator</span><span class="hl opt">();</span>
<span class="hl opt">}</span>

<span class="hl slc">//------------------------------------------------------------------------</span>

<span class="hl slc">//%% list MemberList[Member] : list of inherited classes</span>
<span class="hl kwc">class</span> MemberListContext<span class="hl opt">::</span>Private <span class="hl opt">:</span> <span class="hl kwc">public</span> GenericNodeListContext
<span class="hl opt">{</span>
  <span class="hl kwc">public</span><span class="hl opt">:</span>
    <span class="hl kwb">void</span> <span class="hl kwd">addMember</span><span class="hl opt">(</span>MemberDef <span class="hl opt">*</span>md<span class="hl opt">)</span>
    <span class="hl opt">{</span>
      <span class="hl kwd">append</span><span class="hl opt">(</span>MemberContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>md<span class="hl opt">));</span>
    <span class="hl opt">}</span>
<span class="hl opt">};</span>

MemberListContext<span class="hl opt">::</span><span class="hl kwd">MemberListContext</span><span class="hl opt">() :</span> <span class="hl kwd">RefCountedContext</span><span class="hl opt">(</span><span class="hl str">&quot;MemberListContext&quot;</span><span class="hl opt">)</span>
<span class="hl opt">{</span>
  p <span class="hl opt">=</span> <span class="hl kwa">new</span> Private<span class="hl opt">;</span>
<span class="hl opt">}</span>

MemberListContext<span class="hl opt">::</span><span class="hl kwd">MemberListContext</span><span class="hl opt">(</span><span class="hl kwb">const</span> MemberList <span class="hl opt">*</span>list<span class="hl opt">) :</span> <span class="hl kwd">RefCountedContext</span><span class="hl opt">(</span><span class="hl str">&quot;MemberListContext&quot;</span><span class="hl opt">)</span>
<span class="hl opt">{</span>
  p <span class="hl opt">=</span> <span class="hl kwa">new</span> Private<span class="hl opt">;</span>
  <span class="hl kwa">if</span> <span class="hl opt">(</span>list<span class="hl opt">)</span>
  <span class="hl opt">{</span>
    <span class="hl kwb">bool</span> details <span class="hl opt">=</span> list<span class="hl opt">-&gt;</span><span class="hl kwd">listType</span><span class="hl opt">()&amp;</span>MemberListType_detailedLists<span class="hl opt">;</span>
    MemberListIterator <span class="hl kwd">mli</span><span class="hl opt">(*</span>list<span class="hl opt">);</span>
    MemberDef <span class="hl opt">*</span>md<span class="hl opt">;</span>
    <span class="hl kwa">for</span> <span class="hl opt">(</span>mli<span class="hl opt">.</span><span class="hl kwd">toFirst</span><span class="hl opt">();(</span>md<span class="hl opt">=</span>mli<span class="hl opt">.</span><span class="hl kwd">current</span><span class="hl opt">());++</span>mli<span class="hl opt">)</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">if</span> <span class="hl opt">((</span>md<span class="hl opt">-&gt;</span><span class="hl kwd">isBriefSectionVisible</span><span class="hl opt">() &amp;&amp; !</span>details<span class="hl opt">) ||</span>
          <span class="hl opt">(</span>md<span class="hl opt">-&gt;</span><span class="hl kwd">isDetailedSectionLinkable</span><span class="hl opt">() &amp;&amp;</span> details<span class="hl opt">)</span>
         <span class="hl opt">)</span>
      <span class="hl opt">{</span>
        p<span class="hl opt">-&gt;</span><span class="hl kwd">addMember</span><span class="hl opt">(</span>md<span class="hl opt">);</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
  <span class="hl opt">}</span>
<span class="hl opt">}</span>

MemberListContext<span class="hl opt">::</span><span class="hl kwd">MemberListContext</span><span class="hl opt">(</span>MemberSDict <span class="hl opt">*</span>list<span class="hl opt">,</span><span class="hl kwb">bool</span> doSort<span class="hl opt">) :</span> <span class="hl kwd">RefCountedContext</span><span class="hl opt">(</span><span class="hl str">&quot;MemberListContext&quot;</span><span class="hl opt">)</span>
<span class="hl opt">{</span>
  p <span class="hl opt">=</span> <span class="hl kwa">new</span> Private<span class="hl opt">;</span>
  <span class="hl kwa">if</span> <span class="hl opt">(</span>list<span class="hl opt">)</span>
  <span class="hl opt">{</span>
    <span class="hl kwa">if</span> <span class="hl opt">(</span>doSort<span class="hl opt">)</span>
    <span class="hl opt">{</span>
      list<span class="hl opt">-&gt;</span><span class="hl kwd">sort</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    MemberSDict<span class="hl opt">::</span>Iterator <span class="hl kwd">it</span><span class="hl opt">(*</span>list<span class="hl opt">);</span>
    MemberDef <span class="hl opt">*</span>md<span class="hl opt">;</span>
    <span class="hl kwa">for</span> <span class="hl opt">(</span>it<span class="hl opt">.</span><span class="hl kwd">toFirst</span><span class="hl opt">();(</span>md<span class="hl opt">=</span>it<span class="hl opt">.</span><span class="hl kwd">current</span><span class="hl opt">());++</span>it<span class="hl opt">)</span>
    <span class="hl opt">{</span>
      p<span class="hl opt">-&gt;</span><span class="hl kwd">addMember</span><span class="hl opt">(</span>md<span class="hl opt">);</span>
    <span class="hl opt">}</span>
  <span class="hl opt">}</span>
<span class="hl opt">}</span>

MemberListContext<span class="hl opt">::~</span><span class="hl kwd">MemberListContext</span><span class="hl opt">()</span>
<span class="hl opt">{</span>
  <span class="hl kwa">delete</span> p<span class="hl opt">;</span>
<span class="hl opt">}</span>

<span class="hl slc">// TemplateListIntf</span>
uint MemberListContext<span class="hl opt">::</span><span class="hl kwd">count</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
<span class="hl opt">{</span>
  <span class="hl kwa">return</span> p<span class="hl opt">-&gt;</span><span class="hl kwd">count</span><span class="hl opt">();</span>
<span class="hl opt">}</span>

TemplateVariant MemberListContext<span class="hl opt">::</span><span class="hl kwd">at</span><span class="hl opt">(</span>uint index<span class="hl opt">)</span> <span class="hl kwb">const</span>
<span class="hl opt">{</span>
  <span class="hl kwa">return</span> p<span class="hl opt">-&gt;</span><span class="hl kwd">at</span><span class="hl opt">(</span>index<span class="hl opt">);</span>
<span class="hl opt">}</span>

TemplateListIntf<span class="hl opt">::</span>ConstIterator <span class="hl opt">*</span>MemberListContext<span class="hl opt">::</span><span class="hl kwd">createIterator</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
<span class="hl opt">{</span>
  <span class="hl kwa">return</span> p<span class="hl opt">-&gt;</span><span class="hl kwd">createIterator</span><span class="hl opt">();</span>
<span class="hl opt">}</span>

<span class="hl slc">//------------------------------------------------------------------------</span>

<span class="hl slc">//%% struct MemberInfo: member information</span>
<span class="hl slc">//%% {</span>
<span class="hl kwc">class</span> MemberInfoContext<span class="hl opt">::</span>Private
<span class="hl opt">{</span>
  <span class="hl kwc">public</span><span class="hl opt">:</span>
    <span class="hl kwd">Private</span><span class="hl opt">(</span><span class="hl kwb">const</span> MemberInfo <span class="hl opt">*</span>mi<span class="hl opt">) :</span> <span class="hl kwd">m_memberInfo</span><span class="hl opt">(</span>mi<span class="hl opt">)</span>
    <span class="hl opt">{</span>
      <span class="hl kwb">static bool</span> init<span class="hl opt">=</span>FALSE<span class="hl opt">;</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>init<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl slc">//%% string protection</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;protection&quot;</span><span class="hl opt">,    &amp;</span>Private<span class="hl opt">::</span>protection<span class="hl opt">);</span>
        <span class="hl slc">//%% string virtualness</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;virtualness&quot;</span><span class="hl opt">,   &amp;</span>Private<span class="hl opt">::</span>virtualness<span class="hl opt">);</span>
        <span class="hl slc">//%% string ambiguityScope</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;ambiguityScope&quot;</span><span class="hl opt">,&amp;</span>Private<span class="hl opt">::</span>ambiguityScope<span class="hl opt">);</span>
        <span class="hl slc">//%% Member member</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;member&quot;</span><span class="hl opt">,        &amp;</span>Private<span class="hl opt">::</span>member<span class="hl opt">);</span>
        init<span class="hl opt">=</span>TRUE<span class="hl opt">;</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwb">const char</span> <span class="hl opt">*</span>n<span class="hl opt">)</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> s_inst<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwa">this</span><span class="hl opt">,</span>n<span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">protection</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">switch</span> <span class="hl opt">(</span>m_memberInfo<span class="hl opt">-&gt;</span><span class="hl kwd">prot</span><span class="hl opt">())</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">case</span> <span class="hl opt">::</span>Public<span class="hl opt">:</span>    <span class="hl kwa">return</span> <span class="hl str">&quot;public&quot;</span><span class="hl opt">;</span>
        <span class="hl kwa">case</span> <span class="hl opt">::</span>Protected<span class="hl opt">:</span> <span class="hl kwa">return</span> <span class="hl str">&quot;protected&quot;</span><span class="hl opt">;</span>
        <span class="hl kwa">case</span> <span class="hl opt">::</span>Private<span class="hl opt">:</span>   <span class="hl kwa">return</span> <span class="hl str">&quot;private&quot;</span><span class="hl opt">;</span>
        <span class="hl kwa">case</span> <span class="hl opt">::</span>Package<span class="hl opt">:</span>   <span class="hl kwa">return</span> <span class="hl str">&quot;package&quot;</span><span class="hl opt">;</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> <span class="hl str">&quot;&quot;</span><span class="hl opt">;</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">virtualness</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">switch</span> <span class="hl opt">(</span>m_memberInfo<span class="hl opt">-&gt;</span><span class="hl kwd">virt</span><span class="hl opt">())</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">case</span> <span class="hl opt">::</span>Normal<span class="hl opt">:</span>   <span class="hl kwa">return</span> <span class="hl str">&quot;normal&quot;</span><span class="hl opt">;</span>
        <span class="hl kwa">case</span> <span class="hl opt">::</span>Virtual<span class="hl opt">:</span>  <span class="hl kwa">return</span> <span class="hl str">&quot;virtual&quot;</span><span class="hl opt">;</span>
        <span class="hl kwa">case</span> <span class="hl opt">::</span>Pure<span class="hl opt">:</span>     <span class="hl kwa">return</span> <span class="hl str">&quot;pure&quot;</span><span class="hl opt">;</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> <span class="hl str">&quot;&quot;</span><span class="hl opt">;</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">ambiguityScope</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_memberInfo<span class="hl opt">-&gt;</span><span class="hl kwd">ambiguityResolutionScope</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">member</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>m_member <span class="hl opt">&amp;&amp;</span> m_memberInfo<span class="hl opt">-&gt;</span><span class="hl kwd">memberDef</span><span class="hl opt">())</span>
      <span class="hl opt">{</span>
        m_member<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>MemberContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>m_memberInfo<span class="hl opt">-&gt;</span><span class="hl kwd">memberDef</span><span class="hl opt">()));</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>m_member<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> m_member<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">else</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> <span class="hl kwd">TemplateVariant</span><span class="hl opt">(</span>FALSE<span class="hl opt">);</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
  <span class="hl kwc">private</span><span class="hl opt">:</span>
    <span class="hl kwb">const</span> MemberInfo <span class="hl opt">*</span>m_memberInfo<span class="hl opt">;</span>
    <span class="hl kwc">mutable</span> SharedPtr<span class="hl opt">&lt;</span>MemberContext<span class="hl opt">&gt;</span> m_member<span class="hl opt">;</span>
    <span class="hl kwb">static</span> PropertyMapper<span class="hl opt">&lt;</span>MemberInfoContext<span class="hl opt">::</span>Private<span class="hl opt">&gt;</span> s_inst<span class="hl opt">;</span>
<span class="hl opt">};</span>
<span class="hl slc">//%% }</span>

PropertyMapper<span class="hl opt">&lt;</span>MemberInfoContext<span class="hl opt">::</span>Private<span class="hl opt">&gt;</span> MemberInfoContext<span class="hl opt">::</span>Private<span class="hl opt">::</span>s_inst<span class="hl opt">;</span>

MemberInfoContext<span class="hl opt">::</span><span class="hl kwd">MemberInfoContext</span><span class="hl opt">(</span><span class="hl kwb">const</span> MemberInfo <span class="hl opt">*</span>mi<span class="hl opt">) :</span> <span class="hl kwd">RefCountedContext</span><span class="hl opt">(</span><span class="hl str">&quot;MemberInfoContext&quot;</span><span class="hl opt">)</span>
<span class="hl opt">{</span>
  p <span class="hl opt">=</span> <span class="hl kwa">new</span> <span class="hl kwd">Private</span><span class="hl opt">(</span>mi<span class="hl opt">);</span>
<span class="hl opt">}</span>

MemberInfoContext<span class="hl opt">::~</span><span class="hl kwd">MemberInfoContext</span><span class="hl opt">()</span>
<span class="hl opt">{</span>
  <span class="hl kwa">delete</span> p<span class="hl opt">;</span>
<span class="hl opt">}</span>

TemplateVariant MemberInfoContext<span class="hl opt">::</span><span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwb">const char</span> <span class="hl opt">*</span>name<span class="hl opt">)</span> <span class="hl kwb">const</span>
<span class="hl opt">{</span>
  <span class="hl kwa">return</span> p<span class="hl opt">-&gt;</span><span class="hl kwd">get</span><span class="hl opt">(</span>name<span class="hl opt">);</span>
<span class="hl opt">}</span>


<span class="hl slc">//------------------------------------------------------------------------</span>

<span class="hl slc">//%% list AllMembersList[MemberList] : list of inherited classes</span>
<span class="hl kwc">class</span> AllMembersListContext<span class="hl opt">::</span>Private <span class="hl opt">:</span> <span class="hl kwc">public</span> GenericNodeListContext
<span class="hl opt">{</span>
  <span class="hl kwc">public</span><span class="hl opt">:</span>
    <span class="hl kwd">Private</span><span class="hl opt">(</span><span class="hl kwb">const</span> MemberNameInfoLinkedMap <span class="hl opt">&amp;</span>ml<span class="hl opt">)</span>
    <span class="hl opt">{</span>
      <span class="hl kwb">static bool</span> hideUndocMembers <span class="hl opt">=</span> <span class="hl kwd">Config_getBool</span><span class="hl opt">(</span>HIDE_UNDOC_MEMBERS<span class="hl opt">);</span>
      <span class="hl kwa">for</span> <span class="hl opt">(</span><span class="hl kwc">auto</span> <span class="hl opt">&amp;</span>mni <span class="hl opt">:</span> ml<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">for</span> <span class="hl opt">(</span><span class="hl kwc">auto</span> <span class="hl opt">&amp;</span>mi <span class="hl opt">: *</span>mni<span class="hl opt">)</span>
        <span class="hl opt">{</span>
          <span class="hl kwb">const</span> MemberDef <span class="hl opt">*</span>md<span class="hl opt">=</span>mi<span class="hl opt">-&gt;</span><span class="hl kwd">memberDef</span><span class="hl opt">();</span>
          <span class="hl kwb">const</span> ClassDef  <span class="hl opt">*</span>cd<span class="hl opt">=</span>md<span class="hl opt">-&gt;</span><span class="hl kwd">getClassDef</span><span class="hl opt">();</span>
          <span class="hl kwa">if</span> <span class="hl opt">(</span>cd <span class="hl opt">&amp;&amp; !</span>md<span class="hl opt">-&gt;</span><span class="hl kwd">isAnonymous</span><span class="hl opt">())</span>
          <span class="hl opt">{</span>
            <span class="hl kwa">if</span> <span class="hl opt">((</span>cd<span class="hl opt">-&gt;</span><span class="hl kwd">isLinkable</span><span class="hl opt">() &amp;&amp;</span> md<span class="hl opt">-&gt;</span><span class="hl kwd">isLinkable</span><span class="hl opt">()) ||</span>
                <span class="hl opt">(!</span>cd<span class="hl opt">-&gt;</span><span class="hl kwd">isArtificial</span><span class="hl opt">() &amp;&amp; !</span>hideUndocMembers <span class="hl opt">&amp;&amp;</span>
                 <span class="hl opt">(</span><span class="hl kwd">protectionLevelVisible</span><span class="hl opt">(</span>md<span class="hl opt">-&gt;</span><span class="hl kwd">protection</span><span class="hl opt">()) ||</span> md<span class="hl opt">-&gt;</span><span class="hl kwd">isFriend</span><span class="hl opt">())</span>
                <span class="hl opt">)</span>
               <span class="hl opt">)</span>
            <span class="hl opt">{</span>
              <span class="hl kwd">append</span><span class="hl opt">(</span>MemberInfoContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>mi<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">()));</span>
            <span class="hl opt">}</span>
          <span class="hl opt">}</span>
        <span class="hl opt">}</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
<span class="hl opt">};</span>

AllMembersListContext<span class="hl opt">::</span><span class="hl kwd">AllMembersListContext</span><span class="hl opt">(</span><span class="hl kwb">const</span> MemberNameInfoLinkedMap <span class="hl opt">&amp;</span>ml<span class="hl opt">)</span>
  <span class="hl opt">:</span> <span class="hl kwd">RefCountedContext</span><span class="hl opt">(</span><span class="hl str">&quot;AllMembersListContext&quot;</span><span class="hl opt">)</span>
<span class="hl opt">{</span>
  p <span class="hl opt">=</span> <span class="hl kwa">new</span> <span class="hl kwd">Private</span><span class="hl opt">(</span>ml<span class="hl opt">);</span>
<span class="hl opt">}</span>

AllMembersListContext<span class="hl opt">::~</span><span class="hl kwd">AllMembersListContext</span><span class="hl opt">()</span>
<span class="hl opt">{</span>
  <span class="hl kwa">delete</span> p<span class="hl opt">;</span>
<span class="hl opt">}</span>

<span class="hl slc">// TemplateListIntf</span>
uint AllMembersListContext<span class="hl opt">::</span><span class="hl kwd">count</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
<span class="hl opt">{</span>
  <span class="hl kwa">return</span> p<span class="hl opt">-&gt;</span><span class="hl kwd">count</span><span class="hl opt">();</span>
<span class="hl opt">}</span>

TemplateVariant AllMembersListContext<span class="hl opt">::</span><span class="hl kwd">at</span><span class="hl opt">(</span>uint index<span class="hl opt">)</span> <span class="hl kwb">const</span>
<span class="hl opt">{</span>
  <span class="hl kwa">return</span> p<span class="hl opt">-&gt;</span><span class="hl kwd">at</span><span class="hl opt">(</span>index<span class="hl opt">);</span>
<span class="hl opt">}</span>

TemplateListIntf<span class="hl opt">::</span>ConstIterator <span class="hl opt">*</span>AllMembersListContext<span class="hl opt">::</span><span class="hl kwd">createIterator</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
<span class="hl opt">{</span>
  <span class="hl kwa">return</span> p<span class="hl opt">-&gt;</span><span class="hl kwd">createIterator</span><span class="hl opt">();</span>
<span class="hl opt">}</span>

<span class="hl slc">//------------------------------------------------------------------------</span>

<span class="hl slc">//%% struct MemberGroupInfo: member group information</span>
<span class="hl slc">//%% {</span>
<span class="hl kwc">class</span> MemberGroupInfoContext<span class="hl opt">::</span>Private
<span class="hl opt">{</span>
  <span class="hl kwc">public</span><span class="hl opt">:</span>
    <span class="hl kwd">Private</span><span class="hl opt">(</span><span class="hl kwb">const</span> Definition <span class="hl opt">*</span>def<span class="hl opt">,</span><span class="hl kwb">const</span> QCString <span class="hl opt">&amp;</span>relPath<span class="hl opt">,</span><span class="hl kwb">const</span> MemberGroup <span class="hl opt">*</span>mg<span class="hl opt">) :</span>
      <span class="hl kwd">m_def</span><span class="hl opt">(</span>def<span class="hl opt">),</span>
      <span class="hl kwd">m_relPath</span><span class="hl opt">(</span>relPath<span class="hl opt">),</span>
      <span class="hl kwd">m_memberGroup</span><span class="hl opt">(</span>mg<span class="hl opt">)</span>
    <span class="hl opt">{</span>
      <span class="hl kwb">static bool</span> init<span class="hl opt">=</span>FALSE<span class="hl opt">;</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>init<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;members&quot;</span><span class="hl opt">,      &amp;</span>Private<span class="hl opt">::</span>members<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;title&quot;</span><span class="hl opt">,        &amp;</span>Private<span class="hl opt">::</span>groupTitle<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;subtitle&quot;</span><span class="hl opt">,     &amp;</span>Private<span class="hl opt">::</span>groupSubtitle<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;anchor&quot;</span><span class="hl opt">,       &amp;</span>Private<span class="hl opt">::</span>groupAnchor<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;memberGroups&quot;</span><span class="hl opt">, &amp;</span>Private<span class="hl opt">::</span>memberGroups<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;docs&quot;</span><span class="hl opt">,         &amp;</span>Private<span class="hl opt">::</span>docs<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;inherited&quot;</span><span class="hl opt">,    &amp;</span>Private<span class="hl opt">::</span>inherited<span class="hl opt">);</span>
        init<span class="hl opt">=</span>TRUE<span class="hl opt">;</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwb">const char</span> <span class="hl opt">*</span>n<span class="hl opt">)</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> s_inst<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwa">this</span><span class="hl opt">,</span>n<span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">members</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>m_cache<span class="hl opt">.</span>memberListContext<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        m_cache<span class="hl opt">.</span>memberListContext<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>MemberListContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>m_memberGroup<span class="hl opt">-&gt;</span><span class="hl kwd">members</span><span class="hl opt">()));</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> m_cache<span class="hl opt">.</span>memberListContext<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">groupTitle</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_memberGroup<span class="hl opt">-&gt;</span><span class="hl kwd">header</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">groupSubtitle</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl str">&quot;&quot;</span><span class="hl opt">;</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">groupAnchor</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_memberGroup<span class="hl opt">-&gt;</span><span class="hl kwd">anchor</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">memberGroups</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>m_cache<span class="hl opt">.</span>memberGroups<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        m_cache<span class="hl opt">.</span>memberGroups<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>MemberGroupListContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>m_def<span class="hl opt">,</span>m_relPath<span class="hl opt">,</span><span class="hl num">0</span><span class="hl opt">));</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> m_cache<span class="hl opt">.</span>memberGroups<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">docs</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>m_cache<span class="hl opt">.</span>docs<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        QCString docs <span class="hl opt">=</span> m_memberGroup<span class="hl opt">-&gt;</span><span class="hl kwd">documentation</span><span class="hl opt">();</span>
        <span class="hl kwa">if</span> <span class="hl opt">(!</span>docs<span class="hl opt">.</span><span class="hl kwd">isEmpty</span><span class="hl opt">())</span>
        <span class="hl opt">{</span>
          m_cache<span class="hl opt">.</span>docs<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span><span class="hl kwa">new</span> <span class="hl kwd">TemplateVariant</span><span class="hl opt">(</span>
                           <span class="hl kwd">parseDoc</span><span class="hl opt">(</span>m_def<span class="hl opt">,</span><span class="hl str">&quot;[&#64;name docs]&quot;</span><span class="hl opt">,-</span><span class="hl num">1</span><span class="hl opt">,</span> <span class="hl slc">// TODO store file &amp; line</span>
                                    m_relPath<span class="hl opt">,</span>
                                    m_memberGroup<span class="hl opt">-&gt;</span><span class="hl kwd">documentation</span><span class="hl opt">()+</span><span class="hl str">&quot;</span><span class="hl esc">\n</span><span class="hl str">&quot;</span><span class="hl opt">,</span>FALSE<span class="hl opt">)));</span>
        <span class="hl opt">}</span>
        <span class="hl kwa">else</span>
        <span class="hl opt">{</span>
          m_cache<span class="hl opt">.</span>docs<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span><span class="hl kwa">new</span> <span class="hl kwd">TemplateVariant</span><span class="hl opt">(</span><span class="hl str">&quot;&quot;</span><span class="hl opt">));</span>
        <span class="hl opt">}</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> <span class="hl opt">*</span>m_cache<span class="hl opt">.</span>docs<span class="hl opt">;</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">inherited</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> FALSE<span class="hl opt">;</span>
    <span class="hl opt">}</span>
  <span class="hl kwc">private</span><span class="hl opt">:</span>
    <span class="hl kwb">const</span> Definition <span class="hl opt">*</span>m_def<span class="hl opt">;</span>
    QCString m_relPath<span class="hl opt">;</span>
    <span class="hl kwb">const</span> MemberGroup <span class="hl opt">*</span>m_memberGroup<span class="hl opt">;</span>
    <span class="hl kwb">struct</span> Cachable
    <span class="hl opt">{</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberListContext<span class="hl opt">&gt;</span>      memberListContext<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberGroupListContext<span class="hl opt">&gt;</span> memberGroups<span class="hl opt">;</span>
      ScopedPtr<span class="hl opt">&lt;</span>TemplateVariant<span class="hl opt">&gt;</span>        docs<span class="hl opt">;</span>
    <span class="hl opt">};</span>
    <span class="hl kwc">mutable</span> Cachable m_cache<span class="hl opt">;</span>
    <span class="hl kwb">static</span> PropertyMapper<span class="hl opt">&lt;</span>MemberGroupInfoContext<span class="hl opt">::</span>Private<span class="hl opt">&gt;</span> s_inst<span class="hl opt">;</span>
<span class="hl opt">};</span>
<span class="hl slc">//%% }</span>

PropertyMapper<span class="hl opt">&lt;</span>MemberGroupInfoContext<span class="hl opt">::</span>Private<span class="hl opt">&gt;</span> MemberGroupInfoContext<span class="hl opt">::</span>Private<span class="hl opt">::</span>s_inst<span class="hl opt">;</span>

MemberGroupInfoContext<span class="hl opt">::</span><span class="hl kwd">MemberGroupInfoContext</span><span class="hl opt">(</span><span class="hl kwb">const</span> Definition <span class="hl opt">*</span>def<span class="hl opt">,</span>
       <span class="hl kwb">const</span> QCString <span class="hl opt">&amp;</span>relPath<span class="hl opt">,</span><span class="hl kwb">const</span> MemberGroup <span class="hl opt">*</span>mg<span class="hl opt">) :</span> <span class="hl kwd">RefCountedContext</span><span class="hl opt">(</span><span class="hl str">&quot;MemberGroupInfoContext&quot;</span><span class="hl opt">)</span>
<span class="hl opt">{</span>
  p <span class="hl opt">=</span> <span class="hl kwa">new</span> <span class="hl kwd">Private</span><span class="hl opt">(</span>def<span class="hl opt">,</span>relPath<span class="hl opt">,</span>mg<span class="hl opt">);</span>
<span class="hl opt">}</span>

MemberGroupInfoContext<span class="hl opt">::~</span><span class="hl kwd">MemberGroupInfoContext</span><span class="hl opt">()</span>
<span class="hl opt">{</span>
  <span class="hl kwa">delete</span> p<span class="hl opt">;</span>
<span class="hl opt">}</span>

TemplateVariant MemberGroupInfoContext<span class="hl opt">::</span><span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwb">const char</span> <span class="hl opt">*</span>name<span class="hl opt">)</span> <span class="hl kwb">const</span>
<span class="hl opt">{</span>
  <span class="hl kwa">return</span> p<span class="hl opt">-&gt;</span><span class="hl kwd">get</span><span class="hl opt">(</span>name<span class="hl opt">);</span>
<span class="hl opt">}</span>

<span class="hl slc">//------------------------------------------------------------------------</span>

<span class="hl slc">//%% list MemberGroupList[MemberGroupInfo] : list of member groups</span>
<span class="hl kwc">class</span> MemberGroupListContext<span class="hl opt">::</span>Private <span class="hl opt">:</span> <span class="hl kwc">public</span> GenericNodeListContext
<span class="hl opt">{</span>
  <span class="hl kwc">public</span><span class="hl opt">:</span>
    <span class="hl kwb">void</span> <span class="hl kwd">addMemberGroup</span><span class="hl opt">(</span><span class="hl kwb">const</span> Definition <span class="hl opt">*</span>def<span class="hl opt">,</span><span class="hl kwb">const</span> QCString <span class="hl opt">&amp;</span>relPath<span class="hl opt">,</span><span class="hl kwb">const</span> MemberGroup <span class="hl opt">*</span>mg<span class="hl opt">)</span>
    <span class="hl opt">{</span>
      <span class="hl kwd">append</span><span class="hl opt">(</span>MemberGroupInfoContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>def<span class="hl opt">,</span>relPath<span class="hl opt">,</span>mg<span class="hl opt">));</span>
    <span class="hl opt">}</span>
<span class="hl opt">};</span>

MemberGroupListContext<span class="hl opt">::</span><span class="hl kwd">MemberGroupListContext</span><span class="hl opt">() :</span> <span class="hl kwd">RefCountedContext</span><span class="hl opt">(</span><span class="hl str">&quot;MemberGroupListContext&quot;</span><span class="hl opt">)</span>
<span class="hl opt">{</span>
  p <span class="hl opt">=</span> <span class="hl kwa">new</span> Private<span class="hl opt">;</span>
<span class="hl opt">}</span>

MemberGroupListContext<span class="hl opt">::</span><span class="hl kwd">MemberGroupListContext</span><span class="hl opt">(</span><span class="hl kwb">const</span> Definition <span class="hl opt">*</span>def<span class="hl opt">,</span><span class="hl kwb">const</span> QCString <span class="hl opt">&amp;</span>relPath<span class="hl opt">,</span><span class="hl kwb">const</span> MemberGroupList <span class="hl opt">*</span>list<span class="hl opt">) :</span> <span class="hl kwd">RefCountedContext</span><span class="hl opt">(</span><span class="hl str">&quot;MemberGroupListContext&quot;</span><span class="hl opt">)</span>
<span class="hl opt">{</span>
  p <span class="hl opt">=</span> <span class="hl kwa">new</span> Private<span class="hl opt">;</span>
  <span class="hl kwa">if</span> <span class="hl opt">(</span>list<span class="hl opt">)</span>
  <span class="hl opt">{</span>
    MemberGroupListIterator <span class="hl kwd">mgli</span><span class="hl opt">(*</span>list<span class="hl opt">);</span>
    MemberGroup <span class="hl opt">*</span>mg<span class="hl opt">;</span>
    <span class="hl kwa">for</span> <span class="hl opt">(;(</span>mg<span class="hl opt">=</span>mgli<span class="hl opt">.</span><span class="hl kwd">current</span><span class="hl opt">());++</span>mgli<span class="hl opt">)</span>
    <span class="hl opt">{</span>
      p<span class="hl opt">-&gt;</span><span class="hl kwd">addMemberGroup</span><span class="hl opt">(</span>def<span class="hl opt">,</span>relPath<span class="hl opt">,</span>mg<span class="hl opt">);</span>
    <span class="hl opt">}</span>
  <span class="hl opt">}</span>
<span class="hl opt">}</span>

MemberGroupListContext<span class="hl opt">::</span><span class="hl kwd">MemberGroupListContext</span><span class="hl opt">(</span><span class="hl kwb">const</span> Definition <span class="hl opt">*</span>def<span class="hl opt">,</span><span class="hl kwb">const</span> QCString <span class="hl opt">&amp;</span>relPath<span class="hl opt">,</span><span class="hl kwb">const</span> MemberGroupSDict <span class="hl opt">*</span>dict<span class="hl opt">,</span><span class="hl kwb">bool</span> subGrouping<span class="hl opt">) :</span> <span class="hl kwd">RefCountedContext</span><span class="hl opt">(</span><span class="hl str">&quot;MemberGroupListContext&quot;</span><span class="hl opt">)</span>
<span class="hl opt">{</span>
  p <span class="hl opt">=</span> <span class="hl kwa">new</span> Private<span class="hl opt">;</span>
  <span class="hl kwa">if</span> <span class="hl opt">(</span>dict<span class="hl opt">)</span>
  <span class="hl opt">{</span>
    MemberGroupSDict<span class="hl opt">::</span>Iterator <span class="hl kwd">di</span><span class="hl opt">(*</span>dict<span class="hl opt">);</span>
    <span class="hl kwb">const</span> MemberGroup <span class="hl opt">*</span>mg<span class="hl opt">;</span>
    <span class="hl kwa">for</span> <span class="hl opt">(</span>di<span class="hl opt">.</span><span class="hl kwd">toFirst</span><span class="hl opt">();(</span>mg<span class="hl opt">=</span>di<span class="hl opt">.</span><span class="hl kwd">current</span><span class="hl opt">());++</span>di<span class="hl opt">)</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>mg<span class="hl opt">-&gt;</span><span class="hl kwd">allMembersInSameSection</span><span class="hl opt">() || !</span>subGrouping<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        p<span class="hl opt">-&gt;</span><span class="hl kwd">addMemberGroup</span><span class="hl opt">(</span>def<span class="hl opt">,</span>relPath<span class="hl opt">,</span>mg<span class="hl opt">);</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
  <span class="hl opt">}</span>
<span class="hl opt">}</span>

MemberGroupListContext<span class="hl opt">::~</span><span class="hl kwd">MemberGroupListContext</span><span class="hl opt">()</span>
<span class="hl opt">{</span>
  <span class="hl kwa">delete</span> p<span class="hl opt">;</span>
<span class="hl opt">}</span>

<span class="hl slc">// TemplateListIntf</span>
uint MemberGroupListContext<span class="hl opt">::</span><span class="hl kwd">count</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
<span class="hl opt">{</span>
  <span class="hl kwa">return</span> p<span class="hl opt">-&gt;</span><span class="hl kwd">count</span><span class="hl opt">();</span>
<span class="hl opt">}</span>

TemplateVariant MemberGroupListContext<span class="hl opt">::</span><span class="hl kwd">at</span><span class="hl opt">(</span>uint index<span class="hl opt">)</span> <span class="hl kwb">const</span>
<span class="hl opt">{</span>
  <span class="hl kwa">return</span> p<span class="hl opt">-&gt;</span><span class="hl kwd">at</span><span class="hl opt">(</span>index<span class="hl opt">);</span>
<span class="hl opt">}</span>

TemplateListIntf<span class="hl opt">::</span>ConstIterator <span class="hl opt">*</span>MemberGroupListContext<span class="hl opt">::</span><span class="hl kwd">createIterator</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
<span class="hl opt">{</span>
  <span class="hl kwa">return</span> p<span class="hl opt">-&gt;</span><span class="hl kwd">createIterator</span><span class="hl opt">();</span>
<span class="hl opt">}</span>


<span class="hl slc">//------------------------------------------------------------------------</span>

<span class="hl slc">//%% struct MemberListInfo: member list information</span>
<span class="hl slc">//%% {</span>
<span class="hl kwc">class</span> MemberListInfoContext<span class="hl opt">::</span>Private
<span class="hl opt">{</span>
  <span class="hl kwc">public</span><span class="hl opt">:</span>
    <span class="hl kwd">Private</span><span class="hl opt">(</span><span class="hl kwb">const</span> Definition <span class="hl opt">*</span>def<span class="hl opt">,</span><span class="hl kwb">const</span> QCString <span class="hl opt">&amp;</span>relPath<span class="hl opt">,</span><span class="hl kwb">const</span> MemberList <span class="hl opt">*</span>ml<span class="hl opt">,</span><span class="hl kwb">const</span> QCString <span class="hl opt">&amp;</span>title<span class="hl opt">,</span><span class="hl kwb">const</span> QCString <span class="hl opt">&amp;</span>subtitle<span class="hl opt">) :</span>
      <span class="hl kwd">m_def</span><span class="hl opt">(</span>def<span class="hl opt">),</span>
      <span class="hl kwd">m_memberList</span><span class="hl opt">(</span>ml<span class="hl opt">),</span>
      <span class="hl kwd">m_relPath</span><span class="hl opt">(</span>relPath<span class="hl opt">),</span>
      <span class="hl kwd">m_title</span><span class="hl opt">(</span>title<span class="hl opt">),</span>
      <span class="hl kwd">m_subtitle</span><span class="hl opt">(</span>subtitle<span class="hl opt">)</span>
    <span class="hl opt">{</span>
      <span class="hl kwb">static bool</span> init<span class="hl opt">=</span>FALSE<span class="hl opt">;</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>init<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;members&quot;</span><span class="hl opt">,      &amp;</span>Private<span class="hl opt">::</span>members<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;title&quot;</span><span class="hl opt">,        &amp;</span>Private<span class="hl opt">::</span>title<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;subtitle&quot;</span><span class="hl opt">,     &amp;</span>Private<span class="hl opt">::</span>subtitle<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;anchor&quot;</span><span class="hl opt">,       &amp;</span>Private<span class="hl opt">::</span>anchor<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;memberGroups&quot;</span><span class="hl opt">, &amp;</span>Private<span class="hl opt">::</span>memberGroups<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;inherited&quot;</span><span class="hl opt">,    &amp;</span>Private<span class="hl opt">::</span>inherited<span class="hl opt">);</span>
        init<span class="hl opt">=</span>TRUE<span class="hl opt">;</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwb">const char</span> <span class="hl opt">*</span>n<span class="hl opt">)</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> s_inst<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwa">this</span><span class="hl opt">,</span>n<span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">members</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>m_cache<span class="hl opt">.</span>memberListContext<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        m_cache<span class="hl opt">.</span>memberListContext<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>MemberListContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>m_memberList<span class="hl opt">));</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> m_cache<span class="hl opt">.</span>memberListContext<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">title</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_title<span class="hl opt">;</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">subtitle</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_subtitle<span class="hl opt">;</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">anchor</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> MemberList<span class="hl opt">::</span><span class="hl kwd">listTypeAsString</span><span class="hl opt">(</span>m_memberList<span class="hl opt">-&gt;</span><span class="hl kwd">listType</span><span class="hl opt">());</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">memberGroups</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>m_cache<span class="hl opt">.</span>memberGroups<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        m_cache<span class="hl opt">.</span>memberGroups<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>MemberGroupListContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>m_def<span class="hl opt">,</span>m_relPath<span class="hl opt">,</span>m_memberList<span class="hl opt">-&gt;</span><span class="hl kwd">getMemberGroupList</span><span class="hl opt">()));</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> m_cache<span class="hl opt">.</span>memberGroups<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">inherited</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>m_cache<span class="hl opt">.</span>inherited <span class="hl opt">&amp;&amp; (</span>m_memberList<span class="hl opt">-&gt;</span><span class="hl kwd">listType</span><span class="hl opt">()&amp;</span>MemberListType_detailedLists<span class="hl opt">)==</span><span class="hl num">0</span> <span class="hl opt">&amp;&amp;</span>
          m_def<span class="hl opt">-&gt;</span><span class="hl kwd">definitionType</span><span class="hl opt">()==</span>Definition<span class="hl opt">::</span>TypeClass<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        InheritedMemberInfoListContext <span class="hl opt">*</span>ctx <span class="hl opt">=</span> InheritedMemberInfoListContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">();</span>
        ctx<span class="hl opt">-&gt;</span><span class="hl kwd">addMemberList</span><span class="hl opt">(</span><span class="hl kwa">dynamic_cast</span><span class="hl opt">&lt;</span><span class="hl kwb">const</span> ClassDef<span class="hl opt">*&gt;(</span>m_def<span class="hl opt">),</span>m_memberList<span class="hl opt">-&gt;</span><span class="hl kwd">listType</span><span class="hl opt">(),</span>m_title<span class="hl opt">,</span>FALSE<span class="hl opt">);</span>
        m_cache<span class="hl opt">.</span>inherited<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>ctx<span class="hl opt">);</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>m_cache<span class="hl opt">.</span>inherited<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> m_cache<span class="hl opt">.</span>inherited<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">else</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">return</span> <span class="hl kwd">TemplateVariant</span><span class="hl opt">(</span>FALSE<span class="hl opt">);</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
  <span class="hl kwc">private</span><span class="hl opt">:</span>
    <span class="hl kwb">const</span> Definition <span class="hl opt">*</span>m_def<span class="hl opt">;</span>
    <span class="hl kwb">const</span> MemberList <span class="hl opt">*</span>m_memberList<span class="hl opt">;</span>
    QCString m_relPath<span class="hl opt">;</span>
    QCString m_title<span class="hl opt">;</span>
    QCString m_subtitle<span class="hl opt">;</span>
    <span class="hl kwb">struct</span> Cachable
    <span class="hl opt">{</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberListContext<span class="hl opt">&gt;</span> memberListContext<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>MemberGroupListContext<span class="hl opt">&gt;</span> memberGroups<span class="hl opt">;</span>
      SharedPtr<span class="hl opt">&lt;</span>InheritedMemberInfoListContext<span class="hl opt">&gt;</span> inherited<span class="hl opt">;</span>
    <span class="hl opt">};</span>
    <span class="hl kwc">mutable</span> Cachable m_cache<span class="hl opt">;</span>
    <span class="hl kwb">static</span> PropertyMapper<span class="hl opt">&lt;</span>MemberListInfoContext<span class="hl opt">::</span>Private<span class="hl opt">&gt;</span> s_inst<span class="hl opt">;</span>
<span class="hl opt">};</span>
<span class="hl slc">//%% }</span>

PropertyMapper<span class="hl opt">&lt;</span>MemberListInfoContext<span class="hl opt">::</span>Private<span class="hl opt">&gt;</span> MemberListInfoContext<span class="hl opt">::</span>Private<span class="hl opt">::</span>s_inst<span class="hl opt">;</span>

MemberListInfoContext<span class="hl opt">::</span><span class="hl kwd">MemberListInfoContext</span><span class="hl opt">(</span>
           <span class="hl kwb">const</span> Definition <span class="hl opt">*</span>def<span class="hl opt">,</span><span class="hl kwb">const</span> QCString <span class="hl opt">&amp;</span>relPath<span class="hl opt">,</span><span class="hl kwb">const</span> MemberList <span class="hl opt">*</span>ml<span class="hl opt">,</span>
           <span class="hl kwb">const</span> QCString <span class="hl opt">&amp;</span>title<span class="hl opt">,</span><span class="hl kwb">const</span> QCString <span class="hl opt">&amp;</span>subtitle<span class="hl opt">) :</span> <span class="hl kwd">RefCountedContext</span><span class="hl opt">(</span><span class="hl str">&quot;MemberListInfoContext&quot;</span><span class="hl opt">)</span>
<span class="hl opt">{</span>
  p <span class="hl opt">=</span> <span class="hl kwa">new</span> <span class="hl kwd">Private</span><span class="hl opt">(</span>def<span class="hl opt">,</span>relPath<span class="hl opt">,</span>ml<span class="hl opt">,</span>title<span class="hl opt">,</span>subtitle<span class="hl opt">);</span>
<span class="hl opt">}</span>

MemberListInfoContext<span class="hl opt">::~</span><span class="hl kwd">MemberListInfoContext</span><span class="hl opt">()</span>
<span class="hl opt">{</span>
  <span class="hl kwa">delete</span> p<span class="hl opt">;</span>
<span class="hl opt">}</span>

TemplateVariant MemberListInfoContext<span class="hl opt">::</span><span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwb">const char</span> <span class="hl opt">*</span>name<span class="hl opt">)</span> <span class="hl kwb">const</span>
<span class="hl opt">{</span>
  <span class="hl kwa">return</span> p<span class="hl opt">-&gt;</span><span class="hl kwd">get</span><span class="hl opt">(</span>name<span class="hl opt">);</span>
<span class="hl opt">}</span>

<span class="hl slc">//------------------------------------------------------------------------</span>

<span class="hl slc">//%% struct InheritedMemberInfo: inherited member information</span>
<span class="hl slc">//%% {</span>
<span class="hl kwc">class</span> InheritedMemberInfoContext<span class="hl opt">::</span>Private
<span class="hl opt">{</span>
  <span class="hl kwc">public</span><span class="hl opt">:</span>
    <span class="hl kwd">Private</span><span class="hl opt">(</span><span class="hl kwb">const</span> ClassDef <span class="hl opt">*</span>cd<span class="hl opt">,</span>MemberList <span class="hl opt">*</span>ml<span class="hl opt">,</span><span class="hl kwb">const</span> QCString <span class="hl opt">&amp;</span>title<span class="hl opt">)</span>
      <span class="hl opt">:</span> <span class="hl kwd">m_class</span><span class="hl opt">(</span>cd<span class="hl opt">),</span> <span class="hl kwd">m_memberList</span><span class="hl opt">(</span>ml<span class="hl opt">),</span> <span class="hl kwd">m_title</span><span class="hl opt">(</span>title<span class="hl opt">)</span>
    <span class="hl opt">{</span>
      <span class="hl kwb">static bool</span> init<span class="hl opt">=</span>FALSE<span class="hl opt">;</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>init<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;class&quot;</span><span class="hl opt">,         &amp;</span>Private<span class="hl opt">::</span>getClass<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;title&quot;</span><span class="hl opt">,         &amp;</span>Private<span class="hl opt">::</span>title<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;members&quot;</span><span class="hl opt">,       &amp;</span>Private<span class="hl opt">::</span>members<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;id&quot;</span><span class="hl opt">,            &amp;</span>Private<span class="hl opt">::</span>id<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;inheritedFrom&quot;</span><span class="hl opt">, &amp;</span>Private<span class="hl opt">::</span>inheritedFrom<span class="hl opt">);</span>
        init<span class="hl opt">=</span>TRUE<span class="hl opt">;</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwb">const char</span> <span class="hl opt">*</span>n<span class="hl opt">)</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> s_inst<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwa">this</span><span class="hl opt">,</span>n<span class="hl opt">);</span>
    <span class="hl opt">}</span>
    <span class="hl kwc">virtual</span> <span class="hl opt">~</span><span class="hl kwd">Private</span><span class="hl opt">()</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">delete</span> m_memberList<span class="hl opt">;</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">getClass</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>m_classCtx<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        m_classCtx<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>ClassContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>m_class<span class="hl opt">));</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> m_classCtx<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">title</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_title<span class="hl opt">;</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">members</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>m_memberListCtx<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        m_memberListCtx<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>MemberListContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>m_memberList<span class="hl opt">));</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> m_memberListCtx<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">id</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">substitute</span><span class="hl opt">(</span>MemberList<span class="hl opt">::</span><span class="hl kwd">listTypeAsString</span><span class="hl opt">(</span>m_memberList<span class="hl opt">-&gt;</span><span class="hl kwd">listType</span><span class="hl opt">()),</span><span class="hl str">&quot;-&quot;</span><span class="hl opt">,</span><span class="hl str">&quot;_&quot;</span><span class="hl opt">)+</span><span class="hl str">&quot;_&quot;</span><span class="hl opt">+</span>
                        <span class="hl kwd">stripPath</span><span class="hl opt">(</span>m_class<span class="hl opt">-&gt;</span><span class="hl kwd">getOutputFileBase</span><span class="hl opt">());</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">inheritedFrom</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>m_inheritedFrom<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        m_inheritedFrom<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>TemplateList<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">());</span>
        m_inheritedFrom<span class="hl opt">-&gt;</span><span class="hl kwd">append</span><span class="hl opt">(</span><span class="hl kwd">title</span><span class="hl opt">());</span>
        m_inheritedFrom<span class="hl opt">-&gt;</span><span class="hl kwd">append</span><span class="hl opt">(</span><span class="hl kwd">getClass</span><span class="hl opt">());</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> m_inheritedFrom<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>

  <span class="hl kwc">private</span><span class="hl opt">:</span>
    <span class="hl kwb">const</span> ClassDef <span class="hl opt">*</span>  m_class<span class="hl opt">;</span>
    MemberList <span class="hl opt">*</span>m_memberList<span class="hl opt">;</span>
    QCString    m_title<span class="hl opt">;</span>
    <span class="hl kwc">mutable</span> SharedPtr<span class="hl opt">&lt;</span>ClassContext<span class="hl opt">&gt;</span> m_classCtx<span class="hl opt">;</span>
    <span class="hl kwc">mutable</span> SharedPtr<span class="hl opt">&lt;</span>MemberListContext<span class="hl opt">&gt;</span> m_memberListCtx<span class="hl opt">;</span>
    <span class="hl kwc">mutable</span> SharedPtr<span class="hl opt">&lt;</span>TemplateList<span class="hl opt">&gt;</span> m_inheritedFrom<span class="hl opt">;</span>
    <span class="hl kwb">static</span> PropertyMapper<span class="hl opt">&lt;</span>InheritedMemberInfoContext<span class="hl opt">::</span>Private<span class="hl opt">&gt;</span> s_inst<span class="hl opt">;</span>
<span class="hl opt">};</span>
<span class="hl slc">//%% }</span>

PropertyMapper<span class="hl opt">&lt;</span>InheritedMemberInfoContext<span class="hl opt">::</span>Private<span class="hl opt">&gt;</span> InheritedMemberInfoContext<span class="hl opt">::</span>Private<span class="hl opt">::</span>s_inst<span class="hl opt">;</span>

InheritedMemberInfoContext<span class="hl opt">::</span><span class="hl kwd">InheritedMemberInfoContext</span><span class="hl opt">(</span><span class="hl kwb">const</span> ClassDef <span class="hl opt">*</span>cd<span class="hl opt">,</span>MemberList <span class="hl opt">*</span>ml<span class="hl opt">,</span>
                                                       <span class="hl kwb">const</span> QCString <span class="hl opt">&amp;</span>title<span class="hl opt">) :</span> <span class="hl kwd">RefCountedContext</span><span class="hl opt">(</span><span class="hl str">&quot;InheritedMemberInfoContext&quot;</span><span class="hl opt">)</span>
<span class="hl opt">{</span>
  p <span class="hl opt">=</span> <span class="hl kwa">new</span> <span class="hl kwd">Private</span><span class="hl opt">(</span>cd<span class="hl opt">,</span>ml<span class="hl opt">,</span>title<span class="hl opt">);</span>
<span class="hl opt">}</span>

InheritedMemberInfoContext<span class="hl opt">::~</span><span class="hl kwd">InheritedMemberInfoContext</span><span class="hl opt">()</span>
<span class="hl opt">{</span>
  <span class="hl kwa">delete</span> p<span class="hl opt">;</span>
<span class="hl opt">}</span>

TemplateVariant InheritedMemberInfoContext<span class="hl opt">::</span><span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwb">const char</span> <span class="hl opt">*</span>name<span class="hl opt">)</span> <span class="hl kwb">const</span>
<span class="hl opt">{</span>
  <span class="hl kwa">return</span> p<span class="hl opt">-&gt;</span><span class="hl kwd">get</span><span class="hl opt">(</span>name<span class="hl opt">);</span>
<span class="hl opt">}</span>

<span class="hl slc">//------------------------------------------------------------------------</span>

<span class="hl slc">//%% list InheritedMemberList[InheritedMemberInfo] : list of inherited classes</span>
<span class="hl kwc">class</span> InheritedMemberInfoListContext<span class="hl opt">::</span>Private <span class="hl opt">:</span> <span class="hl kwc">public</span> GenericNodeListContext
<span class="hl opt">{</span>
  <span class="hl kwc">public</span><span class="hl opt">:</span>
    <span class="hl kwb">void</span> <span class="hl kwd">addMemberList</span><span class="hl opt">(</span><span class="hl kwb">const</span> ClassDef <span class="hl opt">*</span>inheritedFrom<span class="hl opt">,</span>MemberList <span class="hl opt">*</span>ml<span class="hl opt">,</span>MemberList <span class="hl opt">*</span>combinedList<span class="hl opt">)</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>ml<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        MemberListIterator <span class="hl kwd">li</span><span class="hl opt">(*</span>ml<span class="hl opt">);</span>
        MemberDef <span class="hl opt">*</span>md<span class="hl opt">;</span>
        <span class="hl kwa">for</span> <span class="hl opt">(</span>li<span class="hl opt">.</span><span class="hl kwd">toFirst</span><span class="hl opt">();(</span>md<span class="hl opt">=</span>li<span class="hl opt">.</span><span class="hl kwd">current</span><span class="hl opt">());++</span>li<span class="hl opt">)</span>
        <span class="hl opt">{</span>
          <span class="hl kwa">if</span> <span class="hl opt">(</span>md<span class="hl opt">-&gt;</span><span class="hl kwd">isBriefSectionVisible</span><span class="hl opt">() &amp;&amp; !</span>md<span class="hl opt">-&gt;</span><span class="hl kwd">isReimplementedBy</span><span class="hl opt">(</span>inheritedFrom<span class="hl opt">))</span>
          <span class="hl opt">{</span>
            combinedList<span class="hl opt">-&gt;</span><span class="hl kwd">append</span><span class="hl opt">(</span>md<span class="hl opt">);</span>
          <span class="hl opt">}</span>
        <span class="hl opt">}</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
    <span class="hl kwb">void</span> <span class="hl kwd">addMemberListIncludingGrouped</span><span class="hl opt">(</span><span class="hl kwb">const</span> ClassDef <span class="hl opt">*</span>inheritedFrom<span class="hl opt">,</span>MemberList <span class="hl opt">*</span>ml<span class="hl opt">,</span>MemberList <span class="hl opt">*</span>combinedList<span class="hl opt">)</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>ml<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwd">addMemberList</span><span class="hl opt">(</span>inheritedFrom<span class="hl opt">,</span>ml<span class="hl opt">,</span>combinedList<span class="hl opt">);</span>
        <span class="hl kwa">if</span> <span class="hl opt">(</span>ml<span class="hl opt">-&gt;</span><span class="hl kwd">getMemberGroupList</span><span class="hl opt">())</span>
        <span class="hl opt">{</span>
          MemberGroupListIterator <span class="hl kwd">mgli</span><span class="hl opt">(*</span>ml<span class="hl opt">-&gt;</span><span class="hl kwd">getMemberGroupList</span><span class="hl opt">());</span>
          MemberGroup <span class="hl opt">*</span>mg<span class="hl opt">;</span>
          <span class="hl kwa">for</span> <span class="hl opt">(</span>mgli<span class="hl opt">.</span><span class="hl kwd">toFirst</span><span class="hl opt">();(</span>mg<span class="hl opt">=</span>mgli<span class="hl opt">.</span><span class="hl kwd">current</span><span class="hl opt">());++</span>mgli<span class="hl opt">)</span>
          <span class="hl opt">{</span>
            <span class="hl kwd">addMemberList</span><span class="hl opt">(</span>inheritedFrom<span class="hl opt">,</span>mg<span class="hl opt">-&gt;</span><span class="hl kwd">members</span><span class="hl opt">(),</span>combinedList<span class="hl opt">);</span>
          <span class="hl opt">}</span>
        <span class="hl opt">}</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
    <span class="hl kwb">void</span> <span class="hl kwd">addMemberGroupsOfClass</span><span class="hl opt">(</span><span class="hl kwb">const</span> ClassDef <span class="hl opt">*</span>inheritedFrom<span class="hl opt">,</span>
                                <span class="hl kwb">const</span> ClassDef <span class="hl opt">*</span>cd<span class="hl opt">,</span>MemberListType lt<span class="hl opt">,</span>MemberList <span class="hl opt">*</span>combinedList<span class="hl opt">)</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>cd<span class="hl opt">-&gt;</span><span class="hl kwd">getMemberGroupSDict</span><span class="hl opt">())</span>
      <span class="hl opt">{</span>
        MemberGroupSDict<span class="hl opt">::</span>Iterator <span class="hl kwd">mgli</span><span class="hl opt">(*</span>cd<span class="hl opt">-&gt;</span><span class="hl kwd">getMemberGroupSDict</span><span class="hl opt">());</span>
        MemberGroup <span class="hl opt">*</span>mg<span class="hl opt">;</span>
        <span class="hl kwa">for</span> <span class="hl opt">(;(</span>mg<span class="hl opt">=</span>mgli<span class="hl opt">.</span><span class="hl kwd">current</span><span class="hl opt">());++</span>mgli<span class="hl opt">)</span>
        <span class="hl opt">{</span>
          <span class="hl kwa">if</span> <span class="hl opt">(</span>mg<span class="hl opt">-&gt;</span><span class="hl kwd">members</span><span class="hl opt">() &amp;&amp; (!</span>mg<span class="hl opt">-&gt;</span><span class="hl kwd">allMembersInSameSection</span><span class="hl opt">() || !</span>cd<span class="hl opt">-&gt;</span><span class="hl kwd">subGrouping</span><span class="hl opt">()))</span> <span class="hl slc">// group is in its own section</span>
          <span class="hl opt">{</span>
            MemberListIterator <span class="hl kwd">li</span><span class="hl opt">(*</span>mg<span class="hl opt">-&gt;</span><span class="hl kwd">members</span><span class="hl opt">());</span>
            MemberDef <span class="hl opt">*</span>md<span class="hl opt">;</span>
            <span class="hl kwa">for</span> <span class="hl opt">(</span>li<span class="hl opt">.</span><span class="hl kwd">toFirst</span><span class="hl opt">();(</span>md<span class="hl opt">=</span>li<span class="hl opt">.</span><span class="hl kwd">current</span><span class="hl opt">());++</span>li<span class="hl opt">)</span>
            <span class="hl opt">{</span>
              <span class="hl kwa">if</span> <span class="hl opt">(</span>lt<span class="hl opt">==</span>md<span class="hl opt">-&gt;</span><span class="hl kwd">getSectionList</span><span class="hl opt">()-&gt;</span><span class="hl kwd">listType</span><span class="hl opt">() &amp;&amp;</span>
                  <span class="hl opt">!</span>md<span class="hl opt">-&gt;</span><span class="hl kwd">isReimplementedBy</span><span class="hl opt">(</span>inheritedFrom<span class="hl opt">) &amp;&amp;</span>
                  md<span class="hl opt">-&gt;</span><span class="hl kwd">isBriefSectionVisible</span><span class="hl opt">())</span>
              <span class="hl opt">{</span>
                combinedList<span class="hl opt">-&gt;</span><span class="hl kwd">append</span><span class="hl opt">(</span>md<span class="hl opt">);</span>
              <span class="hl opt">}</span>
            <span class="hl opt">}</span>
          <span class="hl opt">}</span>
        <span class="hl opt">}</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
    <span class="hl kwb">void</span> <span class="hl kwd">addInheritedMembers</span><span class="hl opt">(</span><span class="hl kwb">const</span> ClassDef <span class="hl opt">*</span>inheritedFrom<span class="hl opt">,</span><span class="hl kwb">const</span> ClassDef <span class="hl opt">*</span>cd<span class="hl opt">,</span>MemberListType lt<span class="hl opt">,</span>
                             MemberListType lt1<span class="hl opt">,</span><span class="hl kwb">int</span> lt2<span class="hl opt">,</span><span class="hl kwb">const</span> QCString <span class="hl opt">&amp;</span>title<span class="hl opt">,</span><span class="hl kwb">bool</span> additionalList<span class="hl opt">)</span>
    <span class="hl opt">{</span>
      <span class="hl kwb">int</span> count <span class="hl opt">=</span> cd<span class="hl opt">-&gt;</span><span class="hl kwd">countMembersIncludingGrouped</span><span class="hl opt">(</span>lt1<span class="hl opt">,</span>inheritedFrom<span class="hl opt">,</span>additionalList<span class="hl opt">);</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>lt2<span class="hl opt">!=-</span><span class="hl num">1</span><span class="hl opt">)</span> count <span class="hl opt">+=</span> cd<span class="hl opt">-&gt;</span><span class="hl kwd">countMembersIncludingGrouped</span><span class="hl opt">((</span>MemberListType<span class="hl opt">)</span>lt2<span class="hl opt">,</span>inheritedFrom<span class="hl opt">,</span>additionalList<span class="hl opt">);</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>count<span class="hl opt">&gt;</span><span class="hl num">0</span><span class="hl opt">)</span>
      <span class="hl opt">{</span>
        MemberList <span class="hl opt">*</span>ml  <span class="hl opt">=</span> cd<span class="hl opt">-&gt;</span><span class="hl kwd">getMemberList</span><span class="hl opt">(</span>lt1<span class="hl opt">);</span>
        MemberList <span class="hl opt">*</span>ml2 <span class="hl opt">=</span> lt2<span class="hl opt">!=-</span><span class="hl num">1</span> ? cd<span class="hl opt">-&gt;</span><span class="hl kwd">getMemberList</span><span class="hl opt">((</span>MemberListType<span class="hl opt">)</span>lt2<span class="hl opt">) :</span> <span class="hl num">0</span><span class="hl opt">;</span>
        MemberList <span class="hl opt">*</span>combinedList <span class="hl opt">=</span> <span class="hl kwa">new</span> <span class="hl kwd">MemberList</span><span class="hl opt">(</span>lt<span class="hl opt">);</span>
        <span class="hl kwd">addMemberListIncludingGrouped</span><span class="hl opt">(</span>inheritedFrom<span class="hl opt">,</span>ml<span class="hl opt">,</span>combinedList<span class="hl opt">);</span>
        <span class="hl kwd">addMemberListIncludingGrouped</span><span class="hl opt">(</span>inheritedFrom<span class="hl opt">,</span>ml2<span class="hl opt">,</span>combinedList<span class="hl opt">);</span>
        <span class="hl kwd">addMemberGroupsOfClass</span><span class="hl opt">(</span>inheritedFrom<span class="hl opt">,</span>cd<span class="hl opt">,</span>lt<span class="hl opt">,</span>combinedList<span class="hl opt">);</span>
        <span class="hl kwa">if</span> <span class="hl opt">(</span>lt2<span class="hl opt">!=-</span><span class="hl num">1</span><span class="hl opt">)</span> <span class="hl kwd">addMemberGroupsOfClass</span><span class="hl opt">(</span>inheritedFrom<span class="hl opt">,</span>cd<span class="hl opt">,(</span>MemberListType<span class="hl opt">)</span>lt2<span class="hl opt">,</span>combinedList<span class="hl opt">);</span>
        <span class="hl kwd">append</span><span class="hl opt">(</span>InheritedMemberInfoContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>cd<span class="hl opt">,</span>combinedList<span class="hl opt">,</span>title<span class="hl opt">));</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
    <span class="hl kwb">void</span> <span class="hl kwd">findInheritedMembers</span><span class="hl opt">(</span><span class="hl kwb">const</span> ClassDef <span class="hl opt">*</span>inheritedFrom<span class="hl opt">,</span><span class="hl kwb">const</span> ClassDef <span class="hl opt">*</span>cd<span class="hl opt">,</span>MemberListType lt<span class="hl opt">,</span>
                              <span class="hl kwb">int</span> lt2<span class="hl opt">,</span> <span class="hl kwb">const</span> QCString <span class="hl opt">&amp;</span>title<span class="hl opt">,</span><span class="hl kwb">bool</span> additionalList<span class="hl opt">,</span>
                              QPtrDict<span class="hl opt">&lt;</span><span class="hl kwb">void</span><span class="hl opt">&gt; *</span>visitedClasses<span class="hl opt">)</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>cd<span class="hl opt">-&gt;</span><span class="hl kwd">baseClasses</span><span class="hl opt">())</span>
      <span class="hl opt">{</span>
        BaseClassListIterator <span class="hl kwd">it</span><span class="hl opt">(*</span>cd<span class="hl opt">-&gt;</span><span class="hl kwd">baseClasses</span><span class="hl opt">());</span>
        BaseClassDef <span class="hl opt">*</span>ibcd<span class="hl opt">;</span>
        <span class="hl kwa">for</span> <span class="hl opt">(</span>it<span class="hl opt">.</span><span class="hl kwd">toFirst</span><span class="hl opt">();(</span>ibcd<span class="hl opt">=</span>it<span class="hl opt">.</span><span class="hl kwd">current</span><span class="hl opt">());++</span>it<span class="hl opt">)</span>
        <span class="hl opt">{</span>
          ClassDef <span class="hl opt">*</span>icd<span class="hl opt">=</span>ibcd<span class="hl opt">-&gt;</span>classDef<span class="hl opt">;</span>
          <span class="hl kwa">if</span> <span class="hl opt">(</span>icd<span class="hl opt">-&gt;</span><span class="hl kwd">isLinkable</span><span class="hl opt">())</span>
          <span class="hl opt">{</span>
            <span class="hl kwb">int</span> lt1<span class="hl opt">,</span>lt3<span class="hl opt">;</span>
            <span class="hl kwd">convertProtectionLevel</span><span class="hl opt">(</span>lt<span class="hl opt">,</span>ibcd<span class="hl opt">-&gt;</span>prot<span class="hl opt">,&amp;</span>lt1<span class="hl opt">,&amp;</span>lt3<span class="hl opt">);</span>
            <span class="hl kwa">if</span> <span class="hl opt">(</span>lt2<span class="hl opt">==-</span><span class="hl num">1</span> <span class="hl opt">&amp;&amp;</span> lt3<span class="hl opt">!=-</span><span class="hl num">1</span><span class="hl opt">)</span>
            <span class="hl opt">{</span>
              lt2<span class="hl opt">=</span>lt3<span class="hl opt">;</span>
            <span class="hl opt">}</span>
            <span class="hl kwa">if</span> <span class="hl opt">(</span>visitedClasses<span class="hl opt">-&gt;</span><span class="hl kwd">find</span><span class="hl opt">(</span>icd<span class="hl opt">)==</span><span class="hl num">0</span><span class="hl opt">)</span>
            <span class="hl opt">{</span>
              visitedClasses<span class="hl opt">-&gt;</span><span class="hl kwd">insert</span><span class="hl opt">(</span>icd<span class="hl opt">,</span>icd<span class="hl opt">);</span> <span class="hl slc">// guard for multiple virtual inheritance</span>
              <span class="hl kwa">if</span> <span class="hl opt">(</span>lt1<span class="hl opt">!=-</span><span class="hl num">1</span><span class="hl opt">)</span>
              <span class="hl opt">{</span>
                <span class="hl slc">// add member info for members of cd with list type lt</span>
                <span class="hl kwd">addInheritedMembers</span><span class="hl opt">(</span>inheritedFrom<span class="hl opt">,</span>icd<span class="hl opt">,</span>lt<span class="hl opt">,(</span>MemberListType<span class="hl opt">)</span>lt1<span class="hl opt">,</span>lt2<span class="hl opt">,</span>title<span class="hl opt">,</span>additionalList<span class="hl opt">);</span>
                <span class="hl slc">// recurse down the inheritance tree</span>
                <span class="hl kwd">findInheritedMembers</span><span class="hl opt">(</span>inheritedFrom<span class="hl opt">,</span>icd<span class="hl opt">,(</span>MemberListType<span class="hl opt">)</span>lt1<span class="hl opt">,</span>lt2<span class="hl opt">,</span>title<span class="hl opt">,</span>additionalList<span class="hl opt">,</span>visitedClasses<span class="hl opt">);</span>
              <span class="hl opt">}</span>
            <span class="hl opt">}</span>
          <span class="hl opt">}</span>
        <span class="hl opt">}</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
<span class="hl opt">};</span>

InheritedMemberInfoListContext<span class="hl opt">::</span><span class="hl kwd">InheritedMemberInfoListContext</span><span class="hl opt">() :</span> <span class="hl kwd">RefCountedContext</span><span class="hl opt">(</span><span class="hl str">&quot;InheritedMemberInfoListContext&quot;</span><span class="hl opt">)</span>
<span class="hl opt">{</span>
  p <span class="hl opt">=</span> <span class="hl kwa">new</span> Private<span class="hl opt">;</span>
<span class="hl opt">}</span>

<span class="hl kwb">void</span> InheritedMemberInfoListContext<span class="hl opt">::</span><span class="hl kwd">addMemberList</span><span class="hl opt">(</span>
    <span class="hl kwb">const</span> ClassDef <span class="hl opt">*</span>cd<span class="hl opt">,</span>MemberListType lt<span class="hl opt">,</span><span class="hl kwb">const</span> QCString <span class="hl opt">&amp;</span>title<span class="hl opt">,</span><span class="hl kwb">bool</span> additionalList<span class="hl opt">)</span>
<span class="hl opt">{</span>
  QPtrDict<span class="hl opt">&lt;</span><span class="hl kwb">void</span><span class="hl opt">&gt;</span> <span class="hl kwd">visited</span><span class="hl opt">(</span><span class="hl num">17</span><span class="hl opt">);</span>
  <span class="hl kwb">bool</span> memberInSection <span class="hl opt">=</span> cd<span class="hl opt">-&gt;</span><span class="hl kwd">countMembersIncludingGrouped</span><span class="hl opt">(</span>lt<span class="hl opt">,</span>cd<span class="hl opt">,</span>FALSE<span class="hl opt">)&gt;</span><span class="hl num">0</span><span class="hl opt">;</span>
  <span class="hl kwb">bool</span> show <span class="hl opt">= (</span>additionalList <span class="hl opt">&amp;&amp; !</span>memberInSection<span class="hl opt">) ||</span> <span class="hl slc">// inherited member to show in the additional inherited members list</span>
              <span class="hl opt">(!</span>additionalList <span class="hl opt">&amp;&amp;</span> memberInSection<span class="hl opt">);</span>   <span class="hl slc">// inherited member to show in a member list of the class</span>
  <span class="hl slc">//printf(&quot;%s:%s show=%d\n&quot;,cd-&gt;name().data(),MemberList::listTypeAsString(lt).data(),show);</span>
  <span class="hl kwa">if</span> <span class="hl opt">(</span>show<span class="hl opt">)</span>
  <span class="hl opt">{</span>
    p<span class="hl opt">-&gt;</span><span class="hl kwd">findInheritedMembers</span><span class="hl opt">(</span>cd<span class="hl opt">,</span>cd<span class="hl opt">,</span>lt<span class="hl opt">,-</span><span class="hl num">1</span><span class="hl opt">,</span>title<span class="hl opt">,</span>additionalList<span class="hl opt">,&amp;</span>visited<span class="hl opt">);</span>
  <span class="hl opt">}</span>
<span class="hl opt">}</span>

InheritedMemberInfoListContext<span class="hl opt">::~</span><span class="hl kwd">InheritedMemberInfoListContext</span><span class="hl opt">()</span>
<span class="hl opt">{</span>
  <span class="hl kwa">delete</span> p<span class="hl opt">;</span>
<span class="hl opt">}</span>

<span class="hl slc">// TemplateListIntf</span>
uint InheritedMemberInfoListContext<span class="hl opt">::</span><span class="hl kwd">count</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
<span class="hl opt">{</span>
  <span class="hl kwa">return</span> p<span class="hl opt">-&gt;</span><span class="hl kwd">count</span><span class="hl opt">();</span>
<span class="hl opt">}</span>

TemplateVariant InheritedMemberInfoListContext<span class="hl opt">::</span><span class="hl kwd">at</span><span class="hl opt">(</span>uint index<span class="hl opt">)</span> <span class="hl kwb">const</span>
<span class="hl opt">{</span>
  <span class="hl kwa">return</span> p<span class="hl opt">-&gt;</span><span class="hl kwd">at</span><span class="hl opt">(</span>index<span class="hl opt">);</span>
<span class="hl opt">}</span>

TemplateListIntf<span class="hl opt">::</span>ConstIterator <span class="hl opt">*</span>InheritedMemberInfoListContext<span class="hl opt">::</span><span class="hl kwd">createIterator</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
<span class="hl opt">{</span>
  <span class="hl kwa">return</span> p<span class="hl opt">-&gt;</span><span class="hl kwd">createIterator</span><span class="hl opt">();</span>
<span class="hl opt">}</span>

<span class="hl slc">//------------------------------------------------------------------------</span>

<span class="hl slc">//%% struct Argument: parameter information</span>
<span class="hl slc">//%% {</span>
<span class="hl kwc">class</span> ArgumentContext<span class="hl opt">::</span>Private
<span class="hl opt">{</span>
  <span class="hl kwc">public</span><span class="hl opt">:</span>
    <span class="hl kwd">Private</span><span class="hl opt">(</span><span class="hl kwb">const</span> Argument <span class="hl opt">&amp;</span>arg<span class="hl opt">,</span><span class="hl kwb">const</span> Definition <span class="hl opt">*</span>def<span class="hl opt">,</span><span class="hl kwb">const</span> QCString <span class="hl opt">&amp;</span>relPath<span class="hl opt">) :</span>
      <span class="hl kwd">m_argument</span><span class="hl opt">(</span>arg<span class="hl opt">),</span> <span class="hl kwd">m_def</span><span class="hl opt">(</span>def<span class="hl opt">),</span> <span class="hl kwd">m_relPath</span><span class="hl opt">(</span>relPath<span class="hl opt">)</span>
    <span class="hl opt">{</span>
      <span class="hl kwb">static bool</span> init<span class="hl opt">=</span>FALSE<span class="hl opt">;</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>init<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;type&quot;</span><span class="hl opt">,     &amp;</span>Private<span class="hl opt">::</span>type<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;name&quot;</span><span class="hl opt">,     &amp;</span>Private<span class="hl opt">::</span>name<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;defVal&quot;</span><span class="hl opt">,   &amp;</span>Private<span class="hl opt">::</span>defVal<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;docs&quot;</span><span class="hl opt">,     &amp;</span>Private<span class="hl opt">::</span>docs<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;attrib&quot;</span><span class="hl opt">,   &amp;</span>Private<span class="hl opt">::</span>attrib<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;array&quot;</span><span class="hl opt">,    &amp;</span>Private<span class="hl opt">::</span>array<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;namePart&quot;</span><span class="hl opt">, &amp;</span>Private<span class="hl opt">::</span>namePart<span class="hl opt">);</span>
        init<span class="hl opt">=</span>TRUE<span class="hl opt">;</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwb">const char</span> <span class="hl opt">*</span>n<span class="hl opt">)</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> s_inst<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwa">this</span><span class="hl opt">,</span>n<span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">type</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">createLinkedText</span><span class="hl opt">(</span>m_def<span class="hl opt">,</span>m_relPath<span class="hl opt">,</span>m_argument<span class="hl opt">.</span>type<span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">attrib</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_argument<span class="hl opt">.</span>attrib<span class="hl opt">;</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">name</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_argument<span class="hl opt">.</span>name<span class="hl opt">;</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">defVal</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">createLinkedText</span><span class="hl opt">(</span>m_def<span class="hl opt">,</span>m_relPath<span class="hl opt">,</span>m_argument<span class="hl opt">.</span>defval<span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">array</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_argument<span class="hl opt">.</span>array<span class="hl opt">;</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">docs</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>m_cache<span class="hl opt">.</span>docs <span class="hl opt">&amp;&amp;</span> m_def<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">if</span> <span class="hl opt">(!</span>m_argument<span class="hl opt">.</span>docs<span class="hl opt">.</span><span class="hl kwd">isEmpty</span><span class="hl opt">())</span>
        <span class="hl opt">{</span>
          m_cache<span class="hl opt">.</span>docs<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span><span class="hl kwa">new</span> <span class="hl kwd">TemplateVariant</span><span class="hl opt">(</span>
                             <span class="hl kwd">parseDoc</span><span class="hl opt">(</span>m_def<span class="hl opt">,</span>m_def<span class="hl opt">-&gt;</span><span class="hl kwd">docFile</span><span class="hl opt">(),</span>m_def<span class="hl opt">-&gt;</span><span class="hl kwd">docLine</span><span class="hl opt">(),</span>
                             m_relPath<span class="hl opt">,</span>m_argument<span class="hl opt">.</span>docs<span class="hl opt">,</span>TRUE<span class="hl opt">)));</span>
        <span class="hl opt">}</span>
        <span class="hl kwa">else</span>
        <span class="hl opt">{</span>
          m_cache<span class="hl opt">.</span>docs<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span><span class="hl kwa">new</span> <span class="hl kwd">TemplateVariant</span><span class="hl opt">(</span><span class="hl str">&quot;&quot;</span><span class="hl opt">));</span>
        <span class="hl opt">}</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> <span class="hl opt">*</span>m_cache<span class="hl opt">.</span>docs<span class="hl opt">;</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">namePart</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      QCString result <span class="hl opt">=</span> m_argument<span class="hl opt">.</span>attrib<span class="hl opt">;</span>
      uint l <span class="hl opt">=</span> result<span class="hl opt">.</span><span class="hl kwd">length</span><span class="hl opt">();</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>l<span class="hl opt">&gt;</span><span class="hl num">2</span> <span class="hl opt">&amp;&amp;</span> result<span class="hl opt">.</span><span class="hl kwd">at</span><span class="hl opt">(</span><span class="hl num">0</span><span class="hl opt">)==</span><span class="hl str">'['</span> <span class="hl opt">&amp;&amp;</span> result<span class="hl opt">.</span><span class="hl kwd">at</span><span class="hl opt">(</span>l<span class="hl opt">-</span><span class="hl num">1</span><span class="hl opt">)==</span><span class="hl str">']'</span><span class="hl opt">)</span>
      <span class="hl opt">{</span>
        result <span class="hl opt">=</span> result<span class="hl opt">.</span><span class="hl kwd">mid</span><span class="hl opt">(</span><span class="hl num">1</span><span class="hl opt">,</span>l<span class="hl opt">-</span><span class="hl num">2</span><span class="hl opt">);</span>
        <span class="hl kwa">if</span> <span class="hl opt">(</span>result<span class="hl opt">!=</span><span class="hl str">&quot;,&quot;</span><span class="hl opt">)</span> result<span class="hl opt">+=</span><span class="hl str">&quot;:&quot;</span><span class="hl opt">;</span> <span class="hl slc">// for normal keywords add colon</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> result<span class="hl opt">;</span>
    <span class="hl opt">}</span>
  <span class="hl kwc">private</span><span class="hl opt">:</span>
    <span class="hl kwb">const</span> Argument <span class="hl opt">&amp;</span>m_argument<span class="hl opt">;</span>
    <span class="hl kwb">const</span> Definition <span class="hl opt">*</span>m_def<span class="hl opt">;</span>
    QCString m_relPath<span class="hl opt">;</span>
    <span class="hl kwb">struct</span> Cachable
    <span class="hl opt">{</span>
      ScopedPtr<span class="hl opt">&lt;</span>TemplateVariant<span class="hl opt">&gt;</span> docs<span class="hl opt">;</span>
    <span class="hl opt">};</span>
    <span class="hl kwc">mutable</span> Cachable m_cache<span class="hl opt">;</span>
    <span class="hl kwb">static</span> PropertyMapper<span class="hl opt">&lt;</span>ArgumentContext<span class="hl opt">::</span>Private<span class="hl opt">&gt;</span> s_inst<span class="hl opt">;</span>
<span class="hl opt">};</span>
<span class="hl slc">//%% }</span>

PropertyMapper<span class="hl opt">&lt;</span>ArgumentContext<span class="hl opt">::</span>Private<span class="hl opt">&gt;</span> ArgumentContext<span class="hl opt">::</span>Private<span class="hl opt">::</span>s_inst<span class="hl opt">;</span>

ArgumentContext<span class="hl opt">::</span><span class="hl kwd">ArgumentContext</span><span class="hl opt">(</span><span class="hl kwb">const</span> Argument <span class="hl opt">&amp;</span>al<span class="hl opt">,</span><span class="hl kwb">const</span> Definition <span class="hl opt">*</span>def<span class="hl opt">,</span><span class="hl kwb">const</span> QCString <span class="hl opt">&amp;</span>relPath<span class="hl opt">) :</span> <span class="hl kwd">RefCountedContext</span><span class="hl opt">(</span><span class="hl str">&quot;ArgumentContext&quot;</span><span class="hl opt">)</span>
<span class="hl opt">{</span>
  p <span class="hl opt">=</span> <span class="hl kwa">new</span> <span class="hl kwd">Private</span><span class="hl opt">(</span>al<span class="hl opt">,</span>def<span class="hl opt">,</span>relPath<span class="hl opt">);</span>
<span class="hl opt">}</span>

ArgumentContext<span class="hl opt">::~</span><span class="hl kwd">ArgumentContext</span><span class="hl opt">()</span>
<span class="hl opt">{</span>
  <span class="hl kwa">delete</span> p<span class="hl opt">;</span>
<span class="hl opt">}</span>

TemplateVariant ArgumentContext<span class="hl opt">::</span><span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwb">const char</span> <span class="hl opt">*</span>name<span class="hl opt">)</span> <span class="hl kwb">const</span>
<span class="hl opt">{</span>
  <span class="hl kwa">return</span> p<span class="hl opt">-&gt;</span><span class="hl kwd">get</span><span class="hl opt">(</span>name<span class="hl opt">);</span>
<span class="hl opt">}</span>

<span class="hl slc">//------------------------------------------------------------------------</span>

<span class="hl slc">//%% list ArgumentList[Argument] : list of inherited classes</span>
<span class="hl kwc">class</span> ArgumentListContext<span class="hl opt">::</span>Private <span class="hl opt">:</span> <span class="hl kwc">public</span> GenericNodeListContext
<span class="hl opt">{</span>
  <span class="hl kwc">public</span><span class="hl opt">:</span>
    <span class="hl kwb">void</span> <span class="hl kwd">addArgument</span><span class="hl opt">(</span><span class="hl kwb">const</span> Argument <span class="hl opt">&amp;</span>arg<span class="hl opt">,</span><span class="hl kwb">const</span> Definition <span class="hl opt">*</span>def<span class="hl opt">,</span><span class="hl kwb">const</span> QCString <span class="hl opt">&amp;</span>relPath<span class="hl opt">)</span>
    <span class="hl opt">{</span>
      <span class="hl kwd">append</span><span class="hl opt">(</span>ArgumentContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>arg<span class="hl opt">,</span>def<span class="hl opt">,</span>relPath<span class="hl opt">));</span>
    <span class="hl opt">}</span>
<span class="hl opt">};</span>

ArgumentListContext<span class="hl opt">::</span><span class="hl kwd">ArgumentListContext</span><span class="hl opt">() :</span> <span class="hl kwd">RefCountedContext</span><span class="hl opt">(</span><span class="hl str">&quot;ArgumentListContext&quot;</span><span class="hl opt">)</span>
<span class="hl opt">{</span>
  p <span class="hl opt">=</span> <span class="hl kwa">new</span> Private<span class="hl opt">;</span>
<span class="hl opt">}</span>

ArgumentListContext<span class="hl opt">::</span><span class="hl kwd">ArgumentListContext</span><span class="hl opt">(</span><span class="hl kwb">const</span> ArgumentList <span class="hl opt">&amp;</span>list<span class="hl opt">,</span>
                        <span class="hl kwb">const</span> Definition <span class="hl opt">*</span>def<span class="hl opt">,</span><span class="hl kwb">const</span> QCString <span class="hl opt">&amp;</span>relPath<span class="hl opt">) :</span> <span class="hl kwd">RefCountedContext</span><span class="hl opt">(</span><span class="hl str">&quot;ArgumentListContext&quot;</span><span class="hl opt">)</span>
<span class="hl opt">{</span>
  p <span class="hl opt">=</span> <span class="hl kwa">new</span> Private<span class="hl opt">;</span>
  <span class="hl kwa">for</span> <span class="hl opt">(</span><span class="hl kwb">const</span> Argument <span class="hl opt">&amp;</span>arg <span class="hl opt">:</span> list<span class="hl opt">)</span>
  <span class="hl opt">{</span>
    p<span class="hl opt">-&gt;</span><span class="hl kwd">addArgument</span><span class="hl opt">(</span>arg<span class="hl opt">,</span>def<span class="hl opt">,</span>relPath<span class="hl opt">);</span>
  <span class="hl opt">}</span>
<span class="hl opt">}</span>

ArgumentListContext<span class="hl opt">::~</span><span class="hl kwd">ArgumentListContext</span><span class="hl opt">()</span>
<span class="hl opt">{</span>
  <span class="hl kwa">delete</span> p<span class="hl opt">;</span>
<span class="hl opt">}</span>

<span class="hl slc">// TemplateListIntf</span>
uint ArgumentListContext<span class="hl opt">::</span><span class="hl kwd">count</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
<span class="hl opt">{</span>
  <span class="hl kwa">return</span> p<span class="hl opt">-&gt;</span><span class="hl kwd">count</span><span class="hl opt">();</span>
<span class="hl opt">}</span>

TemplateVariant ArgumentListContext<span class="hl opt">::</span><span class="hl kwd">at</span><span class="hl opt">(</span>uint index<span class="hl opt">)</span> <span class="hl kwb">const</span>
<span class="hl opt">{</span>
  <span class="hl kwa">return</span> p<span class="hl opt">-&gt;</span><span class="hl kwd">at</span><span class="hl opt">(</span>index<span class="hl opt">);</span>
<span class="hl opt">}</span>

TemplateListIntf<span class="hl opt">::</span>ConstIterator <span class="hl opt">*</span>ArgumentListContext<span class="hl opt">::</span><span class="hl kwd">createIterator</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
<span class="hl opt">{</span>
  <span class="hl kwa">return</span> p<span class="hl opt">-&gt;</span><span class="hl kwd">createIterator</span><span class="hl opt">();</span>
<span class="hl opt">}</span>

<span class="hl slc">//------------------------------------------------------------------------</span>

<span class="hl slc">// SymbolIndex</span>
<span class="hl slc">//  - name: string</span>
<span class="hl slc">//  - letter: string</span>
<span class="hl slc">//  - symbolGroups: SymbolGroupList</span>
<span class="hl slc">// SymbolGroupList: list of SymbolGroups</span>
<span class="hl slc">// SymbolGroup</span>
<span class="hl slc">//  - id</span>
<span class="hl slc">//  - name</span>
<span class="hl slc">//  - symbols: SymbolList</span>
<span class="hl slc">// SymbolList: list of Symbols</span>
<span class="hl slc">// Symbol</span>
<span class="hl slc">//  - obj</span>
<span class="hl slc">//  - scope</span>
<span class="hl slc">//  - relPath</span>

<span class="hl slc">//------------------------------------------------------------------------</span>

<span class="hl slc">//%% struct SymbolGroup: search group of similar symbols</span>
<span class="hl slc">//%% {</span>
<span class="hl kwc">class</span> SymbolContext<span class="hl opt">::</span>Private
<span class="hl opt">{</span>
  <span class="hl kwc">public</span><span class="hl opt">:</span>
    <span class="hl kwd">Private</span><span class="hl opt">(</span><span class="hl kwb">const</span> Definition <span class="hl opt">*</span>d<span class="hl opt">,</span><span class="hl kwb">const</span> Definition <span class="hl opt">*</span>prev<span class="hl opt">,</span>
            <span class="hl kwb">const</span> Definition <span class="hl opt">*</span>next<span class="hl opt">) :</span> <span class="hl kwd">m_def</span><span class="hl opt">(</span>d<span class="hl opt">),</span> <span class="hl kwd">m_prevDef</span><span class="hl opt">(</span>prev<span class="hl opt">),</span> <span class="hl kwd">m_nextDef</span><span class="hl opt">(</span>next<span class="hl opt">)</span>
    <span class="hl opt">{</span>
      <span class="hl kwb">static bool</span> init<span class="hl opt">=</span>FALSE<span class="hl opt">;</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>init<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;fileName&quot;</span><span class="hl opt">,&amp;</span>Private<span class="hl opt">::</span>fileName<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;anchor&quot;</span><span class="hl opt">,  &amp;</span>Private<span class="hl opt">::</span>anchor<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;scope&quot;</span><span class="hl opt">,   &amp;</span>Private<span class="hl opt">::</span>scope<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;relPath&quot;</span><span class="hl opt">, &amp;</span>Private<span class="hl opt">::</span>relPath<span class="hl opt">);</span>
        init<span class="hl opt">=</span>TRUE<span class="hl opt">;</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwb">const char</span> <span class="hl opt">*</span>n<span class="hl opt">)</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> s_inst<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwa">this</span><span class="hl opt">,</span>n<span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">fileName</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_def<span class="hl opt">-&gt;</span><span class="hl kwd">getOutputFileBase</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">anchor</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_def<span class="hl opt">-&gt;</span><span class="hl kwd">anchor</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">scope</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwb">const</span> Definition <span class="hl opt">*</span>scope     <span class="hl opt">=</span> m_def<span class="hl opt">-&gt;</span><span class="hl kwd">getOuterScope</span><span class="hl opt">();</span>
      <span class="hl kwb">const</span> Definition <span class="hl opt">*</span>next      <span class="hl opt">=</span> m_nextDef<span class="hl opt">;</span>
      <span class="hl kwb">const</span> Definition <span class="hl opt">*</span>prev      <span class="hl opt">=</span> m_prevDef<span class="hl opt">;</span>
      <span class="hl kwb">const</span> Definition <span class="hl opt">*</span>nextScope <span class="hl opt">=</span> next ? next<span class="hl opt">-&gt;</span><span class="hl kwd">getOuterScope</span><span class="hl opt">() :</span> <span class="hl num">0</span><span class="hl opt">;</span>
      <span class="hl kwb">const</span> Definition <span class="hl opt">*</span>prevScope <span class="hl opt">=</span> prev ? prev<span class="hl opt">-&gt;</span><span class="hl kwd">getOuterScope</span><span class="hl opt">() :</span> <span class="hl num">0</span><span class="hl opt">;</span>
      <span class="hl kwb">const</span> MemberDef  <span class="hl opt">*</span>md        <span class="hl opt">=</span> <span class="hl kwa">dynamic_cast</span><span class="hl opt">&lt;</span><span class="hl kwb">const</span> MemberDef<span class="hl opt">*&gt;(</span>m_def<span class="hl opt">);</span>
      <span class="hl kwb">bool</span> isFunctionLike   <span class="hl opt">=</span> md <span class="hl opt">&amp;&amp; (</span>md<span class="hl opt">-&gt;</span><span class="hl kwd">isFunction</span><span class="hl opt">() ||</span> md<span class="hl opt">-&gt;</span><span class="hl kwd">isSlot</span><span class="hl opt">() ||</span> md<span class="hl opt">-&gt;</span><span class="hl kwd">isSignal</span><span class="hl opt">());</span>
      <span class="hl kwb">bool</span> overloadedFunction <span class="hl opt">=</span> isFunctionLike <span class="hl opt">&amp;&amp;</span>
                                <span class="hl opt">((</span>prevScope<span class="hl opt">!=</span><span class="hl num">0</span> <span class="hl opt">&amp;&amp;</span> scope<span class="hl opt">==</span>prevScope<span class="hl opt">) || (</span>scope <span class="hl opt">&amp;&amp;</span> scope<span class="hl opt">==</span>nextScope<span class="hl opt">));</span>
      QCString prefix<span class="hl opt">;</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>md<span class="hl opt">)</span> prefix<span class="hl opt">=</span>md<span class="hl opt">-&gt;</span><span class="hl kwd">localName</span><span class="hl opt">();</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>overloadedFunction<span class="hl opt">)</span> <span class="hl slc">// overloaded member function</span>
      <span class="hl opt">{</span>
        prefix<span class="hl opt">+=</span>md<span class="hl opt">-&gt;</span><span class="hl kwd">argsString</span><span class="hl opt">();</span>
        <span class="hl slc">// show argument list to disambiguate overloaded functions</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">else if</span> <span class="hl opt">(</span>md <span class="hl opt">&amp;&amp;</span> isFunctionLike<span class="hl opt">)</span> <span class="hl slc">// unique member function</span>
      <span class="hl opt">{</span>
        prefix<span class="hl opt">+=</span><span class="hl str">&quot;()&quot;</span><span class="hl opt">;</span> <span class="hl slc">// only to show it is a function</span>
      <span class="hl opt">}</span>
      <span class="hl kwb">bool</span> found<span class="hl opt">=</span>FALSE<span class="hl opt">;</span>
      QCString name<span class="hl opt">;</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>m_def<span class="hl opt">-&gt;</span><span class="hl kwd">definitionType</span><span class="hl opt">()==</span>Definition<span class="hl opt">::</span>TypeClass<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        name <span class="hl opt">=</span> m_def<span class="hl opt">-&gt;</span><span class="hl kwd">displayName</span><span class="hl opt">();</span>
        found <span class="hl opt">=</span> TRUE<span class="hl opt">;</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">else if</span> <span class="hl opt">(</span>m_def<span class="hl opt">-&gt;</span><span class="hl kwd">definitionType</span><span class="hl opt">()==</span>Definition<span class="hl opt">::</span>TypeNamespace<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        name <span class="hl opt">=</span> m_def<span class="hl opt">-&gt;</span><span class="hl kwd">displayName</span><span class="hl opt">();</span>
        found <span class="hl opt">=</span> TRUE<span class="hl opt">;</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">else if</span> <span class="hl opt">(</span>scope<span class="hl opt">==</span><span class="hl num">0</span> <span class="hl opt">||</span> scope<span class="hl opt">==</span>Doxygen<span class="hl opt">::</span>globalScope<span class="hl opt">)</span> <span class="hl slc">// in global scope</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">if</span> <span class="hl opt">(</span>md<span class="hl opt">)</span>
        <span class="hl opt">{</span>
          <span class="hl kwb">const</span> FileDef <span class="hl opt">*</span>fd <span class="hl opt">=</span> md<span class="hl opt">-&gt;</span><span class="hl kwd">getBodyDef</span><span class="hl opt">();</span>
          <span class="hl kwa">if</span> <span class="hl opt">(</span>fd<span class="hl opt">==</span><span class="hl num">0</span><span class="hl opt">)</span> fd <span class="hl opt">=</span> md<span class="hl opt">-&gt;</span><span class="hl kwd">getFileDef</span><span class="hl opt">();</span>
          <span class="hl kwa">if</span> <span class="hl opt">(</span>fd<span class="hl opt">)</span>
          <span class="hl opt">{</span>
            <span class="hl kwa">if</span> <span class="hl opt">(!</span>prefix<span class="hl opt">.</span><span class="hl kwd">isEmpty</span><span class="hl opt">())</span> prefix<span class="hl opt">+=</span><span class="hl str">&quot;: &quot;</span><span class="hl opt">;</span>
            name <span class="hl opt">=</span> prefix <span class="hl opt">+</span> <span class="hl kwd">convertToXML</span><span class="hl opt">(</span>fd<span class="hl opt">-&gt;</span><span class="hl kwd">localName</span><span class="hl opt">());</span>
            found <span class="hl opt">=</span> TRUE<span class="hl opt">;</span>
          <span class="hl opt">}</span>
        <span class="hl opt">}</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">else if</span> <span class="hl opt">(</span>md <span class="hl opt">&amp;&amp; (</span>md<span class="hl opt">-&gt;</span><span class="hl kwd">getClassDef</span><span class="hl opt">() ||</span> md<span class="hl opt">-&gt;</span><span class="hl kwd">getNamespaceDef</span><span class="hl opt">()))</span>
        <span class="hl slc">// member in class or namespace scope</span>
      <span class="hl opt">{</span>
        SrcLangExt lang <span class="hl opt">=</span> md<span class="hl opt">-&gt;</span><span class="hl kwd">getLanguage</span><span class="hl opt">();</span>
        name <span class="hl opt">=</span> m_def<span class="hl opt">-&gt;</span><span class="hl kwd">getOuterScope</span><span class="hl opt">()-&gt;</span><span class="hl kwd">qualifiedName</span><span class="hl opt">()</span>
          <span class="hl opt">+</span> <span class="hl kwd">getLanguageSpecificSeparator</span><span class="hl opt">(</span>lang<span class="hl opt">) +</span> prefix<span class="hl opt">;</span>
        found <span class="hl opt">=</span> TRUE<span class="hl opt">;</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">else if</span> <span class="hl opt">(</span>scope<span class="hl opt">)</span> <span class="hl slc">// some thing else? -&gt; show scope</span>
      <span class="hl opt">{</span>
        name <span class="hl opt">=</span> prefix <span class="hl opt">+</span> <span class="hl kwd">convertToXML</span><span class="hl opt">(</span>scope<span class="hl opt">-&gt;</span><span class="hl kwd">name</span><span class="hl opt">());</span>
        found <span class="hl opt">=</span> TRUE<span class="hl opt">;</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>found<span class="hl opt">)</span> <span class="hl slc">// fallback</span>
      <span class="hl opt">{</span>
        name <span class="hl opt">=</span> prefix <span class="hl opt">+</span> <span class="hl str">&quot;(&quot;</span><span class="hl opt">+</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trGlobalNamespace</span><span class="hl opt">()+</span><span class="hl str">&quot;)&quot;</span><span class="hl opt">;</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> name<span class="hl opt">;</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">relPath</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">externalRef</span><span class="hl opt">(</span><span class="hl str">&quot;../&quot;</span><span class="hl opt">,</span>m_def<span class="hl opt">-&gt;</span><span class="hl kwd">getReference</span><span class="hl opt">(),</span>TRUE<span class="hl opt">);</span>
    <span class="hl opt">}</span>
  <span class="hl kwc">private</span><span class="hl opt">:</span>
    <span class="hl kwb">const</span> Definition <span class="hl opt">*</span>m_def<span class="hl opt">;</span>
    <span class="hl kwb">const</span> Definition <span class="hl opt">*</span>m_prevDef<span class="hl opt">;</span>
    <span class="hl kwb">const</span> Definition <span class="hl opt">*</span>m_nextDef<span class="hl opt">;</span>
    <span class="hl kwb">static</span> PropertyMapper<span class="hl opt">&lt;</span>SymbolContext<span class="hl opt">::</span>Private<span class="hl opt">&gt;</span> s_inst<span class="hl opt">;</span>
<span class="hl opt">};</span>
<span class="hl slc">//%% }</span>

PropertyMapper<span class="hl opt">&lt;</span>SymbolContext<span class="hl opt">::</span>Private<span class="hl opt">&gt;</span> SymbolContext<span class="hl opt">::</span>Private<span class="hl opt">::</span>s_inst<span class="hl opt">;</span>

SymbolContext<span class="hl opt">::</span><span class="hl kwd">SymbolContext</span><span class="hl opt">(</span><span class="hl kwb">const</span> Definition <span class="hl opt">*</span>def<span class="hl opt">,</span><span class="hl kwb">const</span> Definition <span class="hl opt">*</span>prevDef<span class="hl opt">,</span><span class="hl kwb">const</span> Definition <span class="hl opt">*</span>nextDef<span class="hl opt">)</span>
    <span class="hl opt">:</span> <span class="hl kwd">RefCountedContext</span><span class="hl opt">(</span><span class="hl str">&quot;SymbolContext&quot;</span><span class="hl opt">)</span>
<span class="hl opt">{</span>
  p <span class="hl opt">=</span> <span class="hl kwa">new</span> <span class="hl kwd">Private</span><span class="hl opt">(</span>def<span class="hl opt">,</span>prevDef<span class="hl opt">,</span>nextDef<span class="hl opt">);</span>
<span class="hl opt">}</span>

SymbolContext<span class="hl opt">::~</span><span class="hl kwd">SymbolContext</span><span class="hl opt">()</span>
<span class="hl opt">{</span>
  <span class="hl kwa">delete</span> p<span class="hl opt">;</span>
<span class="hl opt">}</span>

TemplateVariant SymbolContext<span class="hl opt">::</span><span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwb">const char</span> <span class="hl opt">*</span>name<span class="hl opt">)</span> <span class="hl kwb">const</span>
<span class="hl opt">{</span>
  <span class="hl kwa">return</span> p<span class="hl opt">-&gt;</span><span class="hl kwd">get</span><span class="hl opt">(</span>name<span class="hl opt">);</span>
<span class="hl opt">}</span>

<span class="hl slc">//------------------------------------------------------------------------</span>

<span class="hl slc">//%% list SymbolList[Symbol] : list of search symbols with the same name</span>
<span class="hl kwc">class</span> SymbolListContext<span class="hl opt">::</span>Private <span class="hl opt">:</span> <span class="hl kwc">public</span> GenericNodeListContext
<span class="hl opt">{</span>
  <span class="hl kwc">public</span><span class="hl opt">:</span>
    <span class="hl kwd">Private</span><span class="hl opt">(</span><span class="hl kwb">const</span> SearchDefinitionList <span class="hl opt">*</span>sdl<span class="hl opt">)</span>
    <span class="hl opt">{</span>
      QListIterator<span class="hl opt">&lt;</span>Definition<span class="hl opt">&gt;</span> <span class="hl kwd">li</span><span class="hl opt">(*</span>sdl<span class="hl opt">);</span>
      <span class="hl kwb">const</span> Definition <span class="hl opt">*</span>def<span class="hl opt">;</span>
      <span class="hl kwb">const</span> Definition <span class="hl opt">*</span>prev <span class="hl opt">=</span> <span class="hl num">0</span><span class="hl opt">;</span>
      <span class="hl kwa">for</span> <span class="hl opt">(</span>li<span class="hl opt">.</span><span class="hl kwd">toFirst</span><span class="hl opt">();(</span>def<span class="hl opt">=</span>li<span class="hl opt">.</span><span class="hl kwd">current</span><span class="hl opt">());)</span>
      <span class="hl opt">{</span>
        <span class="hl opt">++</span>li<span class="hl opt">;</span>
        <span class="hl kwb">const</span> Definition <span class="hl opt">*</span>next <span class="hl opt">=</span> li<span class="hl opt">.</span><span class="hl kwd">current</span><span class="hl opt">();</span>
        <span class="hl kwd">append</span><span class="hl opt">(</span>SymbolContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>def<span class="hl opt">,</span>prev<span class="hl opt">,</span>next<span class="hl opt">));</span>
        prev <span class="hl opt">=</span> def<span class="hl opt">;</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
<span class="hl opt">};</span>

SymbolListContext<span class="hl opt">::</span><span class="hl kwd">SymbolListContext</span><span class="hl opt">(</span><span class="hl kwb">const</span> SearchDefinitionList <span class="hl opt">*</span>sdl<span class="hl opt">)</span>
    <span class="hl opt">:</span> <span class="hl kwd">RefCountedContext</span><span class="hl opt">(</span><span class="hl str">&quot;SymbolListContext&quot;</span><span class="hl opt">)</span>
<span class="hl opt">{</span>
  p <span class="hl opt">=</span> <span class="hl kwa">new</span> <span class="hl kwd">Private</span><span class="hl opt">(</span>sdl<span class="hl opt">);</span>
<span class="hl opt">}</span>

SymbolListContext<span class="hl opt">::~</span><span class="hl kwd">SymbolListContext</span><span class="hl opt">()</span>
<span class="hl opt">{</span>
  <span class="hl kwa">delete</span> p<span class="hl opt">;</span>
<span class="hl opt">}</span>

<span class="hl slc">// TemplateListIntf</span>
uint SymbolListContext<span class="hl opt">::</span><span class="hl kwd">count</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
<span class="hl opt">{</span>
  <span class="hl kwa">return</span> p<span class="hl opt">-&gt;</span><span class="hl kwd">count</span><span class="hl opt">();</span>
<span class="hl opt">}</span>

TemplateVariant SymbolListContext<span class="hl opt">::</span><span class="hl kwd">at</span><span class="hl opt">(</span>uint index<span class="hl opt">)</span> <span class="hl kwb">const</span>
<span class="hl opt">{</span>
  <span class="hl kwa">return</span> p<span class="hl opt">-&gt;</span><span class="hl kwd">at</span><span class="hl opt">(</span>index<span class="hl opt">);</span>
<span class="hl opt">}</span>

TemplateListIntf<span class="hl opt">::</span>ConstIterator <span class="hl opt">*</span>SymbolListContext<span class="hl opt">::</span><span class="hl kwd">createIterator</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
<span class="hl opt">{</span>
  <span class="hl kwa">return</span> p<span class="hl opt">-&gt;</span><span class="hl kwd">createIterator</span><span class="hl opt">();</span>
<span class="hl opt">}</span>

<span class="hl slc">//------------------------------------------------------------------------</span>

<span class="hl slc">//%% struct SymbolGroup: search group of similar symbols</span>
<span class="hl slc">//%% {</span>
<span class="hl kwc">class</span> SymbolGroupContext<span class="hl opt">::</span>Private
<span class="hl opt">{</span>
  <span class="hl kwc">public</span><span class="hl opt">:</span>
    <span class="hl kwd">Private</span><span class="hl opt">(</span><span class="hl kwb">const</span> SearchDefinitionList <span class="hl opt">*</span>sdl<span class="hl opt">) :</span> <span class="hl kwd">m_sdl</span><span class="hl opt">(</span>sdl<span class="hl opt">)</span>
    <span class="hl opt">{</span>
      <span class="hl kwb">static bool</span> init<span class="hl opt">=</span>FALSE<span class="hl opt">;</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>init<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;id&quot;</span><span class="hl opt">,     &amp;</span>Private<span class="hl opt">::</span>id<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;name&quot;</span><span class="hl opt">,   &amp;</span>Private<span class="hl opt">::</span>name<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;symbols&quot;</span><span class="hl opt">,&amp;</span>Private<span class="hl opt">::</span>symbolList<span class="hl opt">);</span>
        init<span class="hl opt">=</span>TRUE<span class="hl opt">;</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwb">const char</span> <span class="hl opt">*</span>n<span class="hl opt">)</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> s_inst<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwa">this</span><span class="hl opt">,</span>n<span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">id</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_sdl<span class="hl opt">-&gt;</span><span class="hl kwd">id</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">name</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_sdl<span class="hl opt">-&gt;</span><span class="hl kwd">name</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">symbolList</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>m_cache<span class="hl opt">.</span>symbolList<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        m_cache<span class="hl opt">.</span>symbolList<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>SymbolListContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>m_sdl<span class="hl opt">));</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> m_cache<span class="hl opt">.</span>symbolList<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
  <span class="hl kwc">private</span><span class="hl opt">:</span>
    <span class="hl kwb">const</span> SearchDefinitionList <span class="hl opt">*</span>m_sdl<span class="hl opt">;</span>
    <span class="hl kwb">struct</span> Cachable
    <span class="hl opt">{</span>
      SharedPtr<span class="hl opt">&lt;</span>SymbolListContext<span class="hl opt">&gt;</span> symbolList<span class="hl opt">;</span>
    <span class="hl opt">};</span>
    <span class="hl kwc">mutable</span> Cachable m_cache<span class="hl opt">;</span>
    <span class="hl kwb">static</span> PropertyMapper<span class="hl opt">&lt;</span>SymbolGroupContext<span class="hl opt">::</span>Private<span class="hl opt">&gt;</span> s_inst<span class="hl opt">;</span>
<span class="hl opt">};</span>
<span class="hl slc">//%% }</span>

PropertyMapper<span class="hl opt">&lt;</span>SymbolGroupContext<span class="hl opt">::</span>Private<span class="hl opt">&gt;</span> SymbolGroupContext<span class="hl opt">::</span>Private<span class="hl opt">::</span>s_inst<span class="hl opt">;</span>

SymbolGroupContext<span class="hl opt">::</span><span class="hl kwd">SymbolGroupContext</span><span class="hl opt">(</span><span class="hl kwb">const</span> SearchDefinitionList <span class="hl opt">*</span>sdl<span class="hl opt">)</span>
    <span class="hl opt">:</span> <span class="hl kwd">RefCountedContext</span><span class="hl opt">(</span><span class="hl str">&quot;SymbolGroupContext&quot;</span><span class="hl opt">)</span>
<span class="hl opt">{</span>
  p <span class="hl opt">=</span> <span class="hl kwa">new</span> <span class="hl kwd">Private</span><span class="hl opt">(</span>sdl<span class="hl opt">);</span>
<span class="hl opt">}</span>

SymbolGroupContext<span class="hl opt">::~</span><span class="hl kwd">SymbolGroupContext</span><span class="hl opt">()</span>
<span class="hl opt">{</span>
  <span class="hl kwa">delete</span> p<span class="hl opt">;</span>
<span class="hl opt">}</span>

TemplateVariant SymbolGroupContext<span class="hl opt">::</span><span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwb">const char</span> <span class="hl opt">*</span>name<span class="hl opt">)</span> <span class="hl kwb">const</span>
<span class="hl opt">{</span>
  <span class="hl kwa">return</span> p<span class="hl opt">-&gt;</span><span class="hl kwd">get</span><span class="hl opt">(</span>name<span class="hl opt">);</span>
<span class="hl opt">}</span>

<span class="hl slc">//------------------------------------------------------------------------</span>

<span class="hl slc">//%% list SymbolGroupList[SymbolGroup] : list of search groups one per by name</span>
<span class="hl kwc">class</span> SymbolGroupListContext<span class="hl opt">::</span>Private <span class="hl opt">:</span> <span class="hl kwc">public</span> GenericNodeListContext
<span class="hl opt">{</span>
  <span class="hl kwc">public</span><span class="hl opt">:</span>
    <span class="hl kwd">Private</span><span class="hl opt">(</span><span class="hl kwb">const</span> SearchIndexList <span class="hl opt">*</span>sil<span class="hl opt">)</span>
    <span class="hl opt">{</span>
      SDict<span class="hl opt">&lt;</span>SearchDefinitionList<span class="hl opt">&gt;::</span>Iterator <span class="hl kwd">li</span><span class="hl opt">(*</span>sil<span class="hl opt">);</span>
      SearchDefinitionList <span class="hl opt">*</span>dl<span class="hl opt">;</span>
      <span class="hl kwa">for</span> <span class="hl opt">(</span>li<span class="hl opt">.</span><span class="hl kwd">toFirst</span><span class="hl opt">();(</span>dl<span class="hl opt">=</span>li<span class="hl opt">.</span><span class="hl kwd">current</span><span class="hl opt">());++</span>li<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwd">append</span><span class="hl opt">(</span>SymbolGroupContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>dl<span class="hl opt">));</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
<span class="hl opt">};</span>

SymbolGroupListContext<span class="hl opt">::</span><span class="hl kwd">SymbolGroupListContext</span><span class="hl opt">(</span><span class="hl kwb">const</span> SearchIndexList <span class="hl opt">*</span>sil<span class="hl opt">)</span>
    <span class="hl opt">:</span> <span class="hl kwd">RefCountedContext</span><span class="hl opt">(</span><span class="hl str">&quot;SymbolGroupListContext&quot;</span><span class="hl opt">)</span>
<span class="hl opt">{</span>
  p <span class="hl opt">=</span> <span class="hl kwa">new</span> <span class="hl kwd">Private</span><span class="hl opt">(</span>sil<span class="hl opt">);</span>
<span class="hl opt">}</span>

SymbolGroupListContext<span class="hl opt">::~</span><span class="hl kwd">SymbolGroupListContext</span><span class="hl opt">()</span>
<span class="hl opt">{</span>
  <span class="hl kwa">delete</span> p<span class="hl opt">;</span>
<span class="hl opt">}</span>

<span class="hl slc">// TemplateListIntf</span>
uint SymbolGroupListContext<span class="hl opt">::</span><span class="hl kwd">count</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
<span class="hl opt">{</span>
  <span class="hl kwa">return</span> p<span class="hl opt">-&gt;</span><span class="hl kwd">count</span><span class="hl opt">();</span>
<span class="hl opt">}</span>

TemplateVariant SymbolGroupListContext<span class="hl opt">::</span><span class="hl kwd">at</span><span class="hl opt">(</span>uint index<span class="hl opt">)</span> <span class="hl kwb">const</span>
<span class="hl opt">{</span>
  <span class="hl kwa">return</span> p<span class="hl opt">-&gt;</span><span class="hl kwd">at</span><span class="hl opt">(</span>index<span class="hl opt">);</span>
<span class="hl opt">}</span>

TemplateListIntf<span class="hl opt">::</span>ConstIterator <span class="hl opt">*</span>SymbolGroupListContext<span class="hl opt">::</span><span class="hl kwd">createIterator</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
<span class="hl opt">{</span>
  <span class="hl kwa">return</span> p<span class="hl opt">-&gt;</span><span class="hl kwd">createIterator</span><span class="hl opt">();</span>
<span class="hl opt">}</span>

<span class="hl slc">//------------------------------------------------------------------------</span>

<span class="hl slc">//%% struct SymbolIndex: search index</span>
<span class="hl slc">//%% {</span>
<span class="hl kwc">class</span> SymbolIndexContext<span class="hl opt">::</span>Private
<span class="hl opt">{</span>
  <span class="hl kwc">public</span><span class="hl opt">:</span>
    <span class="hl kwd">Private</span><span class="hl opt">(</span><span class="hl kwb">const</span> SearchIndexList <span class="hl opt">*</span>sl<span class="hl opt">,</span><span class="hl kwb">const</span> QCString <span class="hl opt">&amp;</span>name<span class="hl opt">) :</span> <span class="hl kwd">m_searchList</span><span class="hl opt">(</span>sl<span class="hl opt">),</span> <span class="hl kwd">m_name</span><span class="hl opt">(</span>name<span class="hl opt">)</span>
    <span class="hl opt">{</span>
      <span class="hl kwb">static bool</span> init<span class="hl opt">=</span>FALSE<span class="hl opt">;</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>init<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;name&quot;</span><span class="hl opt">,        &amp;</span>Private<span class="hl opt">::</span>name<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;letter&quot;</span><span class="hl opt">,      &amp;</span>Private<span class="hl opt">::</span>letter<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;symbolGroups&quot;</span><span class="hl opt">,&amp;</span>Private<span class="hl opt">::</span>symbolGroups<span class="hl opt">);</span>
        init<span class="hl opt">=</span>TRUE<span class="hl opt">;</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwb">const char</span> <span class="hl opt">*</span>n<span class="hl opt">)</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> s_inst<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwa">this</span><span class="hl opt">,</span>n<span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">name</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_name<span class="hl opt">;</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">letter</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">QString</span><span class="hl opt">(</span><span class="hl kwd">QChar</span><span class="hl opt">(</span>m_searchList<span class="hl opt">-&gt;</span><span class="hl kwd">letter</span><span class="hl opt">())).</span><span class="hl kwd">utf8</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">symbolGroups</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>m_cache<span class="hl opt">.</span>symbolGroups<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        m_cache<span class="hl opt">.</span>symbolGroups<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>SymbolGroupListContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>m_searchList<span class="hl opt">));</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> m_cache<span class="hl opt">.</span>symbolGroups<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
  <span class="hl kwc">private</span><span class="hl opt">:</span>
    <span class="hl kwb">const</span> SearchIndexList <span class="hl opt">*</span>m_searchList<span class="hl opt">;</span>
    QCString m_name<span class="hl opt">;</span>
    <span class="hl kwb">struct</span> Cachable
    <span class="hl opt">{</span>
      SharedPtr<span class="hl opt">&lt;</span>SymbolGroupListContext<span class="hl opt">&gt;</span> symbolGroups<span class="hl opt">;</span>
    <span class="hl opt">};</span>
    <span class="hl kwc">mutable</span> Cachable m_cache<span class="hl opt">;</span>
    <span class="hl kwb">static</span> PropertyMapper<span class="hl opt">&lt;</span>SymbolIndexContext<span class="hl opt">::</span>Private<span class="hl opt">&gt;</span> s_inst<span class="hl opt">;</span>
<span class="hl opt">};</span>
<span class="hl slc">//%% }</span>

PropertyMapper<span class="hl opt">&lt;</span>SymbolIndexContext<span class="hl opt">::</span>Private<span class="hl opt">&gt;</span> SymbolIndexContext<span class="hl opt">::</span>Private<span class="hl opt">::</span>s_inst<span class="hl opt">;</span>

SymbolIndexContext<span class="hl opt">::</span><span class="hl kwd">SymbolIndexContext</span><span class="hl opt">(</span><span class="hl kwb">const</span> SearchIndexList <span class="hl opt">*</span>sl<span class="hl opt">,</span><span class="hl kwb">const</span> QCString <span class="hl opt">&amp;</span>name<span class="hl opt">)</span>
    <span class="hl opt">:</span> <span class="hl kwd">RefCountedContext</span><span class="hl opt">(</span><span class="hl str">&quot;SymbolIndexContext&quot;</span><span class="hl opt">)</span>
<span class="hl opt">{</span>
  p <span class="hl opt">=</span> <span class="hl kwa">new</span> <span class="hl kwd">Private</span><span class="hl opt">(</span>sl<span class="hl opt">,</span>name<span class="hl opt">);</span>
<span class="hl opt">}</span>

SymbolIndexContext<span class="hl opt">::~</span><span class="hl kwd">SymbolIndexContext</span><span class="hl opt">()</span>
<span class="hl opt">{</span>
  <span class="hl kwa">delete</span> p<span class="hl opt">;</span>
<span class="hl opt">}</span>

TemplateVariant SymbolIndexContext<span class="hl opt">::</span><span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwb">const char</span> <span class="hl opt">*</span>name<span class="hl opt">)</span> <span class="hl kwb">const</span>
<span class="hl opt">{</span>
  <span class="hl kwa">return</span> p<span class="hl opt">-&gt;</span><span class="hl kwd">get</span><span class="hl opt">(</span>name<span class="hl opt">);</span>
<span class="hl opt">}</span>

<span class="hl slc">//------------------------------------------------------------------------</span>

<span class="hl slc">//%% list SymbolIndices[SymbolIndex] : list of search indices one per by type</span>
<span class="hl kwc">class</span> SymbolIndicesContext<span class="hl opt">::</span>Private <span class="hl opt">:</span> <span class="hl kwc">public</span> GenericNodeListContext
<span class="hl opt">{</span>
  <span class="hl kwc">public</span><span class="hl opt">:</span>
    <span class="hl kwd">Private</span><span class="hl opt">(</span><span class="hl kwb">const</span> SearchIndexInfo <span class="hl opt">*</span>info<span class="hl opt">)</span>
    <span class="hl opt">{</span>
      <span class="hl slc">// use info-&gt;symbolList to populate the list</span>
      SIntDict<span class="hl opt">&lt;</span>SearchIndexList<span class="hl opt">&gt;::</span>Iterator <span class="hl kwd">it</span><span class="hl opt">(</span>info<span class="hl opt">-&gt;</span>symbolList<span class="hl opt">);</span>
      <span class="hl kwb">const</span> SearchIndexList <span class="hl opt">*</span>sl<span class="hl opt">;</span>
      <span class="hl kwa">for</span> <span class="hl opt">(</span>it<span class="hl opt">.</span><span class="hl kwd">toFirst</span><span class="hl opt">();(</span>sl<span class="hl opt">=</span>it<span class="hl opt">.</span><span class="hl kwd">current</span><span class="hl opt">());++</span>it<span class="hl opt">)</span> <span class="hl slc">// for each letter</span>
      <span class="hl opt">{</span>
        <span class="hl kwd">append</span><span class="hl opt">(</span>SymbolIndexContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>sl<span class="hl opt">,</span>info<span class="hl opt">-&gt;</span>name<span class="hl opt">));</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
<span class="hl opt">};</span>

SymbolIndicesContext<span class="hl opt">::</span><span class="hl kwd">SymbolIndicesContext</span><span class="hl opt">(</span><span class="hl kwb">const</span> SearchIndexInfo <span class="hl opt">*</span>info<span class="hl opt">) :</span> <span class="hl kwd">RefCountedContext</span><span class="hl opt">(</span><span class="hl str">&quot;SymbolIndicesContext&quot;</span><span class="hl opt">)</span>
<span class="hl opt">{</span>
  p <span class="hl opt">=</span> <span class="hl kwa">new</span> <span class="hl kwd">Private</span><span class="hl opt">(</span>info<span class="hl opt">);</span>
<span class="hl opt">}</span>

SymbolIndicesContext<span class="hl opt">::~</span><span class="hl kwd">SymbolIndicesContext</span><span class="hl opt">()</span>
<span class="hl opt">{</span>
  <span class="hl kwa">delete</span> p<span class="hl opt">;</span>
<span class="hl opt">}</span>

<span class="hl slc">// TemplateListIntf</span>
uint SymbolIndicesContext<span class="hl opt">::</span><span class="hl kwd">count</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
<span class="hl opt">{</span>
  <span class="hl kwa">return</span> p<span class="hl opt">-&gt;</span><span class="hl kwd">count</span><span class="hl opt">();</span>
<span class="hl opt">}</span>

TemplateVariant SymbolIndicesContext<span class="hl opt">::</span><span class="hl kwd">at</span><span class="hl opt">(</span>uint index<span class="hl opt">)</span> <span class="hl kwb">const</span>
<span class="hl opt">{</span>
  <span class="hl kwa">return</span> p<span class="hl opt">-&gt;</span><span class="hl kwd">at</span><span class="hl opt">(</span>index<span class="hl opt">);</span>
<span class="hl opt">}</span>

TemplateListIntf<span class="hl opt">::</span>ConstIterator <span class="hl opt">*</span>SymbolIndicesContext<span class="hl opt">::</span><span class="hl kwd">createIterator</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
<span class="hl opt">{</span>
  <span class="hl kwa">return</span> p<span class="hl opt">-&gt;</span><span class="hl kwd">createIterator</span><span class="hl opt">();</span>
<span class="hl opt">}</span>

<span class="hl slc">//------------------------------------------------------------------------</span>

<span class="hl slc">//%% struct SearchIndex: search index</span>
<span class="hl slc">//%% {</span>
<span class="hl kwc">class</span> SearchIndexContext<span class="hl opt">::</span>Private
<span class="hl opt">{</span>
  <span class="hl kwc">public</span><span class="hl opt">:</span>
    <span class="hl kwd">Private</span><span class="hl opt">(</span><span class="hl kwb">const</span> SearchIndexInfo <span class="hl opt">*</span>info<span class="hl opt">) :</span> <span class="hl kwd">m_info</span><span class="hl opt">(</span>info<span class="hl opt">)</span>
    <span class="hl opt">{</span>
      <span class="hl kwb">static bool</span> init<span class="hl opt">=</span>FALSE<span class="hl opt">;</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>init<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;name&quot;</span><span class="hl opt">,         &amp;</span>Private<span class="hl opt">::</span>name<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;text&quot;</span><span class="hl opt">,         &amp;</span>Private<span class="hl opt">::</span>text<span class="hl opt">);</span>
        s_inst<span class="hl opt">.</span><span class="hl kwd">addProperty</span><span class="hl opt">(</span><span class="hl str">&quot;symbolIndices&quot;</span><span class="hl opt">,&amp;</span>Private<span class="hl opt">::</span>symbolIndices<span class="hl opt">);</span>
        init<span class="hl opt">=</span>TRUE<span class="hl opt">;</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwb">const char</span> <span class="hl opt">*</span>n<span class="hl opt">)</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> s_inst<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwa">this</span><span class="hl opt">,</span>n<span class="hl opt">);</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">name</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_info<span class="hl opt">-&gt;</span>name<span class="hl opt">;</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">text</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> m_info<span class="hl opt">-&gt;</span>text<span class="hl opt">;</span>
    <span class="hl opt">}</span>
    TemplateVariant <span class="hl kwd">symbolIndices</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">if</span> <span class="hl opt">(!</span>m_cache<span class="hl opt">.</span>symbolIndices<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        m_cache<span class="hl opt">.</span>symbolIndices<span class="hl opt">.</span><span class="hl kwd">reset</span><span class="hl opt">(</span>SymbolIndicesContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>m_info<span class="hl opt">));</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">return</span> m_cache<span class="hl opt">.</span>symbolIndices<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
  <span class="hl kwc">private</span><span class="hl opt">:</span>
    <span class="hl kwb">const</span> SearchIndexInfo <span class="hl opt">*</span>m_info<span class="hl opt">;</span>
    <span class="hl kwb">struct</span> Cachable
    <span class="hl opt">{</span>
      SharedPtr<span class="hl opt">&lt;</span>SymbolIndicesContext<span class="hl opt">&gt;</span> symbolIndices<span class="hl opt">;</span>
    <span class="hl opt">};</span>
    <span class="hl kwc">mutable</span> Cachable m_cache<span class="hl opt">;</span>
    <span class="hl kwb">static</span> PropertyMapper<span class="hl opt">&lt;</span>SearchIndexContext<span class="hl opt">::</span>Private<span class="hl opt">&gt;</span> s_inst<span class="hl opt">;</span>
<span class="hl opt">};</span>
<span class="hl slc">//%% }</span>

PropertyMapper<span class="hl opt">&lt;</span>SearchIndexContext<span class="hl opt">::</span>Private<span class="hl opt">&gt;</span> SearchIndexContext<span class="hl opt">::</span>Private<span class="hl opt">::</span>s_inst<span class="hl opt">;</span>

SearchIndexContext<span class="hl opt">::</span><span class="hl kwd">SearchIndexContext</span><span class="hl opt">(</span><span class="hl kwb">const</span> SearchIndexInfo <span class="hl opt">*</span>info<span class="hl opt">)</span>
    <span class="hl opt">:</span> <span class="hl kwd">RefCountedContext</span><span class="hl opt">(</span><span class="hl str">&quot;SearchIndexContext&quot;</span><span class="hl opt">)</span>
<span class="hl opt">{</span>
  p <span class="hl opt">=</span> <span class="hl kwa">new</span> <span class="hl kwd">Private</span><span class="hl opt">(</span>info<span class="hl opt">);</span>
<span class="hl opt">}</span>

SearchIndexContext<span class="hl opt">::~</span><span class="hl kwd">SearchIndexContext</span><span class="hl opt">()</span>
<span class="hl opt">{</span>
  <span class="hl kwa">delete</span> p<span class="hl opt">;</span>
<span class="hl opt">}</span>

TemplateVariant SearchIndexContext<span class="hl opt">::</span><span class="hl kwd">get</span><span class="hl opt">(</span><span class="hl kwb">const char</span> <span class="hl opt">*</span>name<span class="hl opt">)</span> <span class="hl kwb">const</span>
<span class="hl opt">{</span>
  <span class="hl kwa">return</span> p<span class="hl opt">-&gt;</span><span class="hl kwd">get</span><span class="hl opt">(</span>name<span class="hl opt">);</span>
<span class="hl opt">}</span>

<span class="hl slc">//------------------------------------------------------------------------</span>

<span class="hl slc">//%% list SearchIndices[SearchIndex] : list of search indices one per by type</span>
<span class="hl kwc">class</span> SearchIndicesContext<span class="hl opt">::</span>Private <span class="hl opt">:</span> <span class="hl kwc">public</span> GenericNodeListContext
<span class="hl opt">{</span>
  <span class="hl kwc">public</span><span class="hl opt">:</span>
    <span class="hl kwd">Private</span><span class="hl opt">()</span>
    <span class="hl opt">{</span>
      <span class="hl kwb">const</span> SearchIndexInfo <span class="hl opt">*</span>indices <span class="hl opt">=</span> <span class="hl kwd">getSearchIndices</span><span class="hl opt">();</span>
      <span class="hl kwa">for</span> <span class="hl opt">(</span><span class="hl kwb">int</span> i<span class="hl opt">=</span><span class="hl num">0</span><span class="hl opt">;</span>i<span class="hl opt">&lt;</span>NUM_SEARCH_INDICES<span class="hl opt">;</span>i<span class="hl opt">++)</span>
      <span class="hl opt">{</span>
        <span class="hl kwd">append</span><span class="hl opt">(</span>SearchIndexContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(&amp;</span>indices<span class="hl opt">[</span>i<span class="hl opt">]));</span>
      <span class="hl opt">}</span>
    <span class="hl opt">}</span>
<span class="hl opt">};</span>

SearchIndicesContext<span class="hl opt">::</span><span class="hl kwd">SearchIndicesContext</span><span class="hl opt">() :</span> <span class="hl kwd">RefCountedContext</span><span class="hl opt">(</span><span class="hl str">&quot;SearchIndicesContext&quot;</span><span class="hl opt">)</span>
<span class="hl opt">{</span>
  p <span class="hl opt">=</span> <span class="hl kwa">new</span> Private<span class="hl opt">;</span>
<span class="hl opt">}</span>

SearchIndicesContext<span class="hl opt">::~</span><span class="hl kwd">SearchIndicesContext</span><span class="hl opt">()</span>
<span class="hl opt">{</span>
  <span class="hl kwa">delete</span> p<span class="hl opt">;</span>
<span class="hl opt">}</span>

<span class="hl slc">// TemplateListIntf</span>
uint SearchIndicesContext<span class="hl opt">::</span><span class="hl kwd">count</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
<span class="hl opt">{</span>
  <span class="hl kwa">return</span> p<span class="hl opt">-&gt;</span><span class="hl kwd">count</span><span class="hl opt">();</span>
<span class="hl opt">}</span>

TemplateVariant SearchIndicesContext<span class="hl opt">::</span><span class="hl kwd">at</span><span class="hl opt">(</span>uint index<span class="hl opt">)</span> <span class="hl kwb">const</span>
<span class="hl opt">{</span>
  <span class="hl kwa">return</span> p<span class="hl opt">-&gt;</span><span class="hl kwd">at</span><span class="hl opt">(</span>index<span class="hl opt">);</span>
<span class="hl opt">}</span>

TemplateListIntf<span class="hl opt">::</span>ConstIterator <span class="hl opt">*</span>SearchIndicesContext<span class="hl opt">::</span><span class="hl kwd">createIterator</span><span class="hl opt">()</span> <span class="hl kwb">const</span>
<span class="hl opt">{</span>
  <span class="hl kwa">return</span> p<span class="hl opt">-&gt;</span><span class="hl kwd">createIterator</span><span class="hl opt">();</span>
<span class="hl opt">}</span>


<span class="hl slc">//------------------------------------------------------------------------</span>

<span class="hl kwc">class</span> HtmlEscaper <span class="hl opt">:</span> <span class="hl kwc">public</span> TemplateEscapeIntf
<span class="hl opt">{</span>
  <span class="hl kwc">public</span><span class="hl opt">:</span>
    QCString <span class="hl kwd">escape</span><span class="hl opt">(</span><span class="hl kwb">const</span> QCString <span class="hl opt">&amp;</span>s<span class="hl opt">)</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">convertToHtml</span><span class="hl opt">(</span>s<span class="hl opt">,</span>TRUE<span class="hl opt">);</span>
    <span class="hl opt">}</span>
    <span class="hl kwb">void</span> <span class="hl kwd">enableTabbing</span><span class="hl opt">(</span><span class="hl kwb">bool</span><span class="hl opt">) {}</span>
<span class="hl opt">};</span>

<span class="hl slc">//------------------------------------------------------------------------</span>

<span class="hl kwc">class</span> LatexSpaceless <span class="hl opt">:</span> <span class="hl kwc">public</span> TemplateSpacelessIntf
<span class="hl opt">{</span>
  <span class="hl kwc">public</span><span class="hl opt">:</span>
    <span class="hl kwd">LatexSpaceless</span><span class="hl opt">() {</span> <span class="hl kwd">reset</span><span class="hl opt">(); }</span>
    <span class="hl kwb">void</span> <span class="hl kwd">reset</span><span class="hl opt">() { }</span>
    QCString <span class="hl kwd">remove</span><span class="hl opt">(</span><span class="hl kwb">const</span> QCString <span class="hl opt">&amp;</span>s<span class="hl opt">)</span>
    <span class="hl opt">{</span>
      QGString result<span class="hl opt">;</span>
      <span class="hl kwb">const char</span> <span class="hl opt">*</span>p <span class="hl opt">=</span> s<span class="hl opt">.</span><span class="hl kwd">data</span><span class="hl opt">();</span>
      <span class="hl kwb">char</span> c<span class="hl opt">;</span>
      <span class="hl kwa">while</span> <span class="hl opt">((</span>c<span class="hl opt">=*</span>p<span class="hl opt">++))</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">switch</span><span class="hl opt">(</span>c<span class="hl opt">)</span>
        <span class="hl opt">{</span>
          <span class="hl kwa">case</span> <span class="hl str">'</span><span class="hl esc">\t</span><span class="hl str">'</span><span class="hl opt">:</span> <span class="hl kwa">case</span> <span class="hl str">' '</span><span class="hl opt">:</span> <span class="hl kwa">case</span> <span class="hl str">'</span><span class="hl esc">\n</span><span class="hl str">'</span><span class="hl opt">:</span>
            <span class="hl kwa">break</span><span class="hl opt">;</span>
          <span class="hl kwa">default</span><span class="hl opt">:</span>
            result<span class="hl opt">+=</span>c<span class="hl opt">;</span>
            <span class="hl kwa">break</span><span class="hl opt">;</span>
        <span class="hl opt">}</span>
      <span class="hl opt">}</span>
      result<span class="hl opt">+=</span><span class="hl str">'\0'</span><span class="hl opt">;</span>
      <span class="hl kwa">return</span> result<span class="hl opt">.</span><span class="hl kwd">data</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
  <span class="hl kwc">private</span><span class="hl opt">:</span>
<span class="hl opt">};</span>

<span class="hl slc">//------------------------------------------------------------------------</span>

<span class="hl kwc">class</span> HtmlSpaceless <span class="hl opt">:</span> <span class="hl kwc">public</span> TemplateSpacelessIntf
<span class="hl opt">{</span>
  <span class="hl kwc">public</span><span class="hl opt">:</span>
    <span class="hl kwd">HtmlSpaceless</span><span class="hl opt">() {</span> <span class="hl kwd">reset</span><span class="hl opt">(); }</span>
    <span class="hl kwb">void</span> <span class="hl kwd">reset</span><span class="hl opt">()</span>
    <span class="hl opt">{</span>
      m_insideTag <span class="hl opt">=</span> FALSE<span class="hl opt">;</span>
      m_insideString <span class="hl opt">=</span> <span class="hl str">'\0'</span><span class="hl opt">;</span>
      m_removeSpaces <span class="hl opt">=</span> TRUE<span class="hl opt">;</span>
    <span class="hl opt">}</span>
    QCString <span class="hl kwd">remove</span><span class="hl opt">(</span><span class="hl kwb">const</span> QCString <span class="hl opt">&amp;</span>s<span class="hl opt">)</span>
    <span class="hl opt">{</span>
      QGString result<span class="hl opt">;</span>
      <span class="hl kwb">const char</span> <span class="hl opt">*</span>p <span class="hl opt">=</span> s<span class="hl opt">.</span><span class="hl kwd">data</span><span class="hl opt">();</span>
      <span class="hl kwb">char</span> c<span class="hl opt">;</span>
      <span class="hl kwa">while</span> <span class="hl opt">((</span>c<span class="hl opt">=*</span>p<span class="hl opt">++))</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">switch</span><span class="hl opt">(</span>c<span class="hl opt">)</span>
        <span class="hl opt">{</span>
          <span class="hl kwa">case</span> <span class="hl str">'&lt;'</span><span class="hl opt">:</span> <span class="hl slc">// start of a tag</span>
            <span class="hl kwa">if</span> <span class="hl opt">(!</span>m_insideString<span class="hl opt">)</span> m_insideTag<span class="hl opt">=</span>TRUE<span class="hl opt">,</span>m_removeSpaces<span class="hl opt">=</span>FALSE<span class="hl opt">;</span>
            result<span class="hl opt">+=</span>c<span class="hl opt">;</span>
            <span class="hl kwa">break</span><span class="hl opt">;</span>
          <span class="hl kwa">case</span> <span class="hl str">'&gt;'</span><span class="hl opt">:</span> <span class="hl slc">// end of a tag</span>
            <span class="hl kwa">if</span> <span class="hl opt">(!</span>m_insideString<span class="hl opt">)</span> m_insideTag<span class="hl opt">=</span>FALSE<span class="hl opt">,</span>m_removeSpaces<span class="hl opt">=</span>TRUE<span class="hl opt">;</span>
            result<span class="hl opt">+=</span>c<span class="hl opt">;</span>
            <span class="hl kwa">break</span><span class="hl opt">;</span>
          <span class="hl kwa">case</span> <span class="hl str">'</span><span class="hl esc">\\</span><span class="hl str">'</span><span class="hl opt">:</span> <span class="hl slc">// escaped character in a string</span>
            result<span class="hl opt">+=</span>c<span class="hl opt">;</span>
            <span class="hl kwa">if</span> <span class="hl opt">(</span>m_insideString <span class="hl opt">&amp;&amp; *</span>p<span class="hl opt">)</span> result<span class="hl opt">+=*</span>p<span class="hl opt">++;</span>
            <span class="hl kwa">break</span><span class="hl opt">;</span>
          <span class="hl kwa">case</span> <span class="hl str">'&quot;'</span><span class="hl opt">:</span> <span class="hl kwa">case</span> <span class="hl str">'</span><span class="hl esc">\'</span><span class="hl str">'</span><span class="hl opt">:</span>
            <span class="hl kwa">if</span> <span class="hl opt">(</span>m_insideTag<span class="hl opt">)</span>
            <span class="hl opt">{</span>
              <span class="hl kwa">if</span> <span class="hl opt">(</span>m_insideString<span class="hl opt">==</span>c<span class="hl opt">)</span> <span class="hl slc">// end of string</span>
              <span class="hl opt">{</span>
                m_insideString<span class="hl opt">=</span><span class="hl str">'\0'</span><span class="hl opt">;</span>
              <span class="hl opt">}</span>
              <span class="hl kwa">else if</span> <span class="hl opt">(</span>m_insideString<span class="hl opt">==</span><span class="hl str">'\0'</span><span class="hl opt">)</span> <span class="hl slc">// start of string</span>
              <span class="hl opt">{</span>
                m_insideString<span class="hl opt">=</span>c<span class="hl opt">;</span>
              <span class="hl opt">}</span>
            <span class="hl opt">}</span>
            result<span class="hl opt">+=</span>c<span class="hl opt">;</span>
            <span class="hl kwa">break</span><span class="hl opt">;</span>
          <span class="hl kwa">case</span> <span class="hl str">' '</span><span class="hl opt">:</span> <span class="hl kwa">case</span> <span class="hl str">'</span><span class="hl esc">\t</span><span class="hl str">'</span><span class="hl opt">:</span> <span class="hl kwa">case</span> <span class="hl str">'</span><span class="hl esc">\n</span><span class="hl str">'</span><span class="hl opt">:</span> <span class="hl slc">// whitespace</span>
            <span class="hl kwa">if</span> <span class="hl opt">(!</span>m_insideTag<span class="hl opt">)</span> <span class="hl slc">// outside tags strip consecutive whitespace</span>
            <span class="hl opt">{</span>
              m_removeSpaces<span class="hl opt">=</span>TRUE<span class="hl opt">;</span>
            <span class="hl opt">}</span>
            <span class="hl kwa">else</span>
            <span class="hl opt">{</span>
              result<span class="hl opt">+=</span><span class="hl str">' '</span><span class="hl opt">;</span>
            <span class="hl opt">}</span>
            <span class="hl kwa">break</span><span class="hl opt">;</span>
          <span class="hl kwa">default</span><span class="hl opt">:</span>
            <span class="hl slc">//if (m_removeSpaces) result+=' ';</span>
            result<span class="hl opt">+=</span>c<span class="hl opt">;</span>
            m_removeSpaces<span class="hl opt">=</span>FALSE<span class="hl opt">;</span>
            <span class="hl kwa">break</span><span class="hl opt">;</span>
        <span class="hl opt">}</span>
      <span class="hl opt">}</span>
      result<span class="hl opt">+=</span><span class="hl str">'\0'</span><span class="hl opt">;</span>
      <span class="hl slc">//printf(&quot;HtmlSpaceless::remove({%s})={%s} m_insideTag=%d m_insideString=%c (%d) removeSpaces=%d\n&quot;,s.data(),result.data(),</span>
      <span class="hl slc">//    m_insideTag,m_insideString,m_insideString,m_removeSpaces);</span>
      <span class="hl kwa">return</span> result<span class="hl opt">.</span><span class="hl kwd">data</span><span class="hl opt">();</span>
    <span class="hl opt">}</span>
  <span class="hl kwc">private</span><span class="hl opt">:</span>
    <span class="hl kwb">bool</span> m_insideTag<span class="hl opt">;</span>
    <span class="hl kwb">char</span> m_insideString<span class="hl opt">;</span>
    <span class="hl kwb">bool</span> m_removeSpaces<span class="hl opt">;</span>
<span class="hl opt">};</span>

<span class="hl slc">//------------------------------------------------------------------------</span>

<span class="hl kwc">class</span> LatexEscaper <span class="hl opt">:</span> <span class="hl kwc">public</span> TemplateEscapeIntf
<span class="hl opt">{</span>
  <span class="hl kwc">public</span><span class="hl opt">:</span>
    <span class="hl kwd">LatexEscaper</span><span class="hl opt">() :</span> <span class="hl kwd">m_tabbing</span><span class="hl opt">(</span>FALSE<span class="hl opt">) {}</span>
    QCString <span class="hl kwd">escape</span><span class="hl opt">(</span><span class="hl kwb">const</span> QCString <span class="hl opt">&amp;</span>s<span class="hl opt">)</span>
    <span class="hl opt">{</span>
      <span class="hl kwa">return</span> <span class="hl kwd">convertToLaTeX</span><span class="hl opt">(</span>s<span class="hl opt">,</span>m_tabbing<span class="hl opt">);</span>
    <span class="hl opt">}</span>
    <span class="hl kwb">void</span> <span class="hl kwd">enableTabbing</span><span class="hl opt">(</span><span class="hl kwb">bool</span> b<span class="hl opt">) {</span> m_tabbing<span class="hl opt">=</span>b<span class="hl opt">; }</span>
  <span class="hl kwc">private</span><span class="hl opt">:</span>
    <span class="hl kwb">bool</span> m_tabbing<span class="hl opt">;</span>
<span class="hl opt">};</span>


<span class="hl slc">//------------------------------------------------------------------------</span>

<span class="hl ppc">#if DEBUG_REF</span>
<span class="hl kwb">int</span> RefCountedContext<span class="hl opt">::</span>s_totalCount<span class="hl opt">;</span>
<span class="hl ppc">#endif</span>

<span class="hl kwb">void</span> <span class="hl kwd">generateOutputViaTemplate</span><span class="hl opt">()</span>
<span class="hl opt">{</span>
  <span class="hl kwd">msg</span><span class="hl opt">(</span><span class="hl str">&quot;Generating output via template engine...</span><span class="hl esc">\n</span><span class="hl str">&quot;</span><span class="hl opt">);</span>
  <span class="hl opt">{</span>
    TemplateEngine e<span class="hl opt">;</span>
    TemplateContext <span class="hl opt">*</span>ctx <span class="hl opt">=</span> e<span class="hl opt">.</span><span class="hl kwd">createContext</span><span class="hl opt">();</span>
    <span class="hl kwa">if</span> <span class="hl opt">(</span>ctx<span class="hl opt">)</span>
    <span class="hl opt">{</span>
      SharedPtr<span class="hl opt">&lt;</span>DoxygenContext<span class="hl opt">&gt;</span>               <span class="hl kwd">doxygen</span>              <span class="hl opt">(</span>DoxygenContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">());</span>
      SharedPtr<span class="hl opt">&lt;</span>ConfigContext<span class="hl opt">&gt;</span>                <span class="hl kwd">config</span>               <span class="hl opt">(</span>ConfigContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">());</span>
      SharedPtr<span class="hl opt">&lt;</span>TranslateContext<span class="hl opt">&gt;</span>             <span class="hl kwd">tr</span>                   <span class="hl opt">(</span>TranslateContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">());</span>
      SharedPtr<span class="hl opt">&lt;</span>ClassListContext<span class="hl opt">&gt;</span>             <span class="hl kwd">classList</span>            <span class="hl opt">(</span>ClassListContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">());</span>
      SharedPtr<span class="hl opt">&lt;</span>ClassIndexContext<span class="hl opt">&gt;</span>            <span class="hl kwd">classIndex</span>           <span class="hl opt">(</span>ClassIndexContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">());</span>
      SharedPtr<span class="hl opt">&lt;</span>ClassTreeContext<span class="hl opt">&gt;</span>             <span class="hl kwd">classTree</span>            <span class="hl opt">(</span>ClassTreeContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">());</span>
      SharedPtr<span class="hl opt">&lt;</span>ClassHierarchyContext<span class="hl opt">&gt;</span>        <span class="hl kwd">classHierarchy</span>       <span class="hl opt">(</span>ClassHierarchyContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">());</span>
      SharedPtr<span class="hl opt">&lt;</span>NamespaceListContext<span class="hl opt">&gt;</span>         <span class="hl kwd">namespaceList</span>        <span class="hl opt">(</span>NamespaceListContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">());</span>
      SharedPtr<span class="hl opt">&lt;</span>NamespaceTreeContext<span class="hl opt">&gt;</span>         <span class="hl kwd">namespaceTree</span>        <span class="hl opt">(</span>NamespaceTreeContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">());</span>
      SharedPtr<span class="hl opt">&lt;</span>DirListContext<span class="hl opt">&gt;</span>               <span class="hl kwd">dirList</span>              <span class="hl opt">(</span>DirListContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">());</span>
      SharedPtr<span class="hl opt">&lt;</span>FileListContext<span class="hl opt">&gt;</span>              <span class="hl kwd">fileList</span>             <span class="hl opt">(</span>FileListContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">());</span>
      SharedPtr<span class="hl opt">&lt;</span>FileTreeContext<span class="hl opt">&gt;</span>              <span class="hl kwd">fileTree</span>             <span class="hl opt">(</span>FileTreeContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">());</span>
      SharedPtr<span class="hl opt">&lt;</span>PageTreeContext<span class="hl opt">&gt;</span>              <span class="hl kwd">pageTree</span>             <span class="hl opt">(</span>PageTreeContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>Doxygen<span class="hl opt">::</span>pageSDict<span class="hl opt">));</span>
      SharedPtr<span class="hl opt">&lt;</span>PageListContext<span class="hl opt">&gt;</span>              <span class="hl kwd">pageList</span>             <span class="hl opt">(</span>PageListContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>Doxygen<span class="hl opt">::</span>pageSDict<span class="hl opt">));</span>
      SharedPtr<span class="hl opt">&lt;</span>ExampleTreeContext<span class="hl opt">&gt;</span>           <span class="hl kwd">exampleTree</span>          <span class="hl opt">(</span>ExampleTreeContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">());</span>
      SharedPtr<span class="hl opt">&lt;</span>ExampleListContext<span class="hl opt">&gt;</span>           <span class="hl kwd">exampleList</span>          <span class="hl opt">(</span>ExampleListContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">());</span>
      SharedPtr<span class="hl opt">&lt;</span>ModuleTreeContext<span class="hl opt">&gt;</span>            <span class="hl kwd">moduleTree</span>           <span class="hl opt">(</span>ModuleTreeContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">());</span>
      SharedPtr<span class="hl opt">&lt;</span>ModuleListContext<span class="hl opt">&gt;</span>            <span class="hl kwd">moduleList</span>           <span class="hl opt">(</span>ModuleListContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">());</span>
      SharedPtr<span class="hl opt">&lt;</span>GlobalsIndexContext<span class="hl opt">&gt;</span>          <span class="hl kwd">globalsIndex</span>         <span class="hl opt">(</span>GlobalsIndexContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">());</span>
      SharedPtr<span class="hl opt">&lt;</span>ClassMembersIndexContext<span class="hl opt">&gt;</span>     <span class="hl kwd">classMembersIndex</span>    <span class="hl opt">(</span>ClassMembersIndexContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">());</span>
      SharedPtr<span class="hl opt">&lt;</span>NamespaceMembersIndexContext<span class="hl opt">&gt;</span> <span class="hl kwd">namespaceMembersIndex</span><span class="hl opt">(</span>NamespaceMembersIndexContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">());</span>
      SharedPtr<span class="hl opt">&lt;</span>SearchIndicesContext<span class="hl opt">&gt;</span>         <span class="hl kwd">searchIndices</span>        <span class="hl opt">(</span>SearchIndicesContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">());</span>

      <span class="hl slc">//%% Doxygen doxygen:</span>
      ctx<span class="hl opt">-&gt;</span><span class="hl kwd">set</span><span class="hl opt">(</span><span class="hl str">&quot;doxygen&quot;</span><span class="hl opt">,</span>doxygen<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">());</span>
      <span class="hl slc">//%% Translator tr:</span>
      ctx<span class="hl opt">-&gt;</span><span class="hl kwd">set</span><span class="hl opt">(</span><span class="hl str">&quot;tr&quot;</span><span class="hl opt">,</span>tr<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">());</span>
      <span class="hl slc">//%% Config config:</span>
      ctx<span class="hl opt">-&gt;</span><span class="hl kwd">set</span><span class="hl opt">(</span><span class="hl str">&quot;config&quot;</span><span class="hl opt">,</span>config<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">());</span>
      <span class="hl slc">//%% ClassList classList:</span>
      ctx<span class="hl opt">-&gt;</span><span class="hl kwd">set</span><span class="hl opt">(</span><span class="hl str">&quot;classList&quot;</span><span class="hl opt">,</span>classList<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">());</span> <span class="hl slc">// not used for standard HTML</span>
      <span class="hl slc">//%% ClassTree classTree:</span>
      ctx<span class="hl opt">-&gt;</span><span class="hl kwd">set</span><span class="hl opt">(</span><span class="hl str">&quot;classTree&quot;</span><span class="hl opt">,</span>classTree<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">());</span>
      <span class="hl slc">//%% ClassIndex classIndex:</span>
      ctx<span class="hl opt">-&gt;</span><span class="hl kwd">set</span><span class="hl opt">(</span><span class="hl str">&quot;classIndex&quot;</span><span class="hl opt">,</span>classIndex<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">());</span>
      <span class="hl slc">//%% ClassHierarchy classHierarchy:</span>
      ctx<span class="hl opt">-&gt;</span><span class="hl kwd">set</span><span class="hl opt">(</span><span class="hl str">&quot;classHierarchy&quot;</span><span class="hl opt">,</span>classHierarchy<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">());</span>
      <span class="hl slc">//%% NamespaceList namespaceList:</span>
      ctx<span class="hl opt">-&gt;</span><span class="hl kwd">set</span><span class="hl opt">(</span><span class="hl str">&quot;namespaceList&quot;</span><span class="hl opt">,</span>namespaceList<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">());</span>
      <span class="hl slc">//%% NamespaceTree namespaceTree:</span>
      ctx<span class="hl opt">-&gt;</span><span class="hl kwd">set</span><span class="hl opt">(</span><span class="hl str">&quot;namespaceTree&quot;</span><span class="hl opt">,</span>namespaceTree<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">());</span>
      <span class="hl slc">//%% FileList fileList:</span>
      ctx<span class="hl opt">-&gt;</span><span class="hl kwd">set</span><span class="hl opt">(</span><span class="hl str">&quot;fileList&quot;</span><span class="hl opt">,</span>fileList<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">());</span>
      <span class="hl slc">//%% FileTree fileTree:</span>
      ctx<span class="hl opt">-&gt;</span><span class="hl kwd">set</span><span class="hl opt">(</span><span class="hl str">&quot;fileTree&quot;</span><span class="hl opt">,</span>fileTree<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">());</span>
      <span class="hl slc">//%% PageList pageList</span>
      ctx<span class="hl opt">-&gt;</span><span class="hl kwd">set</span><span class="hl opt">(</span><span class="hl str">&quot;pageList&quot;</span><span class="hl opt">,</span>pageList<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">());</span>
      <span class="hl slc">//%% PageTree pageTree</span>
      ctx<span class="hl opt">-&gt;</span><span class="hl kwd">set</span><span class="hl opt">(</span><span class="hl str">&quot;pageTree&quot;</span><span class="hl opt">,</span>pageTree<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">());</span>
      <span class="hl slc">//%% ExampleTree exampleTree</span>
      ctx<span class="hl opt">-&gt;</span><span class="hl kwd">set</span><span class="hl opt">(</span><span class="hl str">&quot;exampleTree&quot;</span><span class="hl opt">,</span>exampleTree<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">());</span>
      <span class="hl slc">//%% ExampleList exampleList</span>
      ctx<span class="hl opt">-&gt;</span><span class="hl kwd">set</span><span class="hl opt">(</span><span class="hl str">&quot;exampleList&quot;</span><span class="hl opt">,</span>exampleList<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">());</span>
      <span class="hl slc">//%% ModuleTree moduleTree</span>
      ctx<span class="hl opt">-&gt;</span><span class="hl kwd">set</span><span class="hl opt">(</span><span class="hl str">&quot;moduleTree&quot;</span><span class="hl opt">,</span>moduleTree<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">());</span>
      <span class="hl slc">//%% ModuleList moduleList</span>
      ctx<span class="hl opt">-&gt;</span><span class="hl kwd">set</span><span class="hl opt">(</span><span class="hl str">&quot;moduleList&quot;</span><span class="hl opt">,</span>moduleList<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">());</span>
      <span class="hl slc">//%% DirList dirList</span>
      ctx<span class="hl opt">-&gt;</span><span class="hl kwd">set</span><span class="hl opt">(</span><span class="hl str">&quot;dirList&quot;</span><span class="hl opt">,</span>dirList<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">());</span>
      <span class="hl slc">//%% Page mainPage</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span>Doxygen<span class="hl opt">::</span>mainPage<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        SharedPtr<span class="hl opt">&lt;</span>PageContext<span class="hl opt">&gt;</span> <span class="hl kwd">mainPage</span><span class="hl opt">(</span>PageContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>Doxygen<span class="hl opt">::</span>mainPage<span class="hl opt">,</span>TRUE<span class="hl opt">,</span>FALSE<span class="hl opt">));</span>
        ctx<span class="hl opt">-&gt;</span><span class="hl kwd">set</span><span class="hl opt">(</span><span class="hl str">&quot;mainPage&quot;</span><span class="hl opt">,</span>mainPage<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">());</span>
      <span class="hl opt">}</span>
      <span class="hl kwa">else</span>
      <span class="hl opt">{</span>
        <span class="hl slc">// TODO: for LaTeX output index should be main... =&gt; solve in template</span>
        Doxygen<span class="hl opt">::</span>mainPage <span class="hl opt">=</span> <span class="hl kwd">createPageDef</span><span class="hl opt">(</span><span class="hl str">&quot;[generated]&quot;</span><span class="hl opt">,</span><span class="hl num">1</span><span class="hl opt">,</span><span class="hl str">&quot;index&quot;</span><span class="hl opt">,</span><span class="hl str">&quot;&quot;</span><span class="hl opt">,</span>theTranslator<span class="hl opt">-&gt;</span><span class="hl kwd">trMainPage</span><span class="hl opt">());</span>
        Doxygen<span class="hl opt">::</span>mainPage<span class="hl opt">-&gt;</span><span class="hl kwd">setFileName</span><span class="hl opt">(</span><span class="hl str">&quot;index&quot;</span><span class="hl opt">);</span>
        SharedPtr<span class="hl opt">&lt;</span>PageContext<span class="hl opt">&gt;</span> <span class="hl kwd">mainPage</span><span class="hl opt">(</span>PageContext<span class="hl opt">::</span><span class="hl kwd">alloc</span><span class="hl opt">(</span>Doxygen<span class="hl opt">::</span>mainPage<span class="hl opt">,</span>TRUE<span class="hl opt">,</span>FALSE<span class="hl opt">));</span>
        ctx<span class="hl opt">-&gt;</span><span class="hl kwd">set</span><span class="hl opt">(</span><span class="hl str">&quot;mainPage&quot;</span><span class="hl opt">,</span>mainPage<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">());</span>
      <span class="hl opt">}</span>
      <span class="hl slc">//%% GlobalsIndex globalsIndex:</span>
      ctx<span class="hl opt">-&gt;</span><span class="hl kwd">set</span><span class="hl opt">(</span><span class="hl str">&quot;globalsIndex&quot;</span><span class="hl opt">,</span>globalsIndex<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">());</span>
      <span class="hl slc">//%% ClassMembersIndex classMembersIndex:</span>
      ctx<span class="hl opt">-&gt;</span><span class="hl kwd">set</span><span class="hl opt">(</span><span class="hl str">&quot;classMembersIndex&quot;</span><span class="hl opt">,</span>classMembersIndex<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">());</span>
      <span class="hl slc">//%% NamespaceMembersIndex namespaceMembersIndex:</span>
      ctx<span class="hl opt">-&gt;</span><span class="hl kwd">set</span><span class="hl opt">(</span><span class="hl str">&quot;namespaceMembersIndex&quot;</span><span class="hl opt">,</span>namespaceMembersIndex<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">());</span>
      <span class="hl slc">//%% SearchIndices searchIndices</span>
      ctx<span class="hl opt">-&gt;</span><span class="hl kwd">set</span><span class="hl opt">(</span><span class="hl str">&quot;searchIndices&quot;</span><span class="hl opt">,</span>searchIndices<span class="hl opt">.</span><span class="hl kwd">get</span><span class="hl opt">());</span>
      <span class="hl slc">//%% string space</span>
      ctx<span class="hl opt">-&gt;</span><span class="hl kwd">set</span><span class="hl opt">(</span><span class="hl str">&quot;space&quot;</span><span class="hl opt">,</span><span class="hl str">&quot; &quot;</span><span class="hl opt">);</span>

      <span class="hl slc">//if (Config_getBool(GENERATE_HTML))</span>
      <span class="hl opt">{</span> <span class="hl slc">// render HTML output</span>
        e<span class="hl opt">.</span><span class="hl kwd">setTemplateDir</span><span class="hl opt">(</span><span class="hl str">&quot;templates/html&quot;</span><span class="hl opt">);</span> <span class="hl slc">// TODO: make template part user configurable</span>
        Template <span class="hl opt">*</span>tpl <span class="hl opt">=</span> e<span class="hl opt">.</span><span class="hl kwd">loadByName</span><span class="hl opt">(</span><span class="hl str">&quot;htmllayout.tpl&quot;</span><span class="hl opt">,</span><span class="hl num">1</span><span class="hl opt">);</span>
        <span class="hl kwa">if</span> <span class="hl opt">(</span>tpl<span class="hl opt">)</span>
        <span class="hl opt">{</span>
          g_globals<span class="hl opt">.</span>outputFormat <span class="hl opt">=</span> ContextOutputFormat_Html<span class="hl opt">;</span>
          g_globals<span class="hl opt">.</span>dynSectionId <span class="hl opt">=</span> <span class="hl num">0</span><span class="hl opt">;</span>
          g_globals<span class="hl opt">.</span>outputDir    <span class="hl opt">=</span> <span class="hl kwd">Config_getString</span><span class="hl opt">(</span>HTML_OUTPUT<span class="hl opt">);</span>
          QDir <span class="hl kwd">dir</span><span class="hl opt">(</span>g_globals<span class="hl opt">.</span>outputDir<span class="hl opt">);</span>
          <span class="hl kwd">createSubDirs</span><span class="hl opt">(</span>dir<span class="hl opt">);</span>
          HtmlEscaper htmlEsc<span class="hl opt">;</span>
          ctx<span class="hl opt">-&gt;</span><span class="hl kwd">setEscapeIntf</span><span class="hl opt">(</span><span class="hl kwd">Config_getString</span><span class="hl opt">(</span>HTML_FILE_EXTENSION<span class="hl opt">),&amp;</span>htmlEsc<span class="hl opt">);</span>
          HtmlSpaceless spl<span class="hl opt">;</span>
          ctx<span class="hl opt">-&gt;</span><span class="hl kwd">setSpacelessIntf</span><span class="hl opt">(&amp;</span>spl<span class="hl opt">);</span>
          ctx<span class="hl opt">-&gt;</span><span class="hl kwd">setOutputDirectory</span><span class="hl opt">(</span>g_globals<span class="hl opt">.</span>outputDir<span class="hl opt">);</span>
          FTextStream ts<span class="hl opt">;</span>
          tpl<span class="hl opt">-&gt;</span><span class="hl kwd">render</span><span class="hl opt">(</span>ts<span class="hl opt">,</span>ctx<span class="hl opt">);</span>
          e<span class="hl opt">.</span><span class="hl kwd">unload</span><span class="hl opt">(</span>tpl<span class="hl opt">);</span>
        <span class="hl opt">}</span>
      <span class="hl opt">}</span>

      <span class="hl slc">// TODO: clean index before each run...</span>

      <span class="hl slc">//if (Config_getBool(GENERATE_LATEX))</span>
      <span class="hl kwa">if</span> <span class="hl opt">(</span><span class="hl num">0</span><span class="hl opt">)</span>
      <span class="hl opt">{</span> <span class="hl slc">// render LaTeX output</span>
        e<span class="hl opt">.</span><span class="hl kwd">setTemplateDir</span><span class="hl opt">(</span><span class="hl str">&quot;templates/latex&quot;</span><span class="hl opt">);</span> <span class="hl slc">// TODO: make template part user configurable</span>
        Template <span class="hl opt">*</span>tpl <span class="hl opt">=</span> e<span class="hl opt">.</span><span class="hl kwd">loadByName</span><span class="hl opt">(</span><span class="hl str">&quot;latexlayout.tpl&quot;</span><span class="hl opt">,</span><span class="hl num">1</span><span class="hl opt">);</span>
        <span class="hl kwa">if</span> <span class="hl opt">(</span>tpl<span class="hl opt">)</span>
        <span class="hl opt">{</span>
          g_globals<span class="hl opt">.</span>outputFormat <span class="hl opt">=</span> ContextOutputFormat_Latex<span class="hl opt">;</span>
          g_globals<span class="hl opt">.</span>dynSectionId <span class="hl opt">=</span> <span class="hl num">0</span><span class="hl opt">;</span>
          g_globals<span class="hl opt">.</span>outputDir    <span class="hl opt">=</span> <span class="hl kwd">Config_getString</span><span class="hl opt">(</span>LATEX_OUTPUT<span class="hl opt">);</span>
          QDir <span class="hl kwd">dir</span><span class="hl opt">(</span>g_globals<span class="hl opt">.</span>outputDir<span class="hl opt">);</span>
          <span class="hl kwd">createSubDirs</span><span class="hl opt">(</span>dir<span class="hl opt">);</span>
          LatexEscaper latexEsc<span class="hl opt">;</span>
          ctx<span class="hl opt">-&gt;</span><span class="hl kwd">setEscapeIntf</span><span class="hl opt">(</span><span class="hl str">&quot;.tex&quot;</span><span class="hl opt">,&amp;</span>latexEsc<span class="hl opt">);</span>
          LatexSpaceless spl<span class="hl opt">;</span>
          ctx<span class="hl opt">-&gt;</span><span class="hl kwd">setSpacelessIntf</span><span class="hl opt">(&amp;</span>spl<span class="hl opt">);</span>
          ctx<span class="hl opt">-&gt;</span><span class="hl kwd">setOutputDirectory</span><span class="hl opt">(</span>g_globals<span class="hl opt">.</span>outputDir<span class="hl opt">);</span>
          FTextStream ts<span class="hl opt">;</span>
          tpl<span class="hl opt">-&gt;</span><span class="hl kwd">render</span><span class="hl opt">(</span>ts<span class="hl opt">,</span>ctx<span class="hl opt">);</span>
          e<span class="hl opt">.</span><span class="hl kwd">unload</span><span class="hl opt">(</span>tpl<span class="hl opt">);</span>
        <span class="hl opt">}</span>
      <span class="hl opt">}</span>

      <span class="hl slc">// clear all cached data in Definition objects.</span>
      QDictIterator<span class="hl opt">&lt;</span>DefinitionIntf<span class="hl opt">&gt;</span> <span class="hl kwd">di</span><span class="hl opt">(*</span>Doxygen<span class="hl opt">::</span>symbolMap<span class="hl opt">);</span>
      <span class="hl kwb">const</span> DefinitionIntf <span class="hl opt">*</span>intf<span class="hl opt">;</span>
      <span class="hl kwa">for</span> <span class="hl opt">(;(</span>intf<span class="hl opt">=</span>di<span class="hl opt">.</span><span class="hl kwd">current</span><span class="hl opt">());++</span>di<span class="hl opt">)</span>
      <span class="hl opt">{</span>
        <span class="hl kwa">if</span> <span class="hl opt">(</span>intf<span class="hl opt">-&gt;</span><span class="hl kwd">definitionType</span><span class="hl opt">()==</span>DefinitionIntf<span class="hl opt">::</span>TypeSymbolList<span class="hl opt">)</span> <span class="hl slc">// list of symbols</span>
        <span class="hl opt">{</span>
          DefinitionListIterator <span class="hl kwd">dli</span><span class="hl opt">(*</span><span class="hl kwa">dynamic_cast</span><span class="hl opt">&lt;</span><span class="hl kwb">const</span> DefinitionList<span class="hl opt">*&gt;(</span>intf<span class="hl opt">));</span>
          <span class="hl kwb">const</span> Definition <span class="hl opt">*</span>d<span class="hl opt">;</span>
          <span class="hl slc">// for each symbol</span>
          <span class="hl kwa">for</span> <span class="hl opt">(</span>dli<span class="hl opt">.</span><span class="hl kwd">toFirst</span><span class="hl opt">();(</span>d<span class="hl opt">=</span>dli<span class="hl opt">.</span><span class="hl kwd">current</span><span class="hl opt">());++</span>dli<span class="hl opt">)</span>
          <span class="hl opt">{</span>
            d<span class="hl opt">-&gt;</span><span class="hl kwd">setCookie</span><span class="hl opt">(</span><span class="hl num">0</span><span class="hl opt">);</span>
          <span class="hl opt">}</span>
        <span class="hl opt">}</span>
        <span class="hl kwa">else</span> <span class="hl slc">// single symbol</span>
        <span class="hl opt">{</span>
          <span class="hl kwb">const</span> Definition <span class="hl opt">*</span>d <span class="hl opt">=</span> <span class="hl kwa">dynamic_cast</span><span class="hl opt">&lt;</span><span class="hl kwb">const</span> Definition <span class="hl opt">*&gt;(</span>intf<span class="hl opt">);</span>
          d<span class="hl opt">-&gt;</span><span class="hl kwd">setCookie</span><span class="hl opt">(</span><span class="hl num">0</span><span class="hl opt">);</span>
        <span class="hl opt">}</span>
      <span class="hl opt">}</span>

      e<span class="hl opt">.</span><span class="hl kwd">destroyContext</span><span class="hl opt">(</span>ctx<span class="hl opt">);</span>
    <span class="hl opt">}</span>
  <span class="hl opt">}</span>
<span class="hl ppc">#if DEBUG_REF</span> <span class="hl slc">// should be 0, i.e. all objects are deleted</span>
<span class="hl ppc"></span>  <span class="hl kwd">printf</span><span class="hl opt">(</span><span class="hl str">&quot;==== total ref count %d</span><span class="hl esc">\n</span><span class="hl str">&quot;</span><span class="hl opt">,</span>RefCountedContext<span class="hl opt">::</span>s_totalCount<span class="hl opt">);</span>
<span class="hl ppc">#endif</span>
<span class="hl opt">}</span>

<span class="hl kwb">void</span> <span class="hl kwd">generateTemplateFiles</span><span class="hl opt">(</span><span class="hl kwb">const char</span> <span class="hl opt">*</span>templateDir<span class="hl opt">)</span>
<span class="hl opt">{</span>
  <span class="hl kwa">if</span> <span class="hl opt">(!</span>templateDir<span class="hl opt">)</span> <span class="hl kwa">return</span><span class="hl opt">;</span>
  QDir thisDir<span class="hl opt">;</span>
  <span class="hl kwa">if</span> <span class="hl opt">(!</span>thisDir<span class="hl opt">.</span><span class="hl kwd">exists</span><span class="hl opt">(</span>templateDir<span class="hl opt">) &amp;&amp; !</span>thisDir<span class="hl opt">.</span><span class="hl kwd">mkdir</span><span class="hl opt">(</span>templateDir<span class="hl opt">))</span>
  <span class="hl opt">{</span>
    <span class="hl kwd">err</span><span class="hl opt">(</span><span class="hl str">&quot;Failed to create output directory '%s'</span><span class="hl esc">\n</span><span class="hl str">&quot;</span><span class="hl opt">,</span>templateDir<span class="hl opt">);</span>
    <span class="hl kwa">return</span><span class="hl opt">;</span>
  <span class="hl opt">}</span>
  QCString outDir <span class="hl opt">=</span> <span class="hl kwd">QCString</span><span class="hl opt">(</span>templateDir<span class="hl opt">)+</span><span class="hl str">&quot;/html&quot;</span><span class="hl opt">;</span>
  <span class="hl kwa">if</span> <span class="hl opt">(!</span>thisDir<span class="hl opt">.</span><span class="hl kwd">exists</span><span class="hl opt">(</span>outDir<span class="hl opt">) &amp;&amp; !</span>thisDir<span class="hl opt">.</span><span class="hl kwd">mkdir</span><span class="hl opt">(</span>outDir<span class="hl opt">))</span>
  <span class="hl opt">{</span>
    <span class="hl kwd">err</span><span class="hl opt">(</span><span class="hl str">&quot;Failed to create output directory '%s'</span><span class="hl esc">\n</span><span class="hl str">&quot;</span><span class="hl opt">,</span>outDir<span class="hl opt">.</span><span class="hl kwd">data</span><span class="hl opt">());</span>
    <span class="hl kwa">return</span><span class="hl opt">;</span>
  <span class="hl opt">}</span>
  ResourceMgr<span class="hl opt">::</span><span class="hl kwd">instance</span><span class="hl opt">().</span><span class="hl kwd">writeCategory</span><span class="hl opt">(</span><span class="hl str">&quot;html&quot;</span><span class="hl opt">,</span>outDir<span class="hl opt">);</span>
<span class="hl opt">}</span>
</code></pre></td></tr></table>
</div> <!-- class=content -->
<div class='footer'>generated by <a href='http://git.zx2c4.com/cgit/about/'>cgit v0.12</a> at 2025-01-16 15:42:29 (GMT)</div>
</div> <!-- id=cgit -->
</body>
</html>