DateFormat=mm/dd/yyyy
Define $now = 
Define $later = 
Define $skip = at:end # Force a blank line
Define $dayunknown = 15 # what day to use if it's actually not known
Period = from:06/01/2007 till:$later
ImageSize= width:1300 height:auto barincrement:20
TimeAxis = orientation:horizontal
PlotArea = right:1 left:1 bottom:100 top:1

Colors =
 id:bg value:white
 id:lightline value:rgb
 id:lighttext value:rgb
 id:server value:rgb
 id:phone2g value:rgb Legend:iPhone_2G
 id:phone3g value:rgb Legend:iPhone_3G
 id:phone3gs value:rgb Legend:iPhone_3GS
 id:phone4 value:rgb Legend:iPhone_4
 id:phone4s value:rgb Legend:iPhone_4S
 id:phone5 value:rgb Legend:iPhone_5
 id:phone5c value:rgb Legend:iPhone_5C
 id:phone5s value:rgb Legend:iPhone_5S
 id:phone6 value:rgb Legend:iPhone_6
 id:phone6s value:rgb Legend:iPhone_6S
 id:phonese value:rgb Legend:iPhone_SE_(1st)
 id:phone7 value:rgb Legend:iPhone_7
 id:phone8 value:rgb Legend:iPhone_8
 id:phonex value:rgb Legend:iPhone_X
 id:phonexs value:rgb Legend:iPhone_XS
 id:phonexr value:rgb Legend:iPhone_XR
 id:phone11 value:rgb Legend:iPhone_11
 id:phone11pro value:rgb Legend:iPhone_11_Pro
 id:phonese2 value:rgb Legend:iPhone_SE_(2nd)
 id:phone12 value:rgb Legend:iPhone_12
 id:phone12pro value:rgb Legend:iPhone_12_Pro
 id:phone13 value:rgb Legend:iPhone_13
 id:phone13pro value:rgb Legend:iPhone_13_Pro
 id:phonese3 value:rgb Legend:iPhone_SE_(3rd)
 id:phone14 value:rgb Legend:iPhone_14
 id:phone14pro value:rgb Legend:iPhone_14_Pro
 id:current value:rgb

BackgroundColors = canvas:bg
ScaleMajor = gridcolor:lighttext unit:year increment:1 start:01/01/2008
ScaleMinor = gridcolor:lightline unit:month increment:1 start:06/01/2007
Legend = orientation:vertical position:bottom columns:1

BarData = 
 barset:phone

PlotData =
 width:15 textcolor:black shift: anchor:from fontsize:s

 barset:phone 
 color:phone2g from:06/29/2007 till:09/05/2007 text:"iPhone (1st) 4 GB"
 color:phone2g from:06/29/2007 till:07/11/2008 text:"8 GB"
 color:phone2g from:02/05/2008 till:07/11/2008 text:"16 GB"
 color:phone3g from:07/11/2008 till:06/07/2010 text:"iPhone 3G 8 GB"
 color:phone3g from:07/11/2008 till:06/08/2009 text:"16 GB"

 barset:break 
 color:phone3gs from:06/24/2010 till:09/12/2012 text:"iPhone 3GS 8 GB"
 color:phone3gs from:06/19/2009 till:06/24/2010 text:"16 GB"
 color:phone3gs from:06/19/2009 till:06/24/2010 text:"32 GB"
 color:phone4 from:10/14/2011 till:09/10/2013 text:"8 GB"
 color:phone4 from:06/24/2010 till:10/04/2011 text:"iPhone 4 16 GB"
 color:phone4 from:06/24/2010 till:10/04/2011 text:"32 GB"

 barset:break 
 color:phone5c from:03/18/2014 till:09/09/2015 text:"iPhone 5C 8 GB"
 color:phone5c from:09/20/2013 till:09/09/2014 text:"16 GB"
 color:phone5c from:09/20/2013 till:09/09/2014 text:"32 GB"
 color:phone4s from:09/20/2013 till:09/09/2014 text:"8 GB"
 color:phone4s from:10/14/2011 till:09/10/2013 text:"iPhone 4S 16 GB"
 color:phone4s from:10/14/2011 till:09/12/2012 text:"32 GB"
 color:phone4s from:10/14/2011 till:09/12/2012 text:"64 GB"
 color:phone5 from:09/21/2012 till:09/10/2013 text:"iPhone 5 16 GB"
 color:phone5 from:09/21/2012 till:09/10/2013 text:"32 GB"
 color:phone5 from:09/21/2012 till:09/10/2013 text:"64 GB"

 barset:break 
 $skip
 $skip
 $skip
 $skip
 $skip
 $skip
 $skip
 color:phone5s from:09/20/2013 till:03/21/2016 text:"iPhone 5s 16 GB"
 color:phone5s from:09/20/2013 till:03/21/2016 text:"32 GB"
 color:phone5s from:09/20/2013 till:09/09/2014 text:"64 GB"
 color:phone6 from:09/19/2014 till:09/07/2016 text:"iPhone 6 / Plus 16 GB"
 color:phone6 from:03/10/2017 till:09/12/2018 text:"32 GB"
 color:phone6 from:09/19/2014 till:09/07/2016 text:"64 GB"
 color:phone6 from:09/19/2014 till:09/09/2015 text:"128 GB"
 color:phone6s from:09/25/2015 till:09/07/2016 text:"iPhone 6S / Plus 16 GB"
 color:phone6s from:09/16/2016 till:09/12/2018 text:"32 GB"
 color:phone6s from:09/25/2015 till:09/07/2016 text:"64 GB"
 color:phone6s from:09/25/2015 till:09/12/2018 text:"128 GB"
 color:phone7 from:09/16/2016 till:09/10/2019 text:"iPhone 7 / Plus 32 GB"
 color:phone7 from:09/16/2016 till:09/10/2019 text:"128 GB"
 color:phone7 from:09/16/2016 till:09/12/2017 text:"256 GB"
 color:phone8 from:09/22/2017 till:04/15/2020 text:"iPhone 8 / Plus 64 GB"
 color:phone8 from:09/10/2019 till:04/15/2020 text:"128 GB"
 color:phone8 from:09/22/2017 till:09/10/2019 text:"256 GB"

 barset:break 
 color:phonese from:03/31/2016 till:03/24/2017 text:"iPhone SE (1st) 16 GB"
 color:phonese from:03/24/2017 till:09/12/2018 text:"32 GB"
 color:phonese from:03/31/2016 till:03/24/2017 text:"64 GB"
 color:phonese from:03/24/2017 till:09/12/2018 text:"128 GB"
 color:phonex from:11/03/2017 till:09/12/2018 text:"iPhone X 64 GB"
 color:phonex from:11/03/2017 till:09/12/2018 text:"256 GB"
 color:phonexs from:09/21/2018 till:09/10/2019 text:"iPhone XS / Max 64 GB"
 color:phonexs from:09/21/2018 till:09/10/2019 text:"256 GB"
 color:phonexs from:09/21/2018 till:09/10/2019 text:"512 GB"
 $skip
 color:phonexr from:10/26/2018 till:09/14/2021 text:"iPhone XR 64 GB"
 color:phonexr from:10/26/2018 till:09/14/2021 text:"128 GB"
 color:phonexr from:10/26/2018 till:09/10/2019 text:"256 GB"

 barset:break 
 color:phone11 from:09/20/2019 till:$now text:"iPhone 11 64 GB"
 color:phone11 from:09/20/2019 till:$now text:"128 GB"
 color:phone11 from:09/20/2019 till:09/14/2021 text:"256 GB"
 color:phone11pro from:09/20/2019 till:10/13/2020 text:"iPhone 11 Pro / Max 64 GB"
 color:phone11pro from:09/20/2019 till:10/13/2020 text:"256 GB"
 color:phone11pro from:09/20/2019 till:10/13/2020 text:"512 GB"
 $skip
 $skip
 $skip
 $skip
 $skip
 $skip
 $skip
 color:phonese2 from:04/24/2020 till:03/08/2022 text:"iPhone SE (2nd) 64 GB"
 color:phonese2 from:04/24/2020 till:03/08/2022 text:"128 GB"
 color:phonese2 from:04/24/2020 till:09/14/2021 text:"256 GB"
 color:phone12 from:11/13/2020 till:09/07/2022 text:"iPhone 12 Mini 64 GB"
 color:phone12 from:11/13/2020 till:09/07/2022 text:"128 GB"
 color:phone12 from:11/13/2020 till:09/07/2022 text:"256 GB"
 color:phone12 from:10/23/2020 till:$now text:"iPhone 12 64 GB"
 color:phone12 from:10/23/2020 till:$now text:"128 GB"
 color:phone12 from:10/23/2020 till:$now text:"256 GB"
 color:phone12pro from:10/23/2020 till:09/14/2021 text:"iPhone 12 Pro 128 GB"
 color:phone12pro from:10/23/2020 till:09/14/2021 text:"256 GB"
 color:phone12pro from:10/23/2020 till:09/14/2021 text:"512 GB"
 color:phone12pro from:11/13/2020 till:09/14/2021 text:"iPhone 12 Pro Max 128 GB"
 color:phone12pro from:11/13/2020 till:09/14/2021 text:"256 GB"
 color:phone12pro from:11/13/2020 till:09/14/2021 text:"512 GB"

 barset:break 
 color:phonese3 from:03/18/2022 till:$now text:"SE (3rd) 64 GB"
 color:phonese3 from:03/18/2022 till:$now text:"128 GB"
 color:phonese3 from:03/18/2022 till:$now text:"256 GB"
 $skip
 color:phone13 from:09/24/2021 till:$now text:"13 / Mini 128 GB"
 color:phone13 from:09/24/2021 till:$now text:"256 GB"
 color:phone13 from:09/24/2021 till:$now text:"512 GB"
 color:phone13pro from:09/24/2021 till:09/07/2022 text:"13 Pro / Max 128 GB"
 color:phone13pro from:09/24/2021 till:09/07/2022 text:"256 GB"
 color:phone13pro from:09/24/2021 till:09/07/2022 text:"512 GB"
 color:phone13pro from:09/24/2021 till:09/07/2022 text:"1 TB"
 $skip
 $skip
 $skip
 $skip
 $skip
 $skip
 $skip
 $skip
 $skip
 $skip
 $skip
 color:phone14 from:09/16/2022 till:$now text:"14 128 GB"
 color:phone14 from:09/16/2022 till:$now text:"256 GB"
 color:phone14 from:09/16/2022 till:$now text:"512 GB"
 color:phone14 from:10/07/2022 till:$now text:"14 Plus 128 GB"
 color:phone14 from:10/07/2022 till:$now text:"256 GB"
 color:phone14 from:10/07/2022 till:$now text:"512 GB"
 color:phone14pro from:09/16/2022 till:$now text:"14 Pro / Max 128 GB"
 color:phone14pro from:09/16/2022 till:$now text:"256 GB"
 color:phone14pro from:09/16/2022 till:$now text:"512 GB"
 color:phone14pro from:09/16/2022 till:$now text:"1 TB"

 barset:break
 color:current from:$now till:end 
 color:current from:$now till:end
 color:current from:$now till:end 
 $skip
 color:current from:$now till:end 
 color:current from:$now till:end
 color:current from:$now till:end
 $skip
 $skip
 $skip
 $skip
 $skip
 $skip
 $skip
 $skip
 $skip
 $skip
 $skip
 $skip
 color:current from:$now till:end 
 color:current from:$now till:end
 color:current from:$now till:end
 color:current from:$now till:end 
 color:current from:$now till:end
 color:current from:$now till:end
 color:current from:$now till:end 
 color:current from:$now till:end
 color:current from:$now till:end
 color:current from:$now till:end 
 color:current from:$now till:end
 color:current from:$now till:end
 color:current from:$now till:end