If the fifth season of Snowfall was ushered in by the “fall of a star on the rise” — the tragic death of Len Bias and Franklin killing Rob as he looked up at Halley’s Comet — its finale closes out the season with a meteor shower of alliances, interests, and atrocities.
When “Fault Lines” begins, Franklin and Veronique have stars in their eyes as they relish in post-coital bliss and dream aloud of a world where they could walk away from the game. As they relish in this alternate universe, their pillow talk plans of marriage and mundanity are quickly overhauled when the silent seizure of Franklin’s funds forecloses their potential future. Teddy has cleared Franklin’s accounts of the $73 million with which he plans to “make a very generous donation to [his] former employer.”
If the past five seasons have taught us anything, it is that power distorts relationships. Teddy’s backlash against Franklin merely reiterated this truth. Only power can explain why Teddy, the originator of the infidelity who crossed Franklin by agreeing to work with Louie, can occupy the position of the scorned ex. Teddy puts Franklin in deep, deep debt (our boy’s been living above his means with money he can’t even legally claim!) as punishment. As Teddy flexes, it becomes evident that no moments of intimacy or connection could ever undermine the hierarchy built into their arrangement. Franklin forgot (or simply misunderstood) that Teddy was not his equal. He could not betray because him because he was never accountable to him. Teddy owes him nothing. “It’s really over?” Veronique asks Franklin. “It’s really over,” he responds, not knowing the carnage had only just begun.
Overcome by the panic of a poor-man-turned-rich-man who is faced yet again with poverty, Franklin spirals as he and Veronique attempt to cover their bills without cash reserves. As she informs him, the property he owns is depreciating in value due to the violence in South Central, and even if he sold everything, he’d still owe. “So, I’m not even broke; I’m in debt,” Franklin groans. In a rage, he destroys his office and concocts a not-so-master plan that entails apologizing to Teddy, reinstating their business relationship so that he can capture and torture the CIA affiliate. Veronique, who is notably very calm under pressure (that con-woman muscle memory is no joke!), tries to talk him down by explaining that Franklin’s horrible plan will get them all killed. Franklin, restless and unable to temper his emotional responses, proceeds with his plan, and it blows up in his face. No amount of apologizing or accusations changes Teddy’s position, as he cautions Franklin not to forget the lesson he just learned about power. “You should be very careful right now,” Teddy tells him during their phone call. “You think you’ve lost everything? Just wait.”
Franklin turns to his allies for help to hunt down Teddy and get his money back. Gustavo is sympathetic though compromised by his connection to Teddy. He’s also unconvinced that Franklin stands a chance. “He’s the government. He always wins. You can’t beat him,” he asserts. In the end, Gustavo shows Franklin grace and wishes him luck as he hangs up the phone. Franklin is unaware that Gustavo has also been boxed into a corner by Teddy. After receiving a call from Xiamara, Gustavo learns that Teddy has bugged his home when the boys break a lamp and a listening device (or what he calls a “pinche bug”) falls out of it. Preparing to go on the run with the boys, Xiamara packs up their things while Gustavo goes to his old storage unit to get the $10 million in cash he has hidden. When a fleet of police cars and the DA himself pull up to the storage site and arrest him, it is clear his capture has been orchestrated.
Everything is falling apart. Avi is still alive but in the custody of Rubén’s team. After burning down the building and putting Avi and the dead Russian in the trunk, Ruben meets with another contact and gets access to a safe house where he prepares to torture Avi for information that could “destabilize America.” After hours of talking and exchanging stories, we learn that Rubén is the son of a Cuban woman and a Russian diplomat and that Avi’s people were Russian Jews before their settlement in Palestine. Despite their common backgrounds and generally decent rapport, Rubén kills Avi after learning that Avi’s most valuable files are in his home, not his office and that Teddy is not, in fact, a CIA agent but a recently demoted contractor. “Sorry, Avi,” Rubén says as he shoots the old man in the stomach and then in the head. (RIP to Avi! I low-key saw this coming cause he was talking a lot this season!) When Rubén goes to Avi’s house to raid his safe for documents, he overhears Teddy entering the home, drops his flashlight, and runs. As he flees, he overhears Teddy’s walkie-talkie and notices Parissa in the car, and kidnaps her as leverage. (Teddy is really slipping, and now my girl is probably gonna die!). “There might be a problem,” Teddy tells his CIA contact after he returns to his car and finds that his Persian queen is missing.
Interrupted in the middle of her honeymoon with calls from Teddy and Franklin, Louie can’t seem to escape work. Teddy calls to share the news of Franklin’s resignation and to verify if he can count on her going forward. “Could be good for us? No bitterness, no competition,” Louie thinks aloud. Resisting the encroachment of anxiety, Jerome embraces the moment. “Fuck it, we in!” he remarks. A few hours later, Franklin calls with an urgency that tugs at their familial bond. “I’m in trouble, you’re the only one that can help me,” he tells his Aunt Louie. When the two finally meet, the tension between them is immediately restored. After Franklin tells her about his newfound brokenness, Louie is initially sympathetic but adamant that she isn’t sure what Franklin wants her to do about it. What Franklin wants is for her to feed him Teddy’s location for their next drop so that he can blitz his former boss. Worse yet, he argues that she is obligated to do this because the entire situation is her fault. “This ain’t my problem,” Louie responds. Franklin escalates the situation and pulls a gun on his aunt to threaten her. “You gon’ shoot me?” she asks in shock. “If it meant me getting my fucking money back, I would kill you ten times over,” Franklin declares. Before he can make good, Officer Buckley, the latest addition to Louie’s payroll, appears behind Franklin with a gun of his own. Louie lets Franklin off with a warning this time but shouts, “I see you again, Imma kill you,” before leaving Franklin frozen in place as the transformation of his familial ties washes over him.
In the end, the only people who remain at Franklin’s side are the ones who remain in his pocket, Black Diamond and Dallas, and the one person who cannot bring herself to give up on him, his mother, Cissy. After, Franklin recruits Black Diamond and Dallas to rob Louie’s club and kill doormen and security guards at their business and storage locations. On a path of destruction, Franklin goes to the hospital to see Kane to stir things up even more. Walking into Kane’s hospital room as he struggles to breathe through his oxygen mask, Franklin sends his heart rate up with just a few words. “Sorry about what happened to you,” he tells him. “It was Louie.”
When his mother informs him that she heard the news of Jerome being robbed and four people killed, she asks him, “Was that you? How you gonna fix it?” The insinuation that he must fix anything sets Franklin off again. “Fix it? I tried to fix it! I showed them compassion, I showed them mercy, I walked away, I was the bigger man, and look what the fuck it got me,” he shouts. He gives his mother an out, not unlike the one he offers Veronique, but Cissy can’t sever herself from her son or his faults. Instead, she pledges to aid him in his descent. “Fight fire with fire,” she tells him, after letting him know about the friends she made in Cuba, members of the KGB, a.k.a. Soviet security agents like Ruben. “We gon’ have to burn this whole motherfucka to the ground, Mama,” Franklin responds. “Then let’s go,” Cissy proclaims.
As N.W.A’s 1988 “Straight Outta Compton” plays the episode out, the season ends on a pledge of allegiance to family, but this time, Franklin’s circle has shrunken, and only a select few remain in his orbit. For many seasons, Franklin assumed the position of the sun in the universe of his community. A figure whose warmth and scorch managed and maimed those around him, it often felt as if all things revolved around him. But as this season comes to a close, the Sun of South Central is gearing up for yet another battle with the truth — he is but a star amongst stars, and all stars must die. Intent on taking everything and everyone down with him, the Franklin to come in season six (the final season!) promises to bring more destruction. Fueled by the state and exhausted by his own ambition, Saint is a supernova fated to implode before our very eyes.
By submitting your email, you agree to our
Terms and Privacy Notice
and to receive email correspondence from us. This site is protected by reCAPTCHA and the Google
Privacy Policy and
Terms of Service apply.
or
Already a subscriber?
What is your email?
This email will be used to sign into all New York sites. By submitting your email, you agree to our Terms and Privacy Policy and to receive email correspondence from us.
Password must be at least 8 characters and contain:
Lower case letters (a-z)
Upper case letters (A-Z)
Numbers (0-9)
Special Characters (!@#$%^&*)
This password will be used to sign into all New York sites. By submitting your email, you agree to our Terms and Privacy Policy and to receive email correspondence from us.
You’re in!
As part of your account, you’ll receive occasional updates and offers from New York, which you can opt out of anytime.
or
Already a subscriber?
What is your email?
This email will be used to sign into all New York sites. By submitting your email, you agree to our Terms and Privacy Policy and to receive email correspondence from us.
Password must be at least 8 characters and contain:
Lower case letters (a-z)
Upper case letters (A-Z)
Numbers (0-9)
Special Characters (!@#$%^&*)
This password will be used to sign into all New York sites. By submitting your email, you agree to our Terms and Privacy Policy and to receive email correspondence from us.
You’re in!
As part of your account, you’ll receive occasional updates and offers from New York, which you can opt out of anytime.
Already a subscriber?
Already a subscriber?
`;
// integrate Sub(x) scripts and elements
if (hostname !== 'subs.nymag.com') { // do not integrate on this subdomain
document.head.appendChild(trackingScript);
document.body.insertAdjacentHTML('beforeend', subXAnimationElements);
}
There was an error processing the request. Please try again later."}).catch(e=>console.error("Error verifying email: ",e)))(r.querySelector(".content"),o.bannerCTAVerification)})):(l.remove(),s.remove()),o.dismissable||n.remove(),o.useAlertIcon||a.remove(),r.classList.add("show"),n.addEventListener("click",()=>{u(),r.classList.remove("show")})}else r.remove()}});
}, {"1":1,"6":6,"12":12,"35":35,"40":40}];
window.modules["global-nav.client"] = [function(require,module,exports){"use strict";const dom=require(4),auth=require(12),signInButton=dom.find(".user-signin"),signOutButton=dom.find(".user-signout"),globalNav=dom.find('[class^="global-nav"]'),body=dom.find("body"),dropdownItems=dom.findAll(".dropdown-wrap"),gtm=require(1),appendLandingPageParams=require(135),pageUri=require(124).getPageUri(),subscriptionPromoLinks=dom.findAll(".persist-params"),searchString=window.location.search||"";function closeDropdowns(e){let n=globalNav.querySelectorAll(".dropdown.open");dropdownItems.forEach(function(t){let o=t.querySelector(".dropdown");!n||t.contains(e.target)&&27!==e.keyCode||o.classList.remove("open")})}function gtmSendReport(e,n,t){let o={eventCategory:"ecommerce",eventAction:"componentClick",brand:e,dimension23:"global-nav",list:pageUri,pageZone:"header",variant:"nav-link"};"global-nav-link"===t&&(o.eventLabel=n.href),gtm.reportNow(o)}function updateElementTargetUrlsIfQueryStrings(e){if(searchString){const n=new URLSearchParams(searchString);let t=e.href;if(t.includes("?")){const o=t.split("?"),i=new URLSearchParams(o[1]);for(let e of n.entries())i.set(e[0],e[1]);t=`${o[0]}?${i.toString()}`,e.href=t}else e.href=`${t}?${n.toString()}`}}function init(e){const n=e.querySelectorAll(".to-landing-page");window.addEventListener("auth:init",()=>{signInButton.addEventListener("click",function(e){e.preventDefault(),auth.showEmbeddedLoginFlow("top navigation")}),signOutButton.addEventListener("click",function(e){e.preventDefault(),gtmSendReport("Sign Out",e.target,"user-info-link"),auth.logout()}),auth.isAuthenticated()&&e.classList.add("signed-in"),auth.isSubscriber()&&e.classList.add("subscribed"),e.querySelectorAll(".user-link").forEach(e=>{e.classList.add("active")}),subscriptionPromoLinks.forEach(e=>{updateElementTargetUrlsIfQueryStrings(e)}),appendLandingPageParams(n)})}dropdownItems.forEach(function(e){e.addEventListener("click",function(){e.querySelector(".dropdown").classList.toggle("open")})}),body.addEventListener("click",closeDropdowns),document.addEventListener("keydown",closeDropdowns),globalNav.addEventListener("click",function(e){let n=e.target;n.classList.contains("global-nav-track")&>mSendReport(n.text,n,"global-nav-link")}),module.exports=init;
}, {"1":1,"4":4,"12":12,"124":124,"135":135}];
window.modules["aaa-module-mounting.legacy"] = [function(require,module,exports){"use strict";const _pickBy=require(221),_each=require(406),Fingerprint2=require(408),DS=require(407),Eventify=require(246);function registerGlobals(){window.DS=DS,window.Eventify=Eventify,window.Fingerprint2=Fingerprint2,DS.value("Eventify",Eventify),DS.value("Fingerprint2",Fingerprint2),DS.value("$document",window.document),DS.value("$window",window)}function mountDollarSliceComponents(){DS.service("components",["$document","$module",function(e,n){var o=_pickBy(n.definitions,e=>e.providerStrategy===n.providers.controller),r=Object.keys(o);function t(e){return o=>{try{n.get(e,o)}catch(e){logMountError(o,e)}}}_each(r,n=>{var o=e.querySelectorAll('[data-uri*="/_components/'+n+'/"]'),r=e.querySelectorAll('[data-uri$="/_components/'+n+'"]');_each(o,t(n)),_each(r,t(n))}),this.components=r}]),DS.get("components")}function logMountError(e,n){const o=e.outerHTML.slice(0,e.outerHTML.indexOf(e.innerHTML));console.error("Error attaching controller to "+o,n)}registerGlobals(),"loading"===document.readyState?document.addEventListener("DOMContentLoaded",()=>{mountDollarSliceComponents()}):mountDollarSliceComponents();
}, {"221":221,"246":246,"406":406,"407":407,"408":408}];
window.modules["ads.legacy"] = [function(require,module,exports){"use strict";const _map=require(118),_forEach=require(107),_isString=require(268),_intersectionWith=require(409),_isEqual=require(274),_each=require(406),_debounce=require(182),_sortBy=require(205),page=require(124),visit=require(114);DS.service("adService",["Eventify","$cid","$document","$window",function(e,t,a,i){var o,n,s,r,d,c,u,l,g={},p=this,h=[],f=visit.getQueryParamsObject(["utm_campaign"]),m=document.querySelector('script[data-type="ad-a9"]'),b=[],w=!1,v=[],y=document.querySelector('script[data-name="ad-doubleverify"]');document.querySelector('script[data-name="concert-ads"]')||(i.NYM={},i.NYM.analytics={},i.NYM.analytics.adStartTime=i.performance.now(),i.googletag=i.googletag||{},i.googletag.cmd=i.googletag.cmd||[],u=i.googletag,(m||y)&&(i.googletag.cmd=i.googletag.cmd||[],i.googletag.cmd.push(function(){i.googletag.pubads().disableInitialLoad()})),m&&(l=i.setInterval(function(){void 0!==window.apstag&&void 0!==window.apstag.timeout&&(i.clearInterval(l),window.apstag.cleared=!0,l=null)},10),setTimeout(function(){l&&(i.clearInterval(l),i.googletag.pubads().refresh(),window.apstag||console.log("MESSAGE: Timeout for A9 load exceeded, aborting"))},500)),y&&(b.push(new Promise(function(e){w?e():v.push(e)})),c=i.setTimeout(T,2500)),o=function(e){var t,a,o=e.data,n=[];return o.loaded?e:(o.loaded=!0,t=null,(t=o.sizes?u.defineSlot(o.name,o.sizes,o.id).addService(u.pubads()):u.defineOutOfPageSlot(o.name,o.id).addService(u.pubads())).setTargeting("adid",o.id),f.hasOwnProperty("utm_campaign")&&t.setTargeting("utmcamp",f.utm_campaign),a=p.getAdCount(o.label),t.setTargeting("label",o.label+"_"+o.site+"-"+a),u.display(o.id),u.pubads().addEventListener("slotOnload",function(){i.NYM.analytics.firstAdLoadTime||(i.NYM.analytics.firstAdLoadTime=i.performance.now(),i.NYM.analytics.firstAdLoadLabel=e.data.label)}),n=_(o),Promise.all(b).then(function(){n?window.apstag&&window.apstag.cleared?window.apstag.fetchBids({slots:[n],timeout:window.apstag.timeout},function(){u.cmd.push(function(){window.apstag.setDisplayBids(),u.pubads().refresh([t],{changeCorrelator:!1})})}):y&&u.pubads().refresh([t],{changeCorrelator:!1}):u.pubads().refresh([t],{changeCorrelator:!1})}),e.slot=t,e)},n=function(e){var a,i,o,n=t(),s=e.getAttribute("data-name"),r=e.getAttribute("data-sizes"),d=e.getAttribute("data-label"),c=e.getAttribute("data-site");n=e.id,r&&r.length?(r=r.split(","),a=[],_map(r,function(e){e=e.split("x"),i=parseInt(e[0]),o=parseInt(e[1]),a.push([i,o])})):(e.classList.add("oop"),a=!1),this.data={id:n,name:s,sizes:a,loaded:!1,label:d,site:c},g[n]=this},r=function(e){u.cmd.push(function(){var t=o(e);g[e.data.id]=t})},s=function(e){var t=[];e.slot?(t=_(e))&&window.apstag&&window.apstag.cleared&&window.apstag.fetchBids({slots:[t],timeout:window.apstag.timeout},function(){u.cmd.push(function(){window.apstag.setDisplayBids(),u.pubads().refresh([e.slot],{changeCorrelator:!1})})}):e&&r(e)},u.cmd.push(function(){var e,t,o,n=page.getMeta("article:tag"),s=page.getMeta("author"),r=i.location.href,d=(e=a.head.querySelector(".head-gtm"),t=a.body.querySelector(".gtm"),e&&"top"===e.getAttribute("data-gtm")?"gtmtop":t&&"bottom"===t.getAttribute("data-gtm")?"gtmbottom":"");o=[],_forEach([n,s,d],function(e){_forEach(e.split(","),function(e){(e=e.trim().toLowerCase().replace(/\s/g,"-").replace(/\'|\’/g,"")).length&&o.push(e)})}),u.pubads().setTargeting("kw",o),u.pubads().setTargeting("entry_group",o),r=r.slice(r.lastIndexOf("/")+1),u.pubads().setTargeting("pn",r),u.companionAds().setRefreshUnfilledSlots(!0),u.pubads().enableAsyncRendering(),u.enableServices()}),this.load=r,this.create=function(e){return new n(e)},this.refresh=function(e){var t;_isString(e)?(t=this.getById(e),s(t)):s(e)},this.remove=function(e){var t=e.data.id;a.getElementById(t).innerHTML=""},this.getAdCount=function(e){var t,a=0,i=Object.keys(g);return _each(i,function(i){(t=g[i]).data.loaded&&t.data.label===e&&a++}),a},this.getById=function(e){return g[e]},d=_debounce(function(){var e={TopLeaderboard:1,RightColTopMPU:2,outOfPage:99,"homepageTakeover/TopLeaderboard":1},t=_sortBy(h,function(t){return e[t.data.label]||10});_forEach(t,function(e){return e.data.sizes?r(e):i.setTimeout(function(){r(e)},2e3)}),y&&window.PQ.cmd.push(()=>{try{window.PQ.loadSignals(["ids","bsc","vlp"],T)}catch(e){T(),console.error(`There has been an error loading Double Verify signals: ${e}`)}}),h=[]},10),this.addToPageLoadQueue=function(e){h.push(e),d()});function _(e){var t,a=e.sizes;return a=_intersectionWith(a,[[970,250],[970,90],[728,90],[300,600],[300,250],[320,100],[320,50]],_isEqual),e.sizes&&e.sizes.length&&(t={slotID:e.id,sizes:a,slotName:e.label}),t}function T(){i.clearTimeout(c),w=!0,_forEach(v,function(e){e()})}}]);
}, {"107":107,"114":114,"118":118,"124":124,"182":182,"205":205,"268":268,"274":274,"406":406,"409":409}];
window.modules["cid.legacy"] = [function(require,module,exports){"use strict";DS.service("$cid",function(){var r=Math.floor(100*Math.random());return function(){return"cid-"+ ++r}});
}, {}];
window.modules["client.legacy"] = [function(require,module,exports){"use strict";require("cid.legacy"),require("ads.legacy"),require("facebook.legacy"),require("aaa-module-mounting.legacy");
}, {"cid.legacy":"cid.legacy","ads.legacy":"ads.legacy","facebook.legacy":"facebook.legacy","aaa-module-mounting.legacy":"aaa-module-mounting.legacy"}];
window.modules["facebook.legacy"] = [function(require,module,exports){"use strict";DS.service("facebook",[function(){this.fb=function(i){window.FB&&window.FB[i].apply(this,Array.prototype.slice.call(arguments,1))}}]);
}, {}];
require=(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o typeof key === 'string' && key.match(/\.legacy$/)).forEach(key => window.require(key));
}
function tryToMount(fn, el, name) {
try {
fn(el); // init the controller
} catch (e) {
const elementTag = el.outerHTML.slice(0, el.outerHTML.indexOf(el.innerHTML));
console.error(`Error initializing controller for "${name}" on "${elementTag}"`, e);
}
}
/**
* mount client.js component controllers
*/
function mountComponentModules() {
Object.keys(window.modules).filter(key => typeof key === 'string' && key.match(/\.client$/)).forEach(key => {
let controllerFn = window.require(key);
if (typeof controllerFn === 'function') {
const name = key.replace('.client', ''),
instancesSelector = `[data-uri*="_components/${name}/"]`,
defaultSelector = `[data-uri$="_components${name}"]`,
instances = document.querySelectorAll(instancesSelector),
defaults = document.querySelectorAll(defaultSelector);
for (let el of instances) {
tryToMount(controllerFn, el, name);
}
for (let el of defaults) {
tryToMount(controllerFn, el, name);
}
}
});
}
// Make sure that a `window.process.env.NODE_ENV` is available in the client for any dependencies,
// services, or components that could require it
// note: the `` value is swapped for the actual environment variable in /lib/cmd/compile/scripts.js
window.process = window.process || {};
window.process.env = window.process.env || {};
if (!window.process.env.NODE_ENV) {
window.process.env.NODE_ENV = '';
}
// note: legacy controllers that require legacy services (e.g. dollar-slice) must
// wait for DOMContentLoaded to initialize themselves, as the files themselves must be mounted first
mountLegacyServices();
mountComponentModules();
// ]]