George Wallace, running a segregationist splinter candidacy, hopes to deadlock the election.",
"image_url": "https://i.imgur.com/HOaf9gZ.jpeg",
"winning_electoral_vote_number": 270,
"advisor_url": "https://i.imgur.com/9J3HhXc.gif",
"recommended_reading": "General Resources
Final 1968 Results
Theodore White - The Making of the President 1968 (Landmark Political)
Rick Perlstein - Nixonland: The Rise of a President and the Fracturing of America
By the Candidates
Richard Nixon - The Memoirs of Richard Nixon
Hubert Humphrey - 1948 Civil Rights speech
George Wallace - 1967 speech on dissent and intellectualism
The Vietnam War
Stanley Karnow - Vietnam: A HistoryMisceallany
Secret of '68
Living Apart: How the Government Betrayed a Landmark Civil Rights Law
The G.O.P.'s Journey From the Liberal Days of Nixon
George Wallace and the 1968 Election",
"has_visits": 1,
"no_electoral_majority_image": "https://i.imgur.com/1TLKUrx.png",
"creator": "Dan Bryan",
"display_year": "1968 Glenn"
}
}
]
campaignTrail_temp.candidate_json = [
{
"model": "campaign_trail.candidate",
"pk": 24,
"fields": {
"first_name": "John",
"last_name": "Glenn",
"election": 4,
"party": "Democratic",
"state": "Ohio",
"priority": 1,
"description": "If you ask any citizen to name who they think is the image of an American hero, John Herschel Glenn is almost certainly who they picture. He's fought for his country in Korea. He's flown across the country faster than a speeding bullet. He's been shot into orbit in the tin can he called Friendship 7. He's formed a strong friendship with the Kennedy family. What can be next for such a hero? Scraping the sky. The Presidency.\n\n He's not a politician, not by a moonshot. The only time he's ran for office, he's dropped out from a head injury. But he's running nonetheless. The people behind him are all second-hand, taken from the late Bobby Kennedy's campaign. In Glenn, they see the embodiment of Bobby's impossible dream, and he, their sworn knight of Camelot, must ride in to defend it. Pressing forward unto not just castle Camelot, but towards the Final Frontier.
\n\n Only time shall tell if he'll succeed.
",
"color_hex": "#2b6383",
"secondary_color_hex": "#FFA0A0",
"is_active": 1,
"image_url": "https://i.imgur.com/tt459hk.jpeg",
"electoral_victory_message": "Congratulations! You have won the 1968 election!
You give your victory speech to a jubilant crowd outside the hotel you were staying in, and take dejected concession calls from Nixon and Wallace. You and Hughes are over the moon with the joy of the victory!
Filling the boots of your friend Bobby Kennedy will be an incredibly difficult task, but if anyone can do it, it's you. You should start making calls to your cabinet picks, President-Elect Glenn!
",
"electoral_loss_message": "Sorry, you have lost the 1968 election.
You call Nixon, offering him good luck for the years ahead, and then deliver a glum concession speech to the defeated crowd. Hughes is saddened, as are you.
The American public will only be able to dream of what might have been if you had won. But, don't get too down on yourself. You're still young for a politician, your career sure isn't over if you don't want it to be. And, who knows what might happen in the years ahead? This might not be the only time you run for President...
",
"no_electoral_majority_message": "Oh, God, no. A deadlock.
Wallace's machinations have succeeded. The election will go to the House of Representatives, where the Democrats hold a solid majority.
Let's hope most of those Democrats aren't Dixiecrats, because if they are, you might have to make a deal with Wallace. But, with how odious he truly is, making a deal with Nixon might be your best bet. You might not even have to make a deal at all. However, all of that remains to be seen. Best of luck to you in January!
",
"description_as_running_mate": null,
"candidate_score": 0.666,
"running_mate": false
}
},
{
"model": "campaign_trail.candidate",
"pk": 23,
"fields": {
"first_name": "Richard",
"last_name": "Nixon",
"election": 4,
"party": "Republican",
"state": "New York",
"priority": 2,
"description": "Richard \"Tricky Dick\" Nixon has been everything. A puppet, a pauper, a pirate, a poet, a pawn, and a king. After years of struggle, it seems he is poised to inherit the title of president. He is a vicious man, not afraid to get his hands dirty if it lets them hold power. He has many enemies, and few friends. His overt animalistic tendencies seep into every venture of his, almost compulsively, and yet, enough believe that he is the symbol of hope for Old Glory to return to a more gilded age of blue jeans and baseball.
If Glenn dares stand against him, Nixon will not hesitate to fight like a cornered fox for the power he feels has been denied to him for so long. He will rip and tear and claw his way through that pompous spaceman because it is the only way he knows how to function, and because the wilderness often consumes men, swallowing them whole and leaving them hollowed out, and Nixon refuses to become one of them.\n
NOT PLAYABLE, SORRY",
"color_hex": "#ab0f12",
"secondary_color_hex": "#90C0FF",
"is_active": 1,
"image_url": "https://i.imgur.com/HoaiDtr.jpeg",
"electoral_victory_message": "Congratulations! You have won the 1968 election!
It looked like a hopeless case as you accepted the nomination, but you have run an outstanding campaign in the interval.
Now you must press forward with your efforts to defend the Great Society and to end the war in Vietnam. Failure in the latter case could be devastating when you seek reelection in 1972. After all, just look at what happened to the once-lustrous reputation of Lyndon Johnson over the past four years...
",
"electoral_loss_message": "Sorry, you have lost the 1968 election.
You may have performed admirably under trying circumstances, but it was always a tough sell for you after the chaos at the Democratic Convention in Chicago.
Your only consolation is that Nixon himself is a former loser. Even so, this is a horrednous turn of events for Democrats after the landslide of 1964. The best you can do now is to plot a comeback to the Senate, or as a candidate for President in 1972.
",
"no_electoral_majority_message": "Wow! No candidate achieved a majority in the electoral college.
Fortunately for you the Democrats have won a majority of the nation's Congressional delegations. Unfortunately, you also have to deal with George Wallace. He will not allow the Southern states to support any candidate who advocates desegregation.
Your best chance, sadly, is to try to broker a deal with Nixon or with other moderate Republicans.
You are the likely winner, but who knows where this all ends?
",
"description_as_running_mate": null,
"candidate_score": 0.7,
"running_mate": false
}
},
{
"model": "campaign_trail.candidate",
"pk": 25,
"fields": {
"first_name": "George",
"last_name": "Wallace",
"election": 4,
"party": "American Independent",
"state": "Alabama",
"priority": 3,
"description": "To the northern population, George Wallace is a fire-eating, wild-eyed scoundrel. He delivers rousing speeches, raising hell wherever he walks. To his followers, he is a modern crusader, carrying the burning cross of southern freedom on his back as he travels, sticking it to the Yankee scalawags in the federal government. In reality, he is nothing more than a ruthless politician of the Old South.
His ruthlessness is almost impossible to exaggerate, considering he hid his wife's cancer diagnosis from her just so he could stay in the Governor's mansion for another four years. He forsook his mentor Jim Folsom's moderate path, taking the easy way to victory in 1962. Unfortunately, the easy way only works in the deep South, meaning he stands no chance of winning outright. But, if he succeeds in hanging the election, it will be his magnum opus, the final triumph of segregation. This cannot come to pass.\n
NOT PLAYABLE, SORRY",
"color_hex": "#d2b770",
"secondary_color_hex": "#FFFFC0",
"is_active": 1,
"image_url": "https://i.imgur.com/yrsIIdF.jpeg",
"electoral_victory_message": "Wow! You have won the 1968 election in a shocker!
Dixie forever! Even with the Long Hot Summer of 1967, nobody guessed that you could do well enough in the Northern states to win the election outright. You have instantly become most polarizing President-elect since Abraham Lincoln.
",
"electoral_loss_message": "Sorry, you did not prevent an electoral college majority.
You put in a good effort, but your dream of brokering an end to desegregation will not come to fruition in 1968. No winning candidate will negotiate that point with you unless they absolutely have no choice.
The best you can do for now is continue to sound the call for a return to sanity in American politics. Perhaps if the riots and discord continue, you will have a better chance of making your voice heard in 1972.
",
"no_electoral_majority_message": "Congratulations! You have deadlocked the electoral college with your votes in the South.
In a close election, your electoral votes in the South have prevented either candidate from winning a majority. Get ready to put the squeeze on Humphrey and Nixon.
Of course, you still have to deal with the possibility that Humphrey and Nixon dislike you so much that they will simply strike a deal with each other. Whatever happens, it's sure to be interesting.
",
"description_as_running_mate": null,
"candidate_score": 1,
"running_mate": false
}
},
{
"model": "campaign_trail.candidate",
"pk": 55,
"fields": {
"first_name": "Harold",
"last_name": "Hughes",
"election": 4,
"party": "Democratic",
"state": "Iowa",
"priority": 29,
"description": "n/a",
"color_hex": "#FF0000",
"secondary_color_hex": "#FFA0A0",
"is_active": 0,
"image_url": "https://upload.wikimedia.org/wikipedia/commons/c/ce/Governor_Harold_Hughes.jpg?20221218201340",
"electoral_victory_message": "n/a",
"electoral_loss_message": "n/a",
"no_electoral_majority_message": "n/a",
"description_as_running_mate": "If Harold Hughes is to be listed, quantified, and labeled, the label that he would surely be ascribed is honest. A god-fearing family man hailing from the quaint state of Iowa, he has quite the story to his name. He was not always a godly man, in fact, he has battled with alcoholism for years. At one point, he was on the verge of ending his own life with a shotgun, only being saved when he called out to the Lord, who answered. This changed his life, eventually ending up with him winning three terms as Iowa governor.
Glenn and him are both moderate Christian liberals from the Midwest, so there's little regional balance. His story is uplifting, but, unfortunately, Nixon and Wallace and all the other hateful jackals might try and play off of his past issues, like his opponent in 1966 did. One can only hope he delivers as good a rebuttal as he did in '66.
",
"candidate_score": 0,
"running_mate": true
}
}
]
campaignTrail_temp.running_mate_json = [
{
"model": "campaign_trail.running_mate",
"pk": 124296,
"fields": {
"candidate": 24,
"running_mate": 55
}
}
]
campaignTrail_temp.credits = "Atlascarlos, with early writing help from OttoBraunirl, and coding help from StrawberryMaster"
campaignTrail_temp.global_parameter_json = [
{
"model": "campaign_trail.global_parameter",
"pk": 1,
"fields": {
"vote_variable": 1.125,
"max_swing": 0.12,
"start_point": 0.94,
"candidate_issue_weight": 10,
"running_mate_issue_weight": 3,
"issue_stance_1_max": -0.71,
"issue_stance_2_max": -0.3,
"issue_stance_3_max": -0.125,
"issue_stance_4_max": 0.125,
"issue_stance_5_max": 0.3,
"issue_stance_6_max": 0.71,
"global_variance": 0.01,
"state_variance": 0.005,
"question_count": 25,
"default_map_color_hex": "#C9C9C9",
"no_state_map_color_hex": "#999999"
}
}
]
campaignTrail_temp.opponents_default_json = [
{
"election": 4,
"candidates": [
24,
23,
25
]
}
]
campaignTrail_temp.opponents_weighted_json = [
{
"election": 4,
"candidates": [
24,
23,
25
]
}
]
campaignTrail_temp.temp_election_list = [
{
"id": 4,
"year": 1968,
"is_premium": 0,
"display_year": "1968 Glenn"
}
]
jet_data = {
"headerColor": "#700016",
"windowColor": "#BFE6FF",
"containerColor": "#FFFFFF",
"innerWindowColor": "#E8FBFF",
"bannerImageUrl": "https://i.imgur.com/Wde776z.png",
"backgroundImageUrl": "https://coolbackgrounds.io/images/backgrounds/white/pure-white-background-85a2a7fd.jpg",
"endingTextColor": "#000000",
"customQuote": "\"I'm not interested in my legacy. I'm more interested in living.\" - John Glenn"
}
//#startcode
corrr = '\n THE CAMPAIGN TRAIL
"I\'m not interested in my legacy. I\'m more interested in living." - John Glenn\n ';
nct_stuff.themes[nct_stuff.selectedTheme].coloring_title = "#700016";
nct_stuff.themes[nct_stuff.selectedTheme].coloring_window = "#BFE6FF";
document.getElementsByClassName("game_header")[0].style.backgroundColor = nct_stuff.themes[nct_stuff.selectedTheme].coloring_title;
$("#game_window")[0].style.backgroundColor = nct_stuff.themes[nct_stuff.selectedTheme].coloring_window;
$(".container")[0].style.backgroundColor = "#FFFFFF";
document.getElementById("header").src = "https://i.imgur.com/Xet3B2r.png";
document.body.background = "https://coolbackgrounds.io/images/backgrounds/white/pure-white-background-85a2a7fd.jpg";
document.head.innerHTML += "";
campaignTrail_temp.musicOn = true
// This is a modified version of the music player
// used in Things That Never Were.
// standardized classes
class Song {
constructor(title, artist, coverLink, audioLink) {
this.title = title;
this.artist = artist;
this.coverLink = coverLink;
this.audioLink = audioLink;
}
getTitle() { return this.title; }
getArtist() { return this.artist; }
getCoverLink() { return this.coverLink; }
getAudioLink() { return this.audioLink; }
}
class Playlist {
constructor() {
this.songs = [];
this.currentSongIndex = 0;
}
addSong(song) { this.songs.push(song); }
getCurrentSong() { return this.songs[this.currentSongIndex]; }
playNext() { this.currentSongIndex = (this.currentSongIndex + 1) % this.songs.length; }
playPrevious() { this.currentSongIndex = (this.currentSongIndex - 1 + this.songs.length) % this.songs.length; }
}
window.Playlist = Playlist;
window.Song = Song;
// globals
let playlist = new Playlist();
let rfk_playlist = new Playlist();
let rep_playlist = new Playlist();
let audioInstance = null;
let currentVolume = 1;
let currentTheme = "RFK"; // tracks active playlist theme
// button toggle tracking
let ppBTN = "https://i.imgur.com/lwgWXIy.png";
let ppBTN_pause = "https://i.imgur.com/TuT9Tlb.png";
// helpers
function getAudioElement() {
if (!audioInstance) {
audioInstance = document.createElement("audio");
audioInstance.id = "audio";
document.body.appendChild(audioInstance);
}
return audioInstance;
}
function updatePlayPauseIcon(isPlaying) {
const btn = document.getElementById("playPauseButton");
if (btn) btn.src = isPlaying ? ppBTN_pause : ppBTN;
}
function safePlay(audioElement) {
let playPromise = audioElement.play();
if (playPromise !== undefined) {
playPromise.then(() => {
updatePlayPauseIcon(true);
}).catch(error => {
if (error.name !== "AbortError") {
console.error("audio play error:", error);
updatePlayPauseIcon(false);
}
});
}
}
function changePlaylist(newPlaylist) {
playlist = newPlaylist;
playlist.currentSongIndex = 0;
updateUI(playlist);
// ensure audio exists before trying to access it
const audio = getAudioElement();
audio.src = playlist.getCurrentSong().audioLink;
safePlay(audio);
}
window.changePlaylist = changePlaylist;
function updateUI(playlist) {
const currentSong = playlist.getCurrentSong();
const player = document.getElementById("player");
if (!player || !currentSong) return;
player.querySelector("#cover").src = currentSong.getCoverLink();
player.querySelector("#title").textContent = currentSong.getTitle();
player.querySelector("#artist").textContent = currentSong.getArtist();
}
window.updateUI = updateUI;
function playCurrentSong() {
updateUI(playlist);
const audio = getAudioElement();
audio.src = playlist.getCurrentSong().audioLink;
safePlay(audio);
}
// setup
function setupMusicPlayer() {
const gameWindow_player = document.getElementById("game_window");
if (!gameWindow_player) return;
// prevent duplicate players
const existingPlayer = document.getElementById("player");
if (existingPlayer) existingPlayer.remove();
playlist = new Playlist();
rfk_playlist = new Playlist();
rep_playlist = new Playlist();
const commonSongs = [
["Astronomy Domine", "Pink Floyd", "https://i.imgur.com/4Jx2TXl.jpeg", "https://audio.jukehost.co.uk/7sPD3l6utCoRSVj0Lywdf7XmGZlR2XLq"],
["Spanish Caravan", "The Doors", "https://i.imgur.com/v5DqMSS.jpeg", "https://audio.jukehost.co.uk/0zAqUEywX2vRiD3SKRtYoPdQvJo4Nx4Q"],
["Pretty Girl Why", "Buffalo Springfield", "https://i.imgur.com/o7NvGCN.jpeg", "https://audio.jukehost.co.uk/WHjCxX20MOCSo8SUloxKDoBvImGuDXPf"],
["Beggin'", "The Four Seasons", "https://i.imgur.com/pgriVQU.jpeg", "https://audio.jukehost.co.uk/EVd9wL3gCrBdyeDWRECVf6esLmWWohDv"],
["Leavin' On A Jet Plane", "Peter, Paul and Mary", "https://i.imgur.com/MQ1av0v.jpeg", "https://audio.jukehost.co.uk/jWdQM5taITDlovqp2u1ImGFry89VxrlS"]
];
const songRFK = new Song("Walking In Space", "Galt MacDermot", "https://i.imgur.com/fSNf9Wp.jpeg", "https://audio.jukehost.co.uk/B4ct0V4aKOfGe0Fbmghrfj5OWJ3ZZ5MK");
const songREP = new Song("Everybody's Talkin'", "Barry McGuire", "https://i.imgur.com/OljKnlE.jpeg", "https://audio.jukehost.co.uk/UvLc18iwEoxKLNePjlZLVbUokWhUMGQ2");
rfk_playlist.addSong(songRFK);
rep_playlist.addSong(songREP);
commonSongs.forEach(data => {
let s = new Song(data[0], data[1], data[2], data[3]);
rfk_playlist.addSong(s);
rep_playlist.addSong(s);
});
// create HTML
const playerContainer = document.createElement("div");
playerContainer.id = "player";
playerContainer.innerHTML = `
`;
gameWindow_player.insertAdjacentElement("afterend", playerContainer);
// set up audio & logic
const audio = getAudioElement();
audio.volume = currentVolume / 9;
const playPauseBtn = document.getElementById("playPauseButton");
const prevBtn = document.getElementById("prevButton");
const nextBtn = document.getElementById("nextButton");
const progressBar = document.getElementById("progress-bar");
const volumeSlider = document.getElementById("volumeSlider");
const coverImg = document.getElementById("cover");
// playlist switching via cover click
coverImg.addEventListener("click", () => {
if (currentTheme === "RFK") {
currentTheme = "REP";
changePlaylist(rep_playlist);
changePlayerStyle("https://i.imgur.com/qdEBzhq.png", "#404040");
} else {
currentTheme = "RFK";
changePlaylist(rfk_playlist);
changePlayerStyle("https://i.imgur.com/qdEBzhq.png", "#404040");
}
});
playPauseBtn.addEventListener("click", () => {
if (audio.paused) safePlay(audio);
else { audio.pause(); updatePlayPauseIcon(false); }
});
nextBtn.addEventListener("click", () => { playlist.playNext(); playCurrentSong(); });
prevBtn.addEventListener("click", () => { playlist.playPrevious(); playCurrentSong(); });
// progress bars
progressBar.addEventListener("click", function (e) {
if (!audio.duration || isNaN(audio.duration)) return;
const rect = this.getBoundingClientRect();
const clickX = e.clientX - rect.left;
const percent = clickX / rect.width;
audio.currentTime = percent * audio.duration;
});
audio.addEventListener("timeupdate", () => {
if (audio.duration && !isNaN(audio.duration)) {
progressBar.value = (audio.currentTime / audio.duration) * 100;
}
});
audio.addEventListener("ended", () => {
playlist.playNext();
playCurrentSong();
});
volumeSlider.addEventListener("input", function () {
currentVolume = parseInt(this.value, 10);
audio.volume = currentVolume / 9;
});
// inject CSS
if (!document.getElementById("tape-base-style")) {
document.documentElement.style.setProperty('--theme-color', "#404040");
const style = document.createElement("style");
style.id = "tape-base-style";
style.textContent = `
#player {
position: relative;
border: 2px solid #404040;
display: flex;
flex-direction: row;
align-items: center;
height: 191px;
background-size: cover;
background-position: center;
font-family: Arial, sans-serif;
}
#cover {
width: 176px;
height: 176px;
margin-left: 11px;
cursor: pointer;
z-index: 2;
}
#center-column {
display: flex;
flex-direction: column;
justify-content: center;
flex: 1;
height: 100%;
padding-left: 20px;
padding-right: 40px;
}
#song-info {
display: flex;
flex-direction: column;
color: var(--theme-color);
margin-bottom: 2px;
margin-left: 100px;
margin-top: 5px;
}
#artist {
font-size: 18px;
font-weight: bold;
margin: 0 0 2px 0;
white-space: nowrap;
}
#title {
font-size: 28px;
font-weight: bold;
margin: 0;
white-space: nowrap;
}
#progress-bar-container {
width: 560px;
height: 18px;
margin-bottom: 8px;
margin-left: 100px;
border-radius: 5px;
}
#progress-bar {
width: 100%;
height: 100%;
appearance: none;
-webkit-appearance: none;
border: none;
cursor: pointer;
background-color: transparent;
background-size: 100% 100%;
}
#progress-bar::-webkit-progress-bar { background-color: transparent; }
#progress-bar::-webkit-progress-value { background-color: var(--theme-color); }
#progress-bar::-moz-progress-bar { background-color: var(--theme-color); }
#progress-bar::-ms-fill { background-color: var(--theme-color); }
#controls {
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
gap: 18px;
}
#controls img {
cursor: pointer;
height: 35px;
}
#prevButton, #nextButton { width: 38px; }
#playPauseButton { width: 57px; }
#volume-container {
position: absolute;
right: 5px;
top: 0;
bottom: 0;
width: 30px;
display: flex;
justify-content: center;
align-items: center;
}
.is-vertical {
height: 173px;
width: 30px;
display: flex;
justify-content: center;
align-items: center;
transform: rotate(-90deg);
transform-origin: center;
}
#volumeSlider {
width: 173px;
height: 10px;
-webkit-appearance: none;
appearance: none;
background: transparent;
cursor: pointer;
border-left: 3px solid var(--theme-color);
border-right: 3px solid var(--theme-color);
padding: 0 3px;
}
#volumeSlider::-webkit-slider-runnable-track { width: 100%; height: 4px; border-radius: 0px; }
#volumeSlider::-moz-range-track { width: 100%; height: 4px; border-radius: 0px; }
#volumeSlider::-webkit-slider-thumb { -webkit-appearance: none; appearance: none; background: var(--theme-color); border: none; width: 15px; height: 4px; margin-top: -4px; border-radius: 0px; }
#volumeSlider::-moz-range-thumb { background: var(--theme-color); border: 1px solid var(--theme-color); width: 15px; height: 4px; border-radius: 0px; }
`;
document.head.appendChild(style);
}
// start player
changePlaylist(rfk_playlist);
changePlayerStyle("https://i.imgur.com/qdEBzhq.png", "#404040");
}
// player style swapper
function changePlayerStyle(bgImage, txtColor) {
document.documentElement.style.setProperty('--theme-color', txtColor);
const playerElement = document.getElementById("player");
const progBar = document.getElementById("progress-bar");
const prevBtn = document.getElementById("prevButton");
const ppBtn = document.getElementById("playPauseButton");
const ffBtn = document.getElementById("nextButton");
if (playerElement) playerElement.style.backgroundImage = `url("${bgImage}")`;
if (bgImage === "https://i.imgur.com/qdEBzhq.png") { // blue theme
if (progBar) progBar.style.backgroundImage = `url("https://i.imgur.com/fMtU2NR.png")`;
if (prevBtn) prevBtn.src = "https://i.imgur.com/WJ34ich.png";
if (ppBtn) ppBtn.src = "https://i.imgur.com/TuT9Tlb.png";
if (ffBtn) ffBtn.src = "https://i.imgur.com/JsHNOVO.png";
ppBTN = "https://i.imgur.com/lwgWXIy.png";
ppBTN_pause = "https://i.imgur.com/TuT9Tlb.png";
} else { // red theme
if (progBar) progBar.style.backgroundImage = `url("https://i.imgur.com/fMtU2NR.png")`;
if (prevBtn) prevBtn.src = "https://i.imgur.com/WJ34ich.png";
if (ppBtn) ppBtn.src = "https://i.imgur.com/TuT9Tlb.png";
if (ffBtn) ffBtn.src = "https://i.imgur.com/JsHNOVO.png";
ppBTN = "https://i.imgur.com/lwgWXIy.png";
ppBTN_pause = "https://i.imgur.com/TuT9Tlb.png";
}
const audio = getAudioElement();
updatePlayPauseIcon(!audio.paused);
}
setupMusicPlayer();
//#endcode