iracing.webapi.HostedSessionSummaryParser.java Source code

Java tutorial

Introduction

Here is the source code for iracing.webapi.HostedSessionSummaryParser.java

Source

package iracing.webapi;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.apache.commons.lang3.StringEscapeUtils;
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
import org.json.simple.parser.ParseException;

/**
 *
 * @author Christian Aylward
 * @version 1.0.0
 */
class HostedSessionSummaryParser extends JsonParserBase {

    public static void main(String[] args) {
        String s = "{all:[{\"qualifylaps\":2,\"qualtype\":\"L\",\"pitsinuse\":11,\"privatesessionid\":140393,\"timelimit\":240,\"minliclevel\":-1,\"hasentry\":false,\"rootprivatesessionname\":\"\",\"sessionname\":\"WSRL\",\"maxliclevel\":-1,\"launchat\":1340150700000,\"sessiondesc\":\"http://wsrlracing.com
Season 26 Tuesday Series - Race 18 of 18
Join the WSRL! We are accepting new drivers for our Tuesday and Friday Series. Visit our website for full schedule, rules and other details.\",\"heataddeddrivers\":\"\",\"restarts\":2,\"numservers\":1,\"displayname\":\"Bob+Beltrami\",\"qualdur\":2,\"admincustids\":\"17900%2C17349\",\"farmdisplayname\":\"US-MA\",\"carids\":\"38\",\"maxdrivers\":42,\"config_name\":\"Oval\",\"allowedentities\":\"\",\"qualsetupids\":\"25540\",\"heatgridtype\":\"\",\"passwordprotected\":1,\"qualifylength\":5,\"numfasttows\":1,\"qualsetupfilenames\":\"DH%26%2345%3BIndy%26%2345%3BS2%26%2345%3BRace%26%2346%3Bsto%2CDH-Indy-S2-Race.sto\",\"racesetupfilenames\":\"DH%26%2345%3BIndy%26%2345%3BS2%26%2345%3BRace%26%2346%3Bsto%2CDH-Indy-S2-Race.sto\",\"registered\":\"\",\"racelaps\":48,\"leagueid\":0,\"farmimagepath\":\"%2Fmember_images%2Fflags%2Fus.png\",\"maxir\":-1,\"racedur\":48,\"helmpattern\":19,\"password\":\"\",\"heatfiltertype\":\"\",\"carsleft\":31,\"trackid\":133,\"custid\":17349,\"heatracesvrndx\":-1,\"restrictresults\":0,\"hardcoreLevel\":0,\"nightMode\":0,\"numserversfinished\":0,\"heatfilteramount\":\"\",\"fullcoursecautions\":1,\"rollingstarts\":1,\"heatgridsid\":\"\",\"multiclass\":1,\"hasgrid\":0,\"max_pct_fuel_fills\":\"100\",\"heatsessiontype\":\"\",\"restrictviewing\":0,\"licenselevel\":19,\"custishost\":0,\"practicedur\":130,\"league_season_id\":0,\"openregexpires\":1340158818000,\"ingrid\":0,\"racesetupids\":\"25540\",\"helmcolor1\":240,\"helmcolor2\":115,\"helmcolor3\":92,\"rootprivatesessionid\":\"\",\"subsessionid\":5871589,\"fixedSetup\":1,\"racelength\":105,\"numserversstarted\":1,\"minir\":-1,\"track_name\":\"Indianapolis+Motor+Speedway\"},{\"qualifylaps\":2,\"qualtype\":\"L\",\"pitsinuse\":17,\"privatesessionid\":140567,\"timelimit\":240,\"minliclevel\":9,\"hasentry\":false,\"rootprivatesessionname\":\"\",\"sessionname\":\"Average Joes Trading Paints Truck Series\",\"maxliclevel\":28,\"launchat\":1340154000000,\"sessiondesc\":\"averagejoesracing.org\",\"heataddeddrivers\":\"\",\"restarts\":2,\"numservers\":1,\"displayname\":\"Rick+Rhone\",\"qualdur\":2,\"admincustids\":\"49225%2C77384%2C77477\",\"farmdisplayname\":\"US-MA\",\"carids\":\"20\",\"maxdrivers\":43,\"config_name\":\"\",\"allowedentities\":\"\",\"qualsetupids\":\"24894\",\"heatgridtype\":\"\",\"passwordprotected\":1,\"qualifylength\":5,\"numfasttows\":0,\"qualsetupfilenames\":\"talladega%26%2395%3Bfixed%26%2346%3Bsto%2Ctalladega_fixed.sto\",\"racesetupfilenames\":\"talladega%26%2395%3Bfixed%26%2346%3Bsto%2Ctalladega_fixed.sto\",\"registered\":\"\",\"racelaps\":60,\"leagueid\":0,\"farmimagepath\":\"%2Fmember_images%2Fflags%2Fus.png\",\"maxir\":-1,\"racedur\":60,\"helmpattern\":57,\"password\":\"\",\"heatfiltertype\":\"\",\"carsleft\":26,\"trackid\":116,\"custid\":77384,\"heatracesvrndx\":-1,\"restrictresults\":0,\"hardcoreLevel\":0,\"nightMode\":0,\"numserversfinished\":0,\"heatfilteramount\":\"\",\"fullcoursecautions\":1,\"rollingstarts\":1,\"heatgridsid\":\"\",\"multiclass\":0,\"hasgrid\":0,\"max_pct_fuel_fills\":\"50\",\"heatsessiontype\":\"\",\"restrictviewing\":0,\"licenselevel\":19,\"custishost\":0,\"practicedur\":60,\"league_season_id\":0,\"openregexpires\":1340157952000,\"ingrid\":0,\"racesetupids\":\"24894\",\"helmcolor1\":240,\"helmcolor2\":255,\"helmcolor3\":245,\"rootprivatesessionid\":\"\",\"subsessionid\":5871918,\"fixedSetup\":1,\"racelength\":175,\"numserversstarted\":1,\"minir\":-1,\"track_name\":\"Talladega+Superspeedway\"}],mine:[],gridded:[]}";
        List<HostedSessionSummary> sessions = parse(s);
        for (HostedSessionSummary session : sessions) {
            System.err.println(session.getSessionName());
        }
    }

    public static List<HostedSessionSummary> parse(String json) {
        //{all:[{"qualifylaps":2,"qualtype":"L","pitsinuse":14,"privatesessionid":140393,"timelimit":240,"minliclevel":-1,"hasentry":false,"rootprivatesessionname":"","sessionname":"WSRL","maxliclevel":-1,"launchat":1340150700000,"sessiondesc":"http&#58;&#47;&#47;wsrlracing&#46;com&#13;&#10;Season 26 Tuesday Series &#45; Race 18 of 18&#13;&#10;Join the WSRL&#33; We are accepting new drivers for our Tuesday and Friday Series&#46; Visit our website for full schedule&#44; rules and other details&#46;","heataddeddrivers":"","restarts":2,"numservers":1,"displayname":"Bob+Beltrami","qualdur":2,"admincustids":"17900%2C17349","farmdisplayname":"US-MA","carids":"38","maxdrivers":42,"config_name":"Oval","allowedentities":"","qualsetupids":"25540","heatgridtype":"","passwordprotected":1,"qualifylength":5,"numfasttows":1,"qualsetupfilenames":"DH%26%2345%3BIndy%26%2345%3BS2%26%2345%3BRace%26%2346%3Bsto%2CDH-Indy-S2-Race.sto","racesetupfilenames":"DH%26%2345%3BIndy%26%2345%3BS2%26%2345%3BRace%26%2346%3Bsto%2CDH-Indy-S2-Race.sto","registered":"","racelaps":48,"leagueid":0,"farmimagepath":"%2Fmember_images%2Fflags%2Fus.png","maxir":-1,"racedur":48,"helmpattern":19,"password":"","heatfiltertype":"","carsleft":28,"trackid":133,"custid":17349,"heatracesvrndx":-1,"restrictresults":0,"hardcoreLevel":0,"nightMode":0,"numserversfinished":0,"heatfilteramount":"","fullcoursecautions":1,"rollingstarts":1,"heatgridsid":"","multiclass":1,"hasgrid":0,"max_pct_fuel_fills":"100","heatsessiontype":"","restrictviewing":0,"licenselevel":19,"custishost":0,"practicedur":130,"league_season_id":0,"openregexpires":1340158818000,"ingrid":0,"racesetupids":"25540","helmcolor1":240,"helmcolor2":115,"helmcolor3":92,"rootprivatesessionid":"","subsessionid":5871589,"fixedSetup":1,"racelength":105,"numserversstarted":1,"minir":-1,"track_name":"Indianapolis+Motor+Speedway"},{"qualifylaps":2,"qualtype":"L","pitsinuse":28,"privatesessionid":140567,"timelimit":240,"minliclevel":9,"hasentry":false,"rootprivatesessionname":"","sessionname":"Average Joes Trading Paints Truck Series","maxliclevel":28,"launchat":1340154000000,"sessiondesc":"averagejoesracing&#46;org","heataddeddrivers":"","restarts":2,"numservers":1,"displayname":"Rick+Rhone","qualdur":2,"admincustids":"77384%2C77477%2C49225","farmdisplayname":"US-MA","carids":"20","maxdrivers":43,"config_name":"","allowedentities":"","qualsetupids":"24894","heatgridtype":"","passwordprotected":1,"qualifylength":5,"numfasttows":0,"qualsetupfilenames":"talladega%26%2395%3Bfixed%26%2346%3Bsto%2Ctalladega_fixed.sto","racesetupfilenames":"talladega%26%2395%3Bfixed%26%2346%3Bsto%2Ctalladega_fixed.sto","registered":"","racelaps":60,"leagueid":0,"farmimagepath":"%2Fmember_images%2Fflags%2Fus.png","maxir":-1,"racedur":60,"helmpattern":57,"password":"","heatfiltertype":"","carsleft":15,"trackid":116,"custid":77384,"heatracesvrndx":-1,"restrictresults":0,"hardcoreLevel":0,"nightMode":0,"numserversfinished":0,"heatfilteramount":"","fullcoursecautions":1,"rollingstarts":1,"heatgridsid":"","multiclass":0,"hasgrid":0,"max_pct_fuel_fills":"50","heatsessiontype":"","restrictviewing":0,"licenselevel":19,"custishost":0,"practicedur":60,"league_season_id":0,"openregexpires":1340157952000,"ingrid":0,"racesetupids":"24894","helmcolor1":240,"helmcolor2":255,"helmcolor3":245,"rootprivatesessionid":"","subsessionid":5871918,"fixedSetup":1,"racelength":175,"numserversstarted":1,"minir":-1,"track_name":"Talladega+Superspeedway"},{"qualifylaps":0,"qualtype":"O","pitsinuse":6,"privatesessionid":140617,"timelimit":120,"minliclevel":-1,"hasentry":false,"rootprivatesessionname":"","sessionname":"Torneo iRA &#45; Cadillac CTS&#45;V","maxliclevel":-1,"launchat":1340154000000,"sessiondesc":"iracing&#46;com&#46;ar &#45; Torneo iRA &#45; Cadillac CTS&#45;V &#45; Round 5 &#45; Practice 2","heataddeddrivers":"","restarts":2,"numservers":1,"displayname":"Eugenio+Pascuzzo","qualdur":45,"admincustids":"30665%2C47369%2C67334","farmdisplayname":"US-MA","carids":"41","maxdrivers":43,"config_name":"Long","allowedentities":"","qualsetupids":"","heatgridtype":"","passwordprotected":1,"qualifylength":45,"numfasttows":2,"qualsetupfilenames":"","racesetupfilenames":"","registered":"","racelaps":7,"leagueid":0,"farmimagepath":"%2Fmember_images%2Fflags%2Fus.png","maxir":-1,"racedur":7,"helmpattern":30,"password":"","heatfiltertype":"","carsleft":37,"trackid":98,"custid":67334,"heatracesvrndx":-1,"restrictresults":0,"hardcoreLevel":0,"nightMode":0,"numserversfinished":0,"heatfilteramount":"","fullcoursecautions":0,"rollingstarts":0,"heatgridsid":"","multiclass":1,"hasgrid":0,"max_pct_fuel_fills":"100","heatsessiontype":"","restrictviewing":0,"licenselevel":14,"custishost":0,"practicedur":60,"league_season_id":0,"openregexpires":1340160341000,"ingrid":0,"racesetupids":"","helmcolor1":240,"helmcolor2":255,"helmcolor3":102,"rootprivatesessionid":"","subsessionid":5871916,"fixedSetup":0,"racelength":15,"numserversstarted":1,"minir":-1,"track_name":"Infineon+Raceway"},{"qualifylaps":0,"qualtype":"O","pitsinuse":3,"privatesessionid":140800,"timelimit":120,"minliclevel":-1,"hasentry":false,"rootprivatesessionname":"","sessionname":"Longshot Racing DP Practice","maxliclevel":-1,"launchat":1340154000000,"sessiondesc":"Practice for the next RealSimRacing endurance event&#46;","heataddeddrivers":"","restarts":0,"numservers":1,"displayname":"Glenn+Petersen","qualdur":0,"admincustids":"54565%2C21324%2C43449","farmdisplayname":"US-MA","carids":"21","maxdrivers":26,"config_name":"Full","allowedentities":"","qualsetupids":"","heatgridtype":"","passwordprotected":1,"qualifylength":0,"numfasttows":0,"qualsetupfilenames":"","racesetupfilenames":"","registered":"","racelaps":0,"leagueid":0,"farmimagepath":"%2Fmember_images%2Fflags%2Fus.png","maxir":-1,"racedur":0,"helmpattern":57,"password":"","heatfiltertype":"","carsleft":59,"trackid":153,"custid":43449,"heatracesvrndx":-1,"restrictresults":0,"hardcoreLevel":0,"nightMode":0,"numserversfinished":0,"heatfilteramount":"","fullcoursecautions":0,"rollingstarts":0,"heatgridsid":"","multiclass":1,"hasgrid":0,"max_pct_fuel_fills":"100","heatsessiontype":"","restrictviewing":0,"licenselevel":14,"custishost":0,"practicedur":120,"league_season_id":0,"openregexpires":1340161246000,"ingrid":0,"racesetupids":"","helmcolor1":60,"helmcolor2":240,"helmcolor3":51,"rootprivatesessionid":"","subsessionid":5871920,"fixedSetup":0,"racelength":0,"numserversstarted":1,"minir":-1,"track_name":"Mid-Ohio+Sports+Car+Course"},{"qualifylaps":0,"qualtype":"O","pitsinuse":5,"privatesessionid":140804,"timelimit":240,"minliclevel":-1,"hasentry":false,"rootprivatesessionname":"","sessionname":"Red Sox Racing League","maxliclevel":-1,"launchat":1340146800000,"sessiondesc":"Practice for Race 7 &#45; Spa GP &#45; 30 mins","heataddeddrivers":"","restarts":0,"numservers":1,"displayname":"Les+Turner","qualdur":0,"admincustids":"15294%2C15219","farmdisplayname":"US-MA","carids":"26%2C39","maxdrivers":43,"config_name":"GP+Pits","allowedentities":"","qualsetupids":"","heatgridtype":"","passwordprotected":1,"qualifylength":0,"numfasttows":-1,"qualsetupfilenames":"","racesetupfilenames":"2012%26%2395%3B06%26%2395%3B01%26%2395%3BRSR%26%2395%3BC6R%26%2395%3BSpaGP%26%2395%3Bfixed%26%2346%3Bsto%2C2012_06_02_RSR_HPD_SpaGP_fixed.sto%2C2012_06_01_RSR_C6R_SpaGP_fixed.sto","registered":"","racelaps":0,"leagueid":0,"farmimagepath":"%2Fmember_images%2Fflags%2Fus.png","maxir":-1,"racedur":0,"helmpattern":19,"password":"","heatfiltertype":"","carsleft":54,"trackid":163,"custid":15294,"heatracesvrndx":-1,"restrictresults":0,"hardcoreLevel":1,"nightMode":0,"numserversfinished":0,"heatfilteramount":"","fullcoursecautions":0,"rollingstarts":1,"heatgridsid":"","multiclass":1,"hasgrid":0,"max_pct_fuel_fills":"100%2C100","heatsessiontype":"","restrictviewing":0,"licenselevel":20,"custishost":0,"practicedur":240,"league_season_id":0,"openregexpires":1340161231000,"ingrid":0,"racesetupids":"25553%2C25552","helmcolor1":240,"helmcolor2":132,"helmcolor3":132,"rootprivatesessionid":"","subsessionid":5871225,"fixedSetup":1,"racelength":0,"numserversstarted":1,"minir":-1,"track_name":"Circuit+de+Spa-Francorchamps"},{"qualifylaps":0,"qualtype":"O","pitsinuse":7,"privatesessionid":140806,"timelimit":240,"minliclevel":-1,"hasentry":false,"rootprivatesessionname":"","sessionname":"ISRA GPC Australian Grand Prix Tuesday Practice","maxliclevel":-1,"launchat":1340148600000,"sessiondesc":"Open practice for the ISRA GPC Australian Grand Prix is live&#33; This session is password protected&#44; however head over to www&#46;israleague&#46;com for more information regarding the GPC&#46;","heataddeddrivers":"","restarts":0,"numservers":1,"displayname":"Ryan+Cornes","qualdur":0,"admincustids":"70646%2C23414","farmdisplayname":"US-MA","carids":"33","maxdrivers":44,"config_name":"Phillip+Island+Circuit","allowedentities":"","qualsetupids":"","heatgridtype":"","passwordprotected":1,"qualifylength":0,"numfasttows":-1,"qualsetupfilenames":"","racesetupfilenames":"","registered":"","racelaps":0,"leagueid":0,"farmimagepath":"%2Fmember_images%2Fflags%2Fus.png","maxir":-1,"racedur":0,"helmpattern":1,"password":"","heatfiltertype":"","carsleft":50,"trackid":152,"custid":23414,"heatracesvrndx":-1,"restrictresults":0,"hardcoreLevel":0,"nightMode":0,"numserversfinished":0,"heatfilteramount":"","fullcoursecautions":0,"rollingstarts":0,"heatgridsid":"","multiclass":1,"hasgrid":0,"max_pct_fuel_fills":"47","heatsessiontype":"","restrictviewing":0,"licenselevel":18,"custishost":0,"practicedur":240,"league_season_id":0,"openregexpires":1340163028000,"ingrid":0,"racesetupids":"","helmcolor1":128,"helmcolor2":254,"helmcolor3":240,"rootprivatesessionid":"","subsessionid":5871365,"fixedSetup":0,"racelength":0,"numserversstarted":1,"minir":-1,"track_name":"Phillip+Island"},{"qualifylaps":0,"qualtype":"O","pitsinuse":1,"privatesessionid":140831,"timelimit":360,"minliclevel":-1,"hasentry":false,"rootprivatesessionname":"","sessionname":"ISR 120 Minutes of Thunder Practice","maxliclevel":-1,"launchat":1340154000000,"sessiondesc":"Inside Sim Racing 120 Minutes of Thunder Practice Session &#45; Go here http&#58;&#47;&#47;insidesimracing&#46;tv&#47;forums&#47;viewtopic&#46;php&#63;f&#61;205&#38;t&#61;7190 to find out about this event and to sign up for one of many prizes","heataddeddrivers":"","restarts":0,"numservers":1,"displayname":"Darin+Gangi","qualdur":0,"admincustids":"15631%2C15605%2C28089","farmdisplayname":"US-MA","carids":"41%2C21","maxdrivers":42,"config_name":"Boot","allowedentities":"","qualsetupids":"","heatgridtype":"","passwordprotected":0,"qualifylength":0,"numfasttows":0,"qualsetupfilenames":"","racesetupfilenames":"","registered":"","racelaps":0,"leagueid":0,"farmimagepath":"%2Fmember_images%2Fflags%2Fus.png","maxir":-1,"racedur":0,"helmpattern":61,"password":"","heatfiltertype":"","carsleft":59,"trackid":107,"custid":15605,"heatracesvrndx":-1,"restrictresults":0,"hardcoreLevel":0,"nightMode":0,"numserversfinished":0,"heatfilteramount":"","fullcoursecautions":1,"rollingstarts":0,"heatgridsid":"","multiclass":1,"hasgrid":0,"max_pct_fuel_fills":"100%2C100","heatsessiontype":"","restrictviewing":0,"licenselevel":19,"custishost":0,"practicedur":360,"league_season_id":0,"openregexpires":1340175640000,"ingrid":0,"racesetupids":"","helmcolor1":240,"helmcolor2":243,"helmcolor3":96,"rootprivatesessionid":"","subsessionid":5871915,"fixedSetup":0,"racelength":0,"numserversstarted":1,"minir":-1,"track_name":"Watkins+Glen+International"},{"qualifylaps":0,"qualtype":"O","pitsinuse":19,"privatesessionid":140860,"timelimit":120,"minliclevel":-1,"hasentry":false,"rootprivatesessionname":"","sessionname":"Realsimracing&#46;com","maxliclevel":-1,"launchat":1340152200000,"sessiondesc":"Signup for Full Throttle Cup Etv Series at www&#46;realsimracing&#46;com&#46;  All races in the series are broadcast live by Etv&#46; The current five race block is starting next Monday at Infineon&#46; Entry fee for five races is only &#36;15&#46; Please read requirements for the series&#46; ","heataddeddrivers":"","restarts":2,"numservers":1,"displayname":"John+Abbott","qualdur":0,"admincustids":"39870","farmdisplayname":"US-MA","carids":"22","maxdrivers":43,"config_name":"Cup","allowedentities":"","qualsetupids":"","heatgridtype":"","passwordprotected":0,"qualifylength":0,"numfasttows":-1,"qualsetupfilenames":"","racesetupfilenames":"","registered":"","racelaps":0,"leagueid":0,"farmimagepath":"%2Fmember_images%2Fflags%2Fus.png","maxir":-1,"racedur":0,"helmpattern":0,"password":"","heatfiltertype":"","carsleft":29,"trackid":48,"custid":39870,"heatracesvrndx":-1,"restrictresults":0,"hardcoreLevel":0,"nightMode":0,"numserversfinished":0,"heatfilteramount":"","fullcoursecautions":1,"rollingstarts":1,"heatgridsid":"","multiclass":1,"hasgrid":0,"max_pct_fuel_fills":"100","heatsessiontype":"","restrictviewing":0,"licenselevel":14,"custishost":0,"practicedur":120,"league_season_id":0,"openregexpires":1340159441000,"ingrid":0,"racesetupids":"","helmcolor1":116,"helmcolor2":123,"helmcolor3":240,"rootprivatesessionid":"","subsessionid":5871722,"fixedSetup":0,"racelength":0,"numserversstarted":1,"minir":-1,"track_name":"Infineon+Raceway"},{"qualifylaps":0,"qualtype":"O","pitsinuse":1,"privatesessionid":140887,"timelimit":360,"minliclevel":-1,"hasentry":false,"rootprivatesessionname":"","sessionname":"PTY CHARITY RIDE","maxliclevel":-1,"launchat":1340146800000,"sessiondesc":"Qual Practice for the Prader&#45;Willi Syndrome Charity Race presented by Paint the Yellow &#45; &#36;1900 Purse for main event&#46; More info &#64; http&#58;&#47;&#47;charity&#46;painttheyellow&#46;com &#45; 50 Percent Fuel &#45; Sessions will run all day today&#46;","heataddeddrivers":"","restarts":2,"numservers":1,"displayname":"James+Howard","qualdur":0,"admincustids":"65431%2C47373%2C39861%2C39706%2C28702%2C22544%2C15853%2C17179","farmdisplayname":"US-MA","carids":"20","maxdrivers":43,"config_name":"","allowedentities":"","qualsetupids":"","heatgridtype":"","passwordprotected":0,"qualifylength":0,"numfasttows":-1,"qualsetupfilenames":"","racesetupfilenames":"","registered":"","racelaps":0,"leagueid":0,"farmimagepath":"%2Fmember_images%2Fflags%2Fus.png","maxir":-1,"racedur":0,"helmpattern":45,"password":"","heatfiltertype":"","carsleft":55,"trackid":116,"custid":17179,"heatracesvrndx":-1,"restrictresults":0,"hardcoreLevel":0,"nightMode":0,"numserversfinished":0,"heatfilteramount":"","fullcoursecautions":0,"rollingstarts":1,"heatgridsid":"","multiclass":0,"hasgrid":0,"max_pct_fuel_fills":"50","heatsessiontype":"","restrictviewing":0,"licenselevel":20,"custishost":0,"practicedur":360,"league_season_id":0,"openregexpires":1340168430000,"ingrid":0,"racesetupids":"","helmcolor1":240,"helmcolor2":255,"helmcolor3":131,"rootprivatesessionid":"","subsessionid":5871228,"fixedSetup":0,"racelength":0,"numserversstarted":1,"minir":-1,"track_name":"Talladega+Superspeedway"},{"qualifylaps":0,"qualtype":"O","pitsinuse":1,"privatesessionid":140889,"timelimit":120,"minliclevel":-1,"hasentry":false,"rootprivatesessionname":"","sessionname":"Reddit iRacing Road League Race &#35;7 Practice ","maxliclevel":-1,"launchat":1340152200000,"sessiondesc":"This is Race &#35;7 Practice for the iRacing Road league&#46; For more information&#44; visit http&#58;&#47;&#47;redd&#46;it&#47;s5cng","heataddeddrivers":"","restarts":0,"numservers":1,"displayname":"Alex+Remilard","qualdur":0,"admincustids":"68655","farmdisplayname":"US-MA","carids":"34","maxdrivers":39,"config_name":"Short+Configuration","allowedentities":"","qualsetupids":"23912","heatgridtype":"","passwordprotected":1,"qualifylength":0,"numfasttows":0,"qualsetupfilenames":"baseline%26%2346%3Bsto","racesetupfilenames":"baseline%26%2346%3Bsto","registered":"","racelaps":0,"leagueid":0,"farmimagepath":"%2Fmember_images%2Fflags%2Fus.png","maxir":-1,"racedur":0,"helmpattern":61,"password":"","heatfiltertype":"","carsleft":61,"trackid":24,"custid":68655,"heatracesvrndx":-1,"restrictresults":0,"hardcoreLevel":0,"nightMode":0,"numserversfinished":0,"heatfilteramount":"","fullcoursecautions":1,"rollingstarts":0,"heatgridsid":"","multiclass":1,"hasgrid":0,"max_pct_fuel_fills":"100","heatsessiontype":"","restrictviewing":0,"licenselevel":2,"custishost":0,"practicedur":120,"league_season_id":0,"openregexpires":1340159430000,"ingrid":0,"racesetupids":"23912","helmcolor1":92,"helmcolor2":111,"helmcolor3":246,"rootprivatesessionid":"","subsessionid":5871721,"fixedSetup":1,"racelength":0,"numserversstarted":1,"minir":-1,"track_name":"Summit+Point+Raceway"},{"qualifylaps":2,"qualtype":"L","pitsinuse":20,"privatesessionid":140908,"timelimit":120,"minliclevel":-1,"hasentry":false,"rootprivatesessionname":"","sessionname":"PTY CHARITY RIDE","maxliclevel":-1,"launchat":1340154000000,"sessiondesc":"Fun Race Practice for the Prader&#45;Willi Syndrome Charity Race presented by Paint the Yellow &#45; &#36;1900 Purse for main event&#46; More info &#64; http&#58;&#47;&#47;charity&#46;painttheyellow&#46;com &#45; 50 Percent Fuel &#45; Fun Races Launch at the TOP OF THE HOUR&#33;","heataddeddrivers":"","restarts":2,"numservers":1,"displayname":"James+Howard","qualdur":2,"admincustids":"17179%2C65431%2C28702%2C39706%2C39861%2C47373%2C22544%2C15853","farmdisplayname":"US-MA","carids":"20","maxdrivers":43,"config_name":"","allowedentities":"","qualsetupids":"","heatgridtype":"","passwordprotected":0,"qualifylength":5,"numfasttows":-1,"qualsetupfilenames":"","racesetupfilenames":"","registered":"","racelaps":25,"leagueid":0,"farmimagepath":"%2Fmember_images%2Fflags%2Fus.png","maxir":-1,"racedur":25,"helmpattern":45,"password":"","heatfiltertype":"","carsleft":23,"trackid":116,"custid":17179,"heatracesvrndx":-1,"restrictresults":0,"hardcoreLevel":0,"nightMode":0,"numserversfinished":0,"heatfilteramount":"","fullcoursecautions":0,"rollingstarts":1,"heatgridsid":"","multiclass":0,"hasgrid":0,"max_pct_fuel_fills":"50","heatsessiontype":"","restrictviewing":0,"licenselevel":20,"custishost":0,"practicedur":60,"league_season_id":0,"openregexpires":1340157952000,"ingrid":0,"racesetupids":"","helmcolor1":240,"helmcolor2":255,"helmcolor3":131,"rootprivatesessionid":"","subsessionid":5871917,"fixedSetup":0,"racelength":30,"numserversstarted":1,"minir":-1,"track_name":"Talladega+Superspeedway"},{"qualifylaps":0,"qualtype":"O","pitsinuse":5,"privatesessionid":140925,"timelimit":240,"minliclevel":-1,"hasentry":false,"rootprivatesessionname":"","sessionname":"GPNY Sim Room","maxliclevel":-1,"launchat":1340143200000,"sessiondesc":"check out http&#58;&#47;&#47;www&#46;gpny&#46;com&#47;indoor&#45;go&#45;karts&#47;sim&#45;room or facebook&#46;com&#47;thesimroom for more information&#46; ","heataddeddrivers":"","restarts":0,"numservers":1,"displayname":"gpnysimroomadmin","qualdur":0,"admincustids":"90406%2C64365%2C90393","farmdisplayname":"US-MA","carids":"21","maxdrivers":46,"config_name":"Full+Course","allowedentities":"","qualsetupids":"","heatgridtype":"","passwordprotected":0,"qualifylength":0,"numfasttows":-1,"qualsetupfilenames":"","racesetupfilenames":"","registered":"","racelaps":0,"leagueid":0,"farmimagepath":"%2Fmember_images%2Fflags%2Fus.png","maxir":-1,"racedur":0,"helmpattern":1,"password":"","heatfiltertype":"","carsleft":51,"trackid":47,"custid":90406,"heatracesvrndx":-1,"restrictresults":0,"hardcoreLevel":1,"nightMode":0,"numserversfinished":0,"heatfilteramount":"","fullcoursecautions":0,"rollingstarts":0,"heatgridsid":"","multiclass":0,"hasgrid":0,"max_pct_fuel_fills":"100","heatsessiontype":"","restrictviewing":0,"licenselevel":2,"custishost":0,"practicedur":240,"league_season_id":0,"openregexpires":1340157640000,"ingrid":0,"racesetupids":"","helmcolor1":255,"helmcolor2":252,"helmcolor3":246,"rootprivatesessionid":"","subsessionid":5870923,"fixedSetup":0,"racelength":0,"numserversstarted":1,"minir":-1,"track_name":"Mazda+Raceway+Laguna+Seca"},{"qualifylaps":2,"qualtype":"L","pitsinuse":19,"privatesessionid":140926,"timelimit":120,"minliclevel":9,"hasentry":false,"rootprivatesessionname":"","sessionname":"Race&#45;a&#45;Palooza &#40;FIXED&#41;","maxliclevel":28,"launchat":1340156100000,"sessiondesc":"www&#46;TheRCRL&#46;com&#13;&#10;Everyone gets 2 fast tows&#46;&#13;&#10;Those who can&#39;t drive clean will be booted&#46;&#13;&#10;If we have a huge field before qualifying&#44; we&#39;ll limit the field to the top 25 qualifiers&#46;","heataddeddrivers":"","restarts":2,"numservers":1,"displayname":"Brian+Styers","qualdur":2,"admincustids":"71248%2C67195%2C29547%2C25455%2C29872","farmdisplayname":"US-MA","carids":"41","maxdrivers":42,"config_name":"","allowedentities":"","qualsetupids":"25558","heatgridtype":"","passwordprotected":0,"qualifylength":5,"numfasttows":2,"qualsetupfilenames":"Bristol+CTSV+%26%2340%3Bday%26%2341%3B%26%2346%3Bsto%2CBristol+CTSV+%28day%29.sto","racesetupfilenames":"Bristol+CTSV+%26%2340%3Bday%26%2341%3B%26%2346%3Bsto%2CBristol+CTSV+%28day%29.sto","registered":"","racelaps":100,"leagueid":0,"farmimagepath":"%2Fmember_images%2Fflags%2Fus.png","maxir":-1,"racedur":100,"helmpattern":48,"password":"","heatfiltertype":"","carsleft":23,"trackid":101,"custid":67195,"heatracesvrndx":-1,"restrictresults":0,"hardcoreLevel":0,"nightMode":0,"numserversfinished":0,"heatfilteramount":"","fullcoursecautions":1,"rollingstarts":1,"heatgridsid":"","multiclass":1,"hasgrid":0,"max_pct_fuel_fills":"100","heatsessiontype":"","restrictviewing":0,"licenselevel":19,"custishost":0,"practicedur":30,"league_season_id":0,"openregexpires":1340158214000,"ingrid":0,"racesetupids":"25558","helmcolor1":240,"helmcolor2":246,"helmcolor3":124,"rootprivatesessionid":"","subsessionid":5872087,"fixedSetup":1,"racelength":85,"numserversstarted":1,"minir":-1,"track_name":"Bristol+Motor+Speedway"},{"qualifylaps":0,"qualtype":"O","pitsinuse":1,"privatesessionid":140933,"timelimit":360,"minliclevel":-1,"hasentry":false,"rootprivatesessionname":"","sessionname":"ELMS Silverstone testing","maxliclevel":-1,"launchat":1340138814000,"sessiondesc":"ELMS Silverstone test","heataddeddrivers":"","restarts":0,"numservers":1,"displayname":"Koen+Geeraerts","qualdur":0,"admincustids":"71853","farmdisplayname":"NL-Ams","carids":"26%2C39%2C40","maxdrivers":43,"config_name":"Grand+Prix","allowedentities":"1%3A40","qualsetupids":"","heatgridtype":"","passwordprotected":0,"qualifylength":0,"numfasttows":0,"qualsetupfilenames":"","racesetupfilenames":"","registered":"","racelaps":0,"leagueid":0,"farmimagepath":"%2Fmember_images%2Fflags%2Fnl.png","maxir":-1,"racedur":0,"helmpattern":6,"password":"","heatfiltertype":"","carsleft":61,"trackid":41,"custid":71853,"heatracesvrndx":-1,"restrictresults":0,"hardcoreLevel":1,"nightMode":0,"numserversfinished":0,"heatfilteramount":"","fullcoursecautions":0,"rollingstarts":0,"heatgridsid":"","multiclass":1,"hasgrid":0,"max_pct_fuel_fills":"100%2C100%2C100","heatsessiontype":"","restrictviewing":0,"licenselevel":18,"custishost":0,"practicedur":360,"league_season_id":0,"openregexpires":1340160422000,"ingrid":0,"racesetupids":"","helmcolor1":254,"helmcolor2":112,"helmcolor3":254,"rootprivatesessionid":"","subsessionid":5870511,"fixedSetup":0,"racelength":0,"numserversstarted":1,"minir":-1,"track_name":"Silverstone+Circuit"},{"qualifylaps":0,"qualtype":"O","pitsinuse":5,"privatesessionid":140946,"timelimit":360,"minliclevel":-1,"hasentry":false,"rootprivatesessionname":"","sessionname":"Kentucky","maxliclevel":-1,"launchat":1340143416000,"sessiondesc":"Just practice&#46;","heataddeddrivers":"","restarts":2,"numservers":1,"displayname":"Robert+Freedman","qualdur":0,"admincustids":"49171","farmdisplayname":"US-MA","carids":"22","maxdrivers":35,"config_name":"Oval","allowedentities":"","qualsetupids":"","heatgridtype":"","passwordprotected":0,"qualifylength":0,"numfasttows":0,"qualsetupfilenames":"","racesetupfilenames":"","registered":"","racelaps":0,"leagueid":0,"farmimagepath":"%2Fmember_images%2Fflags%2Fus.png","maxir":-1,"racedur":0,"helmpattern":65,"password":"","heatfiltertype":"","carsleft":52,"trackid":188,"custid":49171,"heatracesvrndx":-1,"restrictresults":0,"hardcoreLevel":0,"nightMode":1,"numserversfinished":0,"heatfilteramount":"","fullcoursecautions":1,"rollingstarts":1,"heatgridsid":"","multiclass":1,"hasgrid":0,"max_pct_fuel_fills":"100","heatsessiontype":"","restrictviewing":0,"licenselevel":20,"custishost":0,"practicedur":360,"league_season_id":0,"openregexpires":1340165027000,"ingrid":0,"racesetupids":"","helmcolor1":255,"helmcolor2":240,"helmcolor3":122,"rootprivatesessionid":"","subsessionid":5870940,"fixedSetup":0,"racelength":0,"numserversstarted":1,"minir":-1,"track_name":"Kentucky+Speedway"},{"qualifylaps":0,"qualtype":"O","pitsinuse":8,"privatesessionid":140956,"timelimit":240,"minliclevel":6,"hasentry":false,"rootprivatesessionname":"","sessionname":"American Motorsport Simulations","maxliclevel":28,"launchat":1340148600000,"sessiondesc":"League Practice","heataddeddrivers":"","restarts":2,"numservers":1,"displayname":"Will+Jones","qualdur":0,"admincustids":"73606%2C77423%2C76276%2C73290","farmdisplayname":"US-MA","carids":"20","maxdrivers":43,"config_name":"","allowedentities":"","qualsetupids":"","heatgridtype":"","passwordprotected":1,"qualifylength":0,"numfasttows":0,"qualsetupfilenames":"","racesetupfilenames":"","registered":"","racelaps":0,"leagueid":0,"farmimagepath":"%2Fmember_images%2Fflags%2Fus.png","maxir":-1,"racedur":0,"helmpattern":19,"password":"","heatfiltertype":"","carsleft":50,"trackid":115,"custid":73606,"heatracesvrndx":-1,"restrictresults":0,"hardcoreLevel":0,"nightMode":0,"numserversfinished":0,"heatfilteramount":"","fullcoursecautions":1,"rollingstarts":1,"heatgridsid":"","multiclass":0,"hasgrid":0,"max_pct_fuel_fills":"100","heatsessiontype":"","restrictviewing":0,"licenselevel":20,"custishost":0,"practicedur":240,"league_season_id":0,"openregexpires":1340163031000,"ingrid":0,"racesetupids":"","helmcolor1":240,"helmcolor2":250,"helmcolor3":250,"rootprivatesessionid":"","subsessionid":5871364,"fixedSetup":0,"racelength":0,"numserversstarted":1,"minir":-1,"track_name":"Darlington+Raceway"},{"qualifylaps":0,"qualtype":"O","pitsinuse":0,"privatesessionid":140965,"timelimit":360,"minliclevel":-1,"hasentry":false,"rootprivatesessionname":"","sessionname":"A Very Long Practice &#45; TimsCorner&#46;ca","maxliclevel":-1,"launchat":1340147358000,"sessiondesc":"Hey&#44; I just met you&#46;&#13;&#10;and this is crazy&#44;&#13;&#10;so here&#39;s my number&#44;&#13;&#10;so call me maybe&#46;","heataddeddrivers":"","restarts":2,"numservers":1,"displayname":"Tim+Terry","qualdur":0,"admincustids":"27368%2C26970","farmdisplayname":"US-MA","carids":"22","maxdrivers":44,"config_name":"Oval","allowedentities":"","qualsetupids":"","heatgridtype":"","passwordprotected":1,"qualifylength":0,"numfasttows":2,"qualsetupfilenames":"","racesetupfilenames":"","registered":"","racelaps":0,"leagueid":0,"farmimagepath":"%2Fmember_images%2Fflags%2Fus.png","maxir":-1,"racedur":0,"helmpattern":19,"password":"","heatfiltertype":"","carsleft":56,"trackid":188,"custid":27368,"heatracesvrndx":-1,"restrictresults":0,"hardcoreLevel":0,"nightMode":1,"numserversfinished":0,"heatfilteramount":"","fullcoursecautions":0,"rollingstarts":1,"heatgridsid":"","multiclass":0,"hasgrid":0,"max_pct_fuel_fills":"100","heatsessiontype":"","restrictviewing":0,"licenselevel":18,"custishost":0,"practicedur":360,"league_season_id":0,"openregexpires":1340168976000,"ingrid":0,"racesetupids":"","helmcolor1":103,"helmcolor2":158,"helmcolor3":120,"rootprivatesessionid":"","subsessionid":5871270,"fixedSetup":0,"racelength":0,"numserversstarted":1,"minir":-1,"track_name":"Kentucky+Speedway"},{"qualifylaps":2,"qualtype":"L","pitsinuse":20,"privatesessionid":140988,"timelimit":120,"minliclevel":-1,"hasentry":false,"rootprivatesessionname":"","sessionname":"oleary&#39;s","maxliclevel":-1,"launchat":1340154000000,"sessiondesc":"","heataddeddrivers":"","restarts":2,"numservers":1,"displayname":"Shawn+Oleary","qualdur":2,"admincustids":"94328","farmdisplayname":"US-MA","carids":"41","maxdrivers":20,"config_name":"Oval","allowedentities":"","qualsetupids":"","heatgridtype":"","passwordprotected":0,"qualifylength":5,"numfasttows":0,"qualsetupfilenames":"","racesetupfilenames":"","registered":"","racelaps":100,"leagueid":0,"farmimagepath":"%2Fmember_images%2Fflags%2Fus.png","maxir":-1,"racedur":100,"helmpattern":18,"password":"","heatfiltertype":"","carsleft":0,"trackid":40,"custid":94328,"heatracesvrndx":-1,"restrictresults":0,"hardcoreLevel":0,"nightMode":1,"numserversfinished":0,"heatfilteramount":"","fullcoursecautions":0,"rollingstarts":1,"heatgridsid":"","multiclass":1,"hasgrid":0,"max_pct_fuel_fills":"100","heatsessiontype":"","restrictviewing":0,"licenselevel":2,"custishost":0,"practicedur":60,"league_season_id":0,"openregexpires":1340157944000,"ingrid":0,"racesetupids":"","helmcolor1":100,"helmcolor2":124,"helmcolor3":112,"rootprivatesessionid":"","subsessionid":5871914,"fixedSetup":0,"racelength":55,"numserversstarted":1,"minir":-1,"track_name":"Charlotte+Motor+Speedway"},{"qualifylaps":3,"qualtype":"L","pitsinuse":0,"privatesessionid":140991,"timelimit":360,"minliclevel":-1,"hasentry":false,"rootprivatesessionname":"","sessionname":"RED DOG ELITE","maxliclevel":-1,"launchat":1340152129000,"sessiondesc":"It&#39;s a bitch of a Course for the B cars&#46;","heataddeddrivers":"","restarts":2,"numservers":1,"displayname":"Chad+J+Sandstede","qualdur":3,"admincustids":"78421%2C78820%2C63083%2C52397%2C49896%2C49876%2C48577","farmdisplayname":"US-MA","carids":"20","maxdrivers":43,"config_name":"","allowedentities":"","qualsetupids":"","heatgridtype":"","passwordprotected":1,"qualifylength":5,"numfasttows":0,"qualsetupfilenames":"","racesetupfilenames":"","registered":"","racelaps":160,"leagueid":0,"farmimagepath":"%2Fmember_images%2Fflags%2Fus.png","maxir":-1,"racedur":160,"helmpattern":62,"password":"","heatfiltertype":"","carsleft":0,"trackid":101,"custid":52397,"heatracesvrndx":-1,"restrictresults":0,"hardcoreLevel":0,"nightMode":1,"numserversfinished":0,"heatfilteramount":"","fullcoursecautions":1,"rollingstarts":1,"heatgridsid":"","multiclass":1,"hasgrid":0,"max_pct_fuel_fills":"100","heatsessiontype":"","restrictviewing":0,"licenselevel":20,"custishost":0,"practicedur":130,"league_season_id":0,"openregexpires":1340160242000,"ingrid":0,"racesetupids":"","helmcolor1":100,"helmcolor2":255,"helmcolor3":240,"rootprivatesessionid":"","subsessionid":5871704,"fixedSetup":0,"racelength":225,"numserversstarted":1,"minir":-1,"track_name":"Bristol+Motor+Speedway"},{"qualifylaps":0,"qualtype":"O","pitsinuse":24,"privatesessionid":140998,"timelimit":120,"minliclevel":-1,"hasentry":false,"rootprivatesessionname":"ITZR+Sprint+Cars+S7R3","sessionname":"ITZR Sprint Cars S7R3","maxliclevel":-1,"launchat":1340155800000,"sessiondesc":" www&#46;inthezomeracing&#46;com","heataddeddrivers":0,"restarts":2,"numservers":1,"displayname":"Glenn+Cray","qualdur":10,"admincustids":"22230%2C54723%2C45990%2C33263%2C39387%2C68128","farmdisplayname":"US-MA","carids":"37","maxdrivers":45,"config_name":"","allowedentities":"","qualsetupids":"","heatgridtype":"","passwordprotected":1,"qualifylength":10,"numfasttows":1,"qualsetupfilenames":"","racesetupfilenames":"","registered":"","racelaps":0,"leagueid":0,"farmimagepath":"%2Fmember_images%2Fflags%2Fus.png","maxir":-1,"racedur":0,"helmpattern":0,"password":"","heatfiltertype":"","carsleft":38,"trackid":17,"custid":45990,"heatracesvrndx":0,"restrictresults":0,"hardcoreLevel":0,"nightMode":0,"numserversfinished":0,"heatfilteramount":"","fullcoursecautions":1,"rollingstarts":1,"heatgridsid":"","multiclass":0,"hasgrid":0,"max_pct_fuel_fills":"100","heatsessiontype":2,"restrictviewing":0,"licenselevel":14,"custishost":0,"practicedur":20,"league_season_id":0,"openregexpires":1340157636000,"ingrid":0,"racesetupids":"","helmcolor1":243,"helmcolor2":243,"helmcolor3":243,"rootprivatesessionid":140998,"subsessionid":5872076,"fixedSetup":0,"racelength":0,"numserversstarted":1,"minir":-1,"track_name":"Lanier+National+Speedway"},{"qualifylaps":0,"qualtype":"O","pitsinuse":8,"privatesessionid":141003,"timelimit":120,"minliclevel":-1,"hasentry":false,"rootprivatesessionname":"","sessionname":"Practice ","maxliclevel":-1,"launchat":1340154094000,"sessiondesc":"Marrs Practice","heataddeddrivers":"","restarts":0,"numservers":1,"displayname":"Greg+Obadia","qualdur":0,"admincustids":"67888%2C86555","farmdisplayname":"US-MA","carids":"34","maxdrivers":12,"config_name":"Road+Course","allowedentities":"","qualsetupids":"23912","heatgridtype":"","passwordprotected":0,"qualifylength":0,"numfasttows":-1,"qualsetupfilenames":"baseline%26%2346%3Bsto%2Cbaseline.sto","racesetupfilenames":"baseline%26%2346%3Bsto%2Cbaseline.sto","registered":"","racelaps":0,"leagueid":0,"farmimagepath":"%2Fmember_images%2Fflags%2Fus.png","maxir":-1,"racedur":0,"helmpattern":68,"password":"","heatfiltertype":"","carsleft":51,"trackid":37,"custid":86555,"heatracesvrndx":-1,"restrictresults":0,"hardcoreLevel":0,"nightMode":0,"numserversfinished":0,"heatfilteramount":"","fullcoursecautions":0,"rollingstarts":0,"heatgridsid":"","multiclass":1,"hasgrid":0,"max_pct_fuel_fills":"100","heatsessiontype":"","restrictviewing":0,"licenselevel":2,"custishost":0,"practicedur":120,"league_season_id":0,"openregexpires":1340161317000,"ingrid":0,"racesetupids":"23912","helmcolor1":240,"helmcolor2":96,"helmcolor3":240,"rootprivatesessionid":"","subsessionid":5871928,"fixedSetup":1,"racelength":0,"numserversstarted":1,"minir":-1,"track_name":"Charlotte+Motor+Speedway"},{"qualifylaps":2,"qualtype":"L","pitsinuse":7,"privatesessionid":141008,"timelimit":120,"minliclevel":-1,"hasentry":false,"rootprivatesessionname":"","sessionname":"Izod Indycar IOWA ","maxliclevel":-1,"launchat":1340154331000,"sessiondesc":"Indycar IOWA no caution","heataddeddrivers":"","restarts":2,"numservers":1,"displayname":"Simon+Pagenaud","qualdur":2,"admincustids":"33439","farmdisplayname":"US-MA","carids":"29","maxdrivers":43,"config_name":"Oval","allowedentities":"","qualsetupids":"","heatgridtype":"","passwordprotected":0,"qualifylength":5,"numfasttows":-1,"qualsetupfilenames":"","racesetupfilenames":"","registered":"","racelaps":100,"leagueid":0,"farmimagepath":"%2Fmember_images%2Fflags%2Fus.png","maxir":-1,"racedur":100,"helmpattern":22,"password":"","heatfiltertype":"","carsleft":36,"trackid":169,"custid":33439,"heatracesvrndx":-1,"restrictresults":0,"hardcoreLevel":0,"nightMode":1,"numserversfinished":0,"heatfilteramount":"","fullcoursecautions":0,"rollingstarts":1,"heatgridsid":"","multiclass":0,"hasgrid":0,"max_pct_fuel_fills":"30","heatsessiontype":"","restrictviewing":0,"licenselevel":7,"custishost":0,"practicedur":80,"league_season_id":0,"openregexpires":1340159450000,"ingrid":0,"racesetupids":"","helmcolor1":112,"helmcolor2":112,"helmcolor3":112,"rootprivatesessionid":"","subsessionid":5871952,"fixedSetup":0,"racelength":35,"numserversstarted":1,"minir":-1,"track_name":"Iowa+Speedway"},{"qualifylaps":0,"qualtype":"O","pitsinuse":0,"privatesessionid":141009,"timelimit":120,"minliclevel":-1,"hasentry":false,"rootprivatesessionname":"","sessionname":"GOB Fun","maxliclevel":-1,"launchat":1340154474000,"sessiondesc":"","heataddeddrivers":"","restarts":2,"numservers":1,"displayname":"JR+Sharp","qualdur":5,"admincustids":"42447%2C17054%2C23682","farmdisplayname":"US-MA","carids":"4","maxdrivers":36,"config_name":"","allowedentities":"","qualsetupids":"","heatgridtype":"","passwordprotected":1,"qualifylength":5,"numfasttows":2,"qualsetupfilenames":"","racesetupfilenames":"","registered":"","racelaps":50,"leagueid":0,"farmimagepath":"%2Fmember_images%2Fflags%2Fus.png","maxir":-1,"racedur":50,"helmpattern":5,"password":"","heatfiltertype":"","carsleft":0,"trackid":17,"custid":17054,"heatracesvrndx":-1,"restrictresults":0,"hardcoreLevel":0,"nightMode":0,"numserversfinished":0,"heatfilteramount":"","fullcoursecautions":1,"rollingstarts":1,"heatgridsid":"","multiclass":0,"hasgrid":0,"max_pct_fuel_fills":"100","heatsessiontype":"","restrictviewing":0,"licenselevel":19,"custishost":0,"practicedur":70,"league_season_id":0,"openregexpires":1340159001000,"ingrid":0,"racesetupids":"","helmcolor1":116,"helmcolor2":148,"helmcolor3":148,"rootprivatesessionid":"","subsessionid":5871966,"fixedSetup":0,"racelength":40,"numserversstarted":1,"minir":-1,"track_name":"Lanier+National+Speedway"},{"qualifylaps":0,"qualtype":"O","pitsinuse":0,"privatesessionid":141011,"timelimit":120,"minliclevel":12,"hasentry":false,"rootprivatesessionname":"","sessionname":"ARC","maxliclevel":28,"launchat":1340154750000,"sessiondesc":"ARC ","heataddeddrivers":"","restarts":2,"numservers":1,"displayname":"Gregory+L+Ellis","qualdur":0,"admincustids":"50544%2C65110%2C70188%2C49477","farmdisplayname":"US-MA","carids":"20","maxdrivers":43,"config_name":"Oval","allowedentities":"","qualsetupids":"","heatgridtype":"","passwordprotected":0,"qualifylength":0,"numfasttows":-1,"qualsetupfilenames":"","racesetupfilenames":"","registered":"","racelaps":0,"leagueid":0,"farmimagepath":"%2Fmember_images%2Fflags%2Fus.png","maxir":-1,"racedur":0,"helmpattern":68,"password":"","heatfiltertype":"","carsleft":56,"trackid":133,"custid":50544,"heatracesvrndx":-1,"restrictresults":0,"hardcoreLevel":3,"nightMode":0,"numserversfinished":0,"heatfilteramount":"","fullcoursecautions":0,"rollingstarts":1,"heatgridsid":"","multiclass":0,"hasgrid":0,"max_pct_fuel_fills":"100","heatsessiontype":"","restrictviewing":0,"licenselevel":20,"custishost":0,"practicedur":120,"league_season_id":0,"openregexpires":1340161971000,"ingrid":0,"racesetupids":"","helmcolor1":140,"helmcolor2":128,"helmcolor3":118,"rootprivatesessionid":"","subsessionid":5871988,"fixedSetup":0,"racelength":0,"numserversstarted":1,"minir":-1,"track_name":"Indianapolis+Motor+Speedway"},{"qualifylaps":0,"qualtype":"O","pitsinuse":1,"privatesessionid":141012,"timelimit":120,"minliclevel":-1,"hasentry":false,"rootprivatesessionname":"","sessionname":"Practice fun","maxliclevel":-1,"launchat":1340154889000,"sessiondesc":"","heataddeddrivers":"","restarts":2,"numservers":1,"displayname":"John+Murray2","qualdur":0,"admincustids":"54120","farmdisplayname":"US-MA","carids":"41","maxdrivers":22,"config_name":"","allowedentities":"","qualsetupids":"","heatgridtype":"","passwordprotected":0,"qualifylength":0,"numfasttows":-1,"qualsetupfilenames":"","racesetupfilenames":"","registered":"","racelaps":0,"leagueid":0,"farmimagepath":"%2Fmember_images%2Fflags%2Fus.png","maxir":-1,"racedur":0,"helmpattern":20,"password":"","heatfiltertype":"","carsleft":60,"trackid":162,"custid":54120,"heatracesvrndx":-1,"restrictresults":0,"hardcoreLevel":0,"nightMode":0,"numserversfinished":0,"heatfilteramount":"","fullcoursecautions":0,"rollingstarts":1,"heatgridsid":"","multiclass":0,"hasgrid":0,"max_pct_fuel_fills":"100","heatsessiontype":"","restrictviewing":0,"licenselevel":14,"custishost":0,"practicedur":120,"league_season_id":0,"openregexpires":1340162099000,"ingrid":0,"racesetupids":"","helmcolor1":112,"helmcolor2":112,"helmcolor3":240,"rootprivatesessionid":"","subsessionid":5871991,"fixedSetup":0,"racelength":0,"numserversstarted":1,"minir":-1,"track_name":"Dover+International+Speedway"},{"qualifylaps":0,"qualtype":"O","pitsinuse":9,"privatesessionid":141014,"timelimit":120,"minliclevel":1,"hasentry":false,"rootprivatesessionname":"","sessionname":"ARC","maxliclevel":28,"launchat":1340155604000,"sessiondesc":"ARC ","heataddeddrivers":"","restarts":2,"numservers":1,"displayname":"Gregory+L+Ellis","qualdur":0,"admincustids":"49477%2C50544%2C65110%2C70188","farmdisplayname":"US-MA","carids":"20","maxdrivers":43,"config_name":"Oval","allowedentities":"","qualsetupids":"","heatgridtype":"","passwordprotected":0,"qualifylength":0,"numfasttows":-1,"qualsetupfilenames":"","racesetupfilenames":"","registered":"","racelaps":0,"leagueid":0,"farmimagepath":"%2Fmember_images%2Fflags%2Fus.png","maxir":-1,"racedur":0,"helmpattern":68,"password":"","heatfiltertype":"","carsleft":52,"trackid":133,"custid":50544,"heatracesvrndx":-1,"restrictresults":0,"hardcoreLevel":3,"nightMode":0,"numserversfinished":0,"heatfilteramount":"","fullcoursecautions":0,"rollingstarts":1,"heatgridsid":"","multiclass":0,"hasgrid":0,"max_pct_fuel_fills":"100","heatsessiontype":"","restrictviewing":0,"licenselevel":20,"custishost":0,"practicedur":120,"league_season_id":0,"openregexpires":1340162817000,"ingrid":0,"racesetupids":"","helmcolor1":140,"helmcolor2":128,"helmcolor3":118,"rootprivatesessionid":"","subsessionid":5872049,"fixedSetup":0,"racelength":0,"numserversstarted":1,"minir":-1,"track_name":"Indianapolis+Motor+Speedway"},{"qualifylaps":2,"qualtype":"L","pitsinuse":6,"privatesessionid":141016,"timelimit":120,"minliclevel":-1,"hasentry":false,"rootprivatesessionname":"","sessionname":"old racers","maxliclevel":-1,"launchat":1340155699000,"sessiondesc":"YOUR STUPID YOUR OUT&#13;&#10;","heataddeddrivers":"","restarts":2,"numservers":1,"displayname":"Raymond+Ratell","qualdur":2,"admincustids":"79623","farmdisplayname":"US-MA","carids":"20","maxdrivers":43,"config_name":"Oval","allowedentities":"","qualsetupids":"","heatgridtype":"","passwordprotected":0,"qualifylength":5,"numfasttows":-1,"qualsetupfilenames":"","racesetupfilenames":"","registered":"","racelaps":65,"leagueid":0,"farmimagepath":"%2Fmember_images%2Fflags%2Fus.png","maxir":-1,"racedur":65,"helmpattern":1,"password":"","heatfiltertype":"","carsleft":37,"trackid":53,"custid":79623,"heatracesvrndx":-1,"restrictresults":0,"hardcoreLevel":0,"nightMode":0,"numserversfinished":0,"heatfilteramount":"","fullcoursecautions":0,"rollingstarts":1,"heatgridsid":"","multiclass":0,"hasgrid":0,"max_pct_fuel_fills":"50","heatsessiontype":"","restrictviewing":0,"licenselevel":2,"custishost":0,"practicedur":40,"league_season_id":0,"openregexpires":1340158404000,"ingrid":0,"racesetupids":"","helmcolor1":255,"helmcolor2":252,"helmcolor3":246,"rootprivatesessionid":"","subsessionid":5872057,"fixedSetup":0,"racelength":50,"numserversstarted":1,"minir":-1,"track_name":"Atlanta+Motor+Speedway"},{"qualifylaps":0,"qualtype":"O","pitsinuse":1,"privatesessionid":141017,"timelimit":120,"minliclevel":-1,"hasentry":false,"rootprivatesessionname":"","sessionname":"Practice fun","maxliclevel":-1,"launchat":1340155721000,"sessiondesc":"","heataddeddrivers":"","restarts":2,"numservers":1,"displayname":"John+Murray2","qualdur":0,"admincustids":"54120","farmdisplayname":"US-MA","carids":"31","maxdrivers":22,"config_name":"","allowedentities":"","qualsetupids":"","heatgridtype":"","passwordprotected":0,"qualifylength":0,"numfasttows":-1,"qualsetupfilenames":"","racesetupfilenames":"","registered":"","racelaps":0,"leagueid":0,"farmimagepath":"%2Fmember_images%2Fflags%2Fus.png","maxir":-1,"racedur":0,"helmpattern":20,"password":"","heatfiltertype":"","carsleft":61,"trackid":162,"custid":54120,"heatracesvrndx":-1,"restrictresults":0,"hardcoreLevel":0,"nightMode":0,"numserversfinished":0,"heatfilteramount":"","fullcoursecautions":0,"rollingstarts":1,"heatgridsid":"","multiclass":0,"hasgrid":0,"max_pct_fuel_fills":"100","heatsessiontype":"","restrictviewing":0,"licenselevel":14,"custishost":0,"practicedur":120,"league_season_id":0,"openregexpires":1340162936000,"ingrid":0,"racesetupids":"","helmcolor1":112,"helmcolor2":112,"helmcolor3":240,"rootprivatesessionid":"","subsessionid":5872059,"fixedSetup":0,"racelength":0,"numserversstarted":1,"minir":-1,"track_name":"Dover+International+Speedway"},{"qualifylaps":0,"qualtype":"O","pitsinuse":2,"privatesessionid":141018,"timelimit":120,"minliclevel":-1,"hasentry":false,"rootprivatesessionname":"","sessionname":"TMA","maxliclevel":-1,"launchat":1340155772000,"sessiondesc":"","heataddeddrivers":"","restarts":0,"numservers":1,"displayname":"Eduardo+Tomedi","qualdur":0,"admincustids":"15931","farmdisplayname":"US-MA","carids":"21","maxdrivers":26,"config_name":"Boot","allowedentities":"","qualsetupids":"","heatgridtype":"","passwordprotected":1,"qualifylength":0,"numfasttows":-1,"qualsetupfilenames":"","racesetupfilenames":"","registered":"","racelaps":0,"leagueid":0,"farmimagepath":"%2Fmember_images%2Fflags%2Fus.png","maxir":-1,"racedur":0,"helmpattern":66,"password":"","heatfiltertype":"","carsleft":60,"trackid":107,"custid":15931,"heatracesvrndx":-1,"restrictresults":0,"hardcoreLevel":0,"nightMode":0,"numserversfinished":0,"heatfilteramount":"","fullcoursecautions":0,"rollingstarts":1,"heatgridsid":"","multiclass":0,"hasgrid":0,"max_pct_fuel_fills":"100","heatsessiontype":"","restrictviewing":0,"licenselevel":10,"custishost":0,"practicedur":120,"league_season_id":0,"openregexpires":1340163000000,"ingrid":0,"racesetupids":"","helmcolor1":70,"helmcolor2":255,"helmcolor3":240,"rootprivatesessionid":"","subsessionid":5872063,"fixedSetup":0,"racelength":0,"numserversstarted":1,"minir":-1,"track_name":"Watkins+Glen+International"},{"qualifylaps":2,"qualtype":"L","pitsinuse":12,"privatesessionid":141019,"timelimit":120,"minliclevel":2,"hasentry":false,"rootprivatesessionname":"","sessionname":"LAYE MODEL FAST TIME&#33;","maxliclevel":21,"launchat":1340155832000,"sessiondesc":"CAUTIONS ON &#47;&#47;&#47; DOUBLE FILE LAPPED AT BACK &#47;&#47;&#47; 3 FAST TOWS &#47;&#47;&#47;100&#37; FUEL &#47;&#47;&#47; 52 LAPS &#47;&#47;&#47; PIT ROAD SPEEDING&#44; PASSING UNDER YELLOW OR CROSS S&#47;F OUT OF LINE BLACK FLAGS NOT CLEARED &#45; MUST SERVE&#33; ","heataddeddrivers":"","restarts":2,"numservers":1,"displayname":"Kerwin+Clark","qualdur":2,"admincustids":"52342%2C69702%2C65341%2C63249%2C61582%2C45183%2C36449","farmdisplayname":"US-MA","carids":"12","maxdrivers":28,"config_name":"Oval","allowedentities":"","qualsetupids":"","heatgridtype":"","passwordprotected":0,"qualifylength":5,"numfasttows":3,"qualsetupfilenames":"","racesetupfilenames":"","registered":"","racelaps":52,"leagueid":0,"farmimagepath":"%2Fmember_images%2Fflags%2Fus.png","maxir":-1,"racedur":52,"helmpattern":17,"password":"","heatfiltertype":"","carsleft":16,"trackid":40,"custid":45183,"heatracesvrndx":-1,"restrictresults":1,"hardcoreLevel":0,"nightMode":1,"numserversfinished":0,"heatfilteramount":"","fullcoursecautions":1,"rollingstarts":1,"heatgridsid":"","multiclass":1,"hasgrid":0,"max_pct_fuel_fills":"100","heatsessiontype":"","restrictviewing":0,"licenselevel":7,"custishost":0,"practicedur":30,"league_season_id":0,"openregexpires":1340157953000,"ingrid":0,"racesetupids":"","helmcolor1":99,"helmcolor2":108,"helmcolor3":92,"rootprivatesessionid":"","subsessionid":5872077,"fixedSetup":0,"racelength":85,"numserversstarted":1,"minir":-1,"track_name":"Charlotte+Motor+Speedway"},{"qualifylaps":0,"qualtype":"O","pitsinuse":7,"privatesessionid":141020,"timelimit":120,"minliclevel":-1,"hasentry":false,"rootprivatesessionname":"","sessionname":"clean","maxliclevel":-1,"launchat":1340155996000,"sessiondesc":"quick tows onnn","heataddeddrivers":"","restarts":2,"numservers":1,"displayname":"TJ+Bleau","qualdur":10,"admincustids":"79327","farmdisplayname":"US-MA","carids":"2","maxdrivers":43,"config_name":"","allowedentities":"","qualsetupids":"","heatgridtype":"","passwordprotected":0,"qualifylength":10,"numfasttows":-1,"qualsetupfilenames":"","racesetupfilenames":"","registered":"","racelaps":150,"leagueid":0,"farmimagepath":"%2Fmember_images%2Fflags%2Fus.png","maxir":-1,"racedur":150,"helmpattern":19,"password":"","heatfiltertype":"","carsleft":36,"trackid":17,"custid":79327,"heatracesvrndx":-1,"restrictresults":0,"hardcoreLevel":0,"nightMode":0,"numserversfinished":0,"heatfilteramount":"","fullcoursecautions":1,"rollingstarts":1,"heatgridsid":"","multiclass":0,"hasgrid":0,"max_pct_fuel_fills":"100","heatsessiontype":"","restrictviewing":0,"licenselevel":1,"custishost":0,"practicedur":40,"league_season_id":0,"openregexpires":1340159017000,"ingrid":0,"racesetupids":"","helmcolor1":240,"helmcolor2":129,"helmcolor3":110,"rootprivatesessionid":"","subsessionid":5872083,"fixedSetup":0,"racelength":60,"numserversstarted":1,"minir":-1,"track_name":"Lanier+National+Speedway"},{"qualifylaps":3,"qualtype":"L","pitsinuse":11,"privatesessionid":141022,"timelimit":120,"minliclevel":1,"hasentry":false,"rootprivatesessionname":"","sessionname":"Daytona","maxliclevel":20,"launchat":1340156213000,"sessiondesc":"Unlimited Tow&#44; Caution On&#44; 50&#37; Fuel&#44; 30 Laps","heataddeddrivers":"","restarts":2,"numservers":1,"displayname":"Tommie+Proffitt","qualdur":3,"admincustids":"80383","farmdisplayname":"US-MA","carids":"22","maxdrivers":43,"config_name":"Oval","allowedentities":"","qualsetupids":"","heatgridtype":"","passwordprotected":0,"qualifylength":5,"numfasttows":-1,"qualsetupfilenames":"","racesetupfilenames":"","registered":"","racelaps":30,"leagueid":0,"farmimagepath":"%2Fmember_images%2Fflags%2Fus.png","maxir":-1,"racedur":30,"helmpattern":1,"password":"","heatfiltertype":"","carsleft":32,"trackid":191,"custid":80383,"heatracesvrndx":-1,"restrictresults":1,"hardcoreLevel":1,"nightMode":1,"numserversfinished":0,"heatfilteramount":"","fullcoursecautions":1,"rollingstarts":1,"heatgridsid":"","multiclass":0,"hasgrid":0,"max_pct_fuel_fills":"100","heatsessiontype":"","restrictviewing":1,"licenselevel":2,"custishost":0,"practicedur":30,"league_season_id":0,"openregexpires":1340158335000,"ingrid":0,"racesetupids":"","helmcolor1":255,"helmcolor2":252,"helmcolor3":246,"rootprivatesessionid":"","subsessionid":5872091,"fixedSetup":0,"racelength":60,"numserversstarted":1,"minir":-1,"track_name":"Daytona+International+Speedway"},{"qualifylaps":0,"qualtype":"O","pitsinuse":0,"privatesessionid":141025,"timelimit":120,"minliclevel":-1,"hasentry":false,"rootprivatesessionname":"","sessionname":"Talladega Class B Fixed Practice","maxliclevel":-1,"launchat":1340156527000,"sessiondesc":"Class B Fixed Practice","heataddeddrivers":"","restarts":2,"numservers":1,"displayname":"Tony+Kaylor","qualdur":0,"admincustids":"33552","farmdisplayname":"US-MA","carids":"38","maxdrivers":25,"config_name":"","allowedentities":"","qualsetupids":"","heatgridtype":"","passwordprotected":0,"qualifylength":0,"numfasttows":0,"qualsetupfilenames":"","racesetupfilenames":"talladega%26%2395%3Bfixed%26%2346%3Bsto","registered":"","racelaps":0,"leagueid":0,"farmimagepath":"%2Fmember_images%2Fflags%2Fus.png","maxir":-1,"racedur":0,"helmpattern":48,"password":"","heatfiltertype":"","carsleft":61,"trackid":116,"custid":33552,"heatracesvrndx":-1,"restrictresults":1,"hardcoreLevel":0,"nightMode":0,"numserversfinished":0,"heatfilteramount":"","fullcoursecautions":0,"rollingstarts":1,"heatgridsid":"","multiclass":0,"hasgrid":0,"max_pct_fuel_fills":"100","heatsessiontype":"","restrictviewing":1,"licenselevel":19,"custishost":0,"practicedur":120,"league_season_id":0,"openregexpires":1340163752000,"ingrid":0,"racesetupids":"24852","helmcolor1":112,"helmcolor2":240,"helmcolor3":255,"rootprivatesessionid":"","subsessionid":5872109,"fixedSetup":1,"racelength":0,"numserversstarted":1,"minir":-1,"track_name":"Talladega+Superspeedway"},{"qualifylaps":0,"qualtype":"O","pitsinuse":4,"privatesessionid":141026,"timelimit":120,"minliclevel":-1,"hasentry":false,"rootprivatesessionname":"","sessionname":"Talladega Class B Fixed Practice","maxliclevel":-1,"launchat":1340156557000,"sessiondesc":"Class B Fixed Practice","heataddeddrivers":"","restarts":2,"numservers":1,"displayname":"Tony+Kaylor","qualdur":0,"admincustids":"33552","farmdisplayname":"US-MA","carids":"38","maxdrivers":25,"config_name":"","allowedentities":"","qualsetupids":"","heatgridtype":"","passwordprotected":0,"qualifylength":0,"numfasttows":0,"qualsetupfilenames":"","racesetupfilenames":"talladega%26%2395%3Bfixed%26%2346%3Bsto","registered":"","racelaps":0,"leagueid":0,"farmimagepath":"%2Fmember_images%2Fflags%2Fus.png","maxir":-1,"racedur":0,"helmpattern":48,"password":"","heatfiltertype":"","carsleft":58,"trackid":116,"custid":33552,"heatracesvrndx":-1,"restrictresults":1,"hardcoreLevel":0,"nightMode":0,"numserversfinished":0,"heatfilteramount":"","fullcoursecautions":0,"rollingstarts":1,"heatgridsid":"","multiclass":0,"hasgrid":0,"max_pct_fuel_fills":"100","heatsessiontype":"","restrictviewing":1,"licenselevel":19,"custishost":0,"practicedur":120,"league_season_id":0,"openregexpires":1340163765000,"ingrid":0,"racesetupids":"24852","helmcolor1":112,"helmcolor2":240,"helmcolor3":255,"rootprivatesessionid":"","subsessionid":5872112,"fixedSetup":1,"racelength":0,"numserversstarted":1,"minir":-1,"track_name":"Talladega+Superspeedway"},{"qualifylaps":0,"qualtype":"O","pitsinuse":2,"privatesessionid":141027,"timelimit":120,"minliclevel":-1,"hasentry":false,"rootprivatesessionname":"","sessionname":"HAL Practice","maxliclevel":-1,"launchat":1340156983000,"sessiondesc":"","heataddeddrivers":"","restarts":2,"numservers":1,"displayname":"David+Berry","qualdur":0,"admincustids":"15301","farmdisplayname":"US-MA","carids":"20","maxdrivers":26,"config_name":"","allowedentities":"","qualsetupids":"","heatgridtype":"","passwordprotected":1,"qualifylength":0,"numfasttows":0,"qualsetupfilenames":"","racesetupfilenames":"","registered":"","racelaps":0,"leagueid":0,"farmimagepath":"%2Fmember_images%2Fflags%2Fus.png","maxir":-1,"racedur":0,"helmpattern":19,"password":"","heatfiltertype":"","carsleft":60,"trackid":124,"custid":15301,"heatracesvrndx":-1,"restrictresults":0,"hardcoreLevel":0,"nightMode":0,"numserversfinished":0,"heatfilteramount":"","fullcoursecautions":0,"rollingstarts":1,"heatgridsid":"","multiclass":0,"hasgrid":0,"max_pct_fuel_fills":"100","heatsessiontype":"","restrictviewing":0,"licenselevel":20,"custishost":0,"practicedur":120,"league_season_id":0,"openregexpires":1340164199000,"ingrid":0,"racesetupids":"","helmcolor1":129,"helmcolor2":254,"helmcolor3":110,"rootprivatesessionid":"","subsessionid":5872154,"fixedSetup":0,"racelength":0,"numserversstarted":1,"minir":-1,"track_name":"Michigan+International+Speedway"},{"qualifylaps":2,"qualtype":"L","pitsinuse":2,"privatesessionid":141028,"timelimit":120,"minliclevel":3,"hasentry":false,"rootprivatesessionname":"","sessionname":"shootout","maxliclevel":20,"launchat":1340157036000,"sessiondesc":"PIT STOP CAUTIONS OFF ","heataddeddrivers":"","restarts":2,"numservers":1,"displayname":"Andrew+Morin","qualdur":2,"admincustids":"85736%2C92378%2C40664%2C83018%2C63850%2C53398%2C46261","farmdisplayname":"US-MA","carids":"22","maxdrivers":43,"config_name":"Oval","allowedentities":"","qualsetupids":"","heatgridtype":"","passwordprotected":0,"qualifylength":5,"numfasttows":3,"qualsetupfilenames":"","racesetupfilenames":"","registered":"","racelaps":15,"leagueid":0,"farmimagepath":"%2Fmember_images%2Fflags%2Fus.png","maxir":-1,"racedur":15,"helmpattern":32,"password":"","heatfiltertype":"","carsleft":41,"trackid":191,"custid":40664,"heatracesvrndx":-1,"restrictresults":0,"hardcoreLevel":0,"nightMode":1,"numserversfinished":0,"heatfilteramount":"","fullcoursecautions":0,"rollingstarts":1,"heatgridsid":"","multiclass":0,"hasgrid":0,"max_pct_fuel_fills":"100","heatsessiontype":"","restrictviewing":0,"licenselevel":19,"custishost":0,"practicedur":30,"league_season_id":0,"openregexpires":1340159156000,"ingrid":0,"racesetupids":"","helmcolor1":95,"helmcolor2":240,"helmcolor3":252,"rootprivatesessionid":"","subsessionid":5872162,"fixedSetup":0,"racelength":45,"numserversstarted":1,"minir":-1,"track_name":"Daytona+International+Speedway"},{"qualifylaps":4,"qualtype":"L","pitsinuse":2,"privatesessionid":141029,"timelimit":120,"minliclevel":-1,"hasentry":false,"rootprivatesessionname":"","sessionname":"READ SESSION RULES BEFORE JOINING","maxliclevel":-1,"launchat":1340157054000,"sessiondesc":"NO ENTRY TILL YOU HAVE READ THIS&#58; This is not a session for testing or for rookies&#46; Sporting code in FULL effect including prohibitions on foul language&#44; driver disrespect and general ass head behavior&#46; BE CAREFUL LEAVING THE PITS &#42; ENTER ON THE BACKSTRETCH ONLY &#42; DO NOT FORCE BLEND WITH CARS UP TO SPEED&#46; This may well be the fastest boot button in iRacing&#46;","heataddeddrivers":"","restarts":2,"numservers":1,"displayname":"Stephen+Bailey","qualdur":4,"admincustids":"59640%2C54841%2C49330%2C49271%2C29643%2C26020%2C19267%2C61352","farmdisplayname":"US-MA","carids":"29","maxdrivers":42,"config_name":"Oval","allowedentities":"","qualsetupids":"","heatgridtype":"","passwordprotected":0,"qualifylength":10,"numfasttows":1,"qualsetupfilenames":"","racesetupfilenames":"","registered":"","racelaps":20,"leagueid":0,"farmimagepath":"%2Fmember_images%2Fflags%2Fus.png","maxir":-1,"racedur":20,"helmpattern":61,"password":"","heatfiltertype":"","carsleft":40,"trackid":191,"custid":26020,"heatracesvrndx":-1,"restrictresults":0,"hardcoreLevel":1,"nightMode":1,"numserversfinished":0,"heatfilteramount":"","fullcoursecautions":0,"rollingstarts":1,"heatgridsid":"","multiclass":0,"hasgrid":0,"max_pct_fuel_fills":"100","heatsessiontype":"","restrictviewing":0,"licenselevel":10,"custishost":0,"practicedur":90,"league_season_id":0,"openregexpires":1340163075000,"ingrid":0,"racesetupids":"","helmcolor1":255,"helmcolor2":240,"helmcolor3":255,"rootprivatesessionid":"","subsessionid":5872167,"fixedSetup":0,"racelength":20,"numserversstarted":1,"minir":-1,"track_name":"Daytona+International+Speedway"},{"qualifylaps":0,"qualtype":"O","pitsinuse":7,"privatesessionid":141030,"timelimit":240,"minliclevel":-1,"hasentry":false,"rootprivatesessionname":"","sessionname":"TCS CUSTOM DIECAST PRO SERIES ","maxliclevel":-1,"launchat":1340157129000,"sessiondesc":"www&#46;nobullmotorsport&#46;com","heataddeddrivers":"","restarts":2,"numservers":1,"displayname":"Rodney+Kramer","qualdur":40,"admincustids":"18222%2C39455%2C54211%2C76205","farmdisplayname":"US-MA","carids":"22","maxdrivers":43,"config_name":"Oval","allowedentities":"","qualsetupids":"24855","heatgridtype":"","passwordprotected":1,"qualifylength":40,"numfasttows":1,"qualsetupfilenames":"charlotte%26%2395%3Bfixed%26%2346%3Bsto%2Ccharlotte_fixed.sto","racesetupfilenames":"charlotte%26%2395%3Bfixed%26%2346%3Bsto%2Ccharlotte_fixed.sto","registered":"","racelaps":130,"leagueid":0,"farmimagepath":"%2Fmember_images%2Fflags%2Fus.png","maxir":-1,"racedur":130,"helmpattern":61,"password":"","heatfiltertype":"","carsleft":36,"trackid":53,"custid":39455,"heatracesvrndx":-1,"restrictresults":0,"hardcoreLevel":0,"nightMode":0,"numserversfinished":0,"heatfilteramount":"","fullcoursecautions":1,"rollingstarts":1,"heatgridsid":"","multiclass":0,"hasgrid":0,"max_pct_fuel_fills":"100","heatsessiontype":"","restrictviewing":0,"licenselevel":20,"custishost":0,"practicedur":50,"league_season_id":0,"openregexpires":1340162553000,"ingrid":0,"racesetupids":"24855","helmcolor1":240,"helmcolor2":239,"helmcolor3":240,"rootprivatesessionid":"","subsessionid":5872176,"fixedSetup":1,"racelength":150,"numserversstarted":1,"minir":-1,"track_name":"Atlanta+Motor+Speedway"},{"qualifylaps":0,"qualtype":"O","pitsinuse":1,"privatesessionid":141031,"timelimit":120,"minliclevel":-1,"hasentry":false,"rootprivatesessionname":"","sessionname":"langley","maxliclevel":-1,"launchat":1340157395000,"sessiondesc":"have fun ","heataddeddrivers":"","restarts":0,"numservers":1,"displayname":"Connor+Hall","qualdur":30,"admincustids":"68608","farmdisplayname":"US-MA","carids":"5","maxdrivers":25,"config_name":"","allowedentities":"","qualsetupids":"","heatgridtype":"","passwordprotected":0,"qualifylength":30,"numfasttows":-1,"qualsetupfilenames":"","racesetupfilenames":"","registered":"","racelaps":100,"leagueid":0,"farmimagepath":"%2Fmember_images%2Fflags%2Fus.png","maxir":-1,"racedur":100,"helmpattern":52,"password":"","heatfiltertype":"","carsleft":24,"trackid":201,"custid":68608,"heatracesvrndx":-1,"restrictresults":0,"hardcoreLevel":0,"nightMode":1,"numserversfinished":0,"heatfilteramount":"","fullcoursecautions":1,"rollingstarts":1,"heatgridsid":"","multiclass":0,"hasgrid":0,"max_pct_fuel_fills":"100","heatsessiontype":"","restrictviewing":0,"licenselevel":10,"custishost":0,"practicedur":20,"league_season_id":0,"openregexpires":1340160416000,"ingrid":0,"racesetupids":"","helmcolor1":129,"helmcolor2":255,"helmcolor3":240,"rootprivatesessionid":"","subsessionid":5872196,"fixedSetup":0,"racelength":70,"numserversstarted":1,"minir":-1,"track_name":"Langley+Speedway"}],mine:[],gridded:[]}
        // the following works around a bug in json.simple-1.1.1 where it fails to parse when object keys aren't surrounded by double quotes
        if (json.startsWith("{all:")) {
            json = json.replace("{all:", "{\"all\":");
            json = json.replace(",mine:", ",\"mine\":");
            json = json.replace(",gridded:", ",\"gridded\":");
        }
        List<HostedSessionSummary> output = new ArrayList<HostedSessionSummary>();
        JSONParser parser = new JSONParser();
        try {
            JSONObject root = (JSONObject) parser.parse(json);
            JSONArray sessions = (JSONArray) root.get("all");
            for (int i = 0; i < sessions.size(); i++) {
                //"heataddeddrivers":""
                //"allowedentities":""
                //"qualsetupids":"25540"
                //"heatgridtype":""
                //"racesetupids":"25540"
                //"qualsetupfilenames":"DH%26%2345%3BIndy%26%2345%3BS2%26%2345%3BRace%26%2346%3Bsto%2CDH-Indy-S2-Race.sto"
                //"racesetupfilenames":"DH%26%2345%3BIndy%26%2345%3BS2%26%2345%3BRace%26%2346%3Bsto%2CDH-Indy-S2-Race.sto"
                //"helmpattern":19
                //"helmcolor1":240
                //"helmcolor2":115
                //"helmcolor3":92
                //"heatfiltertype":""
                //"heatracesvrndx":-1
                //"heatfilteramount":""
                //"heatgridsid":""
                //"heatsessiontype":""
                JSONObject session = (JSONObject) sessions.get(i);
                HostedSessionSummary summary = new HostedSessionSummary();
                summary.setQualifyingLaps(getInt(session, "qualifylaps"));
                String s = (String) session.get("qualtype");
                //if ("L".equals(s)) summary.setQualifyingType();   // L = lap + time
                //if ("O".equals(s)) summary.setQualifyingType();   // O = no qualifying
                summary.setPitsInUse(getInt(session, "pitsinuse"));
                summary.setPrivateSessionId(getLong(session, "privatesessionid"));
                summary.setTimeLimit(getInt(session, "timelimit"));
                summary.setMinimumLicenseLevel(getInt(session, "minliclevel"));
                summary.setMaximumLecenseLevel(getInt(session, "maxliclevel"));
                summary.setHasEntry((Boolean) session.get("hasentry"));
                summary.setRootPrivateSessionName(getString(session, "rootprivatesessionname"));
                summary.setSessionName(StringEscapeUtils.unescapeHtml4(getString(session, "sessionname", true)));
                summary.setSessionDescription(
                        StringEscapeUtils.unescapeHtml4(getString(session, "sessiondesc", true)));
                summary.setLaunchAt(new Date(getLong(session, "launchat")));
                summary.setRestarts(getInt(session, "restarts"));
                summary.setNumberOfServers(getInt(session, "numservers"));
                IracingCustomer host = new IracingCustomer();
                host.setName(getString(session, "displayname", true));
                host.setId(getLong(session, "custid"));
                summary.setHost(host);
                summary.setQualifyingDuration(getInt(session, "qualdur"));
                s = getString(session, "admincustids", true);
                String[] sa = s.split(",");
                List<Long> adminIds = new ArrayList<Long>();
                for (String id : sa) {
                    adminIds.add(Long.parseLong(id));
                }
                summary.setAdminCustomerIds(adminIds);
                summary.setFarmDisplayName(getString(session, "farmdisplayname"));
                summary.setMaximumDrivers(getInt(session, "maxdrivers"));
                s = getString(session, "carids", true);
                sa = s.split(",");
                List<Integer> carIds = new ArrayList<Integer>();
                for (String id : sa) {
                    carIds.add(Integer.parseInt(id));
                }
                summary.setCarIds(carIds);
                //"max_pct_fuel_fills":"100"
                summary.setPasswordProtected((getInt(session, "passwordprotected")) == 1);
                summary.setQualifyingLength(getInt(session, "qualifylength"));
                summary.setNumberOfFastTows(getInt(session, "numfasttows"));
                summary.setRaceLaps(getInt(session, "racelaps"));
                summary.setLeagueId(getLong(session, "leagueid"));
                summary.setLeagueSeasonId(getLong(session, "league_season_id"));
                summary.setFarmImagePath(getString(session, "farmimagepath", true));
                summary.setMinimumIrating(getInt(session, "minir"));
                summary.setMaximumIrating(getInt(session, "maxir"));
                summary.setPracticeDuration(getInt(session, "practicedur"));
                summary.setRaceDuration(getInt(session, "racedur"));
                summary.setRaceLength(getInt(session, "racelength"));
                summary.setCarsLeft(getInt(session, "carsleft"));
                summary.setTrackId(getInt(session, "trackid"));
                summary.setTrackName(getString(session, "track_name", true));
                summary.setTrackConfigName(getString(session, "config_name", true));
                summary.setRestrictResults((getInt(session, "restrictresults")) == 1);
                summary.setRestrictViewing((getInt(session, "restrictviewing")) == 1);
                summary.setHardcoreLevel(getInt(session, "hardcoreLevel"));
                summary.setNightMode((getInt(session, "nightMode")) == 1);
                summary.setNumberOfServersStarted(getInt(session, "numserversstarted"));
                summary.setNumberOfServersFinished(getInt(session, "numserversfinished"));
                summary.setFullCourseCautions((getInt(session, "fullcoursecautions")) == 1);
                summary.setRollingStarts((getInt(session, "rollingstarts")) == 1);
                summary.setMulticlass((getInt(session, "multiclass")) == 1);
                summary.setFixedSetup((getInt(session, "fixedSetup")) == 1);
                summary.setHasGrid((getInt(session, "hasgrid")) == 1);
                summary.setLicenseLevel(getInt(session, "licenselevel"));
                summary.setApiUserIsHost((getInt(session, "custishost")) == 1);
                summary.setRegistrationExpires(new Date(getLong(session, "openregexpires")));
                summary.setInGrid((getInt(session, "ingrid")) == 1);
                summary.setRootPrivateSessionId(getString(session, "rootprivatesessionid"));
                summary.setSubSessionId(getLong(session, "subsessionid"));
                output.add(summary);
            }
        } catch (ParseException ex) {
            Logger.getLogger(HostedSessionSummaryParser.class.getName()).log(Level.SEVERE, null, ex);
        }
        return output;
    }

}