42 Melissa Williams
42 Melissa Williams
Height: 6-1
Year: Jr.
Hometown: Camas, Wash.
High School: Camas HS '11
Position: F
Experience: 2L
Twitter: @melissawillie42
gp 30
pts/g 6.0
fg % 44.6
3pt % 0.0
ft % 77.4
reb/g 6.2
a/g 1.0

2013-14 Big Sky All-Academic Team
2012-13 Big Sky All-Academic Team

2011-12 Big Sky All-Academic Team 

2013-14: Appeared in all 30 of Eastern's games in her third year in Cheney, making 19 starts ... Averaged 25.2 minutes per game ... Led the team and ranked 12th in the Big Sky in rebounding, pulling down an average of 6.2 boards per game ... Averaged 4.7 defensive rebounds per game, good for seventh in the Big Sky ... Averaged 6.0 points per game, good for fifth on the team ... Connected on 44.6 percent of her shots and 77.4 percent (24-31) of her free throw attempts ... Shot 85.0 percent (17-20) from the charity stripe in Big Sky games ... Tied for the team lead with 23 blocked shots ... Tallied 20 assists and 25 steals ... Finished with six points and four rebounds in Eastern's season opener at Portland (Nov. 8) ... Pulled down six rebounds and scored four points against SMU (Nov. 16) ... Tallied 10 points and five rebounds against nationally-ranked Iowa State (Nov. 29) ... Recorded a career-high 13 rebounds and added eight points against Butler (Nov. 30) ... Registered eight rebounds and four points in EWU's win over Cal State Northridge (Dec. 6) ... Went for six points, seven rebounds and two blocks against Northwest (Wash.) on Dec. 17 ... Scored six points on 3-of-4 shooting against Boise State (Dec. 20), adding five rebounds ... Tallied six points, five rebounds and a career-high four steals versus Portland State (Dec. 29) ... Pulled down seven rebounds against Weber State (Jan. 2) before recording six boards and four points versus Idaho State (Jan. 4) ... Notched eight points and six rebounds at Montana (Jan. 9) ... Scored 10 points on 5-of-10 shooting against Sacramento State (Jan. 18), adding four rebounds ... Tallied six rebounds and 10 points against Northern Colorado (Feb. 1), igniting a stretch of three games with double-digit rebounds ... Recorded her first double-double of the year with 12 points and 11 rebounds in Eastern's win over Montana State (Feb. 6) ... Followed that up with another double-double, this time going for 10 points and 10 boards against Montana (Feb. 8) ... Earned co-Big Sky Player of the Week honors following her double-doubles against the Montana schools ... Tallied seven points and four assists against Sacramento State (Feb. 13) ... Finished with eight points and eight rebounds against Southern Utah (Feb. 20), shooting 4-of-5 from the field ... Recorded six points on 3-of-4 shooting against Portland State (Feb. 24), adding seven rebounds ... Pulled down nine boards in EWU's win over Northern Colorado (Feb. 27) before tallying four points and six rebounds against North Dakota (Mar. 1) ... Scored a career-high 23 points on 9-of-13 shooting at Idaho State (Mar. 6), adding five rebounds ... Registered her third double-double of the year against Weber State (Mar. 8), finishing with 10 points and 10 rebounds ... Had 10 points in Eastern's loss to Idaho State in the quarterfinals of the Big Sky Tournament (Mar. 13) ... Earned Big Sky All-Academic honors for the third consecutive season.

2012-13: Played in 29 games and recorded 13 starts in her second year at Eastern ... Finished second on the team in rebounding with an average of 6.1 rebounds per game, also good for 13th in the Big Sky ... Tallied two double-doubles on the season, good for second on the team ... Also ranked second on the squad in field goal percentage, shooting at a .458 clip (55-120) ... Made 77.1 percent of her free throws, upping that percentage to 80.0 in conference play ... Grabbed 10 rebounds in 20 minutes against Cal State Northridge (Nov. 15) ... Played 32 minutes and totaled 10 boards versus cross-town rival Gonzaga (Dec. 4) ... Went for eight points and seven rebounds against Warner Pacific (Dec. 29) before tallying seven points and 10 boards in the Eagles’ 58-56 win over Montana (Jan. 3) ... Recorded her first career double-double against Northern Arizona (Jan. 10), finishing with 13 points and 11 rebounds ... Scored 10 points on 5-of-7 shooting and grabbed 11 rebounds against Sacramento State (Jan. 12) ... Had four points and six rebounds in 19 minutes versus Sacramento State (Feb. 7) ... Grabbed nine boards in EWU’s 83-51 win over Portland State (Feb. 21) ... Went for eight points and seven rebounds in Eastern’s 67-58 win over North Dakota (Mar. 2) ... Recorded seven rebounds against both Idaho State (Mar. 7) and Weber State (Mar. 9), adding six points against the Wildcats ... Registered nine rebounds in the Eagles’ victory over Montana State in the opening round of the Big Sky Tournament (Mar. 13) ... Scored 10 points and grabbed five boards in EWU’s loss to Northern Colorado in the semifinals of the Big Sky Tournament (Mar. 15) ... Earned Big Sky All-Academic honors.

2011-12: One of only two true freshmen in the Big Sky Conference to start every single game in the 2011-12 season ... Earned Big Sky All-Academic honors for maintaining a minimum 3.20 grade point average ... Williams averaged 27.5 minutes per game, and tallied 137 points, 158 rebounds, 55 blocks, 39 assists and 31 steals as a rookie ... She had three double-digit scoring efforts, all of which were in Big Sky Conference play ... She had back-to-back 10-point performances against Northern Arizona (Jan. 7) and Sacramento State (Jan. 12), while grabbing 10 rebounds in the two games combined ... She had a career-high nine boards against perennial Big Sky power Montana (Jan. 2), and again at Sacramento State (Feb. 4) ... Williams made 5-of-7 field goals for a career-high 12 points in Eastern’s 75-67 win on the road against Portland State (Jan. 21) ... She also had six rebounds, two assists, two blocks and one steal in that game ... Williams improved her shooting efficiency from 39 percent in the non-conference season to 46 percent in league play, and had at least five rebounds in 11 of 16 Big Sky games.

High School: Four-year varsity letterwinner out of Camas High School ... Selected as the 2010 Greater St. Helen’s League Player of the Year and the Columbian’s All-Region Player of the Year ... Led her team to the Class 3A District Championship in 2010, averaging 16 points per game throughout the year ... The Papermakers earned that title after defeating rival Prairie 59-46 in a game where Williams had six assists and five steals ... Prior to being named GSHL Player of the Year, she earned all-league first-team honors as a sophomore and second-team accolades as a freshman ... Williams was also a three-year academic all-conference selection.

Personal: Daughter of Joe and Karen Williams ... Majoring in biology.


Williams's Career Statistics

        Total 3-Point F-Throws Rebounds                
YEAR GP-GS MIN AVG FG FGA PCT FG FGA PCT FT FTA PCT OFF DEF TOT AVG PF FO AST TO BLK STL PTS AVG
2011-12 30-30 825 27.5 61 142 .430 0 1 .000 15 22 .682 48 110 158 5.3 63 1 39 55 24 31 137 4.6
2012-13 29-13 657 22.7 55 120 .458 0 1 .000 27 35 .771 46 131 177 6.1 55 1 20 27 9 22 137 4.7
2013-14 30-19 757 25.2 78 175 .446 0 1 .000 24 31 .774 45 140 185 6.2 80 3 29 52 23 25 180 6.0
TOTAL 89-62 2239 25.2 194 437 .444 0 3 .000 66 88 .750 139 381 520 5.8 198 5 88 134 56 78 454 5.1
                                                 

Williams's Career Highs

Points: 23 at Idaho State (Mar. 6, 2014)                              
Rebounds: 13 vs. Butler (Nov. 30, 2013)                              
Assists: 5 at Idaho State (Mar. 3, 2012)                              
Steals: 4 vs. Portland State (Dec. 29, 2013)                              
Blocks: 4, 2x, last vs. Idaho State (Feb. 25, 2012)                              
FG Made: 9 at Idaho State (Mar. 6, 2014)                              
FG Attempts: 13 at Idaho State (Mar. 6, 2014)                              
3FG Made: -                              
3FG Attempts: 1, 3x, last vs. Idaho (Dec. 14, 2013)                              
FT Made: 5, 3x, last at Idaho State (Mar. 6, 2014)                              
FT Attempts: 7, 2x, last at Idaho State (Mar. 6, 2014)                              
Recent Games
Feb 24 at Portland State W, 61-60
Feb 27 Northern Colorado W, 67-61
Mar 1 North Dakota L, 61-57
Mar 6 at Idaho State L, 86-62
Mar 8 at Weber State W, 68-60
Mar 13 vs. Idaho State L, 70-65
Statistics category Overall Conf
Games 30 20
Games started 19 14
Minutes 757 516
Minutes per game 25.2 25.8
FG 78-175 53-110
FG Pct 44.6 48.2
3PT 0-1 0-0
3PT Pct 0.0 -
FT 24-31 17-20
FT Pct 77.4 85.0
Off rebounds 45 31
Def rebounds 140 97
Total rebounds 185 128
Rebounds per game 6.2 6.4
Personal fouls 80 59
Disqualifications 3 3
Assists 29 23
Turnovers 52 32
Assist to turnover ratio 0.6 0.7
Steals 25 18
Blocks 23 16
Points 180 123
Points per game 6.0 6.2
Points per 40 min 9.5 9.5
Date Opponent Score gs min fg pct 3pt pct ft pct pts
Nov 1 Master's College W, 87-74 - 6 0-0 - 0-0 - 0-0 - 0
Nov 8 at Portland L, 68-65 - 29 3-4 75.0 0-0 - 0-0 - 6
Nov 16 SMU L, 75-70 - 27 2-5 40.0 0-0 - 0-0 - 4
Nov 20 at Gonzaga L, 78-58 - 12 0-1 0.0 0-0 - 0-0 - 0
Nov 29 vs. Iowa St. L, 88-60 1 27 4-9 44.4 0-0 - 2-2 100.0 10
Nov 30 vs. Butler L, 74-51 1 35 4-12 33.3 0-0 - 0-0 - 8
Dec 6 Cal State Northridge W, 73-53 1 25 2-9 22.2 0-0 - 0-0 - 4
Dec 14 Idaho W, 85-84 1 12 1-3 33.3 0-1 0.0 1-3 33.3 3
Dec 17 Northwest (Wash) W, 90-48 - 14 3-6 50.0 0-0 - 0-0 - 6
Dec 20 Boise St. W, 81-66 - 23 3-4 75.0 0-0 - 0-0 - 6
Dec 29 Portland State L, 86-74 - 28 3-9 33.3 0-0 - 0-0 - 6
Jan 2 Weber State W, 78-67 - 25 0-3 0.0 0-0 - 0-0 - 0
Jan 4 Idaho State W, 67-55 - 21 2-4 50.0 0-0 - 0-0 - 4
Jan 9 at Montana L, 81-64 - 26 3-4 75.0 0-0 - 2-2 100.0 8
Jan 11 at Montana State L, 78-74 - 18 3-5 60.0 0-0 - 0-0 - 6
Jan 16 Northern Arizona W, 92-68 1 12 0-1 0.0 0-0 - 0-1 0.0 0
Jan 18 Sacramento State W, 78-65 1 25 5-10 50.0 0-0 - 0-0 - 10
Jan 25 at Southern Utah L, 62-61 1 17 0-1 0.0 0-0 - 0-0 - 0
Jan 30 at North Dakota L, 82-60 1 22 0-5 0.0 0-0 - 2-2 100.0 2
Feb 1 at Northern Colorado W, 52-51 1 32 2-5 40.0 0-0 - 2-2 100.0 6
Feb 6 Montana State W, 81-66 1 31 5-9 55.6 0-0 - 2-2 100.0 12
Feb 8 Montana W, 71-61 1 34 5-7 71.4 0-0 - 0-0 - 10
Feb 13 at Sacramento State W, 79-73 1 27 1-5 20.0 0-0 - 0-0 - 2
Feb 15 at Northern Arizona L, 86-78 1 18 2-2 100.0 0-0 - 0-0 - 4
Feb 20 Southern Utah W, 59-54 1 35 4-5 80.0 0-0 - 0-0 - 8
Feb 24 at Portland State W, 61-60 1 26 3-4 75.0 0-0 - 0-0 - 6
Feb 27 Northern Colorado W, 67-61 1 25 1-5 20.0 0-0 - 0-0 - 2
Mar 1 North Dakota L, 61-57 - 26 1-5 20.0 0-0 - 2-2 100.0 4
Mar 6 at Idaho State L, 86-62 1 33 9-13 69.2 0-0 - 5-7 71.4 23
Mar 8 at Weber State W, 68-60 1 35 4-8 50.0 0-0 - 2-2 100.0 10
Mar 13 vs. Idaho State L, 70-65 1 37 3-12 25.0 0-0 - 4-6 66.7 10
Date Opponent Score gs min off def reb ast to a/to stl blk pf dq
Nov 1 Master's College W, 87-74 - 6 0 0 0 0 0 - 0 0 4 0
Nov 8 at Portland L, 68-65 - 29 1 3 4 1 2 0.5 1 2 1 0
Nov 16 SMU L, 75-70 - 27 2 4 6 1 1 1.0 1 1 3 0
Nov 20 at Gonzaga L, 78-58 - 12 0 4 4 0 1 0.0 0 0 2 0
Nov 29 vs. Iowa St. L, 88-60 1 27 0 5 5 0 2 0.0 1 0 4 0
Nov 30 vs. Butler L, 74-51 1 35 3 10 13 1 3 0.3 1 1 3 0
Dec 6 Cal State Northridge W, 73-53 1 25 4 4 8 1 3 0.3 0 1 0 0
Dec 14 Idaho W, 85-84 1 12 1 2 3 0 3 0.0 1 0 0 0
Dec 17 Northwest (Wash) W, 90-48 - 14 1 6 7 1 0 - 2 0 3 0
Dec 20 Boise St. W, 81-66 - 23 1 4 5 0 2 0.0 0 1 2 0
Dec 29 Portland State L, 86-74 - 28 0 5 5 1 0 - 4 0 2 0
Jan 2 Weber State W, 78-67 - 25 2 5 7 2 3 0.7 1 0 3 0
Jan 4 Idaho State W, 67-55 - 21 0 6 6 3 3 1.0 0 0 2 0
Jan 9 at Montana L, 81-64 - 26 1 5 6 2 1 2.0 1 2 5 1
Jan 11 at Montana State L, 78-74 - 18 1 3 4 1 2 0.5 1 0 3 0
Jan 16 Northern Arizona W, 92-68 1 12 1 2 3 0 1 0.0 0 0 1 0
Jan 18 Sacramento State W, 78-65 1 25 2 2 4 1 1 1.0 1 0 3 0
Jan 25 at Southern Utah L, 62-61 1 17 1 2 3 0 2 0.0 0 2 4 0
Jan 30 at North Dakota L, 82-60 1 22 1 2 3 0 1 0.0 0 1 1 -
Feb 1 at Northern Colorado W, 52-51 1 32 4 6 10 3 1 3.0 0 0 2 -
Feb 6 Montana State W, 81-66 1 31 3 8 11 1 3 0.3 2 0 4 -
Feb 8 Montana W, 71-61 1 34 3 7 10 0 0 - 2 1 3 -
Feb 13 at Sacramento State W, 79-73 1 27 0 7 7 4 1 4.0 1 1 1 -
Feb 15 at Northern Arizona L, 86-78 1 18 0 4 4 0 2 0.0 0 1 5 1
Feb 20 Southern Utah W, 59-54 1 35 2 6 8 0 1 0.0 2 3 3 -
Feb 24 at Portland State W, 61-60 1 26 1 6 7 1 3 0.3 0 0 4 -
Feb 27 Northern Colorado W, 67-61 1 25 2 7 9 1 2 0.5 0 1 5 1
Mar 1 North Dakota L, 61-57 - 26 3 3 6 2 0 - 2 1 0 -
Mar 6 at Idaho State L, 86-62 1 33 2 3 5 1 2 0.5 1 1 4 -
Mar 8 at Weber State W, 68-60 1 35 2 8 10 0 3 0.0 0 2 4 -
Mar 13 vs. Idaho State L, 70-65 1 37 1 1 2 1 3 0.3 0 1 3 -
  gp gs min/g fg/g pct 3pt/g pct ft/g pct ppg
2012-13 29 13 22.7 1.9-4.1 45.8 0.0-0.0 0.0 0.9-1.2 77.1 4.7
2013-14 30 19 25.2 2.6-5.8 44.6 0.0-0.0 0.0 0.8-1.0 77.4 6.0
2014-15 33 33 30.9 4.5-9.2 49.3 0.0-0.2 20.0 1.3-1.8 73.3 10.4
Total 92 65 26.5 3.1-6.5 47.2 0.0-0.1 14.3 1.0-1.4 75.4 7.2
  gp gs min fg pct 3pt pct ft pct pts
2012-13 29 13 657 55-120 45.8 0-1 0.0 27-35 77.1 137
2013-14 30 19 757 78-175 44.6 0-1 0.0 24-31 77.4 180
2014-15 33 33 1020 149-302 49.3 1-5 20.0 44-60 73.3 343
Total 92 65 2434 282-597 47.2 1-7 14.3 95-126 75.4 660
  gp gs min/g fg/40 pct 3pt/40 pct ft/40 pct pts/40
2012-13 29 13 22.7 3.3-7.3 45.8 0.0-0.1 0.0 1.6-2.1 77.1 8.3
2013-14 30 19 25.2 4.1-9.2 44.6 0.0-0.1 0.0 1.3-1.6 77.4 9.5
2014-15 33 33 30.9 5.8-11.8 49.3 0.0-0.2 20.0 1.7-2.4 73.3 13.5
Total 92 65 26.5 4.6-9.8 47.2 0.0-0.1 14.3 1.6-2.1 75.4 10.8
  gp gs mpg off/g def/g reb/g pf/g dq/g ast/g to/g a/to stl/g blk/g
2012-13 29 13 22.7 1.6 4.5 6.1 1.9 0.0 0.7 0.9 0.7 0.8 0.3
2013-14 30 19 25.2 1.5 4.7 6.2 2.7 0.1 1.0 1.7 0.6 0.8 0.8
2014-15 33 33 30.9 2.4 7.1 9.5 2.8 0.1 2.0 1.8 1.1 1.5 0.9
Total 92 65 26.5 1.8 5.5 7.3 2.5 0.1 1.3 1.5 0.8 1.1 0.7
  gp gs min off def reb pf dq ast to a/to stl blk
2012-13 29 13 657 46 131 177 55 1 20 27 0.7 22 9
2013-14 30 19 757 45 140 185 80 3 29 52 0.6 25 23
2014-15 33 33 1020 78 234 312 91 3 67 61 1.1 50 30
Total 92 65 2434 169 505 674 226 7 116 140 0.8 97 62
  gp gs mpg off/40 def/40 reb/40 pf/40 dq/40 ast/40 to/40 a/to stl/40 blk/40
2012-13 29 13 22.7 2.8 8.0 10.8 3.3 0.1 1.2 1.6 0.7 1.3 0.5
2013-14 30 19 25.2 2.4 7.4 9.8 4.2 0.2 1.5 2.7 0.6 1.3 1.2
2014-15 33 33 30.9 3.1 9.2 12.2 3.6 0.1 2.6 2.4 1.1 2.0 1.2
Total 92 65 26.5 2.8 8.3 11.1 3.7 0.1 1.9 2.3 0.8 1.6 1.0
  gp gs min/g fg/g pct 3pt/g pct ft/g pct ppg
Total 30 19 25.2 2.6-5.8 44.6 0.0-0.0 0.0 0.8-1.0 77.4 6.0
Conference 20 14 25.8 2.6-5.5 48.2 0.0-0.0 - 0.8-1.0 85.0 6.2
There was a problem with a Velocity script
Pagebio-template
ErrorVM #split: too few arguments to macro. Wanted 4 got 3 at bio-template[line 220, column 1]
Page source:
1: ## PICK UP OPTIONS
2: $website.include("options")
3: #set ($options = $request.getAttribute("options"))
4: #set ($locale = "en_us")
5: #set ($locale = $options.get("locale"))
6: 
7: ## HACK TO GET STATS URL FROM RENDERER... NEEDS SERVER CHANGE
8: #set ($bioObject = $page.getDataAsObject())
9: #set ($statsURL = $bioObject.statsURL)
10: 
11: #if ($statsURL.length() > 0)
12:   $website.includeAgain("${statsURL}?tmpl=bio-stats-template")
13:   ## various settings to get the variables set
14:   #set ($events = $request.getAttribute("bio_events"))
15:   #set ($seasons = $request.getAttribute("bio_seasons"))
16:   #set ($career = $request.getAttribute("bio_career"))
17:   #set ($labels = $request.getAttribute("bio_labels"))
18:   #set ($briefs = $request.getAttribute("bio_briefs"))
19:   #set ($gamelogs = $request.getAttribute("bio_gamelogs"))
20:   #set ($splits = $request.getAttribute("bio_splits"))
21:   #set ($statPosition = $request.getAttribute("bio_position"))
22:   #set ($positions = $request.getAttribute("bio_positions"))
23:   #set ($playerId = $request.getAttribute("bio_player_id"))
24:   #set ($highlights = $request.getAttribute("bio_highlights"))
25:   #set ($formats = $request.getAttribute("bio_formats"))
26:   #set ($gamelogsCategoriesLabels = $request.getAttribute("bio_gamelogs_labels"))
27:   #set ($briefsCategoriesLabels = $request.getAttribute("bio_briefs_labels"))
28:   #set ($gamesResults = $request.getAttribute("bio_games_results"))
29:   #set ($monthsPlayed = $request.getAttribute("bio_months_played"))
30: #end
31: 
32: #set ($pos = "")
33: #set ($pos = $attributes.get("position"))
34: #set ($pos = $statPosition)
35: #set ($posVec = $pos.split("/"))
36: #set ($pos = $posVec[0])
37: #set ($pos = $pos.toLowerCase())
38: #set ($statPos = $positions.get($pos))
39: #set ($paramPos = $request.getParameter("pos"))
40: 
41: #set ($playerId = $attributes.get("playerId"))
42: #set ($stats = $splits.overall)
43: #set ($highlights = $highlights.get($statPos))
44: 
45: #set ($showHighlights = true)
46: #if ($options.get("bio_show_highlights") && $options.get("bio_show_highlights") == false)
47: 	#set ($showHighlights = false)
48: #end
49: 
50: #set ($showCareer = $wiki.valid() && $seasons)
51: #if ("yes" == $options.get("stats_show_career") && $seasons)
52:   #set ($showCareer = true)
53: #end
54: 
55: #set ($hasEvents = $events.size() > 0)
56: #set ($hasSynopsis = $synopsis.length() > 1 && $synopsis.indexOf("<center>") == -1)
57: #set ($htmlStatsURL = "${page.url}-stats")
58: #set ($hasHTMLStats = $website.exists($htmlStatsURL))
59: #set ($bioBriefURL = "${page.url}-brief")
60: #set ($hasBioBrief = $website.exists("$bioBriefURL"))
61: #set ($showRoster = ($page.contentType == "loki/bio" && $page.headlinesFeatured.size() > 0) || ($page.contentType == "loki/bio-network" && $page.sectionPage.children.size() > 1))
62: #if ($options.get("bio_hide_roster") == true)
63:   #set ($showRoster = false)
64: #end
65: 
66: #set ($view = "")
67: #if ($hasSynopsis || $hasBioBrief)
68:   #set ($view = "bio")
69: #elseif ($statsURL.length() > 0)
70:   #set ($view = "profile")
71: #elseif ($hasHTMLStats)
72:   #set ($view = "htmlstats")
73: #elseif ($releases.size() > 0)
74:   #set ($view = "news")
75: #end
76: 
77: #if ($options.get("bio_default_view").length() > 0)
78:   #set ($checkView = $options.get("bio_default_view"))
79: #end
80: 
81: #if ($request.getParameter("view"))
82:   #set ($checkView = $request.getParameter("view"))
83: #end
84: 
85: #if ($checkView == "profile" && $statsURL.length() > 0)
86:   #set ($view = "profile")
87: #elseif ($checkView == "bio" && ($hasSynopsis || $hasBioBrief))
88:   #set ($view = "bio")
89: #elseif ($checkView == "gamelog" && $statsURL.length() > 0)
90:   #set ($view = "gamelog")
91: #elseif ($checkView == "career" && $showCareer)
92:   #set ($view = "career")
93: #elseif ($checkView == "splits" && $statsURL.length() > 0)
94:   #set ($view = "splits")
95: #elseif ($checkView == "htmlstats" && $hasHTMLStats)
96:   #set ($view = "htmlstats")
97: #elseif ($checkView == "news" && $releases.size() > 0)
98:   #set ($view = "news")
99: #end
100: 
101: #macro (gamelogData $p)
102: 
103: #set ($p = $positions.get($p))
104: #set ($gamelogs = $gamelogs.get($p))
105: 	
106: #if ($hasEvents)
107: <div class="stats-box full clearfix">
108: <div class="scrollable">
109: <div>
110: <table>
111:   <tr class="thead">
112:     <th class="text">Date</th>
113:     <th class="pinned-col text">Opponent</th>
114:     <th>Score</th>
115:     #foreach ($gamelog in $gamelogs)
116:       <th>$gamelog</th>
117:     #end
118:   </tr>
119: #foreach ($event in $events)
120:   <tr>
121:     <td class="text">$formatter.formatDate($event.event.date, "MMM d")</td>
122:     <td class="pinned-col text">
123:       #if ($event.event.neutralSite.length() > 0) vs. #elseif (!$event.event.home) at #end
124:       $event.event.opponent.name
125:     </td>
126:     <td>
127:     #if ($event.event.statusCode >= 0)
128:       #if ($event.event.eventId.length() > 0 && $event.stats.size() > 0)
129:       <a href="../boxscores/${formatter.formatDate($event.event.date, "yyyyMMdd")}_${event.event.eventId.substring(0, 4)}.xml">${event.event.APResult}</a>
130:       #else
131:       ${event.event.APResult}
132:       #end
133:     #else &nbsp; #end
134:     </td>
135:     #foreach ($gamelog in $gamelogs.keySet())
136:       #set ($value = "-")
137:       #set ($value = $formatter.formatNumber($event.stats.get($gamelog), $formats.get($gamelog)))
138:       <td>$value</td>
139:     #end
140:   </tr>
141: #end
142: </table>
143: </div>
144: </div> ## scrollable
145: </div> ## stats-box
146: #end
147: 
148: #end ## macro gamelogData
149: 
150: #macro (split $statPosBriefs $label $stats)
151:   <tr>
152:     <td class="pinned-col text">${label}</td>
153:     #foreach ($brief in $statPosBriefs.keySet())
154:       #set ($value = "-")
155:       #set ($value = $!formatter.formatNumber($stats.get($brief), $formats.get($brief)))
156:       <td>#if ($value.length() > 0) $value #else - #end</td>
157:     #end
158:   </tr>
159: #end
160: 
161: #macro (careerData $p)
162: #set ($p = $positions.get($p))
163: #set ($statPosBriefs = $briefs.get($p))
164: 
165: <div class="stats-box full clearfix">
166: <div class="scrollable">
167: <div>
168: <table>
169: <tr class="thead">
170:   <th class="pinned-col">&nbsp;</th>
171:   #foreach ($brief in $statPosBriefs)
172:     <th>$brief</th>
173:   #end
174: </tr>
175: 
176: #set ($careerTotals = $request.getAttribute("careerTotals"))
177: #set ($careerMap = $request.getAttribute("careerMap"))
178: 
179: #foreach ($season in $seasons)
180:   ## Check if we did not get stats for this season
181:   #if ($careerMap.get($season.seasonName))
182:     #split($statPosBriefs, $season.seasonName, $careerMap[$season.seasonName])
183:   #elseif ($wiki.valid())
184:     <tr>
185:       <td class="text">${season.seasonName}</td>
186:       <td colspan="${briefs.size()}">We could not find the "players" page in the ${season.seasonName} section.</td>
187:     </tr>
188:   #end
189: #end
190: 
191: #split($statPosBriefs, "Total", $request.getAttribute("careerTotals").overall)
192: 
193: </table>
194: </div>
195: </div> ## scrollable
196: </div> ## stats-box
197: 
198: #end ## macro careerData
199: 
200: #macro (splitsData $p)
201: 
202: #set ($p = $positions.get($p))
203: #set ($statPosBriefs = $briefs.get($p))
204: #set ($colspan = $tool.math.add($statPosBriefs.size(), 1))	
205: 	
206: #if ($statPosBriefs.size() > 0)
207: <div class="stats-box full clearfix">
208: <div class="scrollable">
209: <div>
210: <table>
211:   <tr>
212:     <th class="pinned-col">&nbsp;</th>
213:     #foreach ($brief in $statPosBriefs)
214:       <th>$brief</th>
215:     #end
216:   </tr>
217: 
218: #split($statPosBriefs, "Total", $splits.overall)
219: #split($statPosBriefs, "Conference", $splits.conference)
220: #split($statPosBriefs, "Exhibition", $splits.exhibition)
221: 
222: <tr class="empty-row"><td colspan="$colspan"><div class="empty-cell">-</div></td></tr>
223: 
224: #split($statPosBriefs, "Home", $splits.home)
225: #split($statPosBriefs, "Away", $splits.away)
226: #split($statPosBriefs, "Neutral", $splits.neutral)
227: 
228: <tr class="empty-row"><td colspan="$colspan"><div class="empty-cell">-</div></td></tr>
229: 
230: #foreach($gameResult in $gamesResults.entrySet())
231:   #if ($gameResult.key == "wins")
232:     #set ($splitGameResult = $splits.inWins)
233:   #elseif ($gameResult.key == "losses")
234:     #set ($splitGameResult = $splits.inLosses)
235:   #elseif ($gameResult.key == "ties")
236:     #set ($splitGameResult = $splits.inTies)
237:   #end
238: 	
239:   #split($statPosBriefs, $gameResult.value, $splitGameResult)
240: #end
241: 
242: <tr class="empty-row"><td colspan="$colspan"><div class="empty-cell">-</div></td></tr>
243: 
244: #if ($monthsPlayed and $monthsPlayed.size() > 0)
245:   #foreach($month in $monthsPlayed)
246:     #if ($month == 'January')
247:       #set ($splitMonth = $splits.january)
248:     #elseif ($month == 'February')
249:       #set ($splitMonth = $splits.february)
250:     #elseif ($month == 'March')
251:       #set($splitMonth = $splits.march)
252:     #elseif ($month == 'April')
253:       #set($splitMonth = $splits.april)
254:     #elseif ($month == 'May')
255:       #set ($splitMonth = $splits.may)
256:     #elseif ($month == 'June')
257:       #set ($splitMonth = $splits.june)
258:     #elseif ($month == 'July')
259:       #set($splitMonth = $splits.july)
260:     #elseif ($month == 'August')
261:       #set ($splitMonth = $splits.august)
262:     #elseif ($month == 'September')
263:       #set($splitMonth = $splits.september)
264:     #elseif ($month == 'October')
265:       #set($splitMonth = $splits.october)
266:     #elseif ($month == 'November')
267:       #set ($splitMonth = $splits.november)
268:     #elseif ($month == 'December')
269:       #set($splitMonth = $splits.december)
270:     #end
271: 		
272:     #split($statPosBriefs, $month, $splitMonth)
273:   #end ## foreach
274: #end
275: </table>
276: </div>
277: </div> ## scrollable
278: </div> ## srollable-table
279: #end
280: 
281: #end ## macro splitsData
282: 
283: #macro (printRecentGames)
284: #if ($hasEvents)
285: <table>
286:   <tr class="thead"><th colspan="3">Recent Games</th></tr>
287:   
288: #set ($eventEnd = -1)
289: #foreach ($event in $events)
290:   #if ($event.event.result.resolved)
291:     #set ($eventEnd = $velocityCount)
292:   #end
293: #end
294: 
295: #set ($eventStart = $eventEnd - 5)
296: #if ($eventStart < 0) #set ($eventStart = 0) #end
297: 
298: #foreach ($event in $events)
299: #if ($velocityCount >= $eventStart and $velocityCount <= $eventEnd)
300:   <tr>
301:     <td class="text">$formatter.formatDate($event.event.date, "MMM d")</td>
302:     <td class="text">
303:       #if ($event.event.neutralSite.length() > 0) vs.
304:       #elseif (!$event.event.home) at
305:       #else ## nothing for a home game
306:       #end
307:       $event.event.opponent.name
308:     </td>
309:     <td class="text">
310:     #if ($event.event.statusCode >= 0)
311:       #if ($event.event.eventId.length() > 0 && $event.stats.size() > 0)
312:       <a href="../boxscores/${formatter.formatDate($event.event.date, "yyyyMMdd")}_${event.event.eventId.substring(0, 4)}.xml">${event.event.APResult}</a>
313:       #else
314:       ${event.event.APResult}
315:       #end
316: 	#end
317: 	</td>
318:   </tr>
319: #end ## if
320: #end
321: </table>
322: #end
323: #end ## macro printRecentGames
324: 
325: #macro (printCategories $briefCategoryLabels $v)
326: 	
327: <div class="tab-container secondary clearfix" data-module="amd-tabs">
328: <div class="tab-nav" data-module="jscroll" data-momentum="false">
329: <div>
330: <ul class="clearfix">
331: #foreach($briefCat in $briefCategoryLabels.entrySet())
332:   #set ($briefCatLabel = $briefCat.value)
333:   #set ($briefCatKey = $briefCat.key)
334: 		
335:   #if ($locale == "en_gb" && $briefCatLabel == "Defense")
336:     #set ($briefCatLabel = "Defence")
337:   #end	
338: 	
339:   <li #if ($activePos == $briefCatKey) class="active" #end><a href="${page.url}?view=${v}&pos=${briefCatKey}">$briefCatLabel</a></li>
340: #end
341: </ul>
342: </div>
343: </div>
344: <div class="tab-panels">
345: #foreach ($briefCat in $briefCategoryLabels.entrySet())
346:   #set ($class = "tab-panel clearfix")
347:   #if ($briefCat.key == $activePos)
348:     #set ($class = "tab-panel active clearfix")
349:   #end
350:   <div class="$class">
351:     <div class="stats-wrap clearfix">
352:     #if ($v == "splits")
353:       #splitsData($briefCat.key)
354:     #elseif ($v == "career")
355:       #careerData($briefCat.key)
356:     #end
357:     </div>
358:   </div>
359: #end	
360: </div>
361: </div> ## tab-container
362: 
363: #end ## macro printCategories
364: 	
365: #macro (printHeadshot)
366: 
367: #if ($attributes.get("number"))<span class="number">$!attributes.get("number")</span>#end
368: 
369: #if ($headshot.url)
370:   <img src="$headshot.url?max_width=160&max_height=210" alt="$fullName" title="$fullName" />
371: #else
372:   #if ($website.exists("/images/setup/headshot_default.jpg"))
373:     <img src="/images/setup/headshot_default.jpg?max_width=160&max_height=210" alt="$fullName" title="$fullName" />
374:   #else
375:     <img src="/info/images/default_headshot.jpg?max_width=160&max_height=210" alt="$fullName" title="$fullName" />
376:   #end
377: #end
378: #end ## macro printHeadshot
379: 	
380: #macro (printBioInfo)
381: <div class="player-name">
382:   #if ($attributes.get("number"))<span class="number">$!attributes.get("number")</span>#end
383:   <span class="name">$fullName</span>
384: </div>	
385: 	
386: <table>
387: #foreach ($i in [1..10])
388:   #set ($stickyKey = "bio_custom${i}_sticky")
389:   #if ($options.get($stickyKey).length() > 0 && $attributes.get("custom${i}").length() > 0)
390:     <tr>
391:       <td class="label">$options.get($stickyKey): </td>
392:       <td class="value">$!attributes.get("custom${i}")</td>
393:     </tr>
394:   #end
395: #end
396: 
397: #foreach ($field in $fields)
398:   #if (!$field.key.startsWith("custom"))
399:     #if ($attributes.get($field.key).length() > 0 && ($field.key != "first_name" && $field.key != "last_name" && $field.key != "number" && $field.key != "full_name"))
400:       #if ($field.key == "phone1" || $field.key == "phone2")
401:         <tr>
402:           <td class="label">Phone: </td>
403:           <td class="value">$!attributes.get($field.key)</td>
404:         </tr>
405:       #elseif ($field.key == "email_address")
406:         #set ($emailAdd = $attributes.get($field.key))
407:         <tr>
408:           <td class="label">Email: </td>
409:           <td class="value"><a href="mailto:${emailAdd}">$emailAdd</a></td>
410:         </tr>
411:       #else
412:         <tr>
413:           <td class="label">$field.value: </td>
414:           <td class="value">$!attributes.get($field.key)</td>
415:         </tr>
416:       #end
417:     #end
418:   #end
419: #end
420: 
421: #foreach ($i in [1..10])
422:   #set ($customKey = "bio_custom${i}")
423:   #if ($options.get($customKey).length() > 0 && $attributes.get("custom${i}"))
424:     <tr>
425:       <td class="label">$options.get($customKey): </td>
426:       <td class="value">$!attributes.get("custom${i}")</td>
427:     </tr>
428:   #end
429: #end
430: </table>
431: #end ## macro printBioInfo
432: 	
433: #macro (printHighlights)
434: #foreach ($highlight in $highlights.keySet())
435:   #set ($value = "-")
436:   #set ($value = $formatter.formatNumber($stats.get($highlight), $formats.get($highlight)))
437:   <div class="stat clearfix">
438:     <span class="stat-title">$!highlights.get($highlight)</span>
439:     <span class="stat-value">$value</span>
440:   </div>
441: #end
442: #end ## macro printHighlights
443: 	
444: #macro (printRoster)
445: #if ($page.contentType == "loki/bio")
446:   #set ($headlinesFeaturedSize = 0)
447:   #foreach ($featuredPage in $page.headlinesFeatured)
448:     #if ($featuredPage.contentType == "loki/headlines")
449:       #set ($headlinesFeaturedSize = $headlinesFeaturedSize + 1)
450:     #end
451:   #end
452:   #if ($headlinesFeaturedSize > 0)
453:     <select class="roster-select-list">
454:       <option selected="selected">Related Bios</option>
455:       #foreach ($featuredPage in $page.headlinesFeatured)
456:         #if ($featuredPage.contentType == "loki/headlines")
457:           $website.includeAgain("${featuredPage.url}?tmpl=roster-list-template&current_url=${page.url}")
458: 		#end
459: 	  #end
460:     </select>
461:   #end
462: #elseif ($page.contentType == "loki/bio-network")
463:   #set ($relatedPlayers = $page.sectionPage.children)
464:   #set ($teamNames = {})
465:   #foreach ($relatedPlayer in $relatedPlayers)
466:     #if ($relatedPlayer.contentType == "loki/bio-network")
467:       #set ($relatedPlayerObj = $relatedPlayer.getDataAsObject().getAttributes())
468:       #set ($teamName = $relatedPlayerObj.get("team"))
469:       #if ($teamName.length() > 0)
470:         #if (!$teamNames.containsValue($teamName))
471:           $!teamNames.put($tool.math.add($teamNames.size(), 1), $teamName)
472:         #end
473:       #end
474:     #end
475:   #end
476: 
477:   <select class="roster-select-list">
478:   #foreach ($i in [1..$teamNames.size()])
479:     #if ($teamNames.size() > 1)
480:       <optgroup label="$teamNames.get($i)">
481:     #end
482: 				
483:     #foreach ($relatedPlayer in $relatedPlayers)
484:       #if ($relatedPlayer.contentType == "loki/bio-network")
485:         #set ($relatedPlayerObj = $relatedPlayer.getDataAsObject().getAttributes())
486:         #set ($teamName = $relatedPlayerObj.get("team"))
487:         #if ($teamName.length() > 0 && $teamName == $teamNames.get($i))
488:           #set ($playerFirstName = $relatedPlayerObj.get("first_name"))
489:           #set ($playerLastName = $relatedPlayerObj.get("last_name"))
490:           #if ($page.url == $relatedPlayer.url)
491:             <option value="$relatedPlayer.url" selected="selected">${playerFirstName} ${playerLastName}</option>
492:           #else
493:             <option value="$relatedPlayer.url">${playerFirstName} ${playerLastName}</option>
494:           #end
495:         #end
496:       #end
497:     #end
498: 				
499:     #if ($teamNames.size() > 1)
500:       </optgroup>
501:     #end
502:   #end
503:   </select>
504: #end
505: #end ## macro printRoster
506: 	
507: ################################################## END MACROS  #############################################################
508: 
509: #if ($attributes.get("full_name").length() > 0)
510:   #set ($fullName = $attributes.get("full_name"))
511: #else
512:   #set ($firstName = $!attributes.get("first_name"))
513:   #set ($lastName = $!attributes.get("last_name"))
514:   #set ($fullName = "${firstName} ${lastName}")
515: #end
516: 
517: ## FULL ROSTER
518: <div class="bio-wrap clearfix">
519: 	
520: ## RELATED BIOS
521: #if ($showRoster)
522:   <div class="related-bios clearfix">#printRoster</div>
523: #end
524:   
525: <div class="head clearfix">
526: <div class="clearfix">
527:     
528: <div class="player-about clearfix">
529:   <div class="player-headshot">#printHeadshot</div>
530:   <div class="player-info">#printBioInfo</div>
531: </div>
532: 
533: #if ($highlights && $showHighlights)
534:   <div class="player-highlights clearfix">#printHighlights</div>
535: #end
536: 
537: </div>
538: </div> ## head
539: 
540: #if ($view.length() > 0)
541: <div class="body clearfix">
542:   
543: <div class="tab-container primary clearfix" data-module="amd-tabs">
544: <div class="tab-nav" data-module="jscroll" data-momentum="false">
545:   <div>
546:   <ul class="clearfix">
547:   #if ($hasSynopsis || $hasBioBrief)
548:     <li #if ($view == "bio") class="active" #end><a href="${page.url}?view=bio">Bio</a></li>
549:   #end
550: 		
551:   #if ($statsURL.length() > 0)
552:     <li #if ($view == "profile") class="active" #end><a href="${page.url}?view=profile">Player Profile</a></li>
553:     <li #if ($view == "gamelog") class="active" #end><a href="${page.url}?view=gamelog">Game Log</a></li>
554:     #if ($showCareer)
555:       <li #if ($view == "career") class="active" #end><a href="${page.url}?view=career">Career Stats</a></li>
556:     #end
557:     <li #if ($view == "splits") class="active" #end><a href="${page.url}?view=splits">Split Stats</a></li>
558:   #end
559: 
560:   #if ($hasHTMLStats)
561:     <li #if ($view == "htmlstats") class="active" #end><a href="${page.url}?view=htmlstats">HTML Stats</a></li>
562:   #end
563:  
564:   #if ($releases.size() > 0)
565: 	<li #if ($view == "news") class="active" #end><a href="${page.url}?view=news">News</a></li>
566:   #end
567:   </ul>
568:   </div>
569: </div> ## tab-nav
570: 
571: <div class="tab-panels clearfix">
572: 	
573: ## BIO
574: #if ($hasSynopsis || $hasBioBrief)
575: 
576: #set ($class = "tab-panel clearfix")
577: #if ($view == "bio")
578:   #set ($class = "tab-panel active clearfix")
579: #end
580: <div class="${class}">
581: 
582: <div class="synopsis clearfix">
583: #if ($hasSynopsis)
584:   $synopsis
585: #elseif ($hasBioBrief)
586:   $website.include("$bioBriefURL")
587: #end
588: </div>
589: 
590: </div> ## tab-panel
591: #end 
592: ## BIO
593: 
594: ## STATS
595: #if ($statsURL.length() > 0)
596: 
597: ## PROFILE
598: #set ($class = "tab-panel clearfix")
599: #if ($view == "profile")
600:   #set ($class = "tab-panel active clearfix")
601: #end
602: <div class="${class}">
603: <div class="stats-wrap clearfix">
604: 
605: ## LAST SIX GAMES
606: <div class="stats-box half">
607: #printRecentGames()
608: </div>
609: 
610: ## RANKING
611: <div class="stats-box half">
612: #if ($statPos.length() > 0)
613:   $website.include("../players?tmpl=stats-bios-rank-template&rank=${playerId}&pos=${statPos}")
614: #end
615: </div>
616: 
617: </div> ## stats-wrap	
618: </div> ## tab-content
619: ## PROFILE
620: 
621: ## GAMELOG
622: #set ($class = "tab-panel clearfix")
623: #if ($view == "gamelog")
624:   #set ($class = "tab-panel active clearfix")
625: #end
626: 
627: #set ($activePos = $statPos)
628: #if ($view == "gamelog" && $paramPos.length() > 0)
629:   #if ($positions.get($paramPos).length() > 0)
630:     #set ($activePos = $positions.get($paramPos))
631:   #end
632: #end
633: 
634: <div class="${class}">
635: 
636: #if ($gamelogsCategoriesLabels)
637: <div class="tab-container secondary clearfix" data-module="amd-tabs">
638:   <div class="tab-nav" data-module="jscroll" data-momentum="false">
639:     <div>
640:     <ul class="clearfix">
641:     #foreach($gamelogsCatLabel in $gamelogsCategoriesLabels.entrySet())
642:       #set($gamelogsCatLabelVal = $gamelogsCatLabel.value)
643: 		
644:       #if ($locale == "en_gb" && $gamelogsCatLabelVal == "Defense")
645:         #set($gamelogsCatLabelVal = "Defence")
646:       #end
647: 
648:       <li #if ($activePos == $gamelogsCatLabel.key) class="active" #end><a href="${page.url}?view=gamelog&pos=${gamelogsCatLabel.key}">$gamelogsCatLabelVal</a></li>
649:     #end
650:     </ul>
651: 	</div>
652:   </div>
653:   <div class="tab-panels">
654:   #foreach($gamelogsCatLabel in $gamelogsCategoriesLabels.entrySet())
655:     #set ($class = "tab-panel clearfix")
656:     #if ($gamelogsCatLabel.key == $activePos)
657:       #set ($class = "tab-panel active clearfix")
658:     #end
659:     <div class="${class}">
660:       <div class="stats-wrap clearfix">#gamelogData($gamelogsCatLabel.key)</div>
661: 	</div>
662:   #end   
663:   </div>
664: </div>	
665: #else
666:   <div class="stats-wrap clearfix">#gamelogData($pos)</div>
667: #end
668: 	
669: </div> ## tab-panel
670: ## GAMELOG
671: 
672: 
673: ## CAREER
674: #if ($showCareer)
675: 
676: #set ($activePos = $statPos)
677: #if ($view == "career" && $paramPos.length() > 0)
678:   #if ($positions.get($paramPos).length() > 0)
679:     #set ($activePos = $positions.get($paramPos))
680:   #end
681: #end
682: 
683: #set ($class = "tab-panel clearfix")
684: #if ($view == "career")
685:   #set ($class = "tab-panel active clearfix")
686: #end
687: 
688: <div class="${class}">
689: 
690: #if ($briefsCategoriesLabels)
691:   #printCategories($briefsCategoriesLabels "career")
692: #else
693:   <div class="stats-wrap clearfix">#careerData($activePos)</div>
694: #end		
695: 
696: </div> ## tab-panel
697: #end
698: ## CAREER
699: 
700: ## SPLITS
701: #set ($class = "tab-panel clearfix")
702: #if ($view == "splits")
703: 	#set ($class = "tab-panel active clearfix")
704: #end
705: 
706: #set ($activePos = $statPos)
707: #if ($view == "splits" && $paramPos.length() > 0)
708:   #if ($positions.get($paramPos).length() > 0)
709:     #set ($activePos = $positions.get($paramPos))
710:   #end
711: #end
712: 
713: <div class="${class}">
714: 
715: #if ($briefsCategoriesLabels)
716:   #printCategories($briefsCategoriesLabels "splits")
717: #else
718:   <div class="stats-wrap clearfix">#splitsData($pos)</div>
719: #end		
720: 
721: </div> ## tab-panel
722: ## SPLITS
723: 
724: #end 
725: ## STATS
726: 
727: ## HTML STATS
728: #if ($hasHTMLStats)
729: 
730: #set ($class = "tab-panel clearfix")
731: #if ($view == "htmlstats")
732:   #set ($class = "tab-panel active clearfix")
733: #end
734: <div class="${class}">
735:   <a href="${htmlStatsURL}" class="bio-htmlstats-identifier">Click to view HTML Stats</a>
736: </div>
737: 
738: #end
739: ## HTML STATS
740: 
741: ## NEWS
742: #set ($class = "tab-panel clearfix")
743: #if ($view == "news")
744:   #set ($class = "tab-panel active clearfix")
745: #end
746: <div class="bio-news ${class}">
747: 
748: #set ($counter = 0)
749: 
750: #foreach ($article in $releases)
751: #if ($article.title.length() > 0)
752: 
753: #set ($counter = $counter + 1)
754: 
755: #if ($counter == 1)
756:   <div class="row clearfix">
757: #end
758: 
759: <div class="item">
760: <div>
761: #if ($article.thumbnailURL)
762:   <img src="${article.thumbnailURL}?max_width=300" alt="" />
763: #else
764:   <img src="/images/setup/thumbnail_default.jpg" alt="" />
765: #end
766: 
767: <a href="$article.url" class="title">$article.title</a>
768: 
769: </div>
770: </div> ## item
771: 
772: #if ($counter == 3 || $velocityCount == $releases.size())
773:   </div> ## row
774:   #set ($counter = 0)
775: #end
776: 
777: #end
778: #end ## foreach
779: 
780: </div> ## tab-content
781: ## NEWS
782: 	
783: </div> ## tab-panels
784: </div> ## tab-container
785: </div> ## body
786: #end
787: 
788: $wiki
789: </div> ## ends bio-wrap

View: Mobile | Desktop