package Ġcom . pu zz let imer . gui Ċ Ċ import Ġcom . pu zz let imer . pu zz les . P uzzle . get Scr amb led P uzzle Mesh Ċ import Ġcom . pu zz let imer . models . Category . getDescription Ċ import Ġcom . pu zz let imer . pu zz les . P uzzle . pu zzle Info Ċ import Ġcom . pu zz let imer . sc ram bl ers . Scr amb ler . scr amb ler Info Ċ import Ġcom . pu zz let imer . models . Scr amb ler Info . pu zzle Id Ċ import Ġcom . pu zz let imer . models . P uzzle Info . pu zzle Id Ċ import Ġcom . pu zz let imer . tips . Tip . pu zzle Id Ċ import Ġcom . pu zz let imer . models . Category . tip Ids Ċ import Ġcom . pu zz let imer . tips . Tip . tip Id Ċ import Ġcom . pu zz let imer . models . Scr amb ler Info . scr amb ler Id Ċ import Ġcom . pu zz let imer . models . Category . set Scr amb ler Id Ċ import Ġcom . pu zz let imer . models . Category . setDescription Ċ import Ġcom . pu zz let imer . models . Category . set Tip Ids Ċ import Ġcom . pu zz let imer . models . Category . get Scr amb ler Id Ċ import Ġcom . pu zz let imer . state . Category Manager . addListener Ċ import Ġcom . pu zz let imer . sc ram bl ers . Scr amb ler Provider . get Ċ import Ġcom . pu zz let imer . pu zz les . P uzzle Provider . get Ċ import Ġcom . pu zz let imer . models . P uzzle Info . description Ċ import Ġcom . pu zz let imer . models . Scr amb ler Info . description Ċ import Ġcom . pu zz let imer . state . Category Manager . getC ategories Ċ import Ġcom . pu zz let imer . state . Category Manager . getCurrent Category Ċ import Ġcom . pu zz let imer . models . Category . is User Defined Ċ import Ġcom . pu zz let imer . state . Category Manager . add Category Ċ import Ġcom . pu zz let imer . pu zz les . P uzzle Provider . all Ċ import Ġcom . pu zz let imer . sc ram bl ers . Scr amb ler Provider . all Ċ import Ġcom . pu zz let imer . tips . Tip Provider . all Ċ import Ġcom . pu zz let imer . state . Category Manager . update Category Ċ import Ġcom . pu zz let imer . state . Category Manager . remove Category Ċ import Ġcom . pu zz let imer . state . Color Manager . getColor Scheme Ċ import Ġcom . pu zz let imer . models . Color Scheme . face Colors Ċ import Ġcom . pu zz let imer . models . Color Scheme . Face Color . face Description Ċ import Ġcom . pu zz let imer . models . Color Scheme . Face Color . color Ċ import Ġcom . pu zz let imer . state . Color Manager . setColor Scheme Ċ import Ġcom . pu zz let imer . models . Color Scheme . set Face Color Ċ import Ġcom . pu zz let imer . models . Color Scheme . Face Color . setColor Ċ import Ġcom . pu zz let imer . models . Color Scheme . Face Color . setColor To Default Ċ import Ġcom . pu zz let imer . state . Color Manager . addListener Ċ import Ġcom . pu zz let imer . models . Color Scheme . pu zzle Id Ċ import Ġcom . pu zz let imer . util . Solution Utils . real Time Ċ import Ġcom . pu zz let imer . state . Configuration Manager . getConfiguration Ċ import Ġcom . pu zz let imer . models . Solution . timing Ċ import Ġcom . pu zz let imer . models . Timing . start Ċ import Ġcom . pu zz let imer . util . Solution Utils . format Ċ import Ġcom . pu zz let imer . util . Solution Utils . real Times Ċ import Ġcom . pu zz let imer . util . Solution Utils . parse Time Ċ import Ġcom . pu zz let imer . parsers . Scr amble Parser . parse Ċ import Ġcom . pu zz let imer . state . Category Manager . notify Listeners Ċ import Ġcom . pu zz let imer . state . Timer Manager . addListener Ċ import Ġcom . pu zz let imer . state . Solution Manager . get Solutions Ċ import Ġcom . pu zz let imer . state . Solution Manager . addListener Ċ import Ġcom . pu zz let imer . state . Solution Manager . notify Listeners Ċ import Ġcom . pu zz let imer . state . Solution Manager . add Solutions Ċ import Ġcom . pu zz let imer . parsers . Scr amble Parser Provider . get Ċ import Ġcom . pu zz let imer . models . Category . get CategoryId Ċ import Ġcom . pu zz let imer . state . Solution Manager . update Solution Ċ import Ġcom . pu zz let imer . state . Solution Manager . remove Solution Ċ import Ġcom . pu zz let imer . state . Session Manager . get Solutions Ċ import Ġcom . pu zz let imer . models . Solution . solution Id Ċ import Ġcom . pu zz let imer . statistics . Stat istical Measure . minimum Window Size Ċ import Ġcom . pu zz let imer . statistics . Stat istical Measure . maximum Window Size Ċ import Ġcom . pu zz let imer . statistics . Stat istical Measure . set Solutions Ċ import Ġcom . pu zz let imer . util . Solution Utils . format Minutes Ċ import Ġcom . pu zz let imer . statistics . Stat istical Measure . value Ċ import Ġcom . pu zz let imer . statistics . Stat istical Measure . round Ċ import Ġcom . pu zz let imer . statistics . Stat istical Measure . window Position Ċ import Ġcom . pu zz let imer . models . Timing . elapsed Time Ċ import Ġcom . pu zz let imer . models . Solution . penalty Ċ import Ġcom . pu zz let imer . models . Solution . comment Ċ import Ġcom . pu zz let imer . models . Solution . scr amble Ċ import Ġcom . pu zz let imer . models . Scr amble . raw Sequence Ċ import Ġcom . pu zz let imer . models . table . Sort Button Renderer . set Pressed Column Ċ import Ġcom . pu zz let imer . models . table . Sort Button Renderer . setSelected Column Ċ import Ġcom . pu zz let imer . models . table . Sort Button Renderer . getState Ċ import Ġcom . pu zz let imer . models . table . Custom TableModel . sortBy Column Ċ import Ġcom . pu zz let imer . state . Scr amble Manager . addListener Ċ import Ġcom . pu zz let imer . models . Scr amble . sequence Ċ import Ġcom . pu zz let imer . models . Scr amble . scr amb ler Id Ċ import Ġcom . pu zz let imer . state . Session Manager . addListener Ċ import Ġcom . pu zz let imer . models . Solution . set Pen alty Ċ import Ġcom . pu zz let imer . state . Scr amble Manager . add Scr amb les Ċ import Ġcom . pu zz let imer . state . Scr amble Manager . change Scr amble Ċ import Ġcom . pu zz let imer . state . Message Manager . enqueue Message Ċ import Ġcom . pu zz let imer . state . Update Manager . check Update Ċ import Ġcom . pu zz let imer . state . Update Manager . latest Ċ import Ġcom . pu zz let imer . state . Update Manager . getVersion Number Ċ import Ġcom . pu zz let imer . state . Update Manager . getDescription Ċ import Ġcom . pu zz let imer . state . Scr amble Manager . current Scr amble Ċ import Ġcom . pu zz let imer . state . Solution Manager . add Solution Ċ import Ġcom . pu zz let imer . state . Category Manager . setCurrent Category Ċ import Ġcom . pu zz let imer . state . Timer Manager . is Inspection Enabled Ċ import Ġcom . pu zz let imer . state . Timer Manager . set Inspection Enabled Ċ import Ġcom . pu zz let imer . state . Timer Manager . is Any Key Enabled Ċ import Ġcom . pu zz let imer . state . Timer Manager . set Any Key Enabled Ċ import Ġcom . pu zz let imer . state . Session Manager . is Daily Session Enabled Ċ import Ġcom . pu zz let imer . state . Timer Manager . is Hide Timer Enabled Ċ import Ġcom . pu zz let imer . state . Timer Manager . set Hide Timer Enabled Ċ import Ġcom . pu zz let imer . state . Timer Manager . is Smooth Timing Enabled Ċ import Ġcom . pu zz let imer . state . Timer Manager . set Smooth Timing Enabled Ċ import Ġcom . pu zz let imer . state . Configuration Manager . set Configuration Ċ import Ġcom . pu zz let imer . util . Export Utils . Export ToFile Ċ import Ġcom . pu zz let imer . state . Message Manager . addListener Ċ import Ġcom . pu zz let imer . state . Timer Manager . set Timer Ċ import Ġcom . pu zz let imer . state . Timer Manager . set Precision Ċ import Ġcom . pu zz let imer . state . Scr amble Manager . move Scr amb les Up Ċ import Ġcom . pu zz let imer . state . Scr amble Manager . move Scr amb les Down Ċ import Ġcom . pu zz let imer . state . Scr amble Manager . remove Scr amb les Ċ import Ġcom . pu zz let imer . state . Scr amble Manager . get Queue Ċ import Ġcom . pu zz let imer . sc ram bl ers . Scr amb ler . next Scr amble Ċ import Ġcom . pu zz let imer . models . Timing . end Ċ import Ġcom . pu zz let imer . models . Solution . set Timing Ċ import Ġcom . pu zz let imer . models . Solution . set Comment Ċ import Ġcom . pu zz let imer . tips . Tip Provider . get Ċ import Ġcom . pu zz let imer . tips . Tip . get Tip Ċ import Ġjavax . swing . J Frame Ċ import Ġjavax . swing . J Dialog Ċ import Ġcom . pu zz let imer . pu zz les . P uzzle Ċ import Ġcom . pu zz let imer . pu zz les . Rub iks Cube Ċ import Ġcom . pu zz let imer . models . Color Scheme Ċ import Ġcom . pu zz let imer . models . Color Scheme . Face Color Ċ import Ġjava . awt . Color Ċ import Ġcom . pu zz let imer . graphics . Panel 3 D Ċ import Ġcom . pu zz let imer . graphics . Vector 3 Ċ import Ġjavax . swing . JLabel Ċ import Ġjava . awt . Font Ċ import Ġcom . pu zz let imer . sc ram bl ers . Scr amb ler Ċ import Ġcom . pu zz let imer . tips . Tip Ċ import Ġcom . pu zz let imer . gui . Category Editor Listener Ċ import Ġjavax . swing . JTextField Ċ import Ġjavax . swing . J ComboBox Ċ import Ġjavax . swing . JButton Ċ import Ġjavax . swing . J List Ċ import Ġjavax . swing . Default ListModel Ċ import Ġjavax . swing . List Selection Model Ċ import Ġjavax . swing . J ScrollPane Ċ import Ġjava . awt . Dimension Ċ import Ġjava . awt . event . ActionListener Ċ import Ġjava . awt . event . ActionEvent Ċ import Ġcom . pu zz let imer . models . P uzzle Info Ċ import Ġcom . pu zz let imer . models . Scr amb ler Info Ċ import Ġjavax . swing . ListModel Ċ import Ġjavax . swing . KeyStroke Ċ import Ġjava . awt . event . KeyEvent Ċ import Ġjavax . swing . J Component Ċ import Ġcom . pu zz let imer . pu zz les . P uzzle Provider Ċ import Ġcom . pu zz let imer . sc ram bl ers . Scr amb ler Provider Ċ import Ġcom . pu zz let imer . state . Category Manager Ċ import Ġcom . pu zz let imer . tips . Tip Provider Ċ import Ġjavax . swing . J Table Ċ import Ġjavax . swing . table . Default TableModel Ċ import Ġjavax . swing . event . List Selection Listener Ċ import Ġjavax . swing . event . List Selection Event Ċ import Ġcom . pu zz let imer . gui . Category Editor Dialog Ċ import Ġjavax . swing . JOptionPane Ċ import Ġcom . pu zz let imer . state . Color Manager Ċ import Ġjavax . swing . table . TableCell Renderer Ċ import Ġjavax . swing . Border Factory Ċ import Ġcom . pu zz let imer . gui . Color Scheme Frame . Color Renderer Ċ import Ġjavax . swing . J Color Chooser Ċ import Ġjavax . swing . Window Constants Ċ import Ġcom . pu zz let imer . models . Solution Ċ import Ġcom . pu zz let imer . state . Configuration Manager Ċ import Ġjavax . swing . JPanel Ċ import Ġcom . pu zz let imer . util . Solution Utils Ċ import Ġjava . awt . Graphics Ċ import Ġjava . awt . Graphics 2 D Ċ import Ġjava . awt . Rendering Hints Ċ import Ġjava . awt . Font Metrics Ċ import Ġjava . text . DateFormat Ċ import Ġjava . awt . geom . GeneralPath Ċ import Ġjava . awt . geom . Affine Transform Ċ import Ġcom . pu zz let imer . parsers . Scr amble Parser Provider Ċ import Ġcom . pu zz let imer . state . Scr amble Manager Ċ import Ġcom . pu zz let imer . state . Solution Manager Ċ import Ġcom . pu zz let imer . state . Timer Manager Ċ import Ġcom . pu zz let imer . parsers . Scr amble Parser Ċ import Ġcom . pu zz let imer . gui . History Frame . Solution Importer Dialog . Solution Importer Listener Ċ import Ġjavax . swing . J TextArea Ċ import Ġcom . pu zz let imer . models . Timing Ċ import Ġcom . pu zz let imer . models . Scr amble Ċ import Ġcom . pu zz let imer . gui . Histogram Panel Ċ import Ġcom . pu zz let imer . gui . Graph Panel Ċ import Ġcom . pu zz let imer . statistics . Stat istical Measure Ċ import Ġcom . pu zz let imer . statistics . Best Ċ import Ġcom . pu zz let imer . statistics . Mean Ċ import Ġcom . pu zz let imer . statistics . Best Mean Ċ import Ġcom . pu zz let imer . statistics . Percent ile Ċ import Ġcom . pu zz let imer . statistics . Average Ċ import Ġcom . pu zz let imer . statistics . Inter quart ile Mean Ċ import Ġcom . pu zz let imer . statistics . Best Average Ċ import Ġcom . pu zz let imer . statistics . Standard De viation Ċ import Ġcom . pu zz let imer . statistics . W or st Ċ import Ġjava . awt . event . Mouse Listener Ċ import Ġjava . awt . event . Mouse Adapter Ċ import Ġcom . pu zz let imer . models . table . Custom TableModel Ċ import Ġjavax . swing . table . TableColumn Ċ import Ġcom . pu zz let imer . models . table . Sort Button Renderer Ċ import Ġjavax . swing . table . J Table Header Ċ import Ġcom . pu zz let imer . gui . History Frame . Header Listener Ċ import Ġcom . pu zz let imer . gui . History Frame . Solution Importer Dialog Ċ import Ġcom . pu zz let imer . gui . Solution Editing Dialog . Solution Editing Dialog Listener Ċ import Ġcom . pu zz let imer . gui . Solution Editing Dialog Ċ import Ġcom . pu zz let imer . state . Message Manager Ċ import Ġcom . pu zz let imer . database . Solution DAO Ċ import Ġcom . pu zz let imer . gui . Main Frame . Scr amble Viewer Panel Ċ import Ġcom . pu zz let imer . gui . Wrap Layout Ċ import Ġcom . pu zz let imer . gui . Hand Image Ċ import Ġcom . pu zz let imer . gui . Time Label Ċ import Ġjavax . swing . Image Icon Ċ import Ġjavax . swing . ToolTip Manager Ċ import Ġjavax . swing . J CheckBox Ċ import Ġjavax . swing . J Menu Ċ import Ġjavax . swing . J MenuItem Ċ import Ġjavax . swing . J CheckBox MenuItem Ċ import Ġjavax . swing . Button Group Ċ import Ġjavax . swing . J RadioButton MenuItem Ċ import Ġcom . pu zz let imer . gui . Main Frame . Scr amble Panel Ċ import Ġcom . pu zz let imer . gui . Main Frame . Timer Panel Ċ import Ġcom . pu zz let imer . gui . Main Frame . Times ScrollPane Ċ import Ġcom . pu zz let imer . gui . Main Frame . Statistics Panel Ċ import Ġcom . pu zz let imer . gui . Tips Frame Ċ import Ġcom . pu zz let imer . gui . Scr amble Queue Frame Ċ import Ġcom . pu zz let imer . gui . History Frame Ċ import Ġcom . pu zz let imer . gui . Session Summary Frame Ċ import Ġcom . pu zz let imer . gui . Stack mat Developer Frame Ċ import Ġcom . pu zz let imer . gui . Category Manager Frame Ċ import Ġcom . pu zz let imer . gui . Color Scheme Frame Ċ import Ġjavax . sound . sampled . Audio Format Ċ import Ġjavax . sound . sampled . Mixer Ċ import Ġcom . pu zz let imer . gui . Main Frame Ċ import Ġjavax . swing . UI Manager Ċ import Ġjavax . swing . Swing Utilities Ċ import Ġcom . pu zz let imer . timer . Manual Input Timer Ċ import Ġcom . pu zz let imer . timer . Control Keys Timer Ċ import Ġcom . pu zz let imer . timer . Space Key Timer Ċ import Ġjavax . sound . sampled . Target Data Line Ċ import Ġjavax . sound . sampled . Audio System Ċ import Ġcom . pu zz let imer . timer . Stack mat Timer Ċ import Ġjavax . sound . sampled . Line Unavailable Exception Ċ import Ġjavax . swing . J MenuBar Ċ import Ġjava . awt . Image Ċ import Ġjavax . sound . sampled . Clip Ċ import Ġjava . io . Buffered InputStream Ċ import Ġcom . pu zz let imer . state . Update Manager Ċ import Ġorg . json . JSONObject Ċ import Ġcom . pu zz let imer . gui . Updater Frame Ċ import Ġjava . awt . event . Input Event Ċ import Ġjavax . sound . sampled . Line Ċ import Ġjavax . sound . sampled . Data Line Ċ import Ġjavax . swing . UI Manager . Look And Feel Info Ċ import Ġjava . awt . Desktop Ċ import Ġcom . pu zz let imer . util . Export Utils Ċ import Ġjavax . swing . J Spinner Ċ import Ġjavax . swing . Spinner Number Model Ċ import Ġkotlin . Throws Ċ import Ġjava . io . IOException Ċ import Ġjava . io . File Ċ import Ġjava . io . FileInputStream Ċ import Ġjava . io . File OutputStream Ċ import Ġjava . io . OutputStream Writer Ċ import Ġjavax . swing . J FileChooser Ċ import Ġjavax . swing . file cho oser . FileName Extension Filter Ċ import Ġjava . lang . StringBuilder Ċ import Ġjava . awt . datat rans fer . String Selection Ċ import Ġjava . awt . datat rans fer . Clipboard Ċ import Ġjava . awt . event . Window Adapter Ċ import Ġjava . awt . event . Window Event Ċ import Ġcom . pu zz let imer . gui . Stack mat Graph Panel Ċ import Ġjava . awt . geom . Rectangle 2 D Ċ import Ġjavax . swing . J ProgressBar Ċ import Ġjava . lang . Runnable Ċ import Ġjava . io . Buffered OutputStream Ċ import Ġjava . lang . Process Ċ import Ġjava . net . UR ISyntaxException Ċ import Ġjava . awt . Flow Layout Ċ import Ġjava . awt . LayoutManager Ċ import Ġjava . awt . Insets Ċ import Ġjava . util .* Ċ Ċ class ĠGraph Panel ( solutions : ĠArray < Solution ?> ?, Ġprivate Ġval Ġconfiguration Manager : ĠConfiguration Manager ) Ġ: ĠJPanel () Ġ{ ĊĠĠĠ Ġvar Ġsolution Times : ĠArrayList < Long >? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġsolution Interval Start : ĠLong Ġ= Ġ 0 ĊĠĠĠ Ġprivate Ġvar Ġsolution Interval End : ĠLong Ġ= Ġ 0 ĊĠĠĠ Ġvar Ġstart Times : ĠArrayList < Long >? Ġ= Ġnull ĊĠĠĠ Ġvar Ġstart Interval Start : ĠLong Ġ= Ġ 0 ĊĠĠĠ Ġvar Ġstart Interval End : ĠLong Ġ= Ġ 0 ĊĠĠĠ Ġfun Ġset Solutions ( solutions : ĠArray < Solution ?> ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġapply Ġ+ 2 , Ġfilter ĠD N Fs ĊĠĠĠĠĠĠĠ Ġsolution Times Ġ= ĠArrayList () ĊĠĠĠĠĠĠĠ Ġstart Times Ġ= ĠArrayList () ĊĠĠĠĠĠĠĠ Ġfor Ġ( solution Ġin Ġsolutions !! ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtime Ġ= Ġreal Time ( solution !! , Ġconfiguration Manager . getConfiguration (" TIMER - PREC ISION ") Ġ== Ġ" CENT I SECONDS ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( time Ġ!= ĠLong . MAX _ VALUE ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsolution Times !!. add ( time ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstart Times !!. add ( solution . timing . start . time ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// Ġdefine Ġsolution Ġtimes Ġinterval Ġsize ĊĠĠĠĠĠĠĠ Ġif Ġ( solution Times !!. size Ġ== Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsolution Interval Start Ġ= Ġ 1 7 0 0 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsolution Interval End Ġ= Ġ 2 3 0 0 0 ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġmean ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġmean : ĠLong Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġsolution Times !!. indices ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmean Ġ+= Ġsolution Times ! ![ i ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmean Ġ/= Ġsolution Times !!. size . to Long () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġstandard Ġdeviation ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġvariance : ĠLong Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġsolution Times !!. indices ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvariance Ġ+= ĠMath . pow (( solution Times ! ![ i ] Ġ- Ġmean ). toDouble (), Ġ 2 . 0 ). to Long () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvariance Ġ/= Ġsolution Times !!. size . to Long () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġstandard De viation Ġ= ĠMath . sqrt ( variance . toDouble ()). to Long () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsolution Interval Start Ġ= Ġmean Ġ- Ġ 3 Ġ* ĠMath . max ( 5 0 , Ġstandard De viation ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsolution Interval End Ġ= Ġmean Ġ+ Ġ 3 Ġ* ĠMath . max ( 5 0 , Ġstandard De viation ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// Ġdefine Ġstart Ġtimes Ġinterval Ġsize ĊĠĠĠĠĠĠĠ Ġif Ġ( solution Times !!. size Ġ== Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnow Ġ= ĠDate () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstart Interval Start Ġ= Ġnow . time Ġ- Ġ 5 0 0 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstart Interval End Ġ= Ġnow . time Ġ+ Ġ 5 0 0 0 ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( solution Times !!. size Ġ== Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstart Interval Start Ġ= Ġstart Times ! ![ 0 ] Ġ- Ġ 5 0 0 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstart Interval End Ġ= Ġstart Times ! ![ 0 ] Ġ+ Ġ 5 0 0 0 ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstart Interval Start Ġ= Ġstart Times ! ![ start Times !!. size Ġ- Ġ 1 ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstart Interval End Ġ= Ġstart Times ! ![ 0 ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( start Interval Start Ġ== Ġstart Interval End ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstart Interval Start Ġ= Ġstart Times ! ![ 0 ] Ġ- Ġ 5 0 0 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstart Interval End Ġ= Ġstart Times ! ![ 0 ] Ġ+ Ġ 5 0 0 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// Ġrep aint ĊĠĠĠĠĠĠĠ Ġrep aint () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġpublic Ġoverride Ġfun Ġpaint Component ( g : ĠGraphics ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . paint Component ( g ) ĊĠĠĠĠĠĠĠ Ġval Ġg 2 Ġ= Ġg Ġas ĠGraphics 2 D ĊĠĠĠĠĠĠĠ Ġg 2 . set Rendering Hint ( Rendering Hints . KEY _ RENDER ING , ĠRendering Hints . VALUE _ RENDER _ QUAL ITY ) ĊĠĠĠĠĠĠĠ Ġg 2 . font Ġ= ĠFont (" Arial ", ĠFont . BOLD , Ġ 1 0 ) ĊĠĠĠĠĠĠĠ Ġval Ġh Base Ġ= Ġ 1 6 ĊĠĠĠĠĠĠĠ Ġval Ġw Base Ġ= Ġ 4 5 ĊĊĠĠĠĠĠĠĠ Ġ// Ġdraw Ġvertical Ġline ĊĠĠĠĠĠĠĠ Ġg 2 . draw Line ( w Base , Ġheight Ġ- Ġh Base , Ġwidth Ġ- Ġ 1 , Ġheight Ġ- Ġh Base ) ĊĊĠĠĠĠĠĠĠ Ġ// Ġdraw Ġvertical Ġticks ĊĠĠĠĠĠĠĠ Ġval Ġn Vertical Ticks Ġ= Ġ 5 ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġn Vertical Ticks ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġy Ġ= Ġ( height Ġ- Ġh Base Ġ- Ġ( i Ġ+ Ġ 0 . 5 ) Ġ* Ġ( height Ġ- Ġh Base ) Ġ/ Ġn Vertical Ticks ). toInt () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġg 2 . draw Line ( w Base Ġ- Ġ 2 , Ġy , Ġw Base Ġ+ Ġ 2 , Ġy ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// Ġdraw Ġvertical Ġlabels ĊĠĠĠĠĠĠĠ Ġval Ġv Tick Interval Ġ= Ġ(( solution Interval End Ġ- Ġsolution Interval Start ) Ġ/ Ġn Vertical Ticks ). toDouble () ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġn Vertical Ticks ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġvalue Ġ= Ġ( solution Interval Start Ġ+ Ġ( i Ġ+ Ġ 0 . 5 ) Ġ* Ġv Tick Interval ). to Long () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlabel Ġ= Ġformat ( value , Ġconfiguration Manager . getConfiguration (" TIMER - PREC ISION ") !! , Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfont Metrics Ġ= Ġg 2 . font Metrics ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġwidth Ġ= Ġfont Metrics . string Width ( label ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġheight Ġ= Ġfont Metrics . as cent ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġx Ġ= Ġw Base Ġ- Ġwidth Ġ- Ġ 4 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġy Ġ= Ġ( getHeight () Ġ- Ġh Base Ġ- Ġ( i Ġ+ Ġ 0 . 5 ) Ġ* Ġ( getHeight () Ġ- Ġh Base ) Ġ/ Ġn Vertical Ticks Ġ+ Ġheight Ġ/ Ġ 2 Ġ- Ġ 1 ). toInt () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġg 2 . draw String ( label , Ġx , Ġy ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// Ġdraw Ġhorizontal Ġline ĊĠĠĠĠĠĠĠ Ġg 2 . draw Line ( w Base , Ġ 0 , Ġw Base , Ġheight Ġ- Ġh Base Ġ- Ġ 1 ) ĊĊĠĠĠĠĠĠĠ Ġ// Ġdraw Ġhorizontal Ġticks ĊĠĠĠĠĠĠĠ Ġval Ġn Horizontal Ticks Ġ= Ġ 1 1 ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġn Horizontal Ticks ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġx Ġ= Ġ( w Base Ġ+ Ġ( i Ġ+ Ġ 0 . 5 ) Ġ* Ġ( width Ġ- Ġw Base ) Ġ/ Ġn Horizontal Ticks ). toInt () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġy Ġ= Ġheight Ġ- Ġh Base ĊĠĠĠĠĠĠĠĠĠĠĠ Ġg 2 . draw Line ( x , Ġy Ġ- Ġ 2 , Ġx , Ġy Ġ+ Ġ 2 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// Ġdraw Ġhorizontal Ġlabels ĊĠĠĠĠĠĠĠ Ġval Ġh Tick Interval Ġ= Ġ( start Interval End Ġ- Ġstart Interval Start ). toDouble () Ġ/ Ġn Horizontal Ticks ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġn Horizontal Ticks ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġvalue Ġ= Ġ( start Interval Start Ġ+ Ġ( i Ġ+ Ġ 0 . 5 ) Ġ* Ġh Tick Interval ). to Long () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġlabel : ĠString ? ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlabel Ġ= Ġif Ġ( start Interval End Ġ- Ġstart Interval Start Ġ< Ġ 2 4 Ġ* Ġ 6 0 Ġ* Ġ 6 0 Ġ* Ġ 1 0 0 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDate Format . getTime Instance ( DateFormat . MEDIUM ). format ( value ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDate Format . getDate Instance ( DateFormat . MEDIUM ). format ( value ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfont Metrics Ġ= Ġg 2 . font Metrics ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġwidth Ġ= Ġfont Metrics . string Width ( label ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġheight Ġ= Ġfont Metrics . as cent ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġx Ġ= Ġ( w Base Ġ+ Ġ( i Ġ+ Ġ 0 . 5 ) Ġ* Ġ( getWidth () Ġ- Ġw Base ) Ġ/ Ġn Horizontal Ticks Ġ- Ġwidth Ġ/ Ġ 2 ). toInt () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġy Ġ= Ġget Height () Ġ- Ġ( h Base Ġ- Ġheight ) Ġ/ Ġ 2 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġg 2 . draw String ( label , Ġx , Ġy ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// Ġdraw Ġpoints ĊĠĠĠĠĠĠĠ Ġval Ġn Bins Ġ= Ġwidth Ġ- Ġw Base ĊĠĠĠĠĠĠĠ Ġval Ġbins Ġ= ĠArrayList < ArrayList < Long >>( nB ins ) ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġn Bins ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbins . add ( ArrayList ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġsolution Times !!. indices ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbin Ġ= Ġ(( nB ins Ġ- Ġ 1 ) Ġ* Ġ( start Times ! ![ i ] Ġ- Ġstart Interval Start ) Ġ/ Ġ( start Interval End Ġ- Ġstart Interval Start )). toInt () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbins [ bin ]. add ( solution Times ! ![ i ]) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġn Bins ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( bins [ i ]. size Ġ> Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġmean : ĠLong Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( time Ġin Ġbins [ i ]) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmean Ġ+= Ġtime ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmean Ġ/= Ġbins [ i ]. size . to Long () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( mean Ġ>= Ġsolution Interval Start Ġ&& Ġmean Ġ< Ġsolution Interval End ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġx Ġ= Ġw Base Ġ+ Ġi ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġy Ġ= Ġ( height Ġ- Ġh Base Ġ- Ġ( height Ġ- Ġh Base ) Ġ* Ġ( mean Ġ- Ġsolution Interval Start ) Ġ/ Ġ( solution Interval End Ġ- Ġsolution Interval Start )). toInt () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġg 2 . fillRect ( x Ġ- Ġ 2 , Ġy Ġ- Ġ 2 , Ġ 5 , Ġ 5 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġbackground Ġ= ĠColor . WHITE ĊĠĠĠĠĠĠĠ Ġset Solutions ( solutions ) ĊĠĠĠ Ġ} Ċ }