From 4963daef83a990692582d623f2f91e0ced3b4eb0 Mon Sep 17 00:00:00 2001 From: Greg DiCristofaro Date: Tue, 31 Mar 2020 12:05:34 -0400 Subject: [PATCH 001/111] beginnings of horizontal resizing panel in indexed text viewer; needs spacing --- .../autopsy/keywordsearch/Bundle.properties | 18 +- .../keywordsearch/Bundle.properties-MERGED | 25 +- .../keywordsearch/Bundle_ja.properties | 16 +- .../keywordsearch/ExtractedContentPanel.form | 493 +++++++++--------- .../keywordsearch/ExtractedContentPanel.java | 370 ++++++------- .../autopsy/keywordsearch/TextZoomPanel.form | 54 +- .../autopsy/keywordsearch/TextZoomPanel.java | 40 +- 7 files changed, 467 insertions(+), 549 deletions(-) diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle.properties b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle.properties index 3dd312becc..19f5a71cb7 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle.properties +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle.properties @@ -301,21 +301,21 @@ DropdownListSearchPanel.jSaveSearchResults.text=Save search results GlobalEditListPanel.ingestWarningLabel.text=Ingest is ongoing, some settings will be unavailable until it finishes. KeywordSearchGlobalLanguageSettingsPanel.ingestWarningLabel.text=Ingest is ongoing, some settings will be unavailable until it finishes. KeywordSearchGlobalSearchSettingsPanel.ingestWarningLabel.text=Ingest is ongoing, some settings will be unavailable until it finishes. -ExtractedContentPanel.hitCountLabel.text=- +ExtractedContentPanel.AccessibleContext.accessibleName= +ExtractedContentPanel.jLabel1.text=Text Source: +ExtractedContentPanel.hitNextButton.text= ExtractedContentPanel.hitPreviousButton.text= +ExtractedContentPanel.hitButtonsLabel.text=Match ExtractedContentPanel.hitTotalLabel.text=- ExtractedContentPanel.hitOfLabel.text=of -ExtractedContentPanel.hitNextButton.text= -ExtractedContentPanel.hitButtonsLabel.text=Match +ExtractedContentPanel.hitCountLabel.text=- ExtractedContentPanel.hitLabel.toolTipText= ExtractedContentPanel.hitLabel.text=Matches on page: -ExtractedContentPanel.pageCurLabel.text=- +ExtractedContentPanel.pageNextButton.text= ExtractedContentPanel.pagePreviousButton.actionCommand=pagePreviousButton ExtractedContentPanel.pagePreviousButton.text= -ExtractedContentPanel.pageNextButton.text= -ExtractedContentPanel.pagesLabel.text=Page: -ExtractedContentPanel.pageTotalLabel.text=- ExtractedContentPanel.pageButtonsLabel.text=Page +ExtractedContentPanel.pageTotalLabel.text=- ExtractedContentPanel.pageOfLabel.text=of -ExtractedContentPanel.jLabel1.text=Text Source: -ExtractedContentPanel.AccessibleContext.accessibleName= +ExtractedContentPanel.pageCurLabel.text=- +ExtractedContentPanel.pagesLabel.text=Page: diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle.properties-MERGED b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle.properties-MERGED index 9aeeabc046..49e29cc69d 100755 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle.properties-MERGED +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle.properties-MERGED @@ -20,16 +20,12 @@ IndexedText.warningMessage.knownFile=This file i IndexedText.warningMessage.noTextAvailable=No indexed text for this file. KeywordSearchGlobalSettingsPanel.Title=Global Keyword Search Settings KeywordSearchIngestModule.init.badInitMsg=Keyword search server was not properly initialized, cannot run keyword search ingest. -# {0} - Reason for not connecting to Solr KeywordSearchIngestModule.init.exception.errConnToSolr.msg=Error connecting to SOLR server: {0}. -# {0} - Reason for not starting Solr KeywordSearchIngestModule.init.tryStopSolrMsg={0}
Please try stopping Java Solr processes if any exist and restart the application. KeywordSearchIngestModule.metadataTitle=METADATA KeywordSearchIngestModule.noOpenCase.errMsg=No open case available. KeywordSearchIngestModule.startUp.noOpenCore.msg=The index could not be opened or does not exist. -# {0} - schema version number KeywordSearchIngestModule.startupException.indexSchemaNotSupported=Adding text no longer supported for schema version {0} of the text index. -# {0} - Solr version number KeywordSearchIngestModule.startupException.indexSolrVersionNotSupported=Adding text no longer supported for Solr version {0} of the text index. KeywordSearchIngestModule.startupMessage.failedToGetIndexSchema=Failed to get schema version for text index. KeywordSearchResultFactory.createNodeForKey.noResultsFound.text=No results found. @@ -212,7 +208,6 @@ KeywordSearchSettings.propertiesNSRL.text={0}_NSRL KeywordSearchSettings.propertiesScripts.text={0}_Scripts NoOpenCoreException.err.noOpenSorlCore.msg=No currently open Solr core. SearchRunner.query.exception.msg=Error performing query: -# {0} - core name Server.deleteCore.exception.msg=Failed to delete Solr core {0} Server.start.exception.cantStartSolr.msg=Could not start Solr server process Server.start.exception.cantStartSolr.msg2=Could not start Solr server process @@ -340,10 +335,8 @@ SolrSearch.openCore.msg=Opening text index SolrSearch.openGiantCore.msg=Opening text index. Text index for this case is very large and may take long time to load. SolrSearch.openLargeCore.msg=Opening text index. This may take several minutes. SolrSearch.readingIndexes.msg=Reading text index metadata file -# {0} - index folder path SolrSearchService.exceptionMessage.failedToDeleteIndexFiles=Failed to delete text index files at {0} SolrSearchService.exceptionMessage.noCurrentSolrCore=IndexMetadata did not contain a current Solr core so could not delete the case -# {0} - case directory SolrSearchService.exceptionMessage.noIndexMetadata=Unable to create IndexMetaData from case directory: {0} SolrSearchService.indexingError=Unable to index blackboard artifact. SolrSearchService.ServiceName=Solr Keyword Search Service @@ -360,24 +353,24 @@ DropdownListSearchPanel.jSaveSearchResults.text=Save search results GlobalEditListPanel.ingestWarningLabel.text=Ingest is ongoing, some settings will be unavailable until it finishes. KeywordSearchGlobalLanguageSettingsPanel.ingestWarningLabel.text=Ingest is ongoing, some settings will be unavailable until it finishes. KeywordSearchGlobalSearchSettingsPanel.ingestWarningLabel.text=Ingest is ongoing, some settings will be unavailable until it finishes. -ExtractedContentPanel.hitCountLabel.text=- +ExtractedContentPanel.AccessibleContext.accessibleName= +ExtractedContentPanel.jLabel1.text=Text Source: +ExtractedContentPanel.hitNextButton.text= ExtractedContentPanel.hitPreviousButton.text= +ExtractedContentPanel.hitButtonsLabel.text=Match ExtractedContentPanel.hitTotalLabel.text=- ExtractedContentPanel.hitOfLabel.text=of -ExtractedContentPanel.hitNextButton.text= -ExtractedContentPanel.hitButtonsLabel.text=Match +ExtractedContentPanel.hitCountLabel.text=- ExtractedContentPanel.hitLabel.toolTipText= ExtractedContentPanel.hitLabel.text=Matches on page: -ExtractedContentPanel.pageCurLabel.text=- +ExtractedContentPanel.pageNextButton.text= ExtractedContentPanel.pagePreviousButton.actionCommand=pagePreviousButton ExtractedContentPanel.pagePreviousButton.text= -ExtractedContentPanel.pageNextButton.text= -ExtractedContentPanel.pagesLabel.text=Page: -ExtractedContentPanel.pageTotalLabel.text=- ExtractedContentPanel.pageButtonsLabel.text=Page +ExtractedContentPanel.pageTotalLabel.text=- ExtractedContentPanel.pageOfLabel.text=of -ExtractedContentPanel.jLabel1.text=Text Source: -ExtractedContentPanel.AccessibleContext.accessibleName= +ExtractedContentPanel.pageCurLabel.text=- +ExtractedContentPanel.pagesLabel.text=Page: TextZoomPanel.zoomInButton.text= TextZoomPanel.zoomOutButton.text= TextZoomPanel.zoomResetButton.text=Reset diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle_ja.properties b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle_ja.properties index c131f5c8cf..b1d833f795 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle_ja.properties +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle_ja.properties @@ -357,20 +357,20 @@ DropdownListSearchPanel.jSaveSearchResults.text=\u691c\u7d22\u7d50\u679c\u3092\u GlobalEditListPanel.ingestWarningLabel.text=\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u304c\u9032\u884c\u4e2d\u3067\u3059\u3002\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u304c\u5b8c\u4e86\u3059\u308b\u307e\u3067\u4e00\u90e8\u306e\u8a2d\u5b9a\u3092\u5229\u7528\u3067\u304d\u307e\u305b\u3093\u3002 KeywordSearchGlobalLanguageSettingsPanel.ingestWarningLabel.text=\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u304c\u9032\u884c\u4e2d\u3067\u3059\u3002\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u304c\u5b8c\u4e86\u3059\u308b\u307e\u3067\u4e00\u90e8\u306e\u8a2d\u5b9a\u3092\u5229\u7528\u3067\u304d\u307e\u305b\u3093\u3002 KeywordSearchGlobalSearchSettingsPanel.ingestWarningLabel.text=\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u304c\u9032\u884c\u4e2d\u3067\u3059\u3002\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u304c\u5b8c\u4e86\u3059\u308b\u307e\u3067\u4e00\u90e8\u306e\u8a2d\u5b9a\u3092\u5229\u7528\u3067\u304d\u307e\u305b\u3093\u3002 -ExtractedContentPanel.hitCountLabel.text=- +ExtractedContentPanel.jLabel1.text=\u30c6\u30ad\u30b9\u30c8\u30bd\u30fc\u30b9: +ExtractedContentPanel.hitNextButton.text= ExtractedContentPanel.hitPreviousButton.text= +ExtractedContentPanel.hitButtonsLabel.text=\u4e00\u81f4\u3059\u308b\u7d50\u679c ExtractedContentPanel.hitTotalLabel.text=- ExtractedContentPanel.hitOfLabel.text=/ -ExtractedContentPanel.hitNextButton.text= -ExtractedContentPanel.hitButtonsLabel.text=\u4e00\u81f4\u3059\u308b\u7d50\u679c +ExtractedContentPanel.hitCountLabel.text=- ExtractedContentPanel.hitLabel.toolTipText= ExtractedContentPanel.hitLabel.text=\u30da\u30fc\u30b8\u4e0a\u306e\u4e00\u81f4\u3059\u308b\u7d50\u679c: -ExtractedContentPanel.pageCurLabel.text=- +ExtractedContentPanel.pageNextButton.text= ExtractedContentPanel.pagePreviousButton.actionCommand=pagePreviousButton ExtractedContentPanel.pagePreviousButton.text= -ExtractedContentPanel.pageNextButton.text= -ExtractedContentPanel.pagesLabel.text=\u30da\u30fc\u30b8: -ExtractedContentPanel.pageTotalLabel.text=- ExtractedContentPanel.pageButtonsLabel.text=\u30da\u30fc\u30b8 +ExtractedContentPanel.pageTotalLabel.text=- ExtractedContentPanel.pageOfLabel.text=/ -ExtractedContentPanel.jLabel1.text=\u30c6\u30ad\u30b9\u30c8\u30bd\u30fc\u30b9: +ExtractedContentPanel.pageCurLabel.text=- +ExtractedContentPanel.pagesLabel.text=\u30da\u30fc\u30b8: diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/ExtractedContentPanel.form b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/ExtractedContentPanel.form index 2ed8bb9073..f503e37fc5 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/ExtractedContentPanel.form +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/ExtractedContentPanel.form @@ -43,177 +43,48 @@ + - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - + + + + + + - + + + + + - - - - - - - - - - - - - - - - - - - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + - - - - - - - - - - - - - - - - - - - - - + - + + + + + + + + + @@ -224,13 +95,6 @@ - - - - - - - @@ -239,36 +103,10 @@ - + - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -298,38 +136,13 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - + - + @@ -347,8 +160,60 @@ - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -376,6 +241,13 @@ + + + + + + + @@ -405,43 +277,65 @@ - + - + + + - + - - + + + + - - + + + + + + + - + + + + - - - - - - - - - + + + - + - + + + + + + + + + + + + + + + + + @@ -451,11 +345,120 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/ExtractedContentPanel.java b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/ExtractedContentPanel.java index 6cc5e01d42..3e1281720c 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/ExtractedContentPanel.java +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/ExtractedContentPanel.java @@ -69,6 +69,7 @@ class ExtractedContentPanel extends javax.swing.JPanel implements ResizableTextP ExtractedContentPanel() { initComponents(); + additionalInit(); setSources("", new ArrayList<>()); hitPreviousButton.setEnabled(false); hitNextButton.setEnabled(false); @@ -183,7 +184,11 @@ class ExtractedContentPanel extends javax.swing.JPanel implements ResizableTextP } - + private void additionalInit() { + // use wrap layout for better component wrapping + WrapLayout layout = new WrapLayout(java.awt.FlowLayout.LEFT); + controlPanel.setLayout(layout); + } /** @@ -198,29 +203,34 @@ class ExtractedContentPanel extends javax.swing.JPanel implements ResizableTextP rightClickMenu = new javax.swing.JPopupMenu(); copyMenuItem = new javax.swing.JMenuItem(); selectAllMenuItem = new javax.swing.JMenuItem(); - extractedScrollPane = new javax.swing.JScrollPane(); - extractedTextPane = new javax.swing.JTextPane(); - controlScrollPane = new javax.swing.JScrollPane(); controlPanel = new javax.swing.JPanel(); - sourceComboBox = new javax.swing.JComboBox<>(); - jLabel1 = new javax.swing.JLabel(); - pageOfLabel = new javax.swing.JLabel(); - pageButtonsLabel = new javax.swing.JLabel(); - pageTotalLabel = new javax.swing.JLabel(); + javax.swing.JPanel pagePanel = new javax.swing.JPanel(); pagesLabel = new javax.swing.JLabel(); - pageNextButton = new javax.swing.JButton(); - pagePreviousButton = new javax.swing.JButton(); pageCurLabel = new javax.swing.JLabel(); + pageOfLabel = new javax.swing.JLabel(); + pageTotalLabel = new javax.swing.JLabel(); + pageButtonsLabel = new javax.swing.JLabel(); + pagePreviousButton = new javax.swing.JButton(); + pageNextButton = new javax.swing.JButton(); + jSeparator2 = new javax.swing.JSeparator(); + javax.swing.JPanel matchesPanel = new javax.swing.JPanel(); hitLabel = new javax.swing.JLabel(); - hitButtonsLabel = new javax.swing.JLabel(); - hitNextButton = new javax.swing.JButton(); + hitCountLabel = new javax.swing.JLabel(); hitOfLabel = new javax.swing.JLabel(); hitTotalLabel = new javax.swing.JLabel(); + hitButtonsLabel = new javax.swing.JLabel(); hitPreviousButton = new javax.swing.JButton(); - hitCountLabel = new javax.swing.JLabel(); - jSeparator2 = new javax.swing.JSeparator(); + hitNextButton = new javax.swing.JButton(); jSeparator3 = new javax.swing.JSeparator(); + javax.swing.JPanel zoomPanelWrapper = new javax.swing.JPanel(); zoomPanel = new TextZoomPanel(this); + jSeparator4 = new javax.swing.JSeparator(); + javax.swing.JPanel textSourcePanel = new javax.swing.JPanel(); + jLabel1 = new javax.swing.JLabel(); + sourceComboBox = new javax.swing.JComboBox<>(); + jSeparator5 = new javax.swing.JSeparator(); + extractedScrollPane = new javax.swing.JScrollPane(); + extractedTextPane = new javax.swing.JTextPane(); copyMenuItem.setText(org.openide.util.NbBundle.getMessage(ExtractedContentPanel.class, "ExtractedContentPanel.copyMenuItem.text")); // NOI18N rightClickMenu.add(copyMenuItem); @@ -230,6 +240,150 @@ class ExtractedContentPanel extends javax.swing.JPanel implements ResizableTextP setMinimumSize(new java.awt.Dimension(100, 0)); setPreferredSize(new java.awt.Dimension(100, 58)); + setLayout(new java.awt.BorderLayout()); + + controlPanel.setLayout(new java.awt.FlowLayout(java.awt.FlowLayout.LEFT, 0, 0)); + + pagePanel.setLayout(new java.awt.FlowLayout(java.awt.FlowLayout.LEFT, 0, 0)); + + pagesLabel.setText(org.openide.util.NbBundle.getMessage(ExtractedContentPanel.class, "ExtractedContentPanel.pagesLabel.text")); // NOI18N + pagePanel.add(pagesLabel); + + pageCurLabel.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); + pageCurLabel.setText(org.openide.util.NbBundle.getMessage(ExtractedContentPanel.class, "ExtractedContentPanel.pageCurLabel.text")); // NOI18N + pagePanel.add(pageCurLabel); + + pageOfLabel.setText(org.openide.util.NbBundle.getMessage(ExtractedContentPanel.class, "ExtractedContentPanel.pageOfLabel.text")); // NOI18N + pagePanel.add(pageOfLabel); + + pageTotalLabel.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); + pageTotalLabel.setText(org.openide.util.NbBundle.getMessage(ExtractedContentPanel.class, "ExtractedContentPanel.pageTotalLabel.text")); // NOI18N + pagePanel.add(pageTotalLabel); + + pageButtonsLabel.setText(org.openide.util.NbBundle.getMessage(ExtractedContentPanel.class, "ExtractedContentPanel.pageButtonsLabel.text")); // NOI18N + pagePanel.add(pageButtonsLabel); + + pagePreviousButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/keywordsearch/btn_step_back.png"))); // NOI18N + pagePreviousButton.setText(org.openide.util.NbBundle.getMessage(ExtractedContentPanel.class, "ExtractedContentPanel.pagePreviousButton.text")); // NOI18N + pagePreviousButton.setActionCommand(org.openide.util.NbBundle.getMessage(ExtractedContentPanel.class, "ExtractedContentPanel.pagePreviousButton.actionCommand")); // NOI18N + pagePreviousButton.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 1, 1, 1)); + pagePreviousButton.setBorderPainted(false); + pagePreviousButton.setContentAreaFilled(false); + pagePreviousButton.setDisabledIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/keywordsearch/btn_step_back_disabled.png"))); // NOI18N + pagePreviousButton.setMargin(new java.awt.Insets(2, 0, 2, 0)); + pagePanel.add(pagePreviousButton); + + pageNextButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/keywordsearch/btn_step_forward.png"))); // NOI18N + pageNextButton.setText(org.openide.util.NbBundle.getMessage(ExtractedContentPanel.class, "ExtractedContentPanel.pageNextButton.text")); // NOI18N + pageNextButton.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 1, 1, 1)); + pageNextButton.setBorderPainted(false); + pageNextButton.setContentAreaFilled(false); + pageNextButton.setDisabledIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/keywordsearch/btn_step_forward_disabled.png"))); // NOI18N + pageNextButton.setMargin(new java.awt.Insets(2, 0, 2, 0)); + pageNextButton.setPreferredSize(new java.awt.Dimension(23, 23)); + pagePanel.add(pageNextButton); + + jSeparator2.setOrientation(javax.swing.SwingConstants.VERTICAL); + jSeparator2.setMaximumSize(new java.awt.Dimension(2, 25)); + jSeparator2.setMinimumSize(new java.awt.Dimension(2, 25)); + jSeparator2.setPreferredSize(new java.awt.Dimension(2, 25)); + pagePanel.add(jSeparator2); + + controlPanel.add(pagePanel); + + matchesPanel.setLayout(new java.awt.FlowLayout(java.awt.FlowLayout.LEFT, 0, 0)); + + hitLabel.setText(org.openide.util.NbBundle.getMessage(ExtractedContentPanel.class, "ExtractedContentPanel.hitLabel.text")); // NOI18N + hitLabel.setToolTipText(org.openide.util.NbBundle.getMessage(ExtractedContentPanel.class, "ExtractedContentPanel.hitLabel.toolTipText")); // NOI18N + matchesPanel.add(hitLabel); + + hitCountLabel.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); + hitCountLabel.setText(org.openide.util.NbBundle.getMessage(ExtractedContentPanel.class, "ExtractedContentPanel.hitCountLabel.text")); // NOI18N + hitCountLabel.setMaximumSize(new java.awt.Dimension(18, 14)); + hitCountLabel.setMinimumSize(new java.awt.Dimension(18, 14)); + hitCountLabel.setPreferredSize(new java.awt.Dimension(18, 14)); + matchesPanel.add(hitCountLabel); + + hitOfLabel.setText(org.openide.util.NbBundle.getMessage(ExtractedContentPanel.class, "ExtractedContentPanel.hitOfLabel.text")); // NOI18N + matchesPanel.add(hitOfLabel); + + hitTotalLabel.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); + hitTotalLabel.setText(org.openide.util.NbBundle.getMessage(ExtractedContentPanel.class, "ExtractedContentPanel.hitTotalLabel.text")); // NOI18N + hitTotalLabel.setMaximumSize(new java.awt.Dimension(18, 14)); + hitTotalLabel.setMinimumSize(new java.awt.Dimension(18, 14)); + hitTotalLabel.setPreferredSize(new java.awt.Dimension(18, 14)); + matchesPanel.add(hitTotalLabel); + + hitButtonsLabel.setText(org.openide.util.NbBundle.getMessage(ExtractedContentPanel.class, "ExtractedContentPanel.hitButtonsLabel.text")); // NOI18N + matchesPanel.add(hitButtonsLabel); + + hitPreviousButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/keywordsearch/btn_step_back.png"))); // NOI18N + hitPreviousButton.setText(org.openide.util.NbBundle.getMessage(ExtractedContentPanel.class, "ExtractedContentPanel.hitPreviousButton.text")); // NOI18N + hitPreviousButton.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 1, 1, 1)); + hitPreviousButton.setBorderPainted(false); + hitPreviousButton.setContentAreaFilled(false); + hitPreviousButton.setDisabledIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/keywordsearch/btn_step_back_disabled.png"))); // NOI18N + hitPreviousButton.setMargin(new java.awt.Insets(2, 0, 2, 0)); + hitPreviousButton.setPreferredSize(new java.awt.Dimension(23, 23)); + hitPreviousButton.setRolloverIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/keywordsearch/btn_step_back_hover.png"))); // NOI18N + matchesPanel.add(hitPreviousButton); + + hitNextButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/keywordsearch/btn_step_forward.png"))); // NOI18N + hitNextButton.setText(org.openide.util.NbBundle.getMessage(ExtractedContentPanel.class, "ExtractedContentPanel.hitNextButton.text")); // NOI18N + hitNextButton.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 1, 1, 1)); + hitNextButton.setBorderPainted(false); + hitNextButton.setContentAreaFilled(false); + hitNextButton.setDisabledIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/keywordsearch/btn_step_forward_disabled.png"))); // NOI18N + hitNextButton.setMargin(new java.awt.Insets(2, 0, 2, 0)); + hitNextButton.setPreferredSize(new java.awt.Dimension(23, 23)); + hitNextButton.setRolloverIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/keywordsearch/btn_step_forward_hover.png"))); // NOI18N + matchesPanel.add(hitNextButton); + + jSeparator3.setOrientation(javax.swing.SwingConstants.VERTICAL); + jSeparator3.setMaximumSize(new java.awt.Dimension(2, 25)); + jSeparator3.setMinimumSize(new java.awt.Dimension(2, 25)); + jSeparator3.setName(""); // NOI18N + jSeparator3.setPreferredSize(new java.awt.Dimension(2, 25)); + matchesPanel.add(jSeparator3); + + controlPanel.add(matchesPanel); + + zoomPanelWrapper.setLayout(new java.awt.FlowLayout(java.awt.FlowLayout.LEFT, 0, 0)); + + zoomPanel.setLayout(new java.awt.FlowLayout(java.awt.FlowLayout.LEFT, 0, 0)); + zoomPanelWrapper.add(zoomPanel); + zoomPanel.getAccessibleContext().setAccessibleName(org.openide.util.NbBundle.getMessage(ExtractedContentPanel.class, "ExtractedContentPanel.AccessibleContext.accessibleName")); // NOI18N + + jSeparator4.setOrientation(javax.swing.SwingConstants.VERTICAL); + jSeparator4.setMaximumSize(new java.awt.Dimension(2, 25)); + jSeparator4.setMinimumSize(new java.awt.Dimension(2, 25)); + jSeparator4.setName(""); // NOI18N + jSeparator4.setPreferredSize(new java.awt.Dimension(2, 25)); + zoomPanelWrapper.add(jSeparator4); + + controlPanel.add(zoomPanelWrapper); + + textSourcePanel.setLayout(new java.awt.FlowLayout(java.awt.FlowLayout.CENTER, 0, 0)); + + jLabel1.setText(org.openide.util.NbBundle.getMessage(ExtractedContentPanel.class, "ExtractedContentPanel.jLabel1.text")); // NOI18N + textSourcePanel.add(jLabel1); + + sourceComboBox.setModel(new javax.swing.DefaultComboBoxModel()); + sourceComboBox.setMaximumSize(new java.awt.Dimension(150, 32767)); + sourceComboBox.setMinimumSize(new java.awt.Dimension(150, 20)); + sourceComboBox.setPreferredSize(new java.awt.Dimension(150, 20)); + textSourcePanel.add(sourceComboBox); + + jSeparator5.setOrientation(javax.swing.SwingConstants.VERTICAL); + jSeparator5.setMaximumSize(new java.awt.Dimension(2, 25)); + jSeparator5.setMinimumSize(new java.awt.Dimension(2, 25)); + jSeparator5.setName(""); // NOI18N + jSeparator5.setPreferredSize(new java.awt.Dimension(2, 25)); + textSourcePanel.add(jSeparator5); + + controlPanel.add(textSourcePanel); + + add(controlPanel, java.awt.BorderLayout.NORTH); extractedScrollPane.setBackground(new java.awt.Color(255, 255, 255)); extractedScrollPane.setPreferredSize(new java.awt.Dimension(640, 29)); @@ -241,192 +395,10 @@ class ExtractedContentPanel extends javax.swing.JPanel implements ResizableTextP extractedTextPane.setPreferredSize(new java.awt.Dimension(600, 29)); extractedScrollPane.setViewportView(extractedTextPane); - controlScrollPane.setHorizontalScrollBarPolicy(javax.swing.ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); - controlScrollPane.setVerticalScrollBarPolicy(javax.swing.ScrollPaneConstants.VERTICAL_SCROLLBAR_NEVER); - controlScrollPane.setPreferredSize(new java.awt.Dimension(600, 100)); - - controlPanel.setMinimumSize(new java.awt.Dimension(0, 20)); - controlPanel.setPreferredSize(new java.awt.Dimension(600, 81)); - - sourceComboBox.setModel(new javax.swing.DefaultComboBoxModel()); - sourceComboBox.setMaximumSize(new java.awt.Dimension(150, 32767)); - sourceComboBox.setMinimumSize(new java.awt.Dimension(150, 20)); - sourceComboBox.setPreferredSize(new java.awt.Dimension(150, 20)); - - jLabel1.setText(org.openide.util.NbBundle.getMessage(ExtractedContentPanel.class, "ExtractedContentPanel.jLabel1.text")); // NOI18N - - pageOfLabel.setText(org.openide.util.NbBundle.getMessage(ExtractedContentPanel.class, "ExtractedContentPanel.pageOfLabel.text")); // NOI18N - - pageButtonsLabel.setText(org.openide.util.NbBundle.getMessage(ExtractedContentPanel.class, "ExtractedContentPanel.pageButtonsLabel.text")); // NOI18N - - pageTotalLabel.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); - pageTotalLabel.setText(org.openide.util.NbBundle.getMessage(ExtractedContentPanel.class, "ExtractedContentPanel.pageTotalLabel.text")); // NOI18N - - pagesLabel.setText(org.openide.util.NbBundle.getMessage(ExtractedContentPanel.class, "ExtractedContentPanel.pagesLabel.text")); // NOI18N - - pageNextButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/keywordsearch/btn_step_forward.png"))); // NOI18N - pageNextButton.setText(org.openide.util.NbBundle.getMessage(ExtractedContentPanel.class, "ExtractedContentPanel.pageNextButton.text")); // NOI18N - pageNextButton.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 1, 1, 1)); - pageNextButton.setBorderPainted(false); - pageNextButton.setContentAreaFilled(false); - pageNextButton.setDisabledIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/keywordsearch/btn_step_forward_disabled.png"))); // NOI18N - pageNextButton.setMargin(new java.awt.Insets(2, 0, 2, 0)); - pageNextButton.setPreferredSize(new java.awt.Dimension(23, 23)); - - pagePreviousButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/keywordsearch/btn_step_back.png"))); // NOI18N - pagePreviousButton.setText(org.openide.util.NbBundle.getMessage(ExtractedContentPanel.class, "ExtractedContentPanel.pagePreviousButton.text")); // NOI18N - pagePreviousButton.setActionCommand(org.openide.util.NbBundle.getMessage(ExtractedContentPanel.class, "ExtractedContentPanel.pagePreviousButton.actionCommand")); // NOI18N - pagePreviousButton.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 1, 1, 1)); - pagePreviousButton.setBorderPainted(false); - pagePreviousButton.setContentAreaFilled(false); - pagePreviousButton.setDisabledIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/keywordsearch/btn_step_back_disabled.png"))); // NOI18N - pagePreviousButton.setMargin(new java.awt.Insets(2, 0, 2, 0)); - - pageCurLabel.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); - pageCurLabel.setText(org.openide.util.NbBundle.getMessage(ExtractedContentPanel.class, "ExtractedContentPanel.pageCurLabel.text")); // NOI18N - - hitLabel.setText(org.openide.util.NbBundle.getMessage(ExtractedContentPanel.class, "ExtractedContentPanel.hitLabel.text")); // NOI18N - hitLabel.setToolTipText(org.openide.util.NbBundle.getMessage(ExtractedContentPanel.class, "ExtractedContentPanel.hitLabel.toolTipText")); // NOI18N - - hitButtonsLabel.setText(org.openide.util.NbBundle.getMessage(ExtractedContentPanel.class, "ExtractedContentPanel.hitButtonsLabel.text")); // NOI18N - - hitNextButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/keywordsearch/btn_step_forward.png"))); // NOI18N - hitNextButton.setText(org.openide.util.NbBundle.getMessage(ExtractedContentPanel.class, "ExtractedContentPanel.hitNextButton.text")); // NOI18N - hitNextButton.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 1, 1, 1)); - hitNextButton.setBorderPainted(false); - hitNextButton.setContentAreaFilled(false); - hitNextButton.setDisabledIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/keywordsearch/btn_step_forward_disabled.png"))); // NOI18N - hitNextButton.setMargin(new java.awt.Insets(2, 0, 2, 0)); - hitNextButton.setPreferredSize(new java.awt.Dimension(23, 23)); - hitNextButton.setRolloverIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/keywordsearch/btn_step_forward_hover.png"))); // NOI18N - - hitOfLabel.setText(org.openide.util.NbBundle.getMessage(ExtractedContentPanel.class, "ExtractedContentPanel.hitOfLabel.text")); // NOI18N - - hitTotalLabel.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); - hitTotalLabel.setText(org.openide.util.NbBundle.getMessage(ExtractedContentPanel.class, "ExtractedContentPanel.hitTotalLabel.text")); // NOI18N - hitTotalLabel.setMaximumSize(new java.awt.Dimension(18, 14)); - hitTotalLabel.setMinimumSize(new java.awt.Dimension(18, 14)); - hitTotalLabel.setPreferredSize(new java.awt.Dimension(18, 14)); - - hitPreviousButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/keywordsearch/btn_step_back.png"))); // NOI18N - hitPreviousButton.setText(org.openide.util.NbBundle.getMessage(ExtractedContentPanel.class, "ExtractedContentPanel.hitPreviousButton.text")); // NOI18N - hitPreviousButton.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 1, 1, 1)); - hitPreviousButton.setBorderPainted(false); - hitPreviousButton.setContentAreaFilled(false); - hitPreviousButton.setDisabledIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/keywordsearch/btn_step_back_disabled.png"))); // NOI18N - hitPreviousButton.setMargin(new java.awt.Insets(2, 0, 2, 0)); - hitPreviousButton.setPreferredSize(new java.awt.Dimension(23, 23)); - hitPreviousButton.setRolloverIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/keywordsearch/btn_step_back_hover.png"))); // NOI18N - - hitCountLabel.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); - hitCountLabel.setText(org.openide.util.NbBundle.getMessage(ExtractedContentPanel.class, "ExtractedContentPanel.hitCountLabel.text")); // NOI18N - hitCountLabel.setMaximumSize(new java.awt.Dimension(18, 14)); - hitCountLabel.setMinimumSize(new java.awt.Dimension(18, 14)); - hitCountLabel.setPreferredSize(new java.awt.Dimension(18, 14)); - - jSeparator2.setOrientation(javax.swing.SwingConstants.VERTICAL); - - jSeparator3.setOrientation(javax.swing.SwingConstants.VERTICAL); - - zoomPanel.setMinimumSize(new java.awt.Dimension(150, 20)); - zoomPanel.setName(""); // NOI18N - zoomPanel.setPreferredSize(new java.awt.Dimension(200, 20)); - - javax.swing.GroupLayout controlPanelLayout = new javax.swing.GroupLayout(controlPanel); - controlPanel.setLayout(controlPanelLayout); - controlPanelLayout.setHorizontalGroup( - controlPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(controlPanelLayout.createSequentialGroup() - .addContainerGap() - .addComponent(hitLabel) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) - .addComponent(hitCountLabel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) - .addComponent(hitOfLabel) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) - .addComponent(hitTotalLabel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) - .addComponent(hitButtonsLabel) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(hitPreviousButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addGap(0, 0, 0) - .addComponent(hitNextButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addGap(18, 18, 18) - .addComponent(jSeparator2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addGap(18, 18, 18) - .addComponent(pagesLabel) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(pageCurLabel) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) - .addComponent(pageOfLabel) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(pageTotalLabel) - .addGap(18, 18, 18) - .addComponent(pageButtonsLabel) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(pagePreviousButton) - .addGap(0, 0, 0) - .addComponent(pageNextButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addGap(18, 18, 18) - .addComponent(jSeparator3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addGap(18, 18, 18) - .addComponent(zoomPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addComponent(jLabel1) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(sourceComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addContainerGap()) - ); - controlPanelLayout.setVerticalGroup( - controlPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(controlPanelLayout.createSequentialGroup() - .addGroup(controlPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER) - .addComponent(hitPreviousButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(jLabel1) - .addComponent(hitNextButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(pageButtonsLabel) - .addComponent(pagePreviousButton) - .addComponent(pageNextButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(sourceComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(pagesLabel) - .addComponent(hitLabel) - .addComponent(jSeparator2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(pageCurLabel) - .addComponent(pageOfLabel) - .addComponent(hitCountLabel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(pageTotalLabel) - .addComponent(hitOfLabel) - .addComponent(hitTotalLabel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(hitButtonsLabel) - .addComponent(jSeparator3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(zoomPanel, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addGap(0, 0, 0)) - ); - - controlPanelLayout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[] {hitButtonsLabel, hitCountLabel, hitLabel, hitNextButton, hitOfLabel, hitPreviousButton, hitTotalLabel, jLabel1, jSeparator2, jSeparator3, pageButtonsLabel, pageCurLabel, pageNextButton, pageOfLabel, pagePreviousButton, pageTotalLabel, pagesLabel, sourceComboBox, zoomPanel}); - - zoomPanel.getAccessibleContext().setAccessibleName(org.openide.util.NbBundle.getMessage(ExtractedContentPanel.class, "ExtractedContentPanel.AccessibleContext.accessibleName")); // NOI18N - - controlScrollPane.setViewportView(controlPanel); - - javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this); - this.setLayout(layout); - layout.setHorizontalGroup( - layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(controlScrollPane, javax.swing.GroupLayout.DEFAULT_SIZE, 980, Short.MAX_VALUE) - .addComponent(extractedScrollPane, javax.swing.GroupLayout.DEFAULT_SIZE, 980, Short.MAX_VALUE) - ); - layout.setVerticalGroup( - layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(layout.createSequentialGroup() - .addComponent(controlScrollPane, javax.swing.GroupLayout.PREFERRED_SIZE, 29, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(extractedScrollPane, javax.swing.GroupLayout.DEFAULT_SIZE, 23, Short.MAX_VALUE)) - ); + add(extractedScrollPane, java.awt.BorderLayout.CENTER); }// //GEN-END:initComponents // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JPanel controlPanel; - private javax.swing.JScrollPane controlScrollPane; private javax.swing.JMenuItem copyMenuItem; private javax.swing.JScrollPane extractedScrollPane; private javax.swing.JTextPane extractedTextPane; @@ -440,6 +412,8 @@ class ExtractedContentPanel extends javax.swing.JPanel implements ResizableTextP private javax.swing.JLabel jLabel1; private javax.swing.JSeparator jSeparator2; private javax.swing.JSeparator jSeparator3; + private javax.swing.JSeparator jSeparator4; + private javax.swing.JSeparator jSeparator5; private javax.swing.JLabel pageButtonsLabel; private javax.swing.JLabel pageCurLabel; private javax.swing.JButton pageNextButton; diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/TextZoomPanel.form b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/TextZoomPanel.form index 46d8e3d66f..dc51c409c4 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/TextZoomPanel.form +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/TextZoomPanel.form @@ -2,11 +2,15 @@
- - + + + + + + - + @@ -19,35 +23,13 @@ + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + @@ -125,18 +107,6 @@ - - - - - - - - - - - - diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/TextZoomPanel.java b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/TextZoomPanel.java index eb716df8df..79e433a858 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/TextZoomPanel.java +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/TextZoomPanel.java @@ -113,11 +113,13 @@ class TextZoomPanel extends JPanel { zoomTextField = new javax.swing.JTextField(); zoomOutButton = new javax.swing.JButton(); zoomInButton = new javax.swing.JButton(); - javax.swing.JToolBar.Separator jSeparator2 = new javax.swing.JToolBar.Separator(); zoomResetButton = new javax.swing.JButton(); - setMinimumSize(new java.awt.Dimension(150, 20)); - setPreferredSize(new java.awt.Dimension(200, 20)); + setMaximumSize(null); + setMinimumSize(null); + setName(""); // NOI18N + setPreferredSize(null); + setLayout(new java.awt.FlowLayout(java.awt.FlowLayout.LEFT, 0, 0)); zoomTextField.setEditable(false); zoomTextField.setHorizontalAlignment(javax.swing.JTextField.RIGHT); @@ -125,6 +127,7 @@ class TextZoomPanel extends JPanel { zoomTextField.setMaximumSize(new java.awt.Dimension(50, 2147483647)); zoomTextField.setMinimumSize(new java.awt.Dimension(50, 20)); zoomTextField.setPreferredSize(new java.awt.Dimension(50, 20)); + add(zoomTextField); zoomOutButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/keywordsearch/zoom-out.png"))); // NOI18N org.openide.awt.Mnemonics.setLocalizedText(zoomOutButton, org.openide.util.NbBundle.getMessage(TextZoomPanel.class, "TextZoomPanel.zoomOutButton.text")); // NOI18N @@ -140,6 +143,7 @@ class TextZoomPanel extends JPanel { zoomOutButtonActionPerformed(evt); } }); + add(zoomOutButton); zoomInButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/keywordsearch/zoom-in.png"))); // NOI18N org.openide.awt.Mnemonics.setLocalizedText(zoomInButton, org.openide.util.NbBundle.getMessage(TextZoomPanel.class, "TextZoomPanel.zoomInButton.text")); // NOI18N @@ -156,9 +160,7 @@ class TextZoomPanel extends JPanel { zoomInButtonActionPerformed(evt); } }); - - jSeparator2.setOrientation(javax.swing.SwingConstants.VERTICAL); - jSeparator2.setMaximumSize(new java.awt.Dimension(6, 20)); + add(zoomInButton); org.openide.awt.Mnemonics.setLocalizedText(zoomResetButton, org.openide.util.NbBundle.getMessage(TextZoomPanel.class, "TextZoomPanel.zoomResetButton.text")); // NOI18N zoomResetButton.setBorderPainted(false); @@ -172,31 +174,7 @@ class TextZoomPanel extends JPanel { zoomResetButtonActionPerformed(evt); } }); - - javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this); - this.setLayout(layout); - layout.setHorizontalGroup( - layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(layout.createSequentialGroup() - .addComponent(zoomTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addGap(0, 0, 0) - .addComponent(zoomOutButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addGap(0, 0, 0) - .addComponent(zoomInButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(zoomResetButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(jSeparator2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) - ); - layout.setVerticalGroup( - layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(jSeparator2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(zoomTextField, javax.swing.GroupLayout.Alignment.CENTER, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addComponent(zoomOutButton, javax.swing.GroupLayout.Alignment.CENTER, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addComponent(zoomInButton, javax.swing.GroupLayout.Alignment.CENTER, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addComponent(zoomResetButton, javax.swing.GroupLayout.Alignment.CENTER, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) - ); + add(zoomResetButton); }// //GEN-END:initComponents private void zoomOutButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_zoomOutButtonActionPerformed From 78d1bc1fc042a514adfdc2f2a7048617b5ce6ca9 Mon Sep 17 00:00:00 2001 From: Greg DiCristofaro Date: Tue, 31 Mar 2020 12:06:25 -0400 Subject: [PATCH 002/111] adding wrap layout --- .../autopsy/keywordsearch/WrapLayout.java | 206 ++++++++++++++++++ 1 file changed, 206 insertions(+) create mode 100644 KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/WrapLayout.java diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/WrapLayout.java b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/WrapLayout.java new file mode 100644 index 0000000000..98f98490be --- /dev/null +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/WrapLayout.java @@ -0,0 +1,206 @@ +/* + * Autopsy Forensic Browser + * + * Copyright 2019 Basis Technology Corp. + * Contact: carrier sleuthkit org + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.sleuthkit.autopsy.keywordsearch; + + +import java.awt.Component; +import java.awt.Container; +import java.awt.Dimension; +import java.awt.FlowLayout; +import java.awt.Insets; +import javax.swing.JScrollPane; +import javax.swing.SwingUtilities; + +/** +* FlowLayout subclass that fully supports wrapping of components. +* +* Originally written by Rob Camick +* https://tips4java.wordpress.com/2008/11/06/wrap-layout/ +*/ +class WrapLayout extends FlowLayout { + + private static final long serialVersionUID = 1L; + /** + * Constructs a new WrapLayout with a left alignment and a + * default 5-unit horizontal and vertical gap. + */ + public WrapLayout() { + super(); + } + + /** + * Constructs a new FlowLayout with the specified alignment + * and a default 5-unit horizontal and vertical gap. The value of the + * alignment argument must be one of WrapLayout, + * WrapLayout, or WrapLayout. + * + * @param align the alignment value + */ + public WrapLayout(int align) { + super(align); + } + + /** + * Creates a new flow layout manager with the indicated alignment and + * the indicated horizontal and vertical gaps. + *

+ * The value of the alignment argument must be one of + * WrapLayout, WrapLayout, or + * WrapLayout. + * + * @param align the alignment value + * @param hgap the horizontal gap between components + * @param vgap the vertical gap between components + */ + public WrapLayout(int align, int hgap, int vgap) { + super(align, hgap, vgap); + } + + /** + * Returns the preferred dimensions for this layout given the + * visible components in the specified target container. + * + * @param target the component which needs to be laid out + * + * @return the preferred dimensions to lay out the subcomponents of the + * specified container + */ + @Override + public Dimension preferredLayoutSize(Container target) { + return layoutSize(target, true); + } + + /** + * Returns the minimum dimensions needed to layout the visible + * components contained in the specified target container. + * + * @param target the component which needs to be laid out + * + * @return the minimum dimensions to lay out the subcomponents of the + * specified container + */ + @Override + public Dimension minimumLayoutSize(Container target) { + Dimension minimum = layoutSize(target, false); + minimum.width -= (getHgap() + 1); + return minimum; + } + + /** + * Returns the minimum or preferred dimension needed to layout the + * target container. + * + * @param target target to get layout size for + * @param preferred should preferred size be calculated + * + * @return the dimension to layout the target container + */ + private Dimension layoutSize(Container target, boolean preferred) { + synchronized (target.getTreeLock()) { + // Each row must fit with the width allocated to the containter. + // When the container width = 0, the preferred width of the container + // has not yet been calculated so lets ask for the maximum. + + int targetWidth = target.getSize().width; + Container container = target; + + while (container.getSize().width == 0 && container.getParent() != null) { + container = container.getParent(); + } + + targetWidth = container.getSize().width; + + if (targetWidth == 0) { + targetWidth = Integer.MAX_VALUE; + } + + int hgap = getHgap(); + int vgap = getVgap(); + Insets insets = target.getInsets(); + int horizontalInsetsAndGap = insets.left + insets.right + (hgap * 2); + int maxWidth = targetWidth - horizontalInsetsAndGap; + + // Fit components into the allowed width + Dimension dim = new Dimension(0, 0); + int rowWidth = 0; + int rowHeight = 0; + + int nmembers = target.getComponentCount(); + + for (int i = 0; i < nmembers; i++) { + Component m = target.getComponent(i); + + if (m.isVisible()) { + Dimension d = preferred ? m.getPreferredSize() : m.getMinimumSize(); + + // Can't add the component to current row. Start a new row. + if (rowWidth + d.width > maxWidth) { + addRow(dim, rowWidth, rowHeight); + rowWidth = 0; + rowHeight = 0; + } + + // Add a horizontal gap for all components after the first + if (rowWidth != 0) { + rowWidth += hgap; + } + + rowWidth += d.width; + rowHeight = Math.max(rowHeight, d.height); + } + } + + addRow(dim, rowWidth, rowHeight); + + dim.width += horizontalInsetsAndGap; + dim.height += insets.top + insets.bottom + vgap * 2; + + // When using a scroll pane or the DecoratedLookAndFeel we need to + // make sure the preferred size is less than the size of the + // target containter so shrinking the container size works + // correctly. Removing the horizontal gap is an easy way to do this. + Container scrollPane = SwingUtilities.getAncestorOfClass(JScrollPane.class, target); + + if (scrollPane != null && target.isValid()) { + dim.width -= (hgap + 1); + } + + return dim; + } + } + + /* + * A new row has been completed. Use the dimensions of this row to + * update the preferred size for the container. + * + * @param dim update the width and height when appropriate @param + * rowWidth the width of the row to add @param rowHeight the height of + * the row to add + */ + private void addRow(Dimension dim, int rowWidth, int rowHeight) { + dim.width = Math.max(dim.width, rowWidth); + + if (dim.height > 0) { + dim.height += getVgap(); + } + + dim.height += rowHeight; + } + } \ No newline at end of file From e070a5dae1a1ad0e2e350dd42c820518e9070066 Mon Sep 17 00:00:00 2001 From: Greg DiCristofaro Date: Tue, 31 Mar 2020 12:07:12 -0400 Subject: [PATCH 003/111] reverting bundle properties --- .../keywordsearch/Bundle.properties-MERGED | 27 ++++++++++++------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle.properties-MERGED b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle.properties-MERGED index 49e29cc69d..9aeeabc046 100755 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle.properties-MERGED +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle.properties-MERGED @@ -20,12 +20,16 @@ IndexedText.warningMessage.knownFile=This file i IndexedText.warningMessage.noTextAvailable=No indexed text for this file. KeywordSearchGlobalSettingsPanel.Title=Global Keyword Search Settings KeywordSearchIngestModule.init.badInitMsg=Keyword search server was not properly initialized, cannot run keyword search ingest. +# {0} - Reason for not connecting to Solr KeywordSearchIngestModule.init.exception.errConnToSolr.msg=Error connecting to SOLR server: {0}. +# {0} - Reason for not starting Solr KeywordSearchIngestModule.init.tryStopSolrMsg={0}
Please try stopping Java Solr processes if any exist and restart the application. KeywordSearchIngestModule.metadataTitle=METADATA KeywordSearchIngestModule.noOpenCase.errMsg=No open case available. KeywordSearchIngestModule.startUp.noOpenCore.msg=The index could not be opened or does not exist. +# {0} - schema version number KeywordSearchIngestModule.startupException.indexSchemaNotSupported=Adding text no longer supported for schema version {0} of the text index. +# {0} - Solr version number KeywordSearchIngestModule.startupException.indexSolrVersionNotSupported=Adding text no longer supported for Solr version {0} of the text index. KeywordSearchIngestModule.startupMessage.failedToGetIndexSchema=Failed to get schema version for text index. KeywordSearchResultFactory.createNodeForKey.noResultsFound.text=No results found. @@ -208,6 +212,7 @@ KeywordSearchSettings.propertiesNSRL.text={0}_NSRL KeywordSearchSettings.propertiesScripts.text={0}_Scripts NoOpenCoreException.err.noOpenSorlCore.msg=No currently open Solr core. SearchRunner.query.exception.msg=Error performing query: +# {0} - core name Server.deleteCore.exception.msg=Failed to delete Solr core {0} Server.start.exception.cantStartSolr.msg=Could not start Solr server process Server.start.exception.cantStartSolr.msg2=Could not start Solr server process @@ -335,8 +340,10 @@ SolrSearch.openCore.msg=Opening text index SolrSearch.openGiantCore.msg=Opening text index. Text index for this case is very large and may take long time to load. SolrSearch.openLargeCore.msg=Opening text index. This may take several minutes. SolrSearch.readingIndexes.msg=Reading text index metadata file +# {0} - index folder path SolrSearchService.exceptionMessage.failedToDeleteIndexFiles=Failed to delete text index files at {0} SolrSearchService.exceptionMessage.noCurrentSolrCore=IndexMetadata did not contain a current Solr core so could not delete the case +# {0} - case directory SolrSearchService.exceptionMessage.noIndexMetadata=Unable to create IndexMetaData from case directory: {0} SolrSearchService.indexingError=Unable to index blackboard artifact. SolrSearchService.ServiceName=Solr Keyword Search Service @@ -353,24 +360,24 @@ DropdownListSearchPanel.jSaveSearchResults.text=Save search results GlobalEditListPanel.ingestWarningLabel.text=Ingest is ongoing, some settings will be unavailable until it finishes. KeywordSearchGlobalLanguageSettingsPanel.ingestWarningLabel.text=Ingest is ongoing, some settings will be unavailable until it finishes. KeywordSearchGlobalSearchSettingsPanel.ingestWarningLabel.text=Ingest is ongoing, some settings will be unavailable until it finishes. -ExtractedContentPanel.AccessibleContext.accessibleName= -ExtractedContentPanel.jLabel1.text=Text Source: -ExtractedContentPanel.hitNextButton.text= +ExtractedContentPanel.hitCountLabel.text=- ExtractedContentPanel.hitPreviousButton.text= -ExtractedContentPanel.hitButtonsLabel.text=Match ExtractedContentPanel.hitTotalLabel.text=- ExtractedContentPanel.hitOfLabel.text=of -ExtractedContentPanel.hitCountLabel.text=- +ExtractedContentPanel.hitNextButton.text= +ExtractedContentPanel.hitButtonsLabel.text=Match ExtractedContentPanel.hitLabel.toolTipText= ExtractedContentPanel.hitLabel.text=Matches on page: -ExtractedContentPanel.pageNextButton.text= +ExtractedContentPanel.pageCurLabel.text=- ExtractedContentPanel.pagePreviousButton.actionCommand=pagePreviousButton ExtractedContentPanel.pagePreviousButton.text= -ExtractedContentPanel.pageButtonsLabel.text=Page -ExtractedContentPanel.pageTotalLabel.text=- -ExtractedContentPanel.pageOfLabel.text=of -ExtractedContentPanel.pageCurLabel.text=- +ExtractedContentPanel.pageNextButton.text= ExtractedContentPanel.pagesLabel.text=Page: +ExtractedContentPanel.pageTotalLabel.text=- +ExtractedContentPanel.pageButtonsLabel.text=Page +ExtractedContentPanel.pageOfLabel.text=of +ExtractedContentPanel.jLabel1.text=Text Source: +ExtractedContentPanel.AccessibleContext.accessibleName= TextZoomPanel.zoomInButton.text= TextZoomPanel.zoomOutButton.text= TextZoomPanel.zoomResetButton.text=Reset From 8dba59edfb724c866f6a72ad7b4df357ead0a011 Mon Sep 17 00:00:00 2001 From: Greg DiCristofaro Date: Tue, 31 Mar 2020 13:51:59 -0400 Subject: [PATCH 004/111] updated spacing --- .../keywordsearch/ExtractedContentPanel.form | 198 ++++++++++++++++++ .../keywordsearch/ExtractedContentPanel.java | 27 +++ 2 files changed, 225 insertions(+) diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/ExtractedContentPanel.form b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/ExtractedContentPanel.form index f503e37fc5..e7f828ba0f 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/ExtractedContentPanel.form +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/ExtractedContentPanel.form @@ -80,6 +80,24 @@ + + + + + + + + + + + + + + + + + + @@ -88,6 +106,24 @@ + + + + + + + + + + + + + + + + + + @@ -95,6 +131,24 @@ + + + + + + + + + + + + + + + + + + @@ -103,6 +157,24 @@ + + + + + + + + + + + + + + + + + + @@ -110,6 +182,24 @@ + + + + + + + + + + + + + + + + + + @@ -162,6 +252,24 @@ + + + + + + + + + + + + + + + + + + @@ -248,6 +356,24 @@ + + + + + + + + + + + + + + + + + + @@ -306,6 +432,24 @@ + + + + + + + + + + + + + + + + + + @@ -351,6 +495,24 @@ + + + + + + + + + + + + + + + + + + @@ -386,6 +548,24 @@ + + + + + + + + + + + + + + + + + + @@ -406,6 +586,24 @@ + + + + + + + + + + + + + + + + + + diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/ExtractedContentPanel.java b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/ExtractedContentPanel.java index 3e1281720c..1eb2a867b8 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/ExtractedContentPanel.java +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/ExtractedContentPanel.java @@ -206,12 +206,18 @@ class ExtractedContentPanel extends javax.swing.JPanel implements ResizableTextP controlPanel = new javax.swing.JPanel(); javax.swing.JPanel pagePanel = new javax.swing.JPanel(); pagesLabel = new javax.swing.JLabel(); + fillerSmall1 = new javax.swing.Box.Filler(new java.awt.Dimension(5, 0), new java.awt.Dimension(5, 0), new java.awt.Dimension(5, 32767)); pageCurLabel = new javax.swing.JLabel(); + fillerSmall2 = new javax.swing.Box.Filler(new java.awt.Dimension(5, 0), new java.awt.Dimension(5, 0), new java.awt.Dimension(5, 32767)); pageOfLabel = new javax.swing.JLabel(); + fillerSmall3 = new javax.swing.Box.Filler(new java.awt.Dimension(5, 0), new java.awt.Dimension(5, 0), new java.awt.Dimension(5, 32767)); pageTotalLabel = new javax.swing.JLabel(); + fillerSmall4 = new javax.swing.Box.Filler(new java.awt.Dimension(5, 0), new java.awt.Dimension(5, 0), new java.awt.Dimension(5, 32767)); pageButtonsLabel = new javax.swing.JLabel(); + javax.swing.Box.Filler fillerMed1 = new javax.swing.Box.Filler(new java.awt.Dimension(10, 0), new java.awt.Dimension(10, 0), new java.awt.Dimension(10, 32767)); pagePreviousButton = new javax.swing.JButton(); pageNextButton = new javax.swing.JButton(); + javax.swing.Box.Filler fillerSmall6 = new javax.swing.Box.Filler(new java.awt.Dimension(5, 0), new java.awt.Dimension(5, 0), new java.awt.Dimension(5, 32767)); jSeparator2 = new javax.swing.JSeparator(); javax.swing.JPanel matchesPanel = new javax.swing.JPanel(); hitLabel = new javax.swing.JLabel(); @@ -219,15 +225,20 @@ class ExtractedContentPanel extends javax.swing.JPanel implements ResizableTextP hitOfLabel = new javax.swing.JLabel(); hitTotalLabel = new javax.swing.JLabel(); hitButtonsLabel = new javax.swing.JLabel(); + javax.swing.Box.Filler fillerMed2 = new javax.swing.Box.Filler(new java.awt.Dimension(10, 0), new java.awt.Dimension(10, 0), new java.awt.Dimension(10, 32767)); hitPreviousButton = new javax.swing.JButton(); hitNextButton = new javax.swing.JButton(); + javax.swing.Box.Filler fillerSmall11 = new javax.swing.Box.Filler(new java.awt.Dimension(5, 0), new java.awt.Dimension(5, 0), new java.awt.Dimension(5, 32767)); jSeparator3 = new javax.swing.JSeparator(); javax.swing.JPanel zoomPanelWrapper = new javax.swing.JPanel(); zoomPanel = new TextZoomPanel(this); + javax.swing.Box.Filler fillerSmall14 = new javax.swing.Box.Filler(new java.awt.Dimension(5, 0), new java.awt.Dimension(5, 0), new java.awt.Dimension(5, 32767)); jSeparator4 = new javax.swing.JSeparator(); javax.swing.JPanel textSourcePanel = new javax.swing.JPanel(); jLabel1 = new javax.swing.JLabel(); + javax.swing.Box.Filler fillerSmall12 = new javax.swing.Box.Filler(new java.awt.Dimension(5, 0), new java.awt.Dimension(5, 0), new java.awt.Dimension(5, 32767)); sourceComboBox = new javax.swing.JComboBox<>(); + javax.swing.Box.Filler fillerSmall13 = new javax.swing.Box.Filler(new java.awt.Dimension(5, 0), new java.awt.Dimension(5, 0), new java.awt.Dimension(5, 32767)); jSeparator5 = new javax.swing.JSeparator(); extractedScrollPane = new javax.swing.JScrollPane(); extractedTextPane = new javax.swing.JTextPane(); @@ -248,20 +259,25 @@ class ExtractedContentPanel extends javax.swing.JPanel implements ResizableTextP pagesLabel.setText(org.openide.util.NbBundle.getMessage(ExtractedContentPanel.class, "ExtractedContentPanel.pagesLabel.text")); // NOI18N pagePanel.add(pagesLabel); + pagePanel.add(fillerSmall1); pageCurLabel.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); pageCurLabel.setText(org.openide.util.NbBundle.getMessage(ExtractedContentPanel.class, "ExtractedContentPanel.pageCurLabel.text")); // NOI18N pagePanel.add(pageCurLabel); + pagePanel.add(fillerSmall2); pageOfLabel.setText(org.openide.util.NbBundle.getMessage(ExtractedContentPanel.class, "ExtractedContentPanel.pageOfLabel.text")); // NOI18N pagePanel.add(pageOfLabel); + pagePanel.add(fillerSmall3); pageTotalLabel.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); pageTotalLabel.setText(org.openide.util.NbBundle.getMessage(ExtractedContentPanel.class, "ExtractedContentPanel.pageTotalLabel.text")); // NOI18N pagePanel.add(pageTotalLabel); + pagePanel.add(fillerSmall4); pageButtonsLabel.setText(org.openide.util.NbBundle.getMessage(ExtractedContentPanel.class, "ExtractedContentPanel.pageButtonsLabel.text")); // NOI18N pagePanel.add(pageButtonsLabel); + pagePanel.add(fillerMed1); pagePreviousButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/keywordsearch/btn_step_back.png"))); // NOI18N pagePreviousButton.setText(org.openide.util.NbBundle.getMessage(ExtractedContentPanel.class, "ExtractedContentPanel.pagePreviousButton.text")); // NOI18N @@ -282,6 +298,7 @@ class ExtractedContentPanel extends javax.swing.JPanel implements ResizableTextP pageNextButton.setMargin(new java.awt.Insets(2, 0, 2, 0)); pageNextButton.setPreferredSize(new java.awt.Dimension(23, 23)); pagePanel.add(pageNextButton); + pagePanel.add(fillerSmall6); jSeparator2.setOrientation(javax.swing.SwingConstants.VERTICAL); jSeparator2.setMaximumSize(new java.awt.Dimension(2, 25)); @@ -316,6 +333,7 @@ class ExtractedContentPanel extends javax.swing.JPanel implements ResizableTextP hitButtonsLabel.setText(org.openide.util.NbBundle.getMessage(ExtractedContentPanel.class, "ExtractedContentPanel.hitButtonsLabel.text")); // NOI18N matchesPanel.add(hitButtonsLabel); + matchesPanel.add(fillerMed2); hitPreviousButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/keywordsearch/btn_step_back.png"))); // NOI18N hitPreviousButton.setText(org.openide.util.NbBundle.getMessage(ExtractedContentPanel.class, "ExtractedContentPanel.hitPreviousButton.text")); // NOI18N @@ -338,6 +356,7 @@ class ExtractedContentPanel extends javax.swing.JPanel implements ResizableTextP hitNextButton.setPreferredSize(new java.awt.Dimension(23, 23)); hitNextButton.setRolloverIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/keywordsearch/btn_step_forward_hover.png"))); // NOI18N matchesPanel.add(hitNextButton); + matchesPanel.add(fillerSmall11); jSeparator3.setOrientation(javax.swing.SwingConstants.VERTICAL); jSeparator3.setMaximumSize(new java.awt.Dimension(2, 25)); @@ -354,6 +373,8 @@ class ExtractedContentPanel extends javax.swing.JPanel implements ResizableTextP zoomPanelWrapper.add(zoomPanel); zoomPanel.getAccessibleContext().setAccessibleName(org.openide.util.NbBundle.getMessage(ExtractedContentPanel.class, "ExtractedContentPanel.AccessibleContext.accessibleName")); // NOI18N + zoomPanelWrapper.add(fillerSmall14); + jSeparator4.setOrientation(javax.swing.SwingConstants.VERTICAL); jSeparator4.setMaximumSize(new java.awt.Dimension(2, 25)); jSeparator4.setMinimumSize(new java.awt.Dimension(2, 25)); @@ -367,12 +388,14 @@ class ExtractedContentPanel extends javax.swing.JPanel implements ResizableTextP jLabel1.setText(org.openide.util.NbBundle.getMessage(ExtractedContentPanel.class, "ExtractedContentPanel.jLabel1.text")); // NOI18N textSourcePanel.add(jLabel1); + textSourcePanel.add(fillerSmall12); sourceComboBox.setModel(new javax.swing.DefaultComboBoxModel()); sourceComboBox.setMaximumSize(new java.awt.Dimension(150, 32767)); sourceComboBox.setMinimumSize(new java.awt.Dimension(150, 20)); sourceComboBox.setPreferredSize(new java.awt.Dimension(150, 20)); textSourcePanel.add(sourceComboBox); + textSourcePanel.add(fillerSmall13); jSeparator5.setOrientation(javax.swing.SwingConstants.VERTICAL); jSeparator5.setMaximumSize(new java.awt.Dimension(2, 25)); @@ -402,6 +425,10 @@ class ExtractedContentPanel extends javax.swing.JPanel implements ResizableTextP private javax.swing.JMenuItem copyMenuItem; private javax.swing.JScrollPane extractedScrollPane; private javax.swing.JTextPane extractedTextPane; + private javax.swing.Box.Filler fillerSmall1; + private javax.swing.Box.Filler fillerSmall2; + private javax.swing.Box.Filler fillerSmall3; + private javax.swing.Box.Filler fillerSmall4; private javax.swing.JLabel hitButtonsLabel; private javax.swing.JLabel hitCountLabel; private javax.swing.JLabel hitLabel; From d6156be0d8293c5d400bcdf21175b3d816a845d9 Mon Sep 17 00:00:00 2001 From: Greg DiCristofaro Date: Tue, 31 Mar 2020 22:03:45 -0400 Subject: [PATCH 005/111] new layout manager --- .../keywordsearch/ExtractedContentPanel.form | 37 -- .../keywordsearch/ExtractedContentPanel.java | 19 +- .../autopsy/keywordsearch/WrapLayout.java | 581 +++++++++++++----- 3 files changed, 441 insertions(+), 196 deletions(-) diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/ExtractedContentPanel.form b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/ExtractedContentPanel.form index e7f828ba0f..7add18aa42 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/ExtractedContentPanel.form +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/ExtractedContentPanel.form @@ -531,10 +531,6 @@ - - - - @@ -586,39 +582,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/ExtractedContentPanel.java b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/ExtractedContentPanel.java index 1eb2a867b8..11425a2a7d 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/ExtractedContentPanel.java +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/ExtractedContentPanel.java @@ -24,6 +24,7 @@ import java.awt.Font; import java.awt.event.ActionListener; import java.awt.event.ItemEvent; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; import java.util.concurrent.CancellationException; import java.util.concurrent.ExecutionException; @@ -186,7 +187,9 @@ class ExtractedContentPanel extends javax.swing.JPanel implements ResizableTextP private void additionalInit() { // use wrap layout for better component wrapping - WrapLayout layout = new WrapLayout(java.awt.FlowLayout.LEFT); + WrapLayout layout = new WrapLayout(); + layout.setHgap(5); + layout.setOppositeAligned(Arrays.asList(textSourcePanel)); controlPanel.setLayout(layout); } @@ -234,12 +237,10 @@ class ExtractedContentPanel extends javax.swing.JPanel implements ResizableTextP zoomPanel = new TextZoomPanel(this); javax.swing.Box.Filler fillerSmall14 = new javax.swing.Box.Filler(new java.awt.Dimension(5, 0), new java.awt.Dimension(5, 0), new java.awt.Dimension(5, 32767)); jSeparator4 = new javax.swing.JSeparator(); - javax.swing.JPanel textSourcePanel = new javax.swing.JPanel(); + textSourcePanel = new javax.swing.JPanel(); jLabel1 = new javax.swing.JLabel(); javax.swing.Box.Filler fillerSmall12 = new javax.swing.Box.Filler(new java.awt.Dimension(5, 0), new java.awt.Dimension(5, 0), new java.awt.Dimension(5, 32767)); sourceComboBox = new javax.swing.JComboBox<>(); - javax.swing.Box.Filler fillerSmall13 = new javax.swing.Box.Filler(new java.awt.Dimension(5, 0), new java.awt.Dimension(5, 0), new java.awt.Dimension(5, 32767)); - jSeparator5 = new javax.swing.JSeparator(); extractedScrollPane = new javax.swing.JScrollPane(); extractedTextPane = new javax.swing.JTextPane(); @@ -395,14 +396,6 @@ class ExtractedContentPanel extends javax.swing.JPanel implements ResizableTextP sourceComboBox.setMinimumSize(new java.awt.Dimension(150, 20)); sourceComboBox.setPreferredSize(new java.awt.Dimension(150, 20)); textSourcePanel.add(sourceComboBox); - textSourcePanel.add(fillerSmall13); - - jSeparator5.setOrientation(javax.swing.SwingConstants.VERTICAL); - jSeparator5.setMaximumSize(new java.awt.Dimension(2, 25)); - jSeparator5.setMinimumSize(new java.awt.Dimension(2, 25)); - jSeparator5.setName(""); // NOI18N - jSeparator5.setPreferredSize(new java.awt.Dimension(2, 25)); - textSourcePanel.add(jSeparator5); controlPanel.add(textSourcePanel); @@ -440,7 +433,6 @@ class ExtractedContentPanel extends javax.swing.JPanel implements ResizableTextP private javax.swing.JSeparator jSeparator2; private javax.swing.JSeparator jSeparator3; private javax.swing.JSeparator jSeparator4; - private javax.swing.JSeparator jSeparator5; private javax.swing.JLabel pageButtonsLabel; private javax.swing.JLabel pageCurLabel; private javax.swing.JButton pageNextButton; @@ -451,6 +443,7 @@ class ExtractedContentPanel extends javax.swing.JPanel implements ResizableTextP private javax.swing.JPopupMenu rightClickMenu; private javax.swing.JMenuItem selectAllMenuItem; private javax.swing.JComboBox sourceComboBox; + private javax.swing.JPanel textSourcePanel; private javax.swing.JPanel zoomPanel; // End of variables declaration//GEN-END:variables diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/WrapLayout.java b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/WrapLayout.java index 98f98490be..c64a7eca18 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/WrapLayout.java +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/WrapLayout.java @@ -16,161 +16,366 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - package org.sleuthkit.autopsy.keywordsearch; - import java.awt.Component; import java.awt.Container; import java.awt.Dimension; -import java.awt.FlowLayout; import java.awt.Insets; +import java.awt.LayoutManager; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.Collections; +import java.util.HashSet; +import java.util.List; +import java.util.Set; +import java.util.stream.Collectors; import javax.swing.JScrollPane; import javax.swing.SwingUtilities; /** -* FlowLayout subclass that fully supports wrapping of components. -* -* Originally written by Rob Camick -* https://tips4java.wordpress.com/2008/11/06/wrap-layout/ -*/ -class WrapLayout extends FlowLayout { + * FlowLayout subclass that fully supports wrapping of components. + * + * Originally written by Rob Camick + * https://tips4java.wordpress.com/2008/11/06/wrap-layout/ + */ +public class WrapLayout implements LayoutManager, java.io.Serializable { + + private static final long serialVersionUID = 1L; + - private static final long serialVersionUID = 1L; - /** - * Constructs a new WrapLayout with a left alignment and a - * default 5-unit horizontal and vertical gap. - */ - public WrapLayout() { - super(); + /** + * The flow layout manager allows a seperation of + * components with gaps. The horizontal gap will + * specify the space between components and between + * the components and the borders of the + * Container. + * + * @serial + * @see #getHgap() + * @see #setHgap(int) + */ + int hgap; + + /** + * The flow layout manager allows a seperation of + * components with gaps. The vertical gap will + * specify the space between rows and between the + * the rows and the borders of the Container. + * + * @serial + * @see #getHgap() + * @see #setHgap(int) + */ + int vgap; + + /** + * If true, components will be aligned on their baseline. + */ + private boolean alignOnBaseline; + + + + + + private final Set oppositeAlignedItems = new HashSet<>(); + + /** + * Constructs a new WrapLayout with a left alignment and a + * default 5-unit horizontal and vertical gap. + */ + public WrapLayout() { + super(); + } + + + public void setOppositeAligned(Collection rightAlignedComponents) { + synchronized (this.oppositeAlignedItems) { + this.oppositeAlignedItems.clear(); + this.oppositeAlignedItems.addAll(rightAlignedComponents); } + } - /** - * Constructs a new FlowLayout with the specified alignment - * and a default 5-unit horizontal and vertical gap. The value of the - * alignment argument must be one of WrapLayout, - * WrapLayout, or WrapLayout. - * - * @param align the alignment value - */ - public WrapLayout(int align) { - super(align); - } + public Set getOppositeAlignedItems() { + return oppositeAlignedItems; + } + + + /** + * Gets the horizontal gap between components + * and between the components and the borders + * of the Container + * + * @return the horizontal gap between components + * and between the components and the borders + * of the Container + * @see java.awt.FlowLayout#setHgap + * @since JDK1.1 + */ + public int getHgap() { + return hgap; + } - /** - * Creates a new flow layout manager with the indicated alignment and - * the indicated horizontal and vertical gaps. - *

- * The value of the alignment argument must be one of - * WrapLayout, WrapLayout, or - * WrapLayout. - * - * @param align the alignment value - * @param hgap the horizontal gap between components - * @param vgap the vertical gap between components - */ - public WrapLayout(int align, int hgap, int vgap) { - super(align, hgap, vgap); - } + /** + * Sets the horizontal gap between components and + * between the components and the borders of the + * Container. + * + * @param hgap the horizontal gap between components + * and between the components and the borders + * of the Container + * @see java.awt.FlowLayout#getHgap + * @since JDK1.1 + */ + public void setHgap(int hgap) { + this.hgap = hgap; + } - /** - * Returns the preferred dimensions for this layout given the - * visible components in the specified target container. - * - * @param target the component which needs to be laid out - * - * @return the preferred dimensions to lay out the subcomponents of the - * specified container - */ - @Override - public Dimension preferredLayoutSize(Container target) { - return layoutSize(target, true); - } + /** + * Gets the vertical gap between components and + * between the components and the borders of the + * Container. + * + * @return the vertical gap between components + * and between the components and the borders + * of the Container + * @see java.awt.FlowLayout#setVgap + * @since JDK1.1 + */ + public int getVgap() { + return vgap; + } - /** - * Returns the minimum dimensions needed to layout the visible - * components contained in the specified target container. - * - * @param target the component which needs to be laid out - * - * @return the minimum dimensions to lay out the subcomponents of the - * specified container - */ - @Override - public Dimension minimumLayoutSize(Container target) { - Dimension minimum = layoutSize(target, false); - minimum.width -= (getHgap() + 1); - return minimum; - } + /** + * Sets the vertical gap between components and between + * the components and the borders of the Container. + * + * @param vgap the vertical gap between components + * and between the components and the borders + * of the Container + * @see java.awt.FlowLayout#getVgap + * @since JDK1.1 + */ + public void setVgap(int vgap) { + this.vgap = vgap; + } - /** - * Returns the minimum or preferred dimension needed to layout the - * target container. - * - * @param target target to get layout size for - * @param preferred should preferred size be calculated - * - * @return the dimension to layout the target container - */ - private Dimension layoutSize(Container target, boolean preferred) { - synchronized (target.getTreeLock()) { - // Each row must fit with the width allocated to the containter. - // When the container width = 0, the preferred width of the container - // has not yet been calculated so lets ask for the maximum. + /** + * Sets whether or not components should be vertically aligned along their + * baseline. Components that do not have a baseline will be centered. + * The default is false. + * + * @param alignOnBaseline whether or not components should be + * vertically aligned on their baseline + * @since 1.6 + */ + public void setAlignOnBaseline(boolean alignOnBaseline) { + this.alignOnBaseline = alignOnBaseline; + } - int targetWidth = target.getSize().width; - Container container = target; + /** + * Returns true if components are to be vertically aligned along + * their baseline. The default is false. + * + * @return true if components are to be vertically aligned along + * their baseline + * @since 1.6 + */ + public boolean getAlignOnBaseline() { + return alignOnBaseline; + } - while (container.getSize().width == 0 && container.getParent() != null) { - container = container.getParent(); - } + /** + * Adds the specified component to the layout. + * Not used by this class. + * @param name the name of the component + * @param comp the component to be added + */ + @Override + public void addLayoutComponent(String name, Component comp) { + } - targetWidth = container.getSize().width; + /** + * Removes the specified component from the layout. + * Not used by this class. + * @param comp the component to remove + * @see java.awt.Container#removeAll + */ + @Override + public void removeLayoutComponent(Component comp) { + } + - if (targetWidth == 0) { - targetWidth = Integer.MAX_VALUE; - } + + private int getComponentY(int rowY, boolean alignBaseline, int rowHeight, int itemHeight) { + return alignBaseline ? + rowY + rowHeight - itemHeight : + rowY; + } + + private int getComponentX(int leftX, int rightX, boolean ltr, int xPos, int componentWidth) { + return ltr ? leftX + xPos : rightX - xPos - componentWidth; + } + + private int setComponentDims(Component comp, boolean alignBaseline, boolean ltr, int rowY, int rowHeight, int leftX, int rightX, int xPos) { + Dimension d = comp.getPreferredSize(); + comp.setSize(d); + + int x = getComponentX(leftX, rightX, ltr, xPos, d.width); + int y = getComponentY(rowY, alignBaseline, rowHeight, d.height); + comp.setLocation(x, y); + + return d.width; + } + + + /** + * Lays out the container. This method lets each + * visible component take its preferred size by reshaping the + * components in the target container in order to satisfy the alignment of + * this FlowLayout object. Taken from + * https://raw.githubusercontent.com/mynawang/Java8-Source-Code/master/src/main/jdk8/java/awt/FlowLayout.java. + * + * @param target the specified component being laid out + * + * @see Container + * @see java.awt.Container#doLayout + */ + @Override + public void layoutContainer(Container target) { + synchronized (target.getTreeLock()) { + synchronized (this.oppositeAlignedItems) { + ParentDimensions targetDims = getTargetDimensions(target); + List components = Arrays.asList(target.getComponents()); + List rows = getAllRows(components, true, targetDims.innerWidth); - int hgap = getHgap(); - int vgap = getVgap(); - Insets insets = target.getInsets(); - int horizontalInsetsAndGap = insets.left + insets.right + (hgap * 2); - int maxWidth = targetWidth - horizontalInsetsAndGap; - - // Fit components into the allowed width - Dimension dim = new Dimension(0, 0); - int rowWidth = 0; - int rowHeight = 0; - - int nmembers = target.getComponentCount(); - - for (int i = 0; i < nmembers; i++) { - Component m = target.getComponent(i); - - if (m.isVisible()) { - Dimension d = preferred ? m.getPreferredSize() : m.getMinimumSize(); - - // Can't add the component to current row. Start a new row. - if (rowWidth + d.width > maxWidth) { - addRow(dim, rowWidth, rowHeight); - rowWidth = 0; - rowHeight = 0; - } - - // Add a horizontal gap for all components after the first - if (rowWidth != 0) { - rowWidth += hgap; - } - - rowWidth += d.width; - rowHeight = Math.max(rowHeight, d.height); + boolean ltr = target.getComponentOrientation().isLeftToRight(); + boolean useBaseline = getAlignOnBaseline(); + + int rowY = targetDims.insets.top + getVgap(); + int leftX = targetDims.insets.left + getHgap(); + int rightX = targetDims.outerWidth - targetDims.insets.right - getHgap(); + + for (Row row : rows) { + int rowHeight = row.height; + + int curX = 0; + if (row.components != null) { + for (Component origComp : row.components) + curX += setComponentDims(origComp, useBaseline, ltr, rowY, rowHeight, leftX, rightX, curX) + getHgap(); } + + if (row.oppositeAligned != null) { + curX = 0; + // reverse opposite aligned for layout purposes since flipping ltr + Collections.reverse(row.oppositeAligned); + for (Component oppAlignedComp : row.oppositeAligned) + curX += setComponentDims(oppAlignedComp, useBaseline, !ltr, rowY, rowHeight, leftX, rightX, curX) + getHgap(); + } + + rowY += rowHeight + getVgap(); + } + } + } + } + + /** + * Returns the preferred dimensions for this layout given the + * visible components in the specified target container. + * + * @param target the component which needs to be laid out + * + * @return the preferred dimensions to lay out the subcomponents of the + * specified container + */ + @Override + public Dimension preferredLayoutSize(Container target) { + return layoutSize(target, true); + } + + /** + * Returns the minimum dimensions needed to layout the visible + * components contained in the specified target container. + * + * @param target the component which needs to be laid out + * + * @return the minimum dimensions to lay out the subcomponents of the + * specified container + */ + @Override + public Dimension minimumLayoutSize(Container target) { + Dimension minimum = layoutSize(target, false); + minimum.width -= (getHgap() + 1); + return minimum; + } + + private static class ParentDimensions { + + final int outerWidth; + final int innerWidth; + final Insets insets; + + ParentDimensions(int outerWidth, int innerWidth, Insets insets) { + this.outerWidth = outerWidth; + this.innerWidth = innerWidth; + this.insets = insets; + } + } + + private ParentDimensions getTargetDimensions(Container target) { + // Each row must fit with the width allocated to the containter. + // When the container width = 0, the preferred width of the container + // has not yet been calculated so lets ask for the maximum. + + int targetWidth = target.getSize().width; + Container container = target; + + while (container.getSize().width == 0 && container.getParent() != null) { + container = container.getParent(); + } + + targetWidth = container.getSize().width; + + if (targetWidth == 0) { + targetWidth = Integer.MAX_VALUE; + } + + int hgap = getHgap(); + + Insets insets = target.getInsets(); + int horizontalInsetsAndGap = insets.left + insets.right + (hgap * 2); + int maxWidth = targetWidth - horizontalInsetsAndGap; + + return new ParentDimensions(targetWidth, maxWidth, insets); + } + + /** + * Returns the minimum or preferred dimension needed to layout the target + * container. + * + * @param target target to get layout size for + * @param preferred should preferred size be calculated + * + * @return the dimension to layout the target container + */ + private Dimension layoutSize(Container target, boolean preferred) { + synchronized (target.getTreeLock()) { + synchronized (this.oppositeAlignedItems) { + ParentDimensions targetDims = getTargetDimensions(target); + List components = Arrays.asList(target.getComponents()); + List rows = getAllRows(components, preferred, targetDims.innerWidth); + + Integer containerHeight = rows.stream().map((r) -> r.height).reduce(0, Integer::sum); + // add in vertical gap between rows + if (rows.size() > 1) { + containerHeight += (rows.size() - 1) * getVgap(); } - addRow(dim, rowWidth, rowHeight); + containerHeight += targetDims.insets.top + targetDims.insets.bottom; - dim.width += horizontalInsetsAndGap; - dim.height += insets.top + insets.bottom + vgap * 2; + Integer containerWidth = rows.stream().map((r) -> r.width).reduce(0, Math::max); + containerWidth += targetDims.insets.left + targetDims.insets.right + (getHgap() * 2); // When using a scroll pane or the DecoratedLookAndFeel we need to // make sure the preferred size is less than the size of the @@ -179,28 +384,112 @@ class WrapLayout extends FlowLayout { Container scrollPane = SwingUtilities.getAncestorOfClass(JScrollPane.class, target); if (scrollPane != null && target.isValid()) { - dim.width -= (hgap + 1); + containerWidth -= (getHgap() + 1); } - return dim; + return new Dimension(containerWidth, containerHeight); + } + } + } + + private class Row { + + final List components; + final List oppositeAligned; + final int height; + final int width; + + public Row(List components, List oppositeAligned, int height, int width) { + this.components = components; + this.oppositeAligned = oppositeAligned; + this.height = height; + this.width = width; + } + } + + private List getAllRows(List components, boolean preferred, int maxWidth) { + List originalComp + = components + .stream() + .filter((comp) -> !this.oppositeAlignedItems.contains(comp)) + .collect(Collectors.toList()); + + List originalRowSet = getRowSet(originalComp, preferred, maxWidth); + + List oppositeAlignedComp + = components + .stream() + .filter((comp) -> this.oppositeAlignedItems.contains(comp)) + .collect(Collectors.toList()); + + // go in reverse order and then revert so we can use same getRowSet method + Collections.reverse(oppositeAlignedComp); + List oppositeRowSet = getRowSet(oppositeAlignedComp, preferred, maxWidth) + .stream() + .map((Row row) -> { + Collections.reverse(row.components); + return new Row(null, row.components, row.height, row.width); + }) + .collect(Collectors.toList()); + Collections.reverse(oppositeRowSet); + + List toReturn = new ArrayList<>(); + + if (originalRowSet.size() > 0 && oppositeRowSet.size() > 0) { + Row lastOrig = originalRowSet.get(originalRowSet.size() - 1); + Row firstOpp = oppositeRowSet.get(0); + + int proposedRowWidth = lastOrig.width + firstOpp.width + getHgap(); + if (proposedRowWidth <= maxWidth) { + Row middleRow = new Row(lastOrig.components, firstOpp.oppositeAligned, + Math.max(lastOrig.height, firstOpp.height), proposedRowWidth); + + toReturn.addAll(originalRowSet.subList(0, originalRowSet.size() - 1)); + toReturn.add(middleRow); + toReturn.addAll(oppositeRowSet.subList(1, oppositeRowSet.size())); + return toReturn; } } - /* - * A new row has been completed. Use the dimensions of this row to - * update the preferred size for the container. - * - * @param dim update the width and height when appropriate @param - * rowWidth the width of the row to add @param rowHeight the height of - * the row to add - */ - private void addRow(Dimension dim, int rowWidth, int rowHeight) { - dim.width = Math.max(dim.width, rowWidth); + toReturn.addAll(originalRowSet); + toReturn.addAll(oppositeRowSet); + return toReturn; + } - if (dim.height > 0) { - dim.height += getVgap(); + private List getRowSet(List components, boolean preferred, int maxWidth) { + List rows = new ArrayList<>(); + + List rowComponents = new ArrayList<>(); + int rowWidth = 0; + int rowHeight = 0; + + for (Component m : components) { + if (m.isVisible()) { + Dimension d = preferred ? m.getPreferredSize() : m.getMinimumSize(); + + // Can't add the component to current row. Start a new row. + if (rowWidth + d.width > maxWidth) { + rows.add(new Row(rowComponents, null, rowHeight, rowWidth)); + rowComponents = new ArrayList<>(); + rowWidth = 0; + rowHeight = 0; + } + + // Add a horizontal gap for all components after the first + if (rowWidth != 0) { + rowWidth += getHgap(); + } + + rowComponents.add(m); + rowWidth += d.width; + rowHeight = Math.max(rowHeight, d.height); } - - dim.height += rowHeight; } - } \ No newline at end of file + + if (rowComponents.size() > 0) { + rows.add(new Row(rowComponents, null, rowHeight, rowWidth)); + } + + return rows; + } +} From 93e7f6be929a29642ad807966c3350c71e1465ca Mon Sep 17 00:00:00 2001 From: Greg DiCristofaro Date: Wed, 1 Apr 2020 16:04:35 -0400 Subject: [PATCH 006/111] package scoping wrap layout --- .../autopsy/keywordsearch/WrapLayout.java | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/WrapLayout.java b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/WrapLayout.java index c64a7eca18..ac9e7e4afb 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/WrapLayout.java +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/WrapLayout.java @@ -40,7 +40,7 @@ import javax.swing.SwingUtilities; * Originally written by Rob Camick * https://tips4java.wordpress.com/2008/11/06/wrap-layout/ */ -public class WrapLayout implements LayoutManager, java.io.Serializable { +class WrapLayout implements LayoutManager, java.io.Serializable { private static final long serialVersionUID = 1L; @@ -56,7 +56,7 @@ public class WrapLayout implements LayoutManager, java.io.Serializable { * @see #getHgap() * @see #setHgap(int) */ - int hgap; + private int hgap; /** * The flow layout manager allows a seperation of @@ -68,7 +68,7 @@ public class WrapLayout implements LayoutManager, java.io.Serializable { * @see #getHgap() * @see #setHgap(int) */ - int vgap; + private int vgap; /** * If true, components will be aligned on their baseline. @@ -85,19 +85,19 @@ public class WrapLayout implements LayoutManager, java.io.Serializable { * Constructs a new WrapLayout with a left alignment and a * default 5-unit horizontal and vertical gap. */ - public WrapLayout() { + WrapLayout() { super(); } - public void setOppositeAligned(Collection rightAlignedComponents) { + void setOppositeAligned(Collection rightAlignedComponents) { synchronized (this.oppositeAlignedItems) { this.oppositeAlignedItems.clear(); this.oppositeAlignedItems.addAll(rightAlignedComponents); } } - public Set getOppositeAlignedItems() { + Set getOppositeAlignedItems() { return oppositeAlignedItems; } @@ -113,7 +113,7 @@ public class WrapLayout implements LayoutManager, java.io.Serializable { * @see java.awt.FlowLayout#setHgap * @since JDK1.1 */ - public int getHgap() { + int getHgap() { return hgap; } @@ -128,7 +128,7 @@ public class WrapLayout implements LayoutManager, java.io.Serializable { * @see java.awt.FlowLayout#getHgap * @since JDK1.1 */ - public void setHgap(int hgap) { + void setHgap(int hgap) { this.hgap = hgap; } @@ -143,7 +143,7 @@ public class WrapLayout implements LayoutManager, java.io.Serializable { * @see java.awt.FlowLayout#setVgap * @since JDK1.1 */ - public int getVgap() { + int getVgap() { return vgap; } @@ -157,7 +157,7 @@ public class WrapLayout implements LayoutManager, java.io.Serializable { * @see java.awt.FlowLayout#getVgap * @since JDK1.1 */ - public void setVgap(int vgap) { + void setVgap(int vgap) { this.vgap = vgap; } @@ -170,7 +170,7 @@ public class WrapLayout implements LayoutManager, java.io.Serializable { * vertically aligned on their baseline * @since 1.6 */ - public void setAlignOnBaseline(boolean alignOnBaseline) { + void setAlignOnBaseline(boolean alignOnBaseline) { this.alignOnBaseline = alignOnBaseline; } @@ -182,7 +182,7 @@ public class WrapLayout implements LayoutManager, java.io.Serializable { * their baseline * @since 1.6 */ - public boolean getAlignOnBaseline() { + boolean getAlignOnBaseline() { return alignOnBaseline; } From 2614255fe26391c0908991b26e8185bfa6c5037f Mon Sep 17 00:00:00 2001 From: Greg DiCristofaro Date: Thu, 2 Apr 2020 10:23:59 -0400 Subject: [PATCH 007/111] working through public api wrap layout --- .../StringsContentPanel.form | 426 ++++++++----- .../StringsContentPanel.java | 308 ++++----- .../autopsy/guiutils/WrapLayout.java | 603 ++++++++++++++++++ .../ui/TranslationContentPanel.form | 195 +++--- .../ui/TranslationContentPanel.java | 91 ++- 5 files changed, 1204 insertions(+), 419 deletions(-) create mode 100644 Core/src/org/sleuthkit/autopsy/guiutils/WrapLayout.java diff --git a/Core/src/org/sleuthkit/autopsy/contentviewers/textcontentviewer/StringsContentPanel.form b/Core/src/org/sleuthkit/autopsy/contentviewers/textcontentviewer/StringsContentPanel.form index 492636d4a1..55f37ad358 100644 --- a/Core/src/org/sleuthkit/autopsy/contentviewers/textcontentviewer/StringsContentPanel.form +++ b/Core/src/org/sleuthkit/autopsy/contentviewers/textcontentviewer/StringsContentPanel.form @@ -45,125 +45,54 @@ - - - - - - - - - - - - - - - - - + - - - - - - + + + + + + - + + + + - - - - - - - - - - - - - - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - + - + + + + + + + - + - - + + + + + + @@ -178,46 +107,67 @@ - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -231,6 +181,17 @@ + + + + + + + + + + + @@ -247,8 +208,14 @@ + + + + + + - + @@ -258,6 +225,77 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -265,33 +303,56 @@ + + + + + + + + + + + + + + + + + + + + - + - - - - - + + - - - - - + + + + + + + + + + + @@ -302,9 +363,70 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Core/src/org/sleuthkit/autopsy/contentviewers/textcontentviewer/StringsContentPanel.java b/Core/src/org/sleuthkit/autopsy/contentviewers/textcontentviewer/StringsContentPanel.java index 0a8e4cefb1..68fe3a7a6e 100644 --- a/Core/src/org/sleuthkit/autopsy/contentviewers/textcontentviewer/StringsContentPanel.java +++ b/Core/src/org/sleuthkit/autopsy/contentviewers/textcontentviewer/StringsContentPanel.java @@ -105,21 +105,34 @@ public class StringsContentPanel extends javax.swing.JPanel { rightClickMenu = new javax.swing.JPopupMenu(); copyMenuItem = new javax.swing.JMenuItem(); selectAllMenuItem = new javax.swing.JMenuItem(); + controlPanel = new javax.swing.JPanel(); + javax.swing.JPanel panelPageOfCount = new javax.swing.JPanel(); + pageLabel = new javax.swing.JLabel(); + javax.swing.JSeparator jSepMed1 = new javax.swing.JSeparator(); + currentPageLabel = new javax.swing.JLabel(); + javax.swing.JSeparator jSepMed2 = new javax.swing.JSeparator(); + ofLabel = new javax.swing.JLabel(); + javax.swing.JSeparator jSepMed3 = new javax.swing.JSeparator(); + totalPageLabel = new javax.swing.JLabel(); + javax.swing.JSeparator jSepMed4 = new javax.swing.JSeparator(); + javax.swing.JPanel panelPageNextPrevButton = new javax.swing.JPanel(); + pageLabel2 = new javax.swing.JLabel(); + javax.swing.JSeparator jSepMed5 = new javax.swing.JSeparator(); + prevPageButton = new javax.swing.JButton(); + javax.swing.JSeparator jSepXs1 = new javax.swing.JSeparator(); + nextPageButton = new javax.swing.JButton(); + javax.swing.JSeparator jSepMed6 = new javax.swing.JSeparator(); + javax.swing.JPanel panelGoToPage = new javax.swing.JPanel(); + goToPageLabel = new javax.swing.JLabel(); + javax.swing.JSeparator jSepSm1 = new javax.swing.JSeparator(); + goToPageTextField = new javax.swing.JTextField(); + javax.swing.JSeparator jSepMed7 = new javax.swing.JSeparator(); + panelScriptSelect = new javax.swing.JPanel(); + languageLabel = new javax.swing.JLabel(); + javax.swing.JSeparator jSepSm2 = new javax.swing.JSeparator(); + languageCombo = new javax.swing.JComboBox<>(); outputScrollPane = new javax.swing.JScrollPane(); outputViewPane = new javax.swing.JTextPane(); - controlScrollPane = new javax.swing.JScrollPane(); - controlPanel = new javax.swing.JPanel(); - totalPageLabel = new javax.swing.JLabel(); - ofLabel = new javax.swing.JLabel(); - currentPageLabel = new javax.swing.JLabel(); - pageLabel = new javax.swing.JLabel(); - nextPageButton = new javax.swing.JButton(); - pageLabel2 = new javax.swing.JLabel(); - prevPageButton = new javax.swing.JButton(); - goToPageLabel = new javax.swing.JLabel(); - goToPageTextField = new javax.swing.JTextField(); - languageCombo = new javax.swing.JComboBox<>(); - languageLabel = new javax.swing.JLabel(); copyMenuItem.setText(org.openide.util.NbBundle.getMessage(StringsContentPanel.class, "StringsContentPanel.copyMenuItem.text")); // NOI18N rightClickMenu.add(copyMenuItem); @@ -129,6 +142,141 @@ public class StringsContentPanel extends javax.swing.JPanel { setMinimumSize(new java.awt.Dimension(5, 5)); setPreferredSize(new java.awt.Dimension(100, 58)); + setLayout(new java.awt.BorderLayout()); + + controlPanel.setLayout(new java.awt.FlowLayout(java.awt.FlowLayout.LEFT, 5, 0)); + + panelPageOfCount.setLayout(new java.awt.FlowLayout(java.awt.FlowLayout.CENTER, 0, 0)); + + pageLabel.setText(org.openide.util.NbBundle.getMessage(StringsContentPanel.class, "StringsContentPanel.pageLabel.text_1")); // NOI18N + pageLabel.setMaximumSize(new java.awt.Dimension(33, 14)); + pageLabel.setMinimumSize(new java.awt.Dimension(33, 14)); + panelPageOfCount.add(pageLabel); + + jSepMed1.setPreferredSize(new java.awt.Dimension(5, 0)); + panelPageOfCount.add(jSepMed1); + + currentPageLabel.setText(org.openide.util.NbBundle.getMessage(StringsContentPanel.class, "StringsContentPanel.currentPageLabel.text_1")); // NOI18N + currentPageLabel.setMaximumSize(new java.awt.Dimension(18, 14)); + currentPageLabel.setPreferredSize(new java.awt.Dimension(18, 14)); + panelPageOfCount.add(currentPageLabel); + + jSepMed2.setPreferredSize(new java.awt.Dimension(5, 0)); + panelPageOfCount.add(jSepMed2); + + ofLabel.setText(org.openide.util.NbBundle.getMessage(StringsContentPanel.class, "StringsContentPanel.ofLabel.text_1")); // NOI18N + panelPageOfCount.add(ofLabel); + + jSepMed3.setPreferredSize(new java.awt.Dimension(5, 0)); + panelPageOfCount.add(jSepMed3); + + totalPageLabel.setText(org.openide.util.NbBundle.getMessage(StringsContentPanel.class, "StringsContentPanel.totalPageLabel.text_1")); // NOI18N + panelPageOfCount.add(totalPageLabel); + + jSepMed4.setPreferredSize(new java.awt.Dimension(5, 0)); + panelPageOfCount.add(jSepMed4); + + controlPanel.add(panelPageOfCount); + + panelPageNextPrevButton.setLayout(new java.awt.FlowLayout(java.awt.FlowLayout.LEFT, 0, 0)); + + pageLabel2.setText(org.openide.util.NbBundle.getMessage(StringsContentPanel.class, "StringsContentPanel.pageLabel2.text")); // NOI18N + pageLabel2.setMaximumSize(new java.awt.Dimension(29, 14)); + pageLabel2.setMinimumSize(new java.awt.Dimension(29, 14)); + panelPageNextPrevButton.add(pageLabel2); + + jSepMed5.setPreferredSize(new java.awt.Dimension(5, 0)); + panelPageNextPrevButton.add(jSepMed5); + + prevPageButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/corecomponents/btn_step_back.png"))); // NOI18N + prevPageButton.setText(org.openide.util.NbBundle.getMessage(StringsContentPanel.class, "StringsContentPanel.prevPageButton.text")); // NOI18N + prevPageButton.setBorderPainted(false); + prevPageButton.setContentAreaFilled(false); + prevPageButton.setDisabledIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/corecomponents/btn_step_back_disabled.png"))); // NOI18N + prevPageButton.setMargin(new java.awt.Insets(2, 0, 2, 0)); + prevPageButton.setMaximumSize(new java.awt.Dimension(20, 20)); + prevPageButton.setMinimumSize(new java.awt.Dimension(20, 20)); + prevPageButton.setPreferredSize(new java.awt.Dimension(20, 20)); + prevPageButton.setRolloverIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/corecomponents/btn_step_back_hover.png"))); // NOI18N + prevPageButton.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + prevPageButtonActionPerformed(evt); + } + }); + panelPageNextPrevButton.add(prevPageButton); + + jSepXs1.setMinimumSize(new java.awt.Dimension(1, 0)); + jSepXs1.setPreferredSize(new java.awt.Dimension(1, 0)); + panelPageNextPrevButton.add(jSepXs1); + + nextPageButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/corecomponents/btn_step_forward.png"))); // NOI18N + nextPageButton.setText(org.openide.util.NbBundle.getMessage(StringsContentPanel.class, "StringsContentPanel.nextPageButton.text")); // NOI18N + nextPageButton.setBorderPainted(false); + nextPageButton.setContentAreaFilled(false); + nextPageButton.setDisabledIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/corecomponents/btn_step_forward_disabled.png"))); // NOI18N + nextPageButton.setMargin(new java.awt.Insets(2, 0, 2, 0)); + nextPageButton.setMaximumSize(new java.awt.Dimension(20, 20)); + nextPageButton.setMinimumSize(new java.awt.Dimension(20, 20)); + nextPageButton.setPreferredSize(new java.awt.Dimension(20, 20)); + nextPageButton.setRolloverIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/corecomponents/btn_step_forward_hover.png"))); // NOI18N + nextPageButton.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + nextPageButtonActionPerformed(evt); + } + }); + panelPageNextPrevButton.add(nextPageButton); + + jSepMed6.setPreferredSize(new java.awt.Dimension(5, 0)); + panelPageNextPrevButton.add(jSepMed6); + + controlPanel.add(panelPageNextPrevButton); + + panelGoToPage.setLayout(new java.awt.FlowLayout(java.awt.FlowLayout.CENTER, 0, 0)); + + goToPageLabel.setText(org.openide.util.NbBundle.getMessage(StringsContentPanel.class, "StringsContentPanel.goToPageLabel.text")); // NOI18N + panelGoToPage.add(goToPageLabel); + + jSepSm1.setPreferredSize(new java.awt.Dimension(2, 0)); + panelGoToPage.add(jSepSm1); + + goToPageTextField.setText(org.openide.util.NbBundle.getMessage(StringsContentPanel.class, "StringsContentPanel.goToPageTextField.text")); // NOI18N + goToPageTextField.setMaximumSize(new java.awt.Dimension(2147483647, 25)); + goToPageTextField.setMinimumSize(new java.awt.Dimension(50, 25)); + goToPageTextField.setPreferredSize(new java.awt.Dimension(100, 25)); + goToPageTextField.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + goToPageTextFieldActionPerformed(evt); + } + }); + panelGoToPage.add(goToPageTextField); + + jSepMed7.setPreferredSize(new java.awt.Dimension(5, 0)); + panelGoToPage.add(jSepMed7); + + controlPanel.add(panelGoToPage); + + panelScriptSelect.setLayout(new java.awt.FlowLayout(java.awt.FlowLayout.CENTER, 0, 0)); + + languageLabel.setText(org.openide.util.NbBundle.getMessage(StringsContentPanel.class, "StringsContentPanel.languageLabel.text")); // NOI18N + languageLabel.setToolTipText(org.openide.util.NbBundle.getMessage(StringsContentPanel.class, "StringsContentPanel.languageLabel.toolTipText")); // NOI18N + panelScriptSelect.add(languageLabel); + + jSepSm2.setPreferredSize(new java.awt.Dimension(2, 0)); + panelScriptSelect.add(jSepSm2); + + languageCombo.setToolTipText(org.openide.util.NbBundle.getMessage(StringsContentPanel.class, "StringsContentPanel.languageCombo.toolTipText")); // NOI18N + languageCombo.setMinimumSize(new java.awt.Dimension(150, 25)); + languageCombo.setPreferredSize(new java.awt.Dimension(150, 25)); + languageCombo.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + languageComboActionPerformed(evt); + } + }); + panelScriptSelect.add(languageCombo); + + controlPanel.add(panelScriptSelect); + + add(controlPanel, java.awt.BorderLayout.NORTH); outputScrollPane.setPreferredSize(new java.awt.Dimension(640, 402)); @@ -137,137 +285,7 @@ public class StringsContentPanel extends javax.swing.JPanel { outputViewPane.setPreferredSize(new java.awt.Dimension(100, 40)); outputScrollPane.setViewportView(outputViewPane); - controlScrollPane.setHorizontalScrollBarPolicy(javax.swing.ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); - controlScrollPane.setVerticalScrollBarPolicy(javax.swing.ScrollPaneConstants.VERTICAL_SCROLLBAR_NEVER); - - totalPageLabel.setText(org.openide.util.NbBundle.getMessage(StringsContentPanel.class, "StringsContentPanel.totalPageLabel.text_1")); // NOI18N - - ofLabel.setText(org.openide.util.NbBundle.getMessage(StringsContentPanel.class, "StringsContentPanel.ofLabel.text_1")); // NOI18N - - currentPageLabel.setText(org.openide.util.NbBundle.getMessage(StringsContentPanel.class, "StringsContentPanel.currentPageLabel.text_1")); // NOI18N - currentPageLabel.setMaximumSize(new java.awt.Dimension(18, 14)); - currentPageLabel.setPreferredSize(new java.awt.Dimension(18, 14)); - - pageLabel.setText(org.openide.util.NbBundle.getMessage(StringsContentPanel.class, "StringsContentPanel.pageLabel.text_1")); // NOI18N - pageLabel.setMaximumSize(new java.awt.Dimension(33, 14)); - pageLabel.setMinimumSize(new java.awt.Dimension(33, 14)); - - nextPageButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/corecomponents/btn_step_forward.png"))); // NOI18N - nextPageButton.setText(org.openide.util.NbBundle.getMessage(StringsContentPanel.class, "StringsContentPanel.nextPageButton.text")); // NOI18N - nextPageButton.setBorderPainted(false); - nextPageButton.setContentAreaFilled(false); - nextPageButton.setDisabledIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/corecomponents/btn_step_forward_disabled.png"))); // NOI18N - nextPageButton.setMargin(new java.awt.Insets(2, 0, 2, 0)); - nextPageButton.setPreferredSize(new java.awt.Dimension(55, 23)); - nextPageButton.setRolloverIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/corecomponents/btn_step_forward_hover.png"))); // NOI18N - nextPageButton.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - nextPageButtonActionPerformed(evt); - } - }); - - pageLabel2.setText(org.openide.util.NbBundle.getMessage(StringsContentPanel.class, "StringsContentPanel.pageLabel2.text")); // NOI18N - pageLabel2.setMaximumSize(new java.awt.Dimension(29, 14)); - pageLabel2.setMinimumSize(new java.awt.Dimension(29, 14)); - - prevPageButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/corecomponents/btn_step_back.png"))); // NOI18N - prevPageButton.setText(org.openide.util.NbBundle.getMessage(StringsContentPanel.class, "StringsContentPanel.prevPageButton.text")); // NOI18N - prevPageButton.setBorderPainted(false); - prevPageButton.setContentAreaFilled(false); - prevPageButton.setDisabledIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/corecomponents/btn_step_back_disabled.png"))); // NOI18N - prevPageButton.setMargin(new java.awt.Insets(2, 0, 2, 0)); - prevPageButton.setPreferredSize(new java.awt.Dimension(55, 23)); - prevPageButton.setRolloverIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/corecomponents/btn_step_back_hover.png"))); // NOI18N - prevPageButton.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - prevPageButtonActionPerformed(evt); - } - }); - - goToPageLabel.setText(org.openide.util.NbBundle.getMessage(StringsContentPanel.class, "StringsContentPanel.goToPageLabel.text")); // NOI18N - - goToPageTextField.setText(org.openide.util.NbBundle.getMessage(StringsContentPanel.class, "StringsContentPanel.goToPageTextField.text")); // NOI18N - goToPageTextField.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - goToPageTextFieldActionPerformed(evt); - } - }); - - languageCombo.setToolTipText(org.openide.util.NbBundle.getMessage(StringsContentPanel.class, "StringsContentPanel.languageCombo.toolTipText")); // NOI18N - languageCombo.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - languageComboActionPerformed(evt); - } - }); - - languageLabel.setText(org.openide.util.NbBundle.getMessage(StringsContentPanel.class, "StringsContentPanel.languageLabel.text")); // NOI18N - languageLabel.setToolTipText(org.openide.util.NbBundle.getMessage(StringsContentPanel.class, "StringsContentPanel.languageLabel.toolTipText")); // NOI18N - - javax.swing.GroupLayout controlPanelLayout = new javax.swing.GroupLayout(controlPanel); - controlPanel.setLayout(controlPanelLayout); - controlPanelLayout.setHorizontalGroup( - controlPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(controlPanelLayout.createSequentialGroup() - .addContainerGap() - .addComponent(pageLabel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addGap(18, 18, 18) - .addComponent(currentPageLabel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) - .addComponent(ofLabel) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) - .addComponent(totalPageLabel) - .addGap(50, 50, 50) - .addComponent(pageLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(prevPageButton, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE) - .addGap(0, 0, 0) - .addComponent(nextPageButton, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE) - .addGap(18, 18, 18) - .addComponent(goToPageLabel) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(goToPageTextField, javax.swing.GroupLayout.PREFERRED_SIZE, 79, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addComponent(languageLabel) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(languageCombo, javax.swing.GroupLayout.PREFERRED_SIZE, 155, javax.swing.GroupLayout.PREFERRED_SIZE) - .addContainerGap()) - ); - controlPanelLayout.setVerticalGroup( - controlPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(controlPanelLayout.createSequentialGroup() - .addGroup(controlPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(controlPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(pageLabel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(currentPageLabel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(ofLabel) - .addComponent(totalPageLabel)) - .addComponent(pageLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(nextPageButton, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(prevPageButton, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(goToPageLabel) - .addGroup(controlPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(goToPageTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(languageCombo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(languageLabel))) - .addGap(0, 0, 0)) - ); - - controlScrollPane.setViewportView(controlPanel); - - javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this); - this.setLayout(layout); - layout.setHorizontalGroup( - layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(outputScrollPane, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE) - .addComponent(controlScrollPane, javax.swing.GroupLayout.DEFAULT_SIZE, 100, Short.MAX_VALUE) - ); - layout.setVerticalGroup( - layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(layout.createSequentialGroup() - .addComponent(controlScrollPane, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addGap(7, 7, 7) - .addComponent(outputScrollPane, javax.swing.GroupLayout.DEFAULT_SIZE, 26, Short.MAX_VALUE)) - ); + add(outputScrollPane, java.awt.BorderLayout.CENTER); }// //GEN-END:initComponents private void languageComboActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_languageComboActionPerformed @@ -319,7 +337,6 @@ public class StringsContentPanel extends javax.swing.JPanel { // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JPanel controlPanel; - private javax.swing.JScrollPane controlScrollPane; private javax.swing.JMenuItem copyMenuItem; private javax.swing.JLabel currentPageLabel; private javax.swing.JLabel goToPageLabel; @@ -332,6 +349,7 @@ public class StringsContentPanel extends javax.swing.JPanel { private javax.swing.JTextPane outputViewPane; private javax.swing.JLabel pageLabel; private javax.swing.JLabel pageLabel2; + private javax.swing.JPanel panelScriptSelect; private javax.swing.JButton prevPageButton; private javax.swing.JPopupMenu rightClickMenu; private javax.swing.JMenuItem selectAllMenuItem; diff --git a/Core/src/org/sleuthkit/autopsy/guiutils/WrapLayout.java b/Core/src/org/sleuthkit/autopsy/guiutils/WrapLayout.java new file mode 100644 index 0000000000..cad23fa3e8 --- /dev/null +++ b/Core/src/org/sleuthkit/autopsy/guiutils/WrapLayout.java @@ -0,0 +1,603 @@ +/* + * Autopsy Forensic Browser + * + * Copyright 2019 Basis Technology Corp. + * Contact: carrier sleuthkit org + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.sleuthkit.autopsy.guiutils; + +import java.awt.Component; +import java.awt.Container; +import java.awt.Dimension; +import java.awt.Insets; +import java.awt.LayoutManager; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.Collections; +import java.util.HashSet; +import java.util.List; +import java.util.Set; +import java.util.stream.Collectors; +import javax.swing.JScrollPane; +import javax.swing.SwingUtilities; + +/** + * A layout class similar to FlowLayout in that when a component can't fit in a + * row it is moved to the next row. Inspired by WrapLayout, this layout also + * allows for aligning some components in the opposite side. In instances where + * components are laid out left to right, these opposite aligned components will + * be aligned to the right. + * + * Inspired by WrapLayout + * https://tips4java.wordpress.com/2008/11/06/wrap-layout/ and FlowLayout + * https://raw.githubusercontent.com/mynawang/Java8-Source-Code/master/src/main/jdk8/java/awt/FlowLayout.java. + */ +public class WrapLayout implements LayoutManager, java.io.Serializable { + + private static final long serialVersionUID = 1L; + + /** + * The WrapLayout manager allows a seperation of components + * with gaps. The horizontal gap will specify the space between components + * and between the components and the borders of the Container. + * + * @serial + * @see #getHgap() + * @see #setHgap(int) + */ + private int hgap = 0; + + /** + * The WrapLayout manager allows a seperation of components + * with gaps. The vertical gap will specify the space between rows and + * between the the rows and the borders of the Container. + * + * @serial + * @see #getVgap() + * @see #setVgap(int) + */ + private int vgap = 0; + + /** + * If true, components will be aligned on their baseline. + */ + private boolean alignOnBaseline = false; + + /** + * The set of components that will be aligned on the opposite side (if left + * to right, on the right). + */ + private final Set oppositeAlignedItems = new HashSet<>(); + + /** + * Constructs a new WrapLayout with a left alignment and a + * default 5-unit horizontal and vertical gap. + */ + public WrapLayout() { + this(5, 5); + } + + /** + * Constructs a new WrapLayout with a left alignment and a + * default 0-unit horizontal and vertical gap. + */ + public WrapLayout(int vgap, int hgap) { + this.vgap = vgap; + this.hgap = hgap; + } + + /** + * Items in the collection will be aligned opposite to the rest. For + * instance, if items should be displayed left to right based on locale, + * these components will be on the right. + * + * @param oppAlignedComponents The components to display with opposite + * alignment. + */ + public void setOppositeAligned(Collection oppAlignedComponents) { + synchronized (this.oppositeAlignedItems) { + this.oppositeAlignedItems.clear(); + this.oppositeAlignedItems.addAll(oppAlignedComponents); + } + } + + /** + * Items in the collection will be aligned opposite to the rest. For + * instance, if items should be displayed left to right based on locale, + * these components will be on the right. + * + * @return The components to display with opposite alignment. + */ + public Collection getOppositeAlignedItems() { + return oppositeAlignedItems; + } + + /** + * Gets the horizontal gap between components and between the components and + * the borders of the Container + * + * @return The horizontal gap between components and between the components + * and the borders of the Container. + */ + public int getHgap() { + return hgap; + } + + /** + * Sets the horizontal gap between components and between the components and + * the borders of the Container. + * + * @param hgap The horizontal gap between components and between the + * components and the borders of the Container. + */ + public void setHgap(int hgap) { + this.hgap = hgap; + } + + /** + * Gets the vertical gap between components and between the components and + * the borders of the Container. + * + * @return The vertical gap between components and between the components + * and the borders of the Container. + */ + public int getVgap() { + return vgap; + } + + /** + * Sets the vertical gap between components and between the components and + * the borders of the Container. + * + * @param vgap The vertical gap between components and between the + * components and the borders of the Container. + */ + public void setVgap(int vgap) { + this.vgap = vgap; + } + + /** + * Sets whether or not components should be vertically aligned along their + * baseline. Components that do not have a baseline will be centered. The + * default is false. + * + * @param alignOnBaseline Whether or not components should be vertically + * aligned on their baseline. + */ + public void setAlignOnBaseline(boolean alignOnBaseline) { + this.alignOnBaseline = alignOnBaseline; + } + + /** + * Returns true if components are to be vertically aligned along their + * baseline. The default is false. + * + * @return true If components are to be vertically aligned along their + * baseline. + */ + public boolean getAlignOnBaseline() { + return alignOnBaseline; + } + + /** + * Adds the specified component to the layout. Not used by this class. + * + * @param name The name of the component. + * @param comp The component to be added. + */ + @Override + public void addLayoutComponent(String name, Component comp) { + } + + /** + * Removes the specified component from the layout. Not used by this class. + * + * @param comp The component to remove. + */ + @Override + public void removeLayoutComponent(Component comp) { + } + + /** + * Determines the subcomponent's y position. + * + * @param rowY The top y position of the row. + * @param alignBaseline Whether this component should be aligned on the + * baseline. + * @param rowHeight The height of the row. + * @param itemHeight The height of the item. + * + * @return The top y position of the component. + */ + private int getComponentY(int rowY, boolean alignBaseline, int rowHeight, int itemHeight) { + return alignBaseline + ? rowY + rowHeight - itemHeight + : rowY; + } + + /** + * * Determines the subcomponent's x position. + * + * @param leftX The leftmost position a component can be placed. + * @param rightX The rightmost position a component can be placed. + * @param ltr If the components should be laid out left to right. + * @param xPos The x position of the component (if left to right, + * how far from leftX; otherwise how far from rightX). + * @param componentWidth The component's width. + * + * @return The component's left x position. + */ + private int getComponentX(int leftX, int rightX, boolean ltr, int xPos, int componentWidth) { + return ltr ? leftX + xPos : rightX - xPos - componentWidth; + } + + /** + * Sets a subcomponent's size to preferred size and sets the (x,y) position + * for the component. + * + * @param comp The component. + * @param alignBaseline Whether this component should be aligned on the + * baseline. + * @param ltr If the components should be laid out left to right. + * @param rowY The top y position of the row. + * @param rowHeight The height of the row. + * @param leftX The leftmost position a component can be placed. + * @param rightX The rightmost position a component can be placed. + * @param xPos The x position of the component (if left to right, + * how far from leftX; otherwise how far from rightX). + * + * @return The width of the component. + */ + private int setComponentDims(Component comp, boolean alignBaseline, boolean ltr, int rowY, int rowHeight, int leftX, int rightX, int xPos) { + Dimension d = comp.getPreferredSize(); + comp.setSize(d); + + int x = getComponentX(leftX, rightX, ltr, xPos, d.width); + int y = getComponentY(rowY, alignBaseline, rowHeight, d.height); + comp.setLocation(x, y); + + return d.width; + } + + /** + * Lays out the container. This method lets each + * visible component take its preferred size by reshaping the + * components in the target container and creating new rows. + * + * @param target The specified component being laid out. + */ + @Override + public void layoutContainer(Container target) { + synchronized (target.getTreeLock()) { + synchronized (this.oppositeAlignedItems) { + ParentDimensions targetDims = getTargetDimensions(target); + List components = Arrays.asList(target.getComponents()); + List rows = getAllRows(components, true, targetDims.innerWidth); + + boolean ltr = target.getComponentOrientation().isLeftToRight(); + boolean useBaseline = getAlignOnBaseline(); + + int rowY = targetDims.insets.top + getVgap(); + int leftX = targetDims.insets.left + getHgap(); + int rightX = targetDims.outerWidth - targetDims.insets.right - getHgap(); + + for (Row row : rows) { + int rowHeight = row.height; + + int curX = 0; + if (row.components != null) { + for (Component origComp : row.components) { + curX += setComponentDims(origComp, useBaseline, ltr, rowY, rowHeight, leftX, rightX, curX) + getHgap(); + } + } + + if (row.oppositeAligned != null) { + curX = 0; + // reverse opposite aligned for layout purposes since flipping ltr + Collections.reverse(row.oppositeAligned); + for (Component oppAlignedComp : row.oppositeAligned) { + curX += setComponentDims(oppAlignedComp, useBaseline, !ltr, rowY, rowHeight, leftX, rightX, curX) + getHgap(); + } + } + + rowY += rowHeight + getVgap(); + } + } + } + } + + /** + * Returns the preferred dimensions for this layout given the + * visible components in the specified target container. + * + * @param target The component which needs to be laid out. + * + * @return The preferred dimensions to lay out the subcomponents of the + * specified container. + */ + @Override + public Dimension preferredLayoutSize(Container target) { + return layoutSize(target, true); + } + + /** + * Returns the minimum dimensions needed to layout the visible + * components contained in the specified target container. + * + * @param target The component which needs to be laid out. + * + * @return The minimum dimensions to lay out the subcomponents of the + * specified container. + */ + @Override + public Dimension minimumLayoutSize(Container target) { + Dimension minimum = layoutSize(target, false); + minimum.width -= (getHgap() + 1); + return minimum; + } + + /** + * This class provides metrics on the parent container dimensions. + */ + private static class ParentDimensions { + + /** + * The full width that the component can consume. + */ + final int outerWidth; + + /** + * The full width that subcomponent rows can consume. This is the + * outerWidth accounting for left and right insets. + */ + final int innerWidth; + + /** + * The insets of the parent container. + */ + final Insets insets; + + ParentDimensions(int outerWidth, int innerWidth, Insets insets) { + this.outerWidth = outerWidth; + this.innerWidth = innerWidth; + this.insets = insets; + } + } + + /** + * Derives metrics on the space allowed within the parent container for rows + * of components. + * + * @param target The target container. + * + * @return The dimensions for laying out components. + */ + private ParentDimensions getTargetDimensions(Container target) { + // Each row must fit with the width allocated to the containter. + // When the container width = 0, the preferred width of the container + // has not yet been calculated so lets ask for the maximum. + + int targetWidth = target.getSize().width; + Container container = target; + + while (container.getSize().width == 0 && container.getParent() != null) { + container = container.getParent(); + } + + targetWidth = container.getSize().width; + + if (targetWidth == 0) { + targetWidth = Integer.MAX_VALUE; + } + + int hgap = getHgap(); + + Insets insets = target.getInsets(); + int horizontalInsetsAndGap = insets.left + insets.right + (hgap * 2); + int maxWidth = targetWidth - horizontalInsetsAndGap; + + return new ParentDimensions(targetWidth, maxWidth, insets); + } + + /** + * Returns the minimum or preferred dimension needed to layout the target + * container. + * + * @param target Target to get layout size for. + * @param preferred Should preferred size be calculate.d + * + * @return The dimension to layout the target container. + */ + private Dimension layoutSize(Container target, boolean preferred) { + synchronized (target.getTreeLock()) { + synchronized (this.oppositeAlignedItems) { + ParentDimensions targetDims = getTargetDimensions(target); + List components = Arrays.asList(target.getComponents()); + List rows = getAllRows(components, preferred, targetDims.innerWidth); + + Integer containerHeight = rows.stream().map((r) -> r.height).reduce(0, Integer::sum); + // add in vertical gap between rows + if (rows.size() > 1) { + containerHeight += (rows.size() - 1) * getVgap(); + } + + containerHeight += targetDims.insets.top + targetDims.insets.bottom; + + Integer containerWidth = rows.stream().map((r) -> r.width).reduce(0, Math::max); + containerWidth += targetDims.insets.left + targetDims.insets.right + (getHgap() * 2); + + // When using a scroll pane or the DecoratedLookAndFeel we need to + // make sure the preferred size is less than the size of the + // target containter so shrinking the container size works + // correctly. Removing the horizontal gap is an easy way to do this. + Container scrollPane = SwingUtilities.getAncestorOfClass(JScrollPane.class, target); + + if (scrollPane != null && target.isValid()) { + containerWidth -= (getHgap() + 1); + } + + return new Dimension(containerWidth, containerHeight); + } + } + } + + /** + * A row of components in the WrapLayout. + */ + private class Row { + + /** + * The normally aligned components in the order that they will be laid + * out. + */ + final List components; + + /** + * The opposite aligned components in the order that they will be laid + * out. + */ + final List oppositeAligned; + + /** + * The minimum height of the row which is the maximum of the preferred + * heights of the components. + */ + final int height; + + /** + * The minimum width of the row which is the sum of the preferred widths + * of the subcomponents. + */ + final int width; + + public Row(List components, List oppositeAligned, int height, int width) { + this.components = components; + this.oppositeAligned = oppositeAligned; + this.height = height; + this.width = width; + } + } + + /** + * Retrieves the rows of wrap layout components. + * + * @param components The components to be laid out. + * @param preferred Whether or not to use preferred dimensions of + * subcomponents for determining rows. + * @param maxWidth The maximum width that a row can consume. + * + * @return The list of rows ordered from top to bottom. + */ + private List getAllRows(List components, boolean preferred, int maxWidth) { + List originalComp + = components + .stream() + .filter((comp) -> !this.oppositeAlignedItems.contains(comp)) + .collect(Collectors.toList()); + + List originalRowSet = getRowSet(originalComp, preferred, maxWidth); + + List oppositeAlignedComp + = components + .stream() + .filter((comp) -> this.oppositeAlignedItems.contains(comp)) + .collect(Collectors.toList()); + + // go in reverse order and then revert so we can use same getRowSet method + Collections.reverse(oppositeAlignedComp); + List oppositeRowSet = getRowSet(oppositeAlignedComp, preferred, maxWidth) + .stream() + .map((Row row) -> { + Collections.reverse(row.components); + return new Row(null, row.components, row.height, row.width); + }) + .collect(Collectors.toList()); + Collections.reverse(oppositeRowSet); + + List toReturn = new ArrayList<>(); + + // if there is a row of components that will have both normal and opposite aligned + // components, create the corresponding row. + if (originalRowSet.size() > 0 && oppositeRowSet.size() > 0) { + Row lastOrig = originalRowSet.get(originalRowSet.size() - 1); + Row firstOpp = oppositeRowSet.get(0); + + int proposedRowWidth = lastOrig.width + firstOpp.width + getHgap(); + if (proposedRowWidth <= maxWidth) { + Row middleRow = new Row(lastOrig.components, firstOpp.oppositeAligned, + Math.max(lastOrig.height, firstOpp.height), proposedRowWidth); + + toReturn.addAll(originalRowSet.subList(0, originalRowSet.size() - 1)); + toReturn.add(middleRow); + toReturn.addAll(oppositeRowSet.subList(1, oppositeRowSet.size())); + return toReturn; + } + } + + toReturn.addAll(originalRowSet); + toReturn.addAll(oppositeRowSet); + return toReturn; + } + + /** + * Handles determining rows for a single set of similarly aligned + * components. Used once for normal alignment and once for opposite aligned + * components. + * + * @param components The components in the set of similarly aligned items. + * @param preferred Whether or not to use preferred dimensions for + * components. + * @param maxWidth The maximum width components can consume. + * + * @return The list of rows determined. + */ + private List getRowSet(List components, boolean preferred, int maxWidth) { + List rows = new ArrayList<>(); + + List rowComponents = new ArrayList<>(); + int rowWidth = 0; + int rowHeight = 0; + + for (Component m : components) { + if (m.isVisible()) { + Dimension d = preferred ? m.getPreferredSize() : m.getMinimumSize(); + + // Can't add the component to current row. Start a new row. + if (rowWidth + d.width > maxWidth) { + rows.add(new Row(rowComponents, null, rowHeight, rowWidth)); + rowComponents = new ArrayList<>(); + rowWidth = 0; + rowHeight = 0; + } + + // Add a horizontal gap for all components after the first + if (rowWidth != 0) { + rowWidth += getHgap(); + } + + rowComponents.add(m); + rowWidth += d.width; + rowHeight = Math.max(rowHeight, d.height); + } + } + + if (rowComponents.size() > 0) { + rows.add(new Row(rowComponents, null, rowHeight, rowWidth)); + } + + return rows; + } +} diff --git a/Core/src/org/sleuthkit/autopsy/texttranslation/ui/TranslationContentPanel.form b/Core/src/org/sleuthkit/autopsy/texttranslation/ui/TranslationContentPanel.form index 1b66a2ae6b..4a736ef1d2 100644 --- a/Core/src/org/sleuthkit/autopsy/texttranslation/ui/TranslationContentPanel.form +++ b/Core/src/org/sleuthkit/autopsy/texttranslation/ui/TranslationContentPanel.form @@ -24,7 +24,7 @@ - + @@ -37,10 +37,14 @@ - + + + + + - + @@ -49,85 +53,128 @@ - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -149,4 +196,4 @@ - \ No newline at end of file + diff --git a/Core/src/org/sleuthkit/autopsy/texttranslation/ui/TranslationContentPanel.java b/Core/src/org/sleuthkit/autopsy/texttranslation/ui/TranslationContentPanel.java index 340dc830d8..62f87f0617 100644 --- a/Core/src/org/sleuthkit/autopsy/texttranslation/ui/TranslationContentPanel.java +++ b/Core/src/org/sleuthkit/autopsy/texttranslation/ui/TranslationContentPanel.java @@ -284,14 +284,15 @@ public class TranslationContentPanel extends javax.swing.JPanel { @SuppressWarnings("unchecked") // //GEN-BEGIN:initComponents private void initComponents() { - java.awt.GridBagConstraints gridBagConstraints; jPanel1 = new javax.swing.JPanel(); - displayTextComboBox = new javax.swing.JComboBox<>(); - ocrDropdown = new javax.swing.JComboBox<>(); - ocrLabel = new javax.swing.JLabel(); warningLabel = new javax.swing.JLabel(); + javax.swing.JPanel showPanel = new javax.swing.JPanel(); showLabel = new javax.swing.JLabel(); + displayTextComboBox = new javax.swing.JComboBox<>(); + javax.swing.JPanel ocrPanel = new javax.swing.JPanel(); + ocrLabel = new javax.swing.JLabel(); + ocrDropdown = new javax.swing.JComboBox<>(); textScrollPane = new javax.swing.JScrollPane(); setMaximumSize(new java.awt.Dimension(2000, 2000)); @@ -302,57 +303,51 @@ public class TranslationContentPanel extends javax.swing.JPanel { setLayout(new java.awt.BorderLayout()); jPanel1.setBorder(javax.swing.BorderFactory.createEtchedBorder()); - jPanel1.setMaximumSize(new java.awt.Dimension(182, 24)); - jPanel1.setPreferredSize(new java.awt.Dimension(182, 24)); - jPanel1.setLayout(new java.awt.GridBagLayout()); + jPanel1.setMaximumSize(new java.awt.Dimension(182, 25)); + jPanel1.setMinimumSize(new java.awt.Dimension(254, 25)); + jPanel1.setName(""); // NOI18N + jPanel1.setPreferredSize(new java.awt.Dimension(182, 25)); + jPanel1.setLayout(new java.awt.FlowLayout(java.awt.FlowLayout.LEFT, 5, 0)); - displayTextComboBox.setMinimumSize(new java.awt.Dimension(43, 20)); - displayTextComboBox.setPreferredSize(new java.awt.Dimension(43, 20)); - gridBagConstraints = new java.awt.GridBagConstraints(); - gridBagConstraints.gridx = 3; - gridBagConstraints.gridy = 0; - gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; - gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; - gridBagConstraints.weightx = 0.1; - gridBagConstraints.insets = new java.awt.Insets(0, 5, 0, 0); - jPanel1.add(displayTextComboBox, gridBagConstraints); + warningLabel.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/images/warning16.png"))); // NOI18N + warningLabel.setMaximumSize(new java.awt.Dimension(250, 25)); + warningLabel.setMinimumSize(new java.awt.Dimension(150, 25)); + warningLabel.setPreferredSize(new java.awt.Dimension(250, 25)); + jPanel1.add(warningLabel); - ocrDropdown.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "N/A" })); - ocrDropdown.setEnabled(false); - ocrDropdown.setName(""); // NOI18N - gridBagConstraints = new java.awt.GridBagConstraints(); - gridBagConstraints.gridx = 5; - gridBagConstraints.gridy = 0; - gridBagConstraints.gridwidth = 2; - gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; - gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; - gridBagConstraints.weightx = 0.1; - gridBagConstraints.insets = new java.awt.Insets(0, 5, 0, 0); - jPanel1.add(ocrDropdown, gridBagConstraints); + showPanel.setLayout(new java.awt.FlowLayout(java.awt.FlowLayout.CENTER, 0, 0)); + + org.openide.awt.Mnemonics.setLocalizedText(showLabel, org.openide.util.NbBundle.getMessage(TranslationContentPanel.class, "TranslationContentPanel.showLabel.text")); // NOI18N + showLabel.setMaximumSize(new java.awt.Dimension(42, 25)); + showLabel.setMinimumSize(new java.awt.Dimension(42, 25)); + showLabel.setPreferredSize(new java.awt.Dimension(42, 25)); + showPanel.add(showLabel); + + displayTextComboBox.setMaximumSize(new java.awt.Dimension(170, 25)); + displayTextComboBox.setMinimumSize(new java.awt.Dimension(170, 25)); + displayTextComboBox.setPreferredSize(new java.awt.Dimension(170, 25)); + showPanel.add(displayTextComboBox); + + jPanel1.add(showPanel); + + ocrPanel.setLayout(new java.awt.FlowLayout(java.awt.FlowLayout.CENTER, 0, 0)); org.openide.awt.Mnemonics.setLocalizedText(ocrLabel, org.openide.util.NbBundle.getMessage(TranslationContentPanel.class, "TranslationContentPanel.ocrLabel.text")); // NOI18N ocrLabel.setEnabled(false); - gridBagConstraints = new java.awt.GridBagConstraints(); - gridBagConstraints.gridx = 4; - gridBagConstraints.gridy = 0; - gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; - gridBagConstraints.insets = new java.awt.Insets(0, 10, 0, 0); - jPanel1.add(ocrLabel, gridBagConstraints); + ocrLabel.setMaximumSize(new java.awt.Dimension(40, 25)); + ocrLabel.setMinimumSize(new java.awt.Dimension(25, 16)); + ocrLabel.setPreferredSize(new java.awt.Dimension(40, 25)); + ocrPanel.add(ocrLabel); - warningLabel.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/images/warning16.png"))); // NOI18N - gridBagConstraints = new java.awt.GridBagConstraints(); - gridBagConstraints.gridx = 0; - gridBagConstraints.gridy = 0; - gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; - gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; - gridBagConstraints.weightx = 0.25; - jPanel1.add(warningLabel, gridBagConstraints); + ocrDropdown.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "N/A" })); + ocrDropdown.setEnabled(false); + ocrDropdown.setMaximumSize(new java.awt.Dimension(170, 25)); + ocrDropdown.setMinimumSize(new java.awt.Dimension(170, 25)); + ocrDropdown.setName(""); // NOI18N + ocrDropdown.setPreferredSize(new java.awt.Dimension(170, 25)); + ocrPanel.add(ocrDropdown); - org.openide.awt.Mnemonics.setLocalizedText(showLabel, org.openide.util.NbBundle.getMessage(TranslationContentPanel.class, "TranslationContentPanel.showLabel.text")); // NOI18N - gridBagConstraints = new java.awt.GridBagConstraints(); - gridBagConstraints.gridx = 2; - gridBagConstraints.gridy = 0; - jPanel1.add(showLabel, gridBagConstraints); + jPanel1.add(ocrPanel); add(jPanel1, java.awt.BorderLayout.NORTH); From 20281bbf0053930285ec55eff45d6b31977787ba Mon Sep 17 00:00:00 2001 From: Greg DiCristofaro Date: Thu, 2 Apr 2020 14:05:23 -0400 Subject: [PATCH 008/111] fine tuning of resizing --- .../StringsContentPanel.form | 79 +-- .../StringsContentPanel.java | 55 +- .../texttranslation/ui/Bundle.properties | 1 + .../ui/TranslationContentPanel.form | 139 +++-- .../ui/TranslationContentPanel.java | 82 ++- .../keywordsearch/ExtractedContentPanel.form | 8 +- .../keywordsearch/ExtractedContentPanel.java | 24 +- .../autopsy/keywordsearch/WrapLayout.java | 495 ------------------ 8 files changed, 260 insertions(+), 623 deletions(-) delete mode 100644 KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/WrapLayout.java diff --git a/Core/src/org/sleuthkit/autopsy/contentviewers/textcontentviewer/StringsContentPanel.form b/Core/src/org/sleuthkit/autopsy/contentviewers/textcontentviewer/StringsContentPanel.form index 55f37ad358..265c1b77de 100644 --- a/Core/src/org/sleuthkit/autopsy/contentviewers/textcontentviewer/StringsContentPanel.form +++ b/Core/src/org/sleuthkit/autopsy/contentviewers/textcontentviewer/StringsContentPanel.form @@ -27,10 +27,10 @@ - + - + @@ -43,6 +43,7 @@ + @@ -76,10 +77,13 @@ - + - + + + + @@ -100,10 +104,13 @@ - + + + + - + @@ -123,6 +130,15 @@ + + + + + + + + + @@ -141,6 +157,15 @@ + + + + + + + + + @@ -174,10 +199,13 @@ - + - + + + + @@ -209,13 +237,13 @@ - + - + - + @@ -225,20 +253,6 @@ - - - - - - - - - - - - - - @@ -256,13 +270,13 @@ - + - + - + @@ -326,7 +340,7 @@ - + @@ -402,11 +416,6 @@ - - - - - @@ -422,7 +431,7 @@ - + diff --git a/Core/src/org/sleuthkit/autopsy/contentviewers/textcontentviewer/StringsContentPanel.java b/Core/src/org/sleuthkit/autopsy/contentviewers/textcontentviewer/StringsContentPanel.java index 68fe3a7a6e..d13a9aea06 100644 --- a/Core/src/org/sleuthkit/autopsy/contentviewers/textcontentviewer/StringsContentPanel.java +++ b/Core/src/org/sleuthkit/autopsy/contentviewers/textcontentviewer/StringsContentPanel.java @@ -21,6 +21,7 @@ package org.sleuthkit.autopsy.contentviewers.textcontentviewer; import java.awt.Cursor; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; +import java.util.Arrays; import java.util.List; import java.util.logging.Level; import org.openide.util.NbBundle; @@ -32,6 +33,7 @@ import org.sleuthkit.autopsy.coreutils.StringExtract; import org.sleuthkit.autopsy.coreutils.StringExtract.StringExtractResult; import org.sleuthkit.autopsy.coreutils.StringExtract.StringExtractUnicodeTable.SCRIPT; import org.sleuthkit.autopsy.datamodel.StringContent; +import org.sleuthkit.autopsy.guiutils.WrapLayout; import org.sleuthkit.datamodel.Content; import org.sleuthkit.datamodel.TskCoreException; @@ -78,6 +80,11 @@ public class StringsContentPanel extends javax.swing.JPanel { languageCombo.addItem(s); }); + // use wrap layout for better component wrapping + WrapLayout layout = new WrapLayout(0,5); + layout.setOppositeAligned(Arrays.asList(panelScriptSelect)); + controlPanel.setLayout(layout); + } final void resetDisplay() { @@ -119,7 +126,6 @@ public class StringsContentPanel extends javax.swing.JPanel { pageLabel2 = new javax.swing.JLabel(); javax.swing.JSeparator jSepMed5 = new javax.swing.JSeparator(); prevPageButton = new javax.swing.JButton(); - javax.swing.JSeparator jSepXs1 = new javax.swing.JSeparator(); nextPageButton = new javax.swing.JButton(); javax.swing.JSeparator jSepMed6 = new javax.swing.JSeparator(); javax.swing.JPanel panelGoToPage = new javax.swing.JPanel(); @@ -140,8 +146,8 @@ public class StringsContentPanel extends javax.swing.JPanel { selectAllMenuItem.setText(org.openide.util.NbBundle.getMessage(StringsContentPanel.class, "StringsContentPanel.selectAllMenuItem.text")); // NOI18N rightClickMenu.add(selectAllMenuItem); - setMinimumSize(new java.awt.Dimension(5, 5)); - setPreferredSize(new java.awt.Dimension(100, 58)); + setMinimumSize(new java.awt.Dimension(250, 5)); + setPreferredSize(new java.awt.Dimension(250, 58)); setLayout(new java.awt.BorderLayout()); controlPanel.setLayout(new java.awt.FlowLayout(java.awt.FlowLayout.LEFT, 5, 0)); @@ -149,28 +155,36 @@ public class StringsContentPanel extends javax.swing.JPanel { panelPageOfCount.setLayout(new java.awt.FlowLayout(java.awt.FlowLayout.CENTER, 0, 0)); pageLabel.setText(org.openide.util.NbBundle.getMessage(StringsContentPanel.class, "StringsContentPanel.pageLabel.text_1")); // NOI18N - pageLabel.setMaximumSize(new java.awt.Dimension(33, 14)); - pageLabel.setMinimumSize(new java.awt.Dimension(33, 14)); + pageLabel.setMaximumSize(new java.awt.Dimension(33, 25)); + pageLabel.setMinimumSize(new java.awt.Dimension(33, 25)); + pageLabel.setPreferredSize(new java.awt.Dimension(32, 25)); panelPageOfCount.add(pageLabel); jSepMed1.setPreferredSize(new java.awt.Dimension(5, 0)); panelPageOfCount.add(jSepMed1); currentPageLabel.setText(org.openide.util.NbBundle.getMessage(StringsContentPanel.class, "StringsContentPanel.currentPageLabel.text_1")); // NOI18N - currentPageLabel.setMaximumSize(new java.awt.Dimension(18, 14)); - currentPageLabel.setPreferredSize(new java.awt.Dimension(18, 14)); + currentPageLabel.setMaximumSize(new java.awt.Dimension(18, 25)); + currentPageLabel.setMinimumSize(new java.awt.Dimension(7, 25)); + currentPageLabel.setPreferredSize(new java.awt.Dimension(18, 25)); panelPageOfCount.add(currentPageLabel); jSepMed2.setPreferredSize(new java.awt.Dimension(5, 0)); panelPageOfCount.add(jSepMed2); ofLabel.setText(org.openide.util.NbBundle.getMessage(StringsContentPanel.class, "StringsContentPanel.ofLabel.text_1")); // NOI18N + ofLabel.setMaximumSize(new java.awt.Dimension(11, 25)); + ofLabel.setMinimumSize(new java.awt.Dimension(11, 25)); + ofLabel.setPreferredSize(new java.awt.Dimension(11, 25)); panelPageOfCount.add(ofLabel); jSepMed3.setPreferredSize(new java.awt.Dimension(5, 0)); panelPageOfCount.add(jSepMed3); totalPageLabel.setText(org.openide.util.NbBundle.getMessage(StringsContentPanel.class, "StringsContentPanel.totalPageLabel.text_1")); // NOI18N + totalPageLabel.setMaximumSize(new java.awt.Dimension(21, 25)); + totalPageLabel.setMinimumSize(new java.awt.Dimension(21, 25)); + totalPageLabel.setPreferredSize(new java.awt.Dimension(21, 25)); panelPageOfCount.add(totalPageLabel); jSepMed4.setPreferredSize(new java.awt.Dimension(5, 0)); @@ -181,8 +195,9 @@ public class StringsContentPanel extends javax.swing.JPanel { panelPageNextPrevButton.setLayout(new java.awt.FlowLayout(java.awt.FlowLayout.LEFT, 0, 0)); pageLabel2.setText(org.openide.util.NbBundle.getMessage(StringsContentPanel.class, "StringsContentPanel.pageLabel2.text")); // NOI18N - pageLabel2.setMaximumSize(new java.awt.Dimension(29, 14)); - pageLabel2.setMinimumSize(new java.awt.Dimension(29, 14)); + pageLabel2.setMaximumSize(new java.awt.Dimension(29, 25)); + pageLabel2.setMinimumSize(new java.awt.Dimension(29, 25)); + pageLabel2.setPreferredSize(new java.awt.Dimension(29, 25)); panelPageNextPrevButton.add(pageLabel2); jSepMed5.setPreferredSize(new java.awt.Dimension(5, 0)); @@ -194,9 +209,9 @@ public class StringsContentPanel extends javax.swing.JPanel { prevPageButton.setContentAreaFilled(false); prevPageButton.setDisabledIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/corecomponents/btn_step_back_disabled.png"))); // NOI18N prevPageButton.setMargin(new java.awt.Insets(2, 0, 2, 0)); - prevPageButton.setMaximumSize(new java.awt.Dimension(20, 20)); - prevPageButton.setMinimumSize(new java.awt.Dimension(20, 20)); - prevPageButton.setPreferredSize(new java.awt.Dimension(20, 20)); + prevPageButton.setMaximumSize(new java.awt.Dimension(25, 25)); + prevPageButton.setMinimumSize(new java.awt.Dimension(20, 25)); + prevPageButton.setPreferredSize(new java.awt.Dimension(25, 25)); prevPageButton.setRolloverIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/corecomponents/btn_step_back_hover.png"))); // NOI18N prevPageButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { @@ -205,19 +220,15 @@ public class StringsContentPanel extends javax.swing.JPanel { }); panelPageNextPrevButton.add(prevPageButton); - jSepXs1.setMinimumSize(new java.awt.Dimension(1, 0)); - jSepXs1.setPreferredSize(new java.awt.Dimension(1, 0)); - panelPageNextPrevButton.add(jSepXs1); - nextPageButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/corecomponents/btn_step_forward.png"))); // NOI18N nextPageButton.setText(org.openide.util.NbBundle.getMessage(StringsContentPanel.class, "StringsContentPanel.nextPageButton.text")); // NOI18N nextPageButton.setBorderPainted(false); nextPageButton.setContentAreaFilled(false); nextPageButton.setDisabledIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/corecomponents/btn_step_forward_disabled.png"))); // NOI18N nextPageButton.setMargin(new java.awt.Insets(2, 0, 2, 0)); - nextPageButton.setMaximumSize(new java.awt.Dimension(20, 20)); - nextPageButton.setMinimumSize(new java.awt.Dimension(20, 20)); - nextPageButton.setPreferredSize(new java.awt.Dimension(20, 20)); + nextPageButton.setMaximumSize(new java.awt.Dimension(25, 25)); + nextPageButton.setMinimumSize(new java.awt.Dimension(20, 25)); + nextPageButton.setPreferredSize(new java.awt.Dimension(25, 25)); nextPageButton.setRolloverIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/corecomponents/btn_step_forward_hover.png"))); // NOI18N nextPageButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { @@ -242,7 +253,7 @@ public class StringsContentPanel extends javax.swing.JPanel { goToPageTextField.setText(org.openide.util.NbBundle.getMessage(StringsContentPanel.class, "StringsContentPanel.goToPageTextField.text")); // NOI18N goToPageTextField.setMaximumSize(new java.awt.Dimension(2147483647, 25)); goToPageTextField.setMinimumSize(new java.awt.Dimension(50, 25)); - goToPageTextField.setPreferredSize(new java.awt.Dimension(100, 25)); + goToPageTextField.setPreferredSize(new java.awt.Dimension(70, 25)); goToPageTextField.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { goToPageTextFieldActionPerformed(evt); @@ -278,11 +289,9 @@ public class StringsContentPanel extends javax.swing.JPanel { add(controlPanel, java.awt.BorderLayout.NORTH); - outputScrollPane.setPreferredSize(new java.awt.Dimension(640, 402)); - outputViewPane.setEditable(false); outputViewPane.setFont(new java.awt.Font("Courier New", 0, 11)); // NOI18N - outputViewPane.setPreferredSize(new java.awt.Dimension(100, 40)); + outputViewPane.setPreferredSize(null); outputScrollPane.setViewportView(outputViewPane); add(outputScrollPane, java.awt.BorderLayout.CENTER); diff --git a/Core/src/org/sleuthkit/autopsy/texttranslation/ui/Bundle.properties b/Core/src/org/sleuthkit/autopsy/texttranslation/ui/Bundle.properties index ac480ca0e1..6ae7ed7d12 100644 --- a/Core/src/org/sleuthkit/autopsy/texttranslation/ui/Bundle.properties +++ b/Core/src/org/sleuthkit/autopsy/texttranslation/ui/Bundle.properties @@ -4,3 +4,4 @@ TranslationContentPanel.ocrLabel.text=OCR: TranslationOptionsPanelController.moduleErr=Module Error TranslationOptionsPanelController.moduleErr.msg=A module caused an error listening to TranslationSettingsPanelController updates. See log to determine which module. Some data could be incomplete. TranslationContentPanel.showLabel.text=Show: +TranslationContentPanel.jSepLarge1.AccessibleContext.accessibleName= diff --git a/Core/src/org/sleuthkit/autopsy/texttranslation/ui/TranslationContentPanel.form b/Core/src/org/sleuthkit/autopsy/texttranslation/ui/TranslationContentPanel.form index 4a736ef1d2..4dabce0985 100644 --- a/Core/src/org/sleuthkit/autopsy/texttranslation/ui/TranslationContentPanel.form +++ b/Core/src/org/sleuthkit/autopsy/texttranslation/ui/TranslationContentPanel.form @@ -6,11 +6,11 @@ - + - + @@ -24,28 +24,20 @@ - + - + - - - - - - + - + - - - @@ -58,28 +50,66 @@ - + - - - - + - - - - + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -97,10 +127,21 @@ - + + + + + + + + + + + + @@ -123,16 +164,36 @@ - - - - + + + + + + + + + + + + + + + + + + + + + + + + @@ -146,10 +207,21 @@ - + + + + + + + + + + + + @@ -183,8 +255,11 @@ + + + - + diff --git a/Core/src/org/sleuthkit/autopsy/texttranslation/ui/TranslationContentPanel.java b/Core/src/org/sleuthkit/autopsy/texttranslation/ui/TranslationContentPanel.java index 62f87f0617..4f6fbd7271 100644 --- a/Core/src/org/sleuthkit/autopsy/texttranslation/ui/TranslationContentPanel.java +++ b/Core/src/org/sleuthkit/autopsy/texttranslation/ui/TranslationContentPanel.java @@ -25,11 +25,13 @@ import java.awt.Font; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; import javax.swing.JComboBox; import org.openide.util.NbBundle; import org.openide.util.NbBundle.Messages; import org.sleuthkit.autopsy.corecomponents.AutoWrappingJTextPane; +import org.sleuthkit.autopsy.guiutils.WrapLayout; /** * A JPanel used by TranslatedContentViewer to display machine translation of @@ -49,6 +51,7 @@ public class TranslationContentPanel extends javax.swing.JPanel { */ public TranslationContentPanel() { initComponents(); + additionalInitComponents(); DISPLAY_PANE = new AutoWrappingJTextPane(); DISPLAY_PANE.setEditable(false); @@ -255,6 +258,13 @@ public class TranslationContentPanel extends javax.swing.JPanel { LANGUAGE_NAMES = createLanguageBiMap(); } + private void additionalInitComponents() { + // use wrap layout for better component wrapping + WrapLayout layout = new WrapLayout(0,5); + layout.setOppositeAligned(Arrays.asList(showPanel, ocrPanel)); + controlPanel.setLayout(layout); + } + /** * Selection choices to be displayed in the combobox dropdown. */ @@ -285,60 +295,88 @@ public class TranslationContentPanel extends javax.swing.JPanel { // //GEN-BEGIN:initComponents private void initComponents() { - jPanel1 = new javax.swing.JPanel(); + controlPanel = new javax.swing.JPanel(); + javax.swing.JPanel warningLabelPanel = new javax.swing.JPanel(); warningLabel = new javax.swing.JLabel(); - javax.swing.JPanel showPanel = new javax.swing.JPanel(); + jSeparator1 = new javax.swing.JSeparator(); + showPanel = new javax.swing.JPanel(); showLabel = new javax.swing.JLabel(); + javax.swing.JSeparator jSepMed1 = new javax.swing.JSeparator(); displayTextComboBox = new javax.swing.JComboBox<>(); - javax.swing.JPanel ocrPanel = new javax.swing.JPanel(); + ocrPanel = new javax.swing.JPanel(); + javax.swing.JSeparator jSepLarge1 = new javax.swing.JSeparator(); ocrLabel = new javax.swing.JLabel(); + javax.swing.JSeparator jSepMed2 = new javax.swing.JSeparator(); ocrDropdown = new javax.swing.JComboBox<>(); textScrollPane = new javax.swing.JScrollPane(); setMaximumSize(new java.awt.Dimension(2000, 2000)); - setMinimumSize(new java.awt.Dimension(2, 2)); + setMinimumSize(new java.awt.Dimension(250, 2)); setName(""); // NOI18N - setPreferredSize(new java.awt.Dimension(100, 58)); + setPreferredSize(new java.awt.Dimension(250, 58)); setVerifyInputWhenFocusTarget(false); setLayout(new java.awt.BorderLayout()); - jPanel1.setBorder(javax.swing.BorderFactory.createEtchedBorder()); - jPanel1.setMaximumSize(new java.awt.Dimension(182, 25)); - jPanel1.setMinimumSize(new java.awt.Dimension(254, 25)); - jPanel1.setName(""); // NOI18N - jPanel1.setPreferredSize(new java.awt.Dimension(182, 25)); - jPanel1.setLayout(new java.awt.FlowLayout(java.awt.FlowLayout.LEFT, 5, 0)); + controlPanel.setMaximumSize(new java.awt.Dimension(20000, 20000)); + controlPanel.setMinimumSize(new java.awt.Dimension(2, 25)); + controlPanel.setName(""); // NOI18N + controlPanel.setLayout(new java.awt.FlowLayout(java.awt.FlowLayout.LEFT, 5, 0)); + + warningLabelPanel.setMaximumSize(new java.awt.Dimension(32767, 25)); + warningLabelPanel.setMinimumSize(new java.awt.Dimension(2, 25)); + warningLabelPanel.setLayout(new java.awt.FlowLayout(java.awt.FlowLayout.CENTER, 0, 0)); warningLabel.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/images/warning16.png"))); // NOI18N warningLabel.setMaximumSize(new java.awt.Dimension(250, 25)); warningLabel.setMinimumSize(new java.awt.Dimension(150, 25)); - warningLabel.setPreferredSize(new java.awt.Dimension(250, 25)); - jPanel1.add(warningLabel); + warningLabel.setPreferredSize(null); + warningLabelPanel.add(warningLabel); + jSeparator1.setMaximumSize(new java.awt.Dimension(1, 25)); + jSeparator1.setMinimumSize(new java.awt.Dimension(1, 25)); + jSeparator1.setPreferredSize(new java.awt.Dimension(1, 25)); + warningLabelPanel.add(jSeparator1); + + controlPanel.add(warningLabelPanel); + + showPanel.setMaximumSize(new java.awt.Dimension(32767, 25)); + showPanel.setMinimumSize(new java.awt.Dimension(0, 25)); showPanel.setLayout(new java.awt.FlowLayout(java.awt.FlowLayout.CENTER, 0, 0)); org.openide.awt.Mnemonics.setLocalizedText(showLabel, org.openide.util.NbBundle.getMessage(TranslationContentPanel.class, "TranslationContentPanel.showLabel.text")); // NOI18N showLabel.setMaximumSize(new java.awt.Dimension(42, 25)); showLabel.setMinimumSize(new java.awt.Dimension(42, 25)); - showLabel.setPreferredSize(new java.awt.Dimension(42, 25)); + showLabel.setPreferredSize(null); showPanel.add(showLabel); + jSepMed1.setPreferredSize(new java.awt.Dimension(5, 0)); + showPanel.add(jSepMed1); + displayTextComboBox.setMaximumSize(new java.awt.Dimension(170, 25)); displayTextComboBox.setMinimumSize(new java.awt.Dimension(170, 25)); displayTextComboBox.setPreferredSize(new java.awt.Dimension(170, 25)); showPanel.add(displayTextComboBox); - jPanel1.add(showPanel); + controlPanel.add(showPanel); + ocrPanel.setMaximumSize(new java.awt.Dimension(32767, 25)); + ocrPanel.setMinimumSize(new java.awt.Dimension(0, 25)); ocrPanel.setLayout(new java.awt.FlowLayout(java.awt.FlowLayout.CENTER, 0, 0)); + jSepLarge1.setPreferredSize(new java.awt.Dimension(10, 0)); + ocrPanel.add(jSepLarge1); + jSepLarge1.getAccessibleContext().setAccessibleName(org.openide.util.NbBundle.getMessage(TranslationContentPanel.class, "TranslationContentPanel.jSepLarge1.AccessibleContext.accessibleName")); // NOI18N + org.openide.awt.Mnemonics.setLocalizedText(ocrLabel, org.openide.util.NbBundle.getMessage(TranslationContentPanel.class, "TranslationContentPanel.ocrLabel.text")); // NOI18N ocrLabel.setEnabled(false); ocrLabel.setMaximumSize(new java.awt.Dimension(40, 25)); ocrLabel.setMinimumSize(new java.awt.Dimension(25, 16)); - ocrLabel.setPreferredSize(new java.awt.Dimension(40, 25)); + ocrLabel.setPreferredSize(null); ocrPanel.add(ocrLabel); + jSepMed2.setPreferredSize(new java.awt.Dimension(5, 0)); + ocrPanel.add(jSepMed2); + ocrDropdown.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "N/A" })); ocrDropdown.setEnabled(false); ocrDropdown.setMaximumSize(new java.awt.Dimension(170, 25)); @@ -347,22 +385,26 @@ public class TranslationContentPanel extends javax.swing.JPanel { ocrDropdown.setPreferredSize(new java.awt.Dimension(170, 25)); ocrPanel.add(ocrDropdown); - jPanel1.add(ocrPanel); + controlPanel.add(ocrPanel); - add(jPanel1, java.awt.BorderLayout.NORTH); + add(controlPanel, java.awt.BorderLayout.NORTH); textScrollPane.setHorizontalScrollBarPolicy(javax.swing.ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); textScrollPane.setMaximumSize(new java.awt.Dimension(20000, 20000)); - textScrollPane.setPreferredSize(new java.awt.Dimension(640, 250)); + textScrollPane.setMinimumSize(new java.awt.Dimension(20, 20)); + textScrollPane.setPreferredSize(new java.awt.Dimension(20, 20)); add(textScrollPane, java.awt.BorderLayout.CENTER); }// //GEN-END:initComponents // Variables declaration - do not modify//GEN-BEGIN:variables + private javax.swing.JPanel controlPanel; private javax.swing.JComboBox displayTextComboBox; - private javax.swing.JPanel jPanel1; + private javax.swing.JSeparator jSeparator1; private javax.swing.JComboBox ocrDropdown; private javax.swing.JLabel ocrLabel; + private javax.swing.JPanel ocrPanel; private javax.swing.JLabel showLabel; + private javax.swing.JPanel showPanel; private javax.swing.JScrollPane textScrollPane; private javax.swing.JLabel warningLabel; // End of variables declaration//GEN-END:variables diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/ExtractedContentPanel.form b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/ExtractedContentPanel.form index 7add18aa42..13e535f4ed 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/ExtractedContentPanel.form +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/ExtractedContentPanel.form @@ -27,10 +27,10 @@ - + - + @@ -571,10 +571,10 @@ - + - + diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/ExtractedContentPanel.java b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/ExtractedContentPanel.java index 11425a2a7d..8ff9c0fdcc 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/ExtractedContentPanel.java +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/ExtractedContentPanel.java @@ -47,6 +47,7 @@ import org.openide.util.NbBundle; import org.sleuthkit.autopsy.coreutils.EscapeUtil; import org.sleuthkit.autopsy.coreutils.Logger; import org.sleuthkit.autopsy.coreutils.TextUtil; +import org.sleuthkit.autopsy.guiutils.WrapLayout; /** * Panel displays HTML content sent to ExtractedContentViewer, and provides a @@ -187,8 +188,7 @@ class ExtractedContentPanel extends javax.swing.JPanel implements ResizableTextP private void additionalInit() { // use wrap layout for better component wrapping - WrapLayout layout = new WrapLayout(); - layout.setHgap(5); + WrapLayout layout = new WrapLayout(0,5); layout.setOppositeAligned(Arrays.asList(textSourcePanel)); controlPanel.setLayout(layout); } @@ -209,13 +209,13 @@ class ExtractedContentPanel extends javax.swing.JPanel implements ResizableTextP controlPanel = new javax.swing.JPanel(); javax.swing.JPanel pagePanel = new javax.swing.JPanel(); pagesLabel = new javax.swing.JLabel(); - fillerSmall1 = new javax.swing.Box.Filler(new java.awt.Dimension(5, 0), new java.awt.Dimension(5, 0), new java.awt.Dimension(5, 32767)); + javax.swing.Box.Filler fillerSmall1 = new javax.swing.Box.Filler(new java.awt.Dimension(5, 0), new java.awt.Dimension(5, 0), new java.awt.Dimension(5, 32767)); pageCurLabel = new javax.swing.JLabel(); - fillerSmall2 = new javax.swing.Box.Filler(new java.awt.Dimension(5, 0), new java.awt.Dimension(5, 0), new java.awt.Dimension(5, 32767)); + javax.swing.Box.Filler fillerSmall2 = new javax.swing.Box.Filler(new java.awt.Dimension(5, 0), new java.awt.Dimension(5, 0), new java.awt.Dimension(5, 32767)); pageOfLabel = new javax.swing.JLabel(); - fillerSmall3 = new javax.swing.Box.Filler(new java.awt.Dimension(5, 0), new java.awt.Dimension(5, 0), new java.awt.Dimension(5, 32767)); + javax.swing.Box.Filler fillerSmall3 = new javax.swing.Box.Filler(new java.awt.Dimension(5, 0), new java.awt.Dimension(5, 0), new java.awt.Dimension(5, 32767)); pageTotalLabel = new javax.swing.JLabel(); - fillerSmall4 = new javax.swing.Box.Filler(new java.awt.Dimension(5, 0), new java.awt.Dimension(5, 0), new java.awt.Dimension(5, 32767)); + javax.swing.Box.Filler fillerSmall4 = new javax.swing.Box.Filler(new java.awt.Dimension(5, 0), new java.awt.Dimension(5, 0), new java.awt.Dimension(5, 32767)); pageButtonsLabel = new javax.swing.JLabel(); javax.swing.Box.Filler fillerMed1 = new javax.swing.Box.Filler(new java.awt.Dimension(10, 0), new java.awt.Dimension(10, 0), new java.awt.Dimension(10, 32767)); pagePreviousButton = new javax.swing.JButton(); @@ -250,8 +250,8 @@ class ExtractedContentPanel extends javax.swing.JPanel implements ResizableTextP selectAllMenuItem.setText(org.openide.util.NbBundle.getMessage(ExtractedContentPanel.class, "ExtractedContentPanel.selectAllMenuItem.text")); // NOI18N rightClickMenu.add(selectAllMenuItem); - setMinimumSize(new java.awt.Dimension(100, 0)); - setPreferredSize(new java.awt.Dimension(100, 58)); + setMinimumSize(new java.awt.Dimension(250, 0)); + setPreferredSize(new java.awt.Dimension(250, 58)); setLayout(new java.awt.BorderLayout()); controlPanel.setLayout(new java.awt.FlowLayout(java.awt.FlowLayout.LEFT, 0, 0)); @@ -393,8 +393,8 @@ class ExtractedContentPanel extends javax.swing.JPanel implements ResizableTextP sourceComboBox.setModel(new javax.swing.DefaultComboBoxModel()); sourceComboBox.setMaximumSize(new java.awt.Dimension(150, 32767)); - sourceComboBox.setMinimumSize(new java.awt.Dimension(150, 20)); - sourceComboBox.setPreferredSize(new java.awt.Dimension(150, 20)); + sourceComboBox.setMinimumSize(new java.awt.Dimension(150, 25)); + sourceComboBox.setPreferredSize(new java.awt.Dimension(150, 25)); textSourcePanel.add(sourceComboBox); controlPanel.add(textSourcePanel); @@ -418,10 +418,6 @@ class ExtractedContentPanel extends javax.swing.JPanel implements ResizableTextP private javax.swing.JMenuItem copyMenuItem; private javax.swing.JScrollPane extractedScrollPane; private javax.swing.JTextPane extractedTextPane; - private javax.swing.Box.Filler fillerSmall1; - private javax.swing.Box.Filler fillerSmall2; - private javax.swing.Box.Filler fillerSmall3; - private javax.swing.Box.Filler fillerSmall4; private javax.swing.JLabel hitButtonsLabel; private javax.swing.JLabel hitCountLabel; private javax.swing.JLabel hitLabel; diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/WrapLayout.java b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/WrapLayout.java deleted file mode 100644 index ac9e7e4afb..0000000000 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/WrapLayout.java +++ /dev/null @@ -1,495 +0,0 @@ -/* - * Autopsy Forensic Browser - * - * Copyright 2019 Basis Technology Corp. - * Contact: carrier sleuthkit org - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.sleuthkit.autopsy.keywordsearch; - -import java.awt.Component; -import java.awt.Container; -import java.awt.Dimension; -import java.awt.Insets; -import java.awt.LayoutManager; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collection; -import java.util.Collections; -import java.util.HashSet; -import java.util.List; -import java.util.Set; -import java.util.stream.Collectors; -import javax.swing.JScrollPane; -import javax.swing.SwingUtilities; - -/** - * FlowLayout subclass that fully supports wrapping of components. - * - * Originally written by Rob Camick - * https://tips4java.wordpress.com/2008/11/06/wrap-layout/ - */ -class WrapLayout implements LayoutManager, java.io.Serializable { - - private static final long serialVersionUID = 1L; - - - /** - * The flow layout manager allows a seperation of - * components with gaps. The horizontal gap will - * specify the space between components and between - * the components and the borders of the - * Container. - * - * @serial - * @see #getHgap() - * @see #setHgap(int) - */ - private int hgap; - - /** - * The flow layout manager allows a seperation of - * components with gaps. The vertical gap will - * specify the space between rows and between the - * the rows and the borders of the Container. - * - * @serial - * @see #getHgap() - * @see #setHgap(int) - */ - private int vgap; - - /** - * If true, components will be aligned on their baseline. - */ - private boolean alignOnBaseline; - - - - - - private final Set oppositeAlignedItems = new HashSet<>(); - - /** - * Constructs a new WrapLayout with a left alignment and a - * default 5-unit horizontal and vertical gap. - */ - WrapLayout() { - super(); - } - - - void setOppositeAligned(Collection rightAlignedComponents) { - synchronized (this.oppositeAlignedItems) { - this.oppositeAlignedItems.clear(); - this.oppositeAlignedItems.addAll(rightAlignedComponents); - } - } - - Set getOppositeAlignedItems() { - return oppositeAlignedItems; - } - - - /** - * Gets the horizontal gap between components - * and between the components and the borders - * of the Container - * - * @return the horizontal gap between components - * and between the components and the borders - * of the Container - * @see java.awt.FlowLayout#setHgap - * @since JDK1.1 - */ - int getHgap() { - return hgap; - } - - /** - * Sets the horizontal gap between components and - * between the components and the borders of the - * Container. - * - * @param hgap the horizontal gap between components - * and between the components and the borders - * of the Container - * @see java.awt.FlowLayout#getHgap - * @since JDK1.1 - */ - void setHgap(int hgap) { - this.hgap = hgap; - } - - /** - * Gets the vertical gap between components and - * between the components and the borders of the - * Container. - * - * @return the vertical gap between components - * and between the components and the borders - * of the Container - * @see java.awt.FlowLayout#setVgap - * @since JDK1.1 - */ - int getVgap() { - return vgap; - } - - /** - * Sets the vertical gap between components and between - * the components and the borders of the Container. - * - * @param vgap the vertical gap between components - * and between the components and the borders - * of the Container - * @see java.awt.FlowLayout#getVgap - * @since JDK1.1 - */ - void setVgap(int vgap) { - this.vgap = vgap; - } - - /** - * Sets whether or not components should be vertically aligned along their - * baseline. Components that do not have a baseline will be centered. - * The default is false. - * - * @param alignOnBaseline whether or not components should be - * vertically aligned on their baseline - * @since 1.6 - */ - void setAlignOnBaseline(boolean alignOnBaseline) { - this.alignOnBaseline = alignOnBaseline; - } - - /** - * Returns true if components are to be vertically aligned along - * their baseline. The default is false. - * - * @return true if components are to be vertically aligned along - * their baseline - * @since 1.6 - */ - boolean getAlignOnBaseline() { - return alignOnBaseline; - } - - /** - * Adds the specified component to the layout. - * Not used by this class. - * @param name the name of the component - * @param comp the component to be added - */ - @Override - public void addLayoutComponent(String name, Component comp) { - } - - /** - * Removes the specified component from the layout. - * Not used by this class. - * @param comp the component to remove - * @see java.awt.Container#removeAll - */ - @Override - public void removeLayoutComponent(Component comp) { - } - - - - private int getComponentY(int rowY, boolean alignBaseline, int rowHeight, int itemHeight) { - return alignBaseline ? - rowY + rowHeight - itemHeight : - rowY; - } - - private int getComponentX(int leftX, int rightX, boolean ltr, int xPos, int componentWidth) { - return ltr ? leftX + xPos : rightX - xPos - componentWidth; - } - - private int setComponentDims(Component comp, boolean alignBaseline, boolean ltr, int rowY, int rowHeight, int leftX, int rightX, int xPos) { - Dimension d = comp.getPreferredSize(); - comp.setSize(d); - - int x = getComponentX(leftX, rightX, ltr, xPos, d.width); - int y = getComponentY(rowY, alignBaseline, rowHeight, d.height); - comp.setLocation(x, y); - - return d.width; - } - - - /** - * Lays out the container. This method lets each - * visible component take its preferred size by reshaping the - * components in the target container in order to satisfy the alignment of - * this FlowLayout object. Taken from - * https://raw.githubusercontent.com/mynawang/Java8-Source-Code/master/src/main/jdk8/java/awt/FlowLayout.java. - * - * @param target the specified component being laid out - * - * @see Container - * @see java.awt.Container#doLayout - */ - @Override - public void layoutContainer(Container target) { - synchronized (target.getTreeLock()) { - synchronized (this.oppositeAlignedItems) { - ParentDimensions targetDims = getTargetDimensions(target); - List components = Arrays.asList(target.getComponents()); - List rows = getAllRows(components, true, targetDims.innerWidth); - - boolean ltr = target.getComponentOrientation().isLeftToRight(); - boolean useBaseline = getAlignOnBaseline(); - - int rowY = targetDims.insets.top + getVgap(); - int leftX = targetDims.insets.left + getHgap(); - int rightX = targetDims.outerWidth - targetDims.insets.right - getHgap(); - - for (Row row : rows) { - int rowHeight = row.height; - - int curX = 0; - if (row.components != null) { - for (Component origComp : row.components) - curX += setComponentDims(origComp, useBaseline, ltr, rowY, rowHeight, leftX, rightX, curX) + getHgap(); - } - - if (row.oppositeAligned != null) { - curX = 0; - // reverse opposite aligned for layout purposes since flipping ltr - Collections.reverse(row.oppositeAligned); - for (Component oppAlignedComp : row.oppositeAligned) - curX += setComponentDims(oppAlignedComp, useBaseline, !ltr, rowY, rowHeight, leftX, rightX, curX) + getHgap(); - } - - rowY += rowHeight + getVgap(); - } - } - } - } - - /** - * Returns the preferred dimensions for this layout given the - * visible components in the specified target container. - * - * @param target the component which needs to be laid out - * - * @return the preferred dimensions to lay out the subcomponents of the - * specified container - */ - @Override - public Dimension preferredLayoutSize(Container target) { - return layoutSize(target, true); - } - - /** - * Returns the minimum dimensions needed to layout the visible - * components contained in the specified target container. - * - * @param target the component which needs to be laid out - * - * @return the minimum dimensions to lay out the subcomponents of the - * specified container - */ - @Override - public Dimension minimumLayoutSize(Container target) { - Dimension minimum = layoutSize(target, false); - minimum.width -= (getHgap() + 1); - return minimum; - } - - private static class ParentDimensions { - - final int outerWidth; - final int innerWidth; - final Insets insets; - - ParentDimensions(int outerWidth, int innerWidth, Insets insets) { - this.outerWidth = outerWidth; - this.innerWidth = innerWidth; - this.insets = insets; - } - } - - private ParentDimensions getTargetDimensions(Container target) { - // Each row must fit with the width allocated to the containter. - // When the container width = 0, the preferred width of the container - // has not yet been calculated so lets ask for the maximum. - - int targetWidth = target.getSize().width; - Container container = target; - - while (container.getSize().width == 0 && container.getParent() != null) { - container = container.getParent(); - } - - targetWidth = container.getSize().width; - - if (targetWidth == 0) { - targetWidth = Integer.MAX_VALUE; - } - - int hgap = getHgap(); - - Insets insets = target.getInsets(); - int horizontalInsetsAndGap = insets.left + insets.right + (hgap * 2); - int maxWidth = targetWidth - horizontalInsetsAndGap; - - return new ParentDimensions(targetWidth, maxWidth, insets); - } - - /** - * Returns the minimum or preferred dimension needed to layout the target - * container. - * - * @param target target to get layout size for - * @param preferred should preferred size be calculated - * - * @return the dimension to layout the target container - */ - private Dimension layoutSize(Container target, boolean preferred) { - synchronized (target.getTreeLock()) { - synchronized (this.oppositeAlignedItems) { - ParentDimensions targetDims = getTargetDimensions(target); - List components = Arrays.asList(target.getComponents()); - List rows = getAllRows(components, preferred, targetDims.innerWidth); - - Integer containerHeight = rows.stream().map((r) -> r.height).reduce(0, Integer::sum); - // add in vertical gap between rows - if (rows.size() > 1) { - containerHeight += (rows.size() - 1) * getVgap(); - } - - containerHeight += targetDims.insets.top + targetDims.insets.bottom; - - Integer containerWidth = rows.stream().map((r) -> r.width).reduce(0, Math::max); - containerWidth += targetDims.insets.left + targetDims.insets.right + (getHgap() * 2); - - // When using a scroll pane or the DecoratedLookAndFeel we need to - // make sure the preferred size is less than the size of the - // target containter so shrinking the container size works - // correctly. Removing the horizontal gap is an easy way to do this. - Container scrollPane = SwingUtilities.getAncestorOfClass(JScrollPane.class, target); - - if (scrollPane != null && target.isValid()) { - containerWidth -= (getHgap() + 1); - } - - return new Dimension(containerWidth, containerHeight); - } - } - } - - private class Row { - - final List components; - final List oppositeAligned; - final int height; - final int width; - - public Row(List components, List oppositeAligned, int height, int width) { - this.components = components; - this.oppositeAligned = oppositeAligned; - this.height = height; - this.width = width; - } - } - - private List getAllRows(List components, boolean preferred, int maxWidth) { - List originalComp - = components - .stream() - .filter((comp) -> !this.oppositeAlignedItems.contains(comp)) - .collect(Collectors.toList()); - - List originalRowSet = getRowSet(originalComp, preferred, maxWidth); - - List oppositeAlignedComp - = components - .stream() - .filter((comp) -> this.oppositeAlignedItems.contains(comp)) - .collect(Collectors.toList()); - - // go in reverse order and then revert so we can use same getRowSet method - Collections.reverse(oppositeAlignedComp); - List oppositeRowSet = getRowSet(oppositeAlignedComp, preferred, maxWidth) - .stream() - .map((Row row) -> { - Collections.reverse(row.components); - return new Row(null, row.components, row.height, row.width); - }) - .collect(Collectors.toList()); - Collections.reverse(oppositeRowSet); - - List toReturn = new ArrayList<>(); - - if (originalRowSet.size() > 0 && oppositeRowSet.size() > 0) { - Row lastOrig = originalRowSet.get(originalRowSet.size() - 1); - Row firstOpp = oppositeRowSet.get(0); - - int proposedRowWidth = lastOrig.width + firstOpp.width + getHgap(); - if (proposedRowWidth <= maxWidth) { - Row middleRow = new Row(lastOrig.components, firstOpp.oppositeAligned, - Math.max(lastOrig.height, firstOpp.height), proposedRowWidth); - - toReturn.addAll(originalRowSet.subList(0, originalRowSet.size() - 1)); - toReturn.add(middleRow); - toReturn.addAll(oppositeRowSet.subList(1, oppositeRowSet.size())); - return toReturn; - } - } - - toReturn.addAll(originalRowSet); - toReturn.addAll(oppositeRowSet); - return toReturn; - } - - private List getRowSet(List components, boolean preferred, int maxWidth) { - List rows = new ArrayList<>(); - - List rowComponents = new ArrayList<>(); - int rowWidth = 0; - int rowHeight = 0; - - for (Component m : components) { - if (m.isVisible()) { - Dimension d = preferred ? m.getPreferredSize() : m.getMinimumSize(); - - // Can't add the component to current row. Start a new row. - if (rowWidth + d.width > maxWidth) { - rows.add(new Row(rowComponents, null, rowHeight, rowWidth)); - rowComponents = new ArrayList<>(); - rowWidth = 0; - rowHeight = 0; - } - - // Add a horizontal gap for all components after the first - if (rowWidth != 0) { - rowWidth += getHgap(); - } - - rowComponents.add(m); - rowWidth += d.width; - rowHeight = Math.max(rowHeight, d.height); - } - } - - if (rowComponents.size() > 0) { - rows.add(new Row(rowComponents, null, rowHeight, rowWidth)); - } - - return rows; - } -} From f54e9dc9ddb64ed980745c7af74ec552a572560f Mon Sep 17 00:00:00 2001 From: Greg DiCristofaro Date: Thu, 2 Apr 2020 16:08:43 -0400 Subject: [PATCH 009/111] update for fonts --- .../textcontentviewer/StringsContentPanel.form | 6 ------ .../textcontentviewer/StringsContentPanel.java | 2 -- 2 files changed, 8 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/contentviewers/textcontentviewer/StringsContentPanel.form b/Core/src/org/sleuthkit/autopsy/contentviewers/textcontentviewer/StringsContentPanel.form index 265c1b77de..6253570c82 100644 --- a/Core/src/org/sleuthkit/autopsy/contentviewers/textcontentviewer/StringsContentPanel.form +++ b/Core/src/org/sleuthkit/autopsy/contentviewers/textcontentviewer/StringsContentPanel.form @@ -427,12 +427,6 @@ - - - - - - diff --git a/Core/src/org/sleuthkit/autopsy/contentviewers/textcontentviewer/StringsContentPanel.java b/Core/src/org/sleuthkit/autopsy/contentviewers/textcontentviewer/StringsContentPanel.java index d13a9aea06..95cbee43b7 100644 --- a/Core/src/org/sleuthkit/autopsy/contentviewers/textcontentviewer/StringsContentPanel.java +++ b/Core/src/org/sleuthkit/autopsy/contentviewers/textcontentviewer/StringsContentPanel.java @@ -290,8 +290,6 @@ public class StringsContentPanel extends javax.swing.JPanel { add(controlPanel, java.awt.BorderLayout.NORTH); outputViewPane.setEditable(false); - outputViewPane.setFont(new java.awt.Font("Courier New", 0, 11)); // NOI18N - outputViewPane.setPreferredSize(null); outputScrollPane.setViewportView(outputViewPane); add(outputScrollPane, java.awt.BorderLayout.CENTER); From 5036610b55c9e280fffd3ddb4fbf8547e9636f22 Mon Sep 17 00:00:00 2001 From: Greg DiCristofaro Date: Fri, 3 Apr 2020 10:20:32 -0400 Subject: [PATCH 010/111] addressing some codacy issues --- .../autopsy/guiutils/WrapLayout.java | 40 ++++++++++--------- 1 file changed, 21 insertions(+), 19 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/guiutils/WrapLayout.java b/Core/src/org/sleuthkit/autopsy/guiutils/WrapLayout.java index cad23fa3e8..3ced895ce7 100644 --- a/Core/src/org/sleuthkit/autopsy/guiutils/WrapLayout.java +++ b/Core/src/org/sleuthkit/autopsy/guiutils/WrapLayout.java @@ -194,6 +194,7 @@ public class WrapLayout implements LayoutManager, java.io.Serializable { /** * Adds the specified component to the layout. Not used by this class. + * NOTE: This is not used for this layout * * @param name The name of the component. * @param comp The component to be added. @@ -204,6 +205,7 @@ public class WrapLayout implements LayoutManager, java.io.Serializable { /** * Removes the specified component from the layout. Not used by this class. + * NOTE: This is not used for this layout * * @param comp The component to remove. */ @@ -285,7 +287,7 @@ public class WrapLayout implements LayoutManager, java.io.Serializable { synchronized (this.oppositeAlignedItems) { ParentDimensions targetDims = getTargetDimensions(target); List components = Arrays.asList(target.getComponents()); - List rows = getAllRows(components, true, targetDims.innerWidth); + List rows = getAllRows(components, true, targetDims.innerWidth); boolean ltr = target.getComponentOrientation().isLeftToRight(); boolean useBaseline = getAlignOnBaseline(); @@ -294,7 +296,7 @@ public class WrapLayout implements LayoutManager, java.io.Serializable { int leftX = targetDims.insets.left + getHgap(); int rightX = targetDims.outerWidth - targetDims.insets.right - getHgap(); - for (Row row : rows) { + for (WrapLayoutRow row : rows) { int rowHeight = row.height; int curX = 0; @@ -426,7 +428,7 @@ public class WrapLayout implements LayoutManager, java.io.Serializable { synchronized (this.oppositeAlignedItems) { ParentDimensions targetDims = getTargetDimensions(target); List components = Arrays.asList(target.getComponents()); - List rows = getAllRows(components, preferred, targetDims.innerWidth); + List rows = getAllRows(components, preferred, targetDims.innerWidth); Integer containerHeight = rows.stream().map((r) -> r.height).reduce(0, Integer::sum); // add in vertical gap between rows @@ -457,7 +459,7 @@ public class WrapLayout implements LayoutManager, java.io.Serializable { /** * A row of components in the WrapLayout. */ - private class Row { + private class WrapLayoutRow { /** * The normally aligned components in the order that they will be laid @@ -483,7 +485,7 @@ public class WrapLayout implements LayoutManager, java.io.Serializable { */ final int width; - public Row(List components, List oppositeAligned, int height, int width) { + public WrapLayoutRow(List components, List oppositeAligned, int height, int width) { this.components = components; this.oppositeAligned = oppositeAligned; this.height = height; @@ -501,14 +503,14 @@ public class WrapLayout implements LayoutManager, java.io.Serializable { * * @return The list of rows ordered from top to bottom. */ - private List getAllRows(List components, boolean preferred, int maxWidth) { + private List getAllRows(List components, boolean preferred, int maxWidth) { List originalComp = components .stream() .filter((comp) -> !this.oppositeAlignedItems.contains(comp)) .collect(Collectors.toList()); - List originalRowSet = getRowSet(originalComp, preferred, maxWidth); + List originalRowSet = getRowSet(originalComp, preferred, maxWidth); List oppositeAlignedComp = components @@ -518,26 +520,26 @@ public class WrapLayout implements LayoutManager, java.io.Serializable { // go in reverse order and then revert so we can use same getRowSet method Collections.reverse(oppositeAlignedComp); - List oppositeRowSet = getRowSet(oppositeAlignedComp, preferred, maxWidth) + List oppositeRowSet = getRowSet(oppositeAlignedComp, preferred, maxWidth) .stream() - .map((Row row) -> { + .map((WrapLayoutRow row) -> { Collections.reverse(row.components); - return new Row(null, row.components, row.height, row.width); + return new WrapLayoutRow(null, row.components, row.height, row.width); }) .collect(Collectors.toList()); Collections.reverse(oppositeRowSet); - List toReturn = new ArrayList<>(); + List toReturn = new ArrayList<>(); // if there is a row of components that will have both normal and opposite aligned // components, create the corresponding row. - if (originalRowSet.size() > 0 && oppositeRowSet.size() > 0) { - Row lastOrig = originalRowSet.get(originalRowSet.size() - 1); - Row firstOpp = oppositeRowSet.get(0); + if (!originalRowSet.isEmpty() && !oppositeRowSet.isEmpty()) { + WrapLayoutRow lastOrig = originalRowSet.get(originalRowSet.size() - 1); + WrapLayoutRow firstOpp = oppositeRowSet.get(0); int proposedRowWidth = lastOrig.width + firstOpp.width + getHgap(); if (proposedRowWidth <= maxWidth) { - Row middleRow = new Row(lastOrig.components, firstOpp.oppositeAligned, + WrapLayoutRow middleRow = new WrapLayoutRow(lastOrig.components, firstOpp.oppositeAligned, Math.max(lastOrig.height, firstOpp.height), proposedRowWidth); toReturn.addAll(originalRowSet.subList(0, originalRowSet.size() - 1)); @@ -564,8 +566,8 @@ public class WrapLayout implements LayoutManager, java.io.Serializable { * * @return The list of rows determined. */ - private List getRowSet(List components, boolean preferred, int maxWidth) { - List rows = new ArrayList<>(); + private List getRowSet(List components, boolean preferred, int maxWidth) { + List rows = new ArrayList<>(); List rowComponents = new ArrayList<>(); int rowWidth = 0; @@ -577,7 +579,7 @@ public class WrapLayout implements LayoutManager, java.io.Serializable { // Can't add the component to current row. Start a new row. if (rowWidth + d.width > maxWidth) { - rows.add(new Row(rowComponents, null, rowHeight, rowWidth)); + rows.add(new WrapLayoutRow(rowComponents, null, rowHeight, rowWidth)); rowComponents = new ArrayList<>(); rowWidth = 0; rowHeight = 0; @@ -595,7 +597,7 @@ public class WrapLayout implements LayoutManager, java.io.Serializable { } if (rowComponents.size() > 0) { - rows.add(new Row(rowComponents, null, rowHeight, rowWidth)); + rows.add(new WrapLayoutRow(rowComponents, null, rowHeight, rowWidth)); } return rows; From 3c0c42eb65c6e487cfa0bb2a9168c899a8be289c Mon Sep 17 00:00:00 2001 From: Greg DiCristofaro Date: Fri, 3 Apr 2020 10:35:44 -0400 Subject: [PATCH 011/111] addressing some codacy issues --- Core/src/org/sleuthkit/autopsy/guiutils/WrapLayout.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Core/src/org/sleuthkit/autopsy/guiutils/WrapLayout.java b/Core/src/org/sleuthkit/autopsy/guiutils/WrapLayout.java index 3ced895ce7..0101180320 100644 --- a/Core/src/org/sleuthkit/autopsy/guiutils/WrapLayout.java +++ b/Core/src/org/sleuthkit/autopsy/guiutils/WrapLayout.java @@ -596,7 +596,7 @@ public class WrapLayout implements LayoutManager, java.io.Serializable { } } - if (rowComponents.size() > 0) { + if (!rowComponents.isEmpty()) { rows.add(new WrapLayoutRow(rowComponents, null, rowHeight, rowWidth)); } From 1c8aadf9ff1346e665d0b44fedd35a4fe20d5bc1 Mon Sep 17 00:00:00 2001 From: Greg DiCristofaro Date: Fri, 3 Apr 2020 10:46:54 -0400 Subject: [PATCH 012/111] commenting fix --- Core/src/org/sleuthkit/autopsy/guiutils/WrapLayout.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/guiutils/WrapLayout.java b/Core/src/org/sleuthkit/autopsy/guiutils/WrapLayout.java index 0101180320..921aea586d 100644 --- a/Core/src/org/sleuthkit/autopsy/guiutils/WrapLayout.java +++ b/Core/src/org/sleuthkit/autopsy/guiutils/WrapLayout.java @@ -91,8 +91,10 @@ public class WrapLayout implements LayoutManager, java.io.Serializable { } /** - * Constructs a new WrapLayout with a left alignment and a - * default 0-unit horizontal and vertical gap. + * Constructs a new WrapLayout with a left alignment. + * + * @param vgap The vertical gap spacing between rows of components. + * @param hgap The horizontal gap spacing between components. */ public WrapLayout(int vgap, int hgap) { this.vgap = vgap; From 7d3a9d6d023c1400ea03168253251c1f7484a068 Mon Sep 17 00:00:00 2001 From: Greg DiCristofaro Date: Fri, 3 Apr 2020 15:30:51 -0400 Subject: [PATCH 013/111] begin refactoring delete orphan nodes to accomodate changes --- .../autoingest/DeleteOrphanCaseNodesTask.java | 181 ++++++++++++------ 1 file changed, 122 insertions(+), 59 deletions(-) diff --git a/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/DeleteOrphanCaseNodesTask.java b/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/DeleteOrphanCaseNodesTask.java index 16f0592548..949bf0e8f2 100755 --- a/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/DeleteOrphanCaseNodesTask.java +++ b/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/DeleteOrphanCaseNodesTask.java @@ -21,7 +21,13 @@ package org.sleuthkit.autopsy.experimental.autoingest; import java.io.File; import java.nio.file.Path; import java.nio.file.Paths; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; import java.util.logging.Level; import org.openide.util.NbBundle; import org.sleuthkit.autopsy.casemodule.multiusercases.CoordinationServiceUtils; @@ -43,6 +49,26 @@ final class DeleteOrphanCaseNodesTask implements Runnable { private int nodesCount; private int casesCount; + + final static class OrphanCaseNodeEntry { + final String caseName; + final String nodePath; + + public OrphanCaseNodeEntry(String caseName, String nodePath) { + this.caseName = caseName; + this.nodePath = nodePath; + } + + public String getCaseName() { + return caseName; + } + + public String getNodePath() { + return nodePath; + } + } + + /** * Constucts an instance of a task for deleting case coordination service * nodes for which there is no longer a corresponding case. @@ -52,7 +78,74 @@ final class DeleteOrphanCaseNodesTask implements Runnable { DeleteOrphanCaseNodesTask(ProgressIndicator progress) { this.progress = progress; } + + + private CoordinationService getCoordinationService() { + progress.progress(Bundle.DeleteOrphanCaseNodesTask_progress_connectingToCoordSvc()); + logger.log(Level.INFO, Bundle.DeleteOrphanCaseNodesTask_progress_connectingToCoordSvc()); + CoordinationService coordinationService = null; + try { + coordinationService = CoordinationService.getInstance(); + } catch (CoordinationService.CoordinationServiceException ex) { + logger.log(Level.SEVERE, "Error connecting to the coordination service", ex); //NON-NLS + } + return coordinationService; + } + + + private List getNodePaths(CoordinationService coordinationService) { + progress.progress(Bundle.DeleteOrphanCaseNodesTask_progress_gettingCaseZnodes()); + logger.log(Level.INFO, Bundle.DeleteOrphanCaseNodesTask_progress_gettingCaseZnodes()); + List nodePaths = null; + try { + nodePaths = coordinationService.getNodeList(CoordinationService.CategoryNode.CASES); + // in the event that getNodeList returns null (but still successful) return empty list + if (nodePaths == null) + return new ArrayList(); + } catch (CoordinationService.CoordinationServiceException ex) { + logger.log(Level.SEVERE, "Error getting case znode list", ex); //NON-NLS + } catch (InterruptedException unused) { + logger.log(Level.WARNING, "Task cancelled while getting case znode list"); //NON-NLS + } + + return nodePaths; + } + + private void addIfExists(List paths, String path) { + if (path != null && !path.isEmpty()) + paths.add(path); + } + + private Map> getOrphanedNodes(List nodePaths) { + progress.progress(Bundle.DeleteOrphanCaseNodesTask_progress_lookingForOrphanedCaseZnodes()); + logger.log(Level.INFO, Bundle.DeleteOrphanCaseNodesTask_progress_lookingForOrphanedCaseZnodes()); + Map> nodePathsToDelete = new HashMap<>(); + for (String caseNodePath : nodePaths) { + if (isCaseNameNodePath(caseNodePath) || isCaseResourcesNodePath(caseNodePath) || isCaseAutoIngestLogNodePath(caseNodePath)) { + continue; + } + + final Path caseDirectoryPath = Paths.get(caseNodePath); + final File caseDirectory = caseDirectoryPath.toFile(); + if (!caseDirectory.exists()) { + String caseName = CoordinationServiceUtils.getCaseNameNodePath(caseDirectoryPath); + List paths = new ArrayList<>(); + + addIfExists(paths, CoordinationServiceUtils.getCaseNameNodePath(caseDirectoryPath)); + addIfExists(paths, CoordinationServiceUtils.getCaseResourcesNodePath(caseDirectoryPath)); + addIfExists(paths, CoordinationServiceUtils.getCaseAutoIngestLogNodePath(caseDirectoryPath)); + addIfExists(paths, CoordinationServiceUtils.getCaseDirectoryNodePath(caseDirectoryPath)); + nodePathsToDelete.put(caseName, paths); + + ++casesCount; + } + } + return nodePathsToDelete; + } + + + @Override @NbBundle.Messages({ "DeleteOrphanCaseNodesTask.progress.startMessage=Starting orphaned case znode cleanup", @@ -63,69 +156,21 @@ final class DeleteOrphanCaseNodesTask implements Runnable { public void run() { progress.start(Bundle.DeleteOrphanCaseNodesTask_progress_startMessage()); try { - progress.progress(Bundle.DeleteOrphanCaseNodesTask_progress_connectingToCoordSvc()); - logger.log(Level.INFO, Bundle.DeleteOrphanCaseNodesTask_progress_connectingToCoordSvc()); - CoordinationService coordinationService; - try { - coordinationService = CoordinationService.getInstance(); - } catch (CoordinationService.CoordinationServiceException ex) { - logger.log(Level.SEVERE, "Error connecting to the coordination service", ex); //NON-NLS + CoordinationService coordinationService = getCoordinationService(); + if (coordinationService == null) return; - } - progress.progress(Bundle.DeleteOrphanCaseNodesTask_progress_gettingCaseZnodes()); - logger.log(Level.INFO, Bundle.DeleteOrphanCaseNodesTask_progress_gettingCaseZnodes()); - List nodePaths; - try { - nodePaths = coordinationService.getNodeList(CoordinationService.CategoryNode.CASES); - } catch (CoordinationService.CoordinationServiceException ex) { - logger.log(Level.SEVERE, "Error getting case znode list", ex); //NON-NLS + List nodePaths = getNodePaths(coordinationService); + if (nodePaths == null) return; - } catch (InterruptedException unused) { - logger.log(Level.WARNING, "Task cancelled while getting case znode list"); //NON-NLS - return; - } - - progress.progress(Bundle.DeleteOrphanCaseNodesTask_progress_lookingForOrphanedCaseZnodes()); - logger.log(Level.INFO, Bundle.DeleteOrphanCaseNodesTask_progress_lookingForOrphanedCaseZnodes()); - for (String caseNodePath : nodePaths) { - if (isCaseNameNodePath(caseNodePath) || isCaseResourcesNodePath(caseNodePath) || isCaseAutoIngestLogNodePath(caseNodePath)) { - continue; - } - - final Path caseDirectoryPath = Paths.get(caseNodePath); - final File caseDirectory = caseDirectoryPath.toFile(); - if (!caseDirectory.exists()) { - String caseName = CoordinationServiceUtils.getCaseNameNodePath(caseDirectoryPath); - String nodePath = ""; // NON-NLS - try { - nodePath = CoordinationServiceUtils.getCaseNameNodePath(caseDirectoryPath); - deleteNode(coordinationService, caseName, nodePath); - - nodePath = CoordinationServiceUtils.getCaseResourcesNodePath(caseDirectoryPath); - deleteNode(coordinationService, caseName, nodePath); - - nodePath = CoordinationServiceUtils.getCaseAutoIngestLogNodePath(caseDirectoryPath); - deleteNode(coordinationService, caseName, nodePath); - - nodePath = CoordinationServiceUtils.getCaseDirectoryNodePath(caseDirectoryPath); - deleteNode(coordinationService, caseName, nodePath); - - ++casesCount; - - /* - * Back to looking for orphans... - */ - progress.progress(Bundle.DeleteOrphanCaseNodesTask_progress_lookingForOrphanedCaseZnodes()); - logger.log(Level.INFO, Bundle.DeleteOrphanCaseNodesTask_progress_lookingForOrphanedCaseZnodes()); - - } catch (InterruptedException unused) { - logger.log(Level.WARNING, String.format("Task cancelled while deleting orphaned znode %s for %s", nodePath, caseName)); //NON-NLS - return; - } - } - } + Map> orphanedNodes = getOrphanedNodes(nodePaths); + + boolean continueDelete = displayToUser(orphanedNodes); + + if (continueDelete) + deleteNodes(coordinationService, orphanedNodes); + } catch (Exception ex) { /* * This is an unexpected runtime exceptions firewall. It is here @@ -141,6 +186,24 @@ final class DeleteOrphanCaseNodesTask implements Runnable { progress.finish(); } } + + + private void deleteNodes(CoordinationService coordinationService, Map> orphanedNodes) { + String caseName = null; + String nodePath = null; + try { + for (Entry> caseNodePaths : orphanedNodes.entrySet()) { + caseName = caseNodePaths.getKey(); + for (String path : caseNodePaths.getValue()) { + nodePath = path; + deleteNode(coordinationService, caseName, nodePath); + } + } + } catch (InterruptedException unused) { + logger.log(Level.WARNING, String.format("Task cancelled while deleting orphaned znode %s for %s", nodePath, caseName)); //NON-NLS + return; + } + } /** * Attempts to delete a case coordination service node. From 73310566332a1394c374cbc29ebe03ec9bc434c0 Mon Sep 17 00:00:00 2001 From: Greg DiCristofaro Date: Fri, 3 Apr 2020 15:33:30 -0400 Subject: [PATCH 014/111] removed unnecessary code --- .../autoingest/DeleteOrphanCaseNodesTask.java | 19 ------------------- 1 file changed, 19 deletions(-) diff --git a/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/DeleteOrphanCaseNodesTask.java b/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/DeleteOrphanCaseNodesTask.java index 949bf0e8f2..d13761f9b8 100755 --- a/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/DeleteOrphanCaseNodesTask.java +++ b/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/DeleteOrphanCaseNodesTask.java @@ -50,25 +50,6 @@ final class DeleteOrphanCaseNodesTask implements Runnable { private int casesCount; - final static class OrphanCaseNodeEntry { - final String caseName; - final String nodePath; - - public OrphanCaseNodeEntry(String caseName, String nodePath) { - this.caseName = caseName; - this.nodePath = nodePath; - } - - public String getCaseName() { - return caseName; - } - - public String getNodePath() { - return nodePath; - } - } - - /** * Constucts an instance of a task for deleting case coordination service * nodes for which there is no longer a corresponding case. From 5cc63e9eb08237c3adcb69c3718e94cc01dabf56 Mon Sep 17 00:00:00 2001 From: William Schaefer Date: Mon, 6 Apr 2020 07:23:39 -0400 Subject: [PATCH 015/111] 6225 fix for screenshot 1 --- .../optionspanel/GlobalSettingsPanel.form | 8 ++++---- .../optionspanel/GlobalSettingsPanel.java | 6 +++--- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/centralrepository/optionspanel/GlobalSettingsPanel.form b/Core/src/org/sleuthkit/autopsy/centralrepository/optionspanel/GlobalSettingsPanel.form index c2e0dea60c..e5e9405b8b 100644 --- a/Core/src/org/sleuthkit/autopsy/centralrepository/optionspanel/GlobalSettingsPanel.form +++ b/Core/src/org/sleuthkit/autopsy/centralrepository/optionspanel/GlobalSettingsPanel.form @@ -65,16 +65,16 @@ - - - + + + - + diff --git a/Core/src/org/sleuthkit/autopsy/centralrepository/optionspanel/GlobalSettingsPanel.java b/Core/src/org/sleuthkit/autopsy/centralrepository/optionspanel/GlobalSettingsPanel.java index 7b6d591d95..3dca79e99a 100644 --- a/Core/src/org/sleuthkit/autopsy/centralrepository/optionspanel/GlobalSettingsPanel.java +++ b/Core/src/org/sleuthkit/autopsy/centralrepository/optionspanel/GlobalSettingsPanel.java @@ -476,9 +476,9 @@ public final class GlobalSettingsPanel extends IngestModuleGlobalSettingsPanel i .addComponent(organizationPanel, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(casesPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addGroup(jPanel1Layout.createSequentialGroup() - .addComponent(cbUseCentralRepo, javax.swing.GroupLayout.PREFERRED_SIZE, 162, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) - .addComponent(ingestRunningWarningLabel, javax.swing.GroupLayout.DEFAULT_SIZE, 844, Short.MAX_VALUE)) + .addComponent(cbUseCentralRepo, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(ingestRunningWarningLabel, javax.swing.GroupLayout.DEFAULT_SIZE, 840, Short.MAX_VALUE)) .addGroup(jPanel1Layout.createSequentialGroup() .addContainerGap() .addComponent(tbOops, javax.swing.GroupLayout.PREFERRED_SIZE, 974, javax.swing.GroupLayout.PREFERRED_SIZE))) From c6a317ece00c0f6f764548cdb368819fa2ba4ed9 Mon Sep 17 00:00:00 2001 From: Greg DiCristofaro Date: Mon, 6 Apr 2020 09:13:39 -0400 Subject: [PATCH 016/111] added dialog for orphaned nodes --- .../experimental/autoingest/Bundle.properties | 4 + .../DeleteOrphanCaseNodesDialog.form | 123 ++++++++++++++ .../DeleteOrphanCaseNodesDialog.java | 156 ++++++++++++++++++ .../autoingest/DeleteOrphanCaseNodesTask.java | 38 ++++- 4 files changed, 317 insertions(+), 4 deletions(-) create mode 100644 Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/DeleteOrphanCaseNodesDialog.form create mode 100644 Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/DeleteOrphanCaseNodesDialog.java diff --git a/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/Bundle.properties b/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/Bundle.properties index f3081bef89..4de3b58397 100644 --- a/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/Bundle.properties +++ b/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/Bundle.properties @@ -257,3 +257,7 @@ CasesDashboardTopComponent.refreshButton.text=Refresh AutoIngestCasesDeletionDialog.jLabel1.text=Progress CasesDashboardTopComponent.deleteOrphanCaseNodesButton.text=Delete Orphan Case Znodes CasesDashboardTopComponent.deleteOrphanManifestNodesButton.text=Delete Orphan Manifest Znodes +DeleteOrphanCaseNodesDialog.descriptionText.text=The following znodes are no longer have an associated case. Would you like to delete them? +DeleteOrphanCaseNodesDialog.okButton.text=OK +DeleteOrphanCaseNodesDialog.cancelButton.text=Cancel +DeleteOrphanCaseNodesDialog.titleText.text=Delete The Following Znodes? diff --git a/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/DeleteOrphanCaseNodesDialog.form b/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/DeleteOrphanCaseNodesDialog.form new file mode 100644 index 0000000000..af67571b2d --- /dev/null +++ b/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/DeleteOrphanCaseNodesDialog.form @@ -0,0 +1,123 @@ + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/DeleteOrphanCaseNodesDialog.java b/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/DeleteOrphanCaseNodesDialog.java new file mode 100644 index 0000000000..76ef98d590 --- /dev/null +++ b/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/DeleteOrphanCaseNodesDialog.java @@ -0,0 +1,156 @@ +/* + * Autopsy Forensic Browser + * + * Copyright 2020-2020 Basis Technology Corp. + * Contact: carrier sleuthkit org + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.sleuthkit.autopsy.experimental.autoingest; + +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; +import java.util.stream.Stream; + +/** + * This dialog shows the system administrator the orphaned znodes to be deleted. + * If 'OK' is selected, isOkSelected() will return true. + */ +public class DeleteOrphanCaseNodesDialog extends javax.swing.JDialog { + private static final String NEW_LINE = System.getProperty("line.separator"); + private static final String DEFAULT_INDENT = " "; + private static final String COLON = ":"; + + private boolean okSelected = false; + + /** + * Creates new form DeleteOrphanCaseNodesDialog + */ + public DeleteOrphanCaseNodesDialog(java.awt.Frame parent, boolean modal, Map> znodes) { + super(parent, modal); + initComponents(); + additionalInit(znodes); + } + + private void additionalInit(Map> znodes) { + String textAreaText = ""; + if (znodes != null) { + textAreaText = znodes.entrySet().stream().map((kv) -> { + return Stream.concat( + Stream.of(kv.getKey() + COLON), + kv.getValue().stream().map((node) -> DEFAULT_INDENT + node)) + .collect(Collectors.joining(NEW_LINE)); + }) + .collect(Collectors.joining(NEW_LINE)); + } + + znodesTextArea.setText(textAreaText); + } + + + /** + * This method is called from within the constructor to initialize the form. + * WARNING: Do NOT modify this code. The content of this method is always + * regenerated by the Form Editor. + */ + @SuppressWarnings("unchecked") + // //GEN-BEGIN:initComponents + private void initComponents() { + + javax.swing.JLabel descriptionText = new javax.swing.JLabel(); + javax.swing.JScrollPane jScrollPane = new javax.swing.JScrollPane(); + znodesTextArea = new javax.swing.JTextArea(); + javax.swing.JButton cancelButton = new javax.swing.JButton(); + javax.swing.JButton okButton = new javax.swing.JButton(); + + setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); + setTitle(org.openide.util.NbBundle.getMessage(DeleteOrphanCaseNodesDialog.class, "DeleteOrphanCaseNodesDialog.titleText.text")); // NOI18N + + org.openide.awt.Mnemonics.setLocalizedText(descriptionText, org.openide.util.NbBundle.getMessage(DeleteOrphanCaseNodesDialog.class, "DeleteOrphanCaseNodesDialog.descriptionText.text")); // NOI18N + descriptionText.setVerticalAlignment(javax.swing.SwingConstants.TOP); + + znodesTextArea.setEditable(false); + znodesTextArea.setColumns(20); + znodesTextArea.setLineWrap(true); + znodesTextArea.setRows(5); + jScrollPane.setViewportView(znodesTextArea); + + org.openide.awt.Mnemonics.setLocalizedText(cancelButton, org.openide.util.NbBundle.getMessage(DeleteOrphanCaseNodesDialog.class, "DeleteOrphanCaseNodesDialog.cancelButton.text")); // NOI18N + cancelButton.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + cancelButtonActionPerformed(evt); + } + }); + + org.openide.awt.Mnemonics.setLocalizedText(okButton, org.openide.util.NbBundle.getMessage(DeleteOrphanCaseNodesDialog.class, "DeleteOrphanCaseNodesDialog.okButton.text")); // NOI18N + okButton.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + okButtonActionPerformed(evt); + } + }); + + javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); + getContentPane().setLayout(layout); + layout.setHorizontalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addContainerGap() + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jScrollPane, javax.swing.GroupLayout.Alignment.TRAILING) + .addComponent(descriptionText, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() + .addGap(0, 0, Short.MAX_VALUE) + .addComponent(okButton) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(cancelButton))) + .addContainerGap()) + ); + layout.setVerticalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addContainerGap() + .addComponent(descriptionText) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(jScrollPane, javax.swing.GroupLayout.DEFAULT_SIZE, 238, Short.MAX_VALUE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(cancelButton) + .addComponent(okButton)) + .addContainerGap()) + ); + + pack(); + }// //GEN-END:initComponents + + private void okButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_okButtonActionPerformed + okSelected = true; + dispose(); + }//GEN-LAST:event_okButtonActionPerformed + + private void cancelButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cancelButtonActionPerformed + dispose(); + }//GEN-LAST:event_cancelButtonActionPerformed + + /** + * If the system administrator selected OK. + * @return Whether or not 'OK' was selected by the system administrator. + */ + public boolean isOkSelected() { + return okSelected; + } + + // Variables declaration - do not modify//GEN-BEGIN:variables + private javax.swing.JTextArea znodesTextArea; + // End of variables declaration//GEN-END:variables +} diff --git a/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/DeleteOrphanCaseNodesTask.java b/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/DeleteOrphanCaseNodesTask.java index d13761f9b8..5521f46943 100755 --- a/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/DeleteOrphanCaseNodesTask.java +++ b/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/DeleteOrphanCaseNodesTask.java @@ -1,7 +1,7 @@ /* * Autopsy Forensic Browser * - * Copyright 2019-2019 Basis Technology Corp. + * Copyright 2019-2020 Basis Technology Corp. * Contact: carrier sleuthkit org * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -23,11 +23,9 @@ import java.nio.file.Path; import java.nio.file.Paths; import java.util.ArrayList; import java.util.HashMap; -import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Map.Entry; -import java.util.Set; import java.util.logging.Level; import org.openide.util.NbBundle; import org.sleuthkit.autopsy.casemodule.multiusercases.CoordinationServiceUtils; @@ -61,6 +59,10 @@ final class DeleteOrphanCaseNodesTask implements Runnable { } + /** + * Retrieves an instance of the coordination service in order to fetch znodes and potentially delete. + * @return The coordination service or null on error. + */ private CoordinationService getCoordinationService() { progress.progress(Bundle.DeleteOrphanCaseNodesTask_progress_connectingToCoordSvc()); logger.log(Level.INFO, Bundle.DeleteOrphanCaseNodesTask_progress_connectingToCoordSvc()); @@ -74,6 +76,11 @@ final class DeleteOrphanCaseNodesTask implements Runnable { } + /** + * Retrieves node paths for cases. + * @param coordinationService The coordination service to use in order to fetch the node paths. + * @return The list of node paths for cases. + */ private List getNodePaths(CoordinationService coordinationService) { progress.progress(Bundle.DeleteOrphanCaseNodesTask_progress_gettingCaseZnodes()); logger.log(Level.INFO, Bundle.DeleteOrphanCaseNodesTask_progress_gettingCaseZnodes()); @@ -98,6 +105,11 @@ final class DeleteOrphanCaseNodesTask implements Runnable { paths.add(path); } + /** + * Determines orphaned znode paths. + * @param nodePaths The list of case node paths. + * @return The list of orphaned node paths. + */ private Map> getOrphanedNodes(List nodePaths) { progress.progress(Bundle.DeleteOrphanCaseNodesTask_progress_lookingForOrphanedCaseZnodes()); logger.log(Level.INFO, Bundle.DeleteOrphanCaseNodesTask_progress_lookingForOrphanedCaseZnodes()); @@ -125,6 +137,16 @@ final class DeleteOrphanCaseNodesTask implements Runnable { return nodePathsToDelete; } + /** + * prompts the user with a list of orphaned znodes. + * @param orphanedNodes The orphaned znodes. + * @return True if the user would like to proceed deleting the znodes. + */ + private boolean promptUser(Map> orphanedNodes) { + DeleteOrphanCaseNodesDialog dialog = new DeleteOrphanCaseNodesDialog(null, true, orphanedNodes); + return dialog.isOkSelected(); + } + @Override @@ -147,7 +169,7 @@ final class DeleteOrphanCaseNodesTask implements Runnable { Map> orphanedNodes = getOrphanedNodes(nodePaths); - boolean continueDelete = displayToUser(orphanedNodes); + boolean continueDelete = promptUser(orphanedNodes); if (continueDelete) deleteNodes(coordinationService, orphanedNodes); @@ -169,6 +191,14 @@ final class DeleteOrphanCaseNodesTask implements Runnable { } + /** + * Deletes the orphaned znodes provided in the 'orphanedNodes' variable. + * @param coordinationService The coordination service to use for deletion. + * @param orphanedNodes A mapping of case to the orphaned znodes. + * + * @throws InterruptedException If the thread executing this task is + * interrupted during the delete operation. + */ private void deleteNodes(CoordinationService coordinationService, Map> orphanedNodes) { String caseName = null; String nodePath = null; From f275ddcca25cc01efe456c872fad38900cf86c7b Mon Sep 17 00:00:00 2001 From: William Schaefer Date: Mon, 6 Apr 2020 10:29:39 -0400 Subject: [PATCH 017/111] 6225 fix for screenshot 2 --- .../optionspanel/EamDbSettingsDialog.form | 429 +++++++++-------- .../optionspanel/EamDbSettingsDialog.java | 431 +++++++++++------- 2 files changed, 493 insertions(+), 367 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/centralrepository/optionspanel/EamDbSettingsDialog.form b/Core/src/org/sleuthkit/autopsy/centralrepository/optionspanel/EamDbSettingsDialog.form index 812a3984e8..8d074c0ef3 100644 --- a/Core/src/org/sleuthkit/autopsy/centralrepository/optionspanel/EamDbSettingsDialog.form +++ b/Core/src/org/sleuthkit/autopsy/centralrepository/optionspanel/EamDbSettingsDialog.form @@ -31,7 +31,13 @@ - + + + + + + + @@ -44,7 +50,13 @@ - + + + + + + + @@ -56,59 +68,15 @@ - - - - - - - + - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -119,100 +87,7 @@
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -223,29 +98,11 @@ - - - - - - - - - - - - - - - - - - - - - - - + + + + + @@ -256,13 +113,23 @@ + + + + + - + + + + + + @@ -273,13 +140,23 @@ + + + + + - + + + + + + @@ -290,13 +167,23 @@ + + + + + - + + + + + + @@ -307,39 +194,23 @@ + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + @@ -356,6 +227,11 @@ + + + + + @@ -366,6 +242,11 @@ + + + + + @@ -376,6 +257,11 @@ + + + + + @@ -386,6 +272,11 @@ + + + + + @@ -402,7 +293,155 @@
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Core/src/org/sleuthkit/autopsy/centralrepository/optionspanel/EamDbSettingsDialog.java b/Core/src/org/sleuthkit/autopsy/centralrepository/optionspanel/EamDbSettingsDialog.java index 40305bbf96..8c3a308e4e 100644 --- a/Core/src/org/sleuthkit/autopsy/centralrepository/optionspanel/EamDbSettingsDialog.java +++ b/Core/src/org/sleuthkit/autopsy/centralrepository/optionspanel/EamDbSettingsDialog.java @@ -239,15 +239,12 @@ public class EamDbSettingsDialog extends JDialog { @SuppressWarnings("unchecked") // //GEN-BEGIN:initComponents private void initComponents() { + java.awt.GridBagConstraints gridBagConstraints; fcDatabasePath = new javax.swing.JFileChooser(); pnButtons = new javax.swing.JPanel(); - bnCancel = new javax.swing.JButton(); - bnOk = new javax.swing.JButton(); pnSQLiteSettings = new javax.swing.JPanel(); lbDatabasePath = new javax.swing.JLabel(); - tfDatabasePath = new javax.swing.JTextField(); - bnDatabasePathFileOpen = new javax.swing.JButton(); lbHostName = new javax.swing.JLabel(); tbDbHostname = new javax.swing.JTextField(); lbPort = new javax.swing.JLabel(); @@ -256,17 +253,257 @@ public class EamDbSettingsDialog extends JDialog { tbDbUsername = new javax.swing.JTextField(); lbUserPassword = new javax.swing.JLabel(); jpDbPassword = new javax.swing.JPasswordField(); - cbDatabaseType = new javax.swing.JComboBox<>(); - lbSingleUserSqLite = new javax.swing.JLabel(); lbDatabaseType = new javax.swing.JLabel(); lbDatabaseDesc = new javax.swing.JLabel(); filler1 = new javax.swing.Box.Filler(new java.awt.Dimension(0, 0), new java.awt.Dimension(0, 0), new java.awt.Dimension(0, 32767)); dataBaseFileScrollPane = new javax.swing.JScrollPane(); dataBaseFileTextArea = new javax.swing.JTextArea(); + pathPanel = new javax.swing.JPanel(); + tfDatabasePath = new javax.swing.JTextField(); + bnDatabasePathFileOpen = new javax.swing.JButton(); + typePanel = new javax.swing.JPanel(); + lbSingleUserSqLite = new javax.swing.JLabel(); + cbDatabaseType = new javax.swing.JComboBox<>(); + bnCancel = new javax.swing.JButton(); + bnOk = new javax.swing.JButton(); setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); setResizable(false); + javax.swing.GroupLayout pnButtonsLayout = new javax.swing.GroupLayout(pnButtons); + pnButtons.setLayout(pnButtonsLayout); + pnButtonsLayout.setHorizontalGroup( + pnButtonsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGap(0, 0, Short.MAX_VALUE) + ); + pnButtonsLayout.setVerticalGroup( + pnButtonsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGap(0, 25, Short.MAX_VALUE) + ); + + pnSQLiteSettings.setBorder(javax.swing.BorderFactory.createEtchedBorder()); + pnSQLiteSettings.setLayout(new java.awt.GridBagLayout()); + + org.openide.awt.Mnemonics.setLocalizedText(lbDatabasePath, org.openide.util.NbBundle.getMessage(EamDbSettingsDialog.class, "EamDbSettingsDialog.lbDatabasePath.text")); // NOI18N + lbDatabasePath.setPreferredSize(new java.awt.Dimension(80, 14)); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 0; + gridBagConstraints.gridy = 1; + gridBagConstraints.gridwidth = 2; + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; + gridBagConstraints.insets = new java.awt.Insets(7, 14, 0, 0); + pnSQLiteSettings.add(lbDatabasePath, gridBagConstraints); + + org.openide.awt.Mnemonics.setLocalizedText(lbHostName, org.openide.util.NbBundle.getMessage(EamDbSettingsDialog.class, "EamDbSettingsDialog.lbHostName.text")); // NOI18N + lbHostName.setPreferredSize(new java.awt.Dimension(80, 14)); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 0; + gridBagConstraints.gridy = 3; + gridBagConstraints.gridwidth = 2; + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; + gridBagConstraints.insets = new java.awt.Insets(7, 14, 0, 0); + pnSQLiteSettings.add(lbHostName, gridBagConstraints); + + tbDbHostname.setPreferredSize(new java.awt.Dimension(519, 20)); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 2; + gridBagConstraints.gridy = 3; + gridBagConstraints.gridheight = 2; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; + gridBagConstraints.insets = new java.awt.Insets(7, 10, 0, 6); + pnSQLiteSettings.add(tbDbHostname, gridBagConstraints); + + org.openide.awt.Mnemonics.setLocalizedText(lbPort, org.openide.util.NbBundle.getMessage(EamDbSettingsDialog.class, "EamDbSettingsDialog.lbPort.text")); // NOI18N + lbPort.setPreferredSize(new java.awt.Dimension(80, 14)); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 0; + gridBagConstraints.gridy = 5; + gridBagConstraints.gridwidth = 2; + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; + gridBagConstraints.insets = new java.awt.Insets(7, 14, 0, 0); + pnSQLiteSettings.add(lbPort, gridBagConstraints); + + tbDbPort.setPreferredSize(new java.awt.Dimension(519, 20)); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 2; + gridBagConstraints.gridy = 5; + gridBagConstraints.gridheight = 2; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; + gridBagConstraints.insets = new java.awt.Insets(7, 10, 0, 6); + pnSQLiteSettings.add(tbDbPort, gridBagConstraints); + + org.openide.awt.Mnemonics.setLocalizedText(lbUserName, org.openide.util.NbBundle.getMessage(EamDbSettingsDialog.class, "EamDbSettingsDialog.lbUserName.text")); // NOI18N + lbUserName.setPreferredSize(new java.awt.Dimension(80, 14)); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 0; + gridBagConstraints.gridy = 7; + gridBagConstraints.gridwidth = 2; + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; + gridBagConstraints.insets = new java.awt.Insets(7, 14, 0, 0); + pnSQLiteSettings.add(lbUserName, gridBagConstraints); + + tbDbUsername.setPreferredSize(new java.awt.Dimension(519, 20)); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 2; + gridBagConstraints.gridy = 7; + gridBagConstraints.gridheight = 2; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; + gridBagConstraints.insets = new java.awt.Insets(7, 10, 0, 6); + pnSQLiteSettings.add(tbDbUsername, gridBagConstraints); + + org.openide.awt.Mnemonics.setLocalizedText(lbUserPassword, org.openide.util.NbBundle.getMessage(EamDbSettingsDialog.class, "EamDbSettingsDialog.lbUserPassword.text")); // NOI18N + lbUserPassword.setPreferredSize(new java.awt.Dimension(80, 14)); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 0; + gridBagConstraints.gridy = 9; + gridBagConstraints.gridwidth = 2; + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; + gridBagConstraints.insets = new java.awt.Insets(7, 14, 0, 0); + pnSQLiteSettings.add(lbUserPassword, gridBagConstraints); + + jpDbPassword.setPreferredSize(new java.awt.Dimension(519, 20)); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 2; + gridBagConstraints.gridy = 9; + gridBagConstraints.gridheight = 2; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; + gridBagConstraints.insets = new java.awt.Insets(7, 10, 0, 6); + pnSQLiteSettings.add(jpDbPassword, gridBagConstraints); + + org.openide.awt.Mnemonics.setLocalizedText(lbDatabaseType, org.openide.util.NbBundle.getMessage(EamDbSettingsDialog.class, "EamDbSettingsDialog.lbDatabaseType.text")); // NOI18N + lbDatabaseType.setMaximumSize(new java.awt.Dimension(80, 14)); + lbDatabaseType.setMinimumSize(new java.awt.Dimension(80, 14)); + lbDatabaseType.setPreferredSize(new java.awt.Dimension(80, 14)); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 0; + gridBagConstraints.gridy = 0; + gridBagConstraints.gridwidth = 2; + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; + gridBagConstraints.insets = new java.awt.Insets(12, 14, 0, 0); + pnSQLiteSettings.add(lbDatabaseType, gridBagConstraints); + + org.openide.awt.Mnemonics.setLocalizedText(lbDatabaseDesc, org.openide.util.NbBundle.getMessage(EamDbSettingsDialog.class, "EamDbSettingsDialog.lbDatabaseDesc.text")); // NOI18N + lbDatabaseDesc.setPreferredSize(new java.awt.Dimension(80, 14)); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 0; + gridBagConstraints.gridy = 11; + gridBagConstraints.gridwidth = 2; + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; + gridBagConstraints.insets = new java.awt.Insets(7, 14, 0, 0); + pnSQLiteSettings.add(lbDatabaseDesc, gridBagConstraints); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 0; + gridBagConstraints.gridy = 12; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; + pnSQLiteSettings.add(filler1, gridBagConstraints); + + dataBaseFileScrollPane.setBorder(null); + + dataBaseFileTextArea.setEditable(false); + dataBaseFileTextArea.setBackground(new java.awt.Color(240, 240, 240)); + dataBaseFileTextArea.setColumns(20); + dataBaseFileTextArea.setLineWrap(true); + dataBaseFileTextArea.setRows(3); + dataBaseFileScrollPane.setViewportView(dataBaseFileTextArea); + + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 2; + gridBagConstraints.gridy = 11; + gridBagConstraints.gridheight = 3; + gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; + gridBagConstraints.weightx = 1.0; + gridBagConstraints.weighty = 1.0; + gridBagConstraints.insets = new java.awt.Insets(7, 10, 15, 6); + pnSQLiteSettings.add(dataBaseFileScrollPane, gridBagConstraints); + + tfDatabasePath.setText(org.openide.util.NbBundle.getMessage(EamDbSettingsDialog.class, "EamDbSettingsDialog.tfDatabasePath.text")); // NOI18N + tfDatabasePath.setToolTipText(org.openide.util.NbBundle.getMessage(EamDbSettingsDialog.class, "EamDbSettingsDialog.tfDatabasePath.toolTipText")); // NOI18N + tfDatabasePath.setPreferredSize(new java.awt.Dimension(420, 23)); + + org.openide.awt.Mnemonics.setLocalizedText(bnDatabasePathFileOpen, org.openide.util.NbBundle.getMessage(EamDbSettingsDialog.class, "EamDbSettingsDialog.bnDatabasePathFileOpen.text")); // NOI18N + bnDatabasePathFileOpen.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + bnDatabasePathFileOpenActionPerformed(evt); + } + }); + + javax.swing.GroupLayout pathPanelLayout = new javax.swing.GroupLayout(pathPanel); + pathPanel.setLayout(pathPanelLayout); + pathPanelLayout.setHorizontalGroup( + pathPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(pathPanelLayout.createSequentialGroup() + .addGap(0, 0, 0) + .addComponent(tfDatabasePath, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(bnDatabasePathFileOpen) + .addGap(0, 0, 0)) + ); + pathPanelLayout.setVerticalGroup( + pathPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(pathPanelLayout.createSequentialGroup() + .addGap(0, 0, 0) + .addGroup(pathPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(tfDatabasePath, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(bnDatabasePathFileOpen)) + .addGap(0, 0, 0)) + ); + + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 2; + gridBagConstraints.gridy = 1; + gridBagConstraints.gridheight = 2; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; + gridBagConstraints.insets = new java.awt.Insets(7, 10, 0, 6); + pnSQLiteSettings.add(pathPanel, gridBagConstraints); + + org.openide.awt.Mnemonics.setLocalizedText(lbSingleUserSqLite, org.openide.util.NbBundle.getMessage(EamDbSettingsDialog.class, "EamDbSettingsDialog.lbSingleUserSqLite.text")); // NOI18N + lbSingleUserSqLite.setPreferredSize(new java.awt.Dimension(381, 14)); + + cbDatabaseType.setModel(new javax.swing.DefaultComboBoxModel<>(org.sleuthkit.autopsy.centralrepository.datamodel.CentralRepoDbChoice.DB_CHOICES)); + cbDatabaseType.setPreferredSize(new java.awt.Dimension(120, 20)); + cbDatabaseType.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + cbDatabaseTypeActionPerformed(evt); + } + }); + + javax.swing.GroupLayout typePanelLayout = new javax.swing.GroupLayout(typePanel); + typePanel.setLayout(typePanelLayout); + typePanelLayout.setHorizontalGroup( + typePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(typePanelLayout.createSequentialGroup() + .addGap(0, 0, 0) + .addComponent(cbDatabaseType, javax.swing.GroupLayout.PREFERRED_SIZE, 210, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(lbSingleUserSqLite, javax.swing.GroupLayout.DEFAULT_SIZE, 318, Short.MAX_VALUE) + .addGap(0, 0, 0)) + ); + typePanelLayout.setVerticalGroup( + typePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(typePanelLayout.createSequentialGroup() + .addGap(0, 0, 0) + .addGroup(typePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(cbDatabaseType, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(lbSingleUserSqLite, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addGap(0, 0, 0)) + ); + + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 2; + gridBagConstraints.gridy = 0; + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; + gridBagConstraints.insets = new java.awt.Insets(12, 10, 2, 0); + pnSQLiteSettings.add(typePanel, gridBagConstraints); + org.openide.awt.Mnemonics.setLocalizedText(bnCancel, org.openide.util.NbBundle.getMessage(EamDbSettingsDialog.class, "EamDbSettingsDialog.bnCancel.text")); // NOI18N bnCancel.setMaximumSize(new java.awt.Dimension(79, 23)); bnCancel.setMinimumSize(new java.awt.Dimension(79, 23)); @@ -284,170 +521,6 @@ public class EamDbSettingsDialog extends JDialog { } }); - javax.swing.GroupLayout pnButtonsLayout = new javax.swing.GroupLayout(pnButtons); - pnButtons.setLayout(pnButtonsLayout); - pnButtonsLayout.setHorizontalGroup( - pnButtonsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(pnButtonsLayout.createSequentialGroup() - .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addComponent(bnOk) - .addGap(11, 11, 11) - .addComponent(bnCancel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addContainerGap()) - ); - - pnButtonsLayout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {bnCancel, bnOk}); - - pnButtonsLayout.setVerticalGroup( - pnButtonsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(pnButtonsLayout.createSequentialGroup() - .addGap(0, 0, 0) - .addGroup(pnButtonsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(bnOk) - .addComponent(bnCancel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addGap(0, 0, 0)) - ); - - pnSQLiteSettings.setBorder(javax.swing.BorderFactory.createEtchedBorder()); - - org.openide.awt.Mnemonics.setLocalizedText(lbDatabasePath, org.openide.util.NbBundle.getMessage(EamDbSettingsDialog.class, "EamDbSettingsDialog.lbDatabasePath.text")); // NOI18N - lbDatabasePath.setPreferredSize(new java.awt.Dimension(80, 14)); - - tfDatabasePath.setText(org.openide.util.NbBundle.getMessage(EamDbSettingsDialog.class, "EamDbSettingsDialog.tfDatabasePath.text")); // NOI18N - tfDatabasePath.setToolTipText(org.openide.util.NbBundle.getMessage(EamDbSettingsDialog.class, "EamDbSettingsDialog.tfDatabasePath.toolTipText")); // NOI18N - tfDatabasePath.setPreferredSize(new java.awt.Dimension(420, 23)); - - org.openide.awt.Mnemonics.setLocalizedText(bnDatabasePathFileOpen, org.openide.util.NbBundle.getMessage(EamDbSettingsDialog.class, "EamDbSettingsDialog.bnDatabasePathFileOpen.text")); // NOI18N - bnDatabasePathFileOpen.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - bnDatabasePathFileOpenActionPerformed(evt); - } - }); - - org.openide.awt.Mnemonics.setLocalizedText(lbHostName, org.openide.util.NbBundle.getMessage(EamDbSettingsDialog.class, "EamDbSettingsDialog.lbHostName.text")); // NOI18N - lbHostName.setPreferredSize(new java.awt.Dimension(80, 14)); - - tbDbHostname.setPreferredSize(new java.awt.Dimension(509, 20)); - - org.openide.awt.Mnemonics.setLocalizedText(lbPort, org.openide.util.NbBundle.getMessage(EamDbSettingsDialog.class, "EamDbSettingsDialog.lbPort.text")); // NOI18N - lbPort.setPreferredSize(new java.awt.Dimension(80, 14)); - - tbDbPort.setPreferredSize(new java.awt.Dimension(509, 20)); - - org.openide.awt.Mnemonics.setLocalizedText(lbUserName, org.openide.util.NbBundle.getMessage(EamDbSettingsDialog.class, "EamDbSettingsDialog.lbUserName.text")); // NOI18N - lbUserName.setPreferredSize(new java.awt.Dimension(80, 14)); - - tbDbUsername.setPreferredSize(new java.awt.Dimension(509, 20)); - - org.openide.awt.Mnemonics.setLocalizedText(lbUserPassword, org.openide.util.NbBundle.getMessage(EamDbSettingsDialog.class, "EamDbSettingsDialog.lbUserPassword.text")); // NOI18N - lbUserPassword.setPreferredSize(new java.awt.Dimension(80, 14)); - - jpDbPassword.setPreferredSize(new java.awt.Dimension(509, 20)); - - cbDatabaseType.setModel(new javax.swing.DefaultComboBoxModel<>(org.sleuthkit.autopsy.centralrepository.datamodel.CentralRepoDbChoice.DB_CHOICES)); - cbDatabaseType.setPreferredSize(new java.awt.Dimension(120, 20)); - cbDatabaseType.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - cbDatabaseTypeActionPerformed(evt); - } - }); - - org.openide.awt.Mnemonics.setLocalizedText(lbSingleUserSqLite, org.openide.util.NbBundle.getMessage(EamDbSettingsDialog.class, "EamDbSettingsDialog.lbSingleUserSqLite.text")); // NOI18N - lbSingleUserSqLite.setPreferredSize(new java.awt.Dimension(381, 14)); - - org.openide.awt.Mnemonics.setLocalizedText(lbDatabaseType, org.openide.util.NbBundle.getMessage(EamDbSettingsDialog.class, "EamDbSettingsDialog.lbDatabaseType.text")); // NOI18N - lbDatabaseType.setMaximumSize(new java.awt.Dimension(80, 14)); - lbDatabaseType.setMinimumSize(new java.awt.Dimension(80, 14)); - lbDatabaseType.setPreferredSize(new java.awt.Dimension(80, 14)); - - org.openide.awt.Mnemonics.setLocalizedText(lbDatabaseDesc, org.openide.util.NbBundle.getMessage(EamDbSettingsDialog.class, "EamDbSettingsDialog.lbDatabaseDesc.text")); // NOI18N - lbDatabaseDesc.setPreferredSize(new java.awt.Dimension(80, 14)); - - dataBaseFileScrollPane.setBorder(null); - - dataBaseFileTextArea.setEditable(false); - dataBaseFileTextArea.setBackground(new java.awt.Color(240, 240, 240)); - dataBaseFileTextArea.setColumns(20); - dataBaseFileTextArea.setLineWrap(true); - dataBaseFileTextArea.setRows(3); - dataBaseFileScrollPane.setViewportView(dataBaseFileTextArea); - - javax.swing.GroupLayout pnSQLiteSettingsLayout = new javax.swing.GroupLayout(pnSQLiteSettings); - pnSQLiteSettings.setLayout(pnSQLiteSettingsLayout); - pnSQLiteSettingsLayout.setHorizontalGroup( - pnSQLiteSettingsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(pnSQLiteSettingsLayout.createSequentialGroup() - .addContainerGap() - .addGroup(pnSQLiteSettingsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(lbHostName, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(lbDatabaseType, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(lbDatabasePath, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(lbUserName, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(lbPort, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addGroup(pnSQLiteSettingsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false) - .addComponent(lbDatabaseDesc, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 94, Short.MAX_VALUE) - .addComponent(lbUserPassword, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))) - .addGap(10, 10, 10) - .addGroup(pnSQLiteSettingsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) - .addGroup(pnSQLiteSettingsLayout.createSequentialGroup() - .addComponent(tfDatabasePath, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) - .addComponent(bnDatabasePathFileOpen)) - .addGroup(pnSQLiteSettingsLayout.createSequentialGroup() - .addComponent(cbDatabaseType, javax.swing.GroupLayout.PREFERRED_SIZE, 210, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) - .addComponent(lbSingleUserSqLite, javax.swing.GroupLayout.PREFERRED_SIZE, 1, Short.MAX_VALUE)) - .addComponent(jpDbPassword, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(tbDbUsername, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(tbDbPort, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(tbDbHostname, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(dataBaseFileScrollPane, javax.swing.GroupLayout.PREFERRED_SIZE, 509, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addContainerGap()) - .addGroup(pnSQLiteSettingsLayout.createSequentialGroup() - .addGap(55, 55, 55) - .addComponent(filler1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addGap(0, 0, Short.MAX_VALUE)) - ); - pnSQLiteSettingsLayout.setVerticalGroup( - pnSQLiteSettingsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(pnSQLiteSettingsLayout.createSequentialGroup() - .addGap(6, 6, 6) - .addGroup(pnSQLiteSettingsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(pnSQLiteSettingsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(cbDatabaseType, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(lbSingleUserSqLite, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addComponent(lbDatabaseType, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(pnSQLiteSettingsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(lbDatabasePath, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(tfDatabasePath, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(bnDatabasePathFileOpen)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(pnSQLiteSettingsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(tbDbHostname, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(lbHostName, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(pnSQLiteSettingsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(tbDbPort, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(lbPort, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(pnSQLiteSettingsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(tbDbUsername, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(lbUserName, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(pnSQLiteSettingsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(jpDbPassword, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(lbUserPassword, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(pnSQLiteSettingsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(pnSQLiteSettingsLayout.createSequentialGroup() - .addComponent(lbDatabaseDesc, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addGap(18, 18, 18) - .addComponent(filler1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addComponent(dataBaseFileScrollPane, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addContainerGap()) - ); - javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup( @@ -455,17 +528,29 @@ public class EamDbSettingsDialog extends JDialog { .addGroup(layout.createSequentialGroup() .addContainerGap() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(pnButtons, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addGroup(layout.createSequentialGroup() + .addComponent(pnButtons, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(bnOk) + .addGap(11, 11, 11) + .addComponent(bnCancel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addComponent(pnSQLiteSettings, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) .addContainerGap()) ); + + layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {bnCancel, bnOk}); + layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addContainerGap() .addComponent(pnSQLiteSettings, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addComponent(pnButtons, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(pnButtons, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(bnOk) + .addComponent(bnCancel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))) .addContainerGap()) ); @@ -845,11 +930,13 @@ public class EamDbSettingsDialog extends JDialog { private javax.swing.JLabel lbSingleUserSqLite; private javax.swing.JLabel lbUserName; private javax.swing.JLabel lbUserPassword; + private javax.swing.JPanel pathPanel; private javax.swing.JPanel pnButtons; private javax.swing.JPanel pnSQLiteSettings; private javax.swing.JTextField tbDbHostname; private javax.swing.JTextField tbDbPort; private javax.swing.JTextField tbDbUsername; private javax.swing.JTextField tfDatabasePath; + private javax.swing.JPanel typePanel; // End of variables declaration//GEN-END:variables } From 664997021661cf2040ef62f1b234aeddf130bd3e Mon Sep 17 00:00:00 2001 From: Greg DiCristofaro Date: Mon, 6 Apr 2020 16:21:27 -0400 Subject: [PATCH 018/111] updated dialog --- .../DeleteOrphanCaseNodesDialog.form | 5 +++- .../DeleteOrphanCaseNodesDialog.java | 27 ++++++++++++++----- .../autoingest/DeleteOrphanCaseNodesTask.java | 8 +++--- 3 files changed, 29 insertions(+), 11 deletions(-) diff --git a/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/DeleteOrphanCaseNodesDialog.form b/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/DeleteOrphanCaseNodesDialog.form index af67571b2d..dd37628a82 100644 --- a/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/DeleteOrphanCaseNodesDialog.form +++ b/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/DeleteOrphanCaseNodesDialog.form @@ -6,6 +6,9 @@ + + + @@ -48,7 +51,7 @@ - + diff --git a/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/DeleteOrphanCaseNodesDialog.java b/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/DeleteOrphanCaseNodesDialog.java index 76ef98d590..451caecd86 100644 --- a/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/DeleteOrphanCaseNodesDialog.java +++ b/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/DeleteOrphanCaseNodesDialog.java @@ -22,14 +22,17 @@ import java.util.List; import java.util.Map; import java.util.stream.Collectors; import java.util.stream.Stream; +import javax.swing.JFrame; +import org.openide.windows.WindowManager; /** * This dialog shows the system administrator the orphaned znodes to be deleted. * If 'OK' is selected, isOkSelected() will return true. */ -public class DeleteOrphanCaseNodesDialog extends javax.swing.JDialog { +class DeleteOrphanCaseNodesDialog extends javax.swing.JDialog { private static final String NEW_LINE = System.getProperty("line.separator"); - private static final String DEFAULT_INDENT = " "; + private static final String CASE_SPACING = NEW_LINE + NEW_LINE; + private static final String DEFAULT_INDENT = " "; private static final String COLON = ":"; private boolean okSelected = false; @@ -37,12 +40,21 @@ public class DeleteOrphanCaseNodesDialog extends javax.swing.JDialog { /** * Creates new form DeleteOrphanCaseNodesDialog */ - public DeleteOrphanCaseNodesDialog(java.awt.Frame parent, boolean modal, Map> znodes) { - super(parent, modal); + DeleteOrphanCaseNodesDialog(Map> znodes) { + super((JFrame) WindowManager.getDefault().getMainWindow(), null, true); initComponents(); additionalInit(znodes); } + /** + * displays this dialog as child of main window. + */ + void display() { + this.setLocationRelativeTo(WindowManager.getDefault().getMainWindow()); + setVisible(true); + } + + private void additionalInit(Map> znodes) { String textAreaText = ""; if (znodes != null) { @@ -52,7 +64,7 @@ public class DeleteOrphanCaseNodesDialog extends javax.swing.JDialog { kv.getValue().stream().map((node) -> DEFAULT_INDENT + node)) .collect(Collectors.joining(NEW_LINE)); }) - .collect(Collectors.joining(NEW_LINE)); + .collect(Collectors.joining(CASE_SPACING)); } znodesTextArea.setText(textAreaText); @@ -76,6 +88,7 @@ public class DeleteOrphanCaseNodesDialog extends javax.swing.JDialog { setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); setTitle(org.openide.util.NbBundle.getMessage(DeleteOrphanCaseNodesDialog.class, "DeleteOrphanCaseNodesDialog.titleText.text")); // NOI18N + setMinimumSize(new java.awt.Dimension(535, 226)); org.openide.awt.Mnemonics.setLocalizedText(descriptionText, org.openide.util.NbBundle.getMessage(DeleteOrphanCaseNodesDialog.class, "DeleteOrphanCaseNodesDialog.descriptionText.text")); // NOI18N descriptionText.setVerticalAlignment(javax.swing.SwingConstants.TOP); @@ -122,7 +135,7 @@ public class DeleteOrphanCaseNodesDialog extends javax.swing.JDialog { .addContainerGap() .addComponent(descriptionText) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) - .addComponent(jScrollPane, javax.swing.GroupLayout.DEFAULT_SIZE, 238, Short.MAX_VALUE) + .addComponent(jScrollPane, javax.swing.GroupLayout.DEFAULT_SIZE, 252, Short.MAX_VALUE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(cancelButton) @@ -146,7 +159,7 @@ public class DeleteOrphanCaseNodesDialog extends javax.swing.JDialog { * If the system administrator selected OK. * @return Whether or not 'OK' was selected by the system administrator. */ - public boolean isOkSelected() { + boolean isOkSelected() { return okSelected; } diff --git a/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/DeleteOrphanCaseNodesTask.java b/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/DeleteOrphanCaseNodesTask.java index 5521f46943..5facd5d6ff 100755 --- a/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/DeleteOrphanCaseNodesTask.java +++ b/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/DeleteOrphanCaseNodesTask.java @@ -130,8 +130,6 @@ final class DeleteOrphanCaseNodesTask implements Runnable { addIfExists(paths, CoordinationServiceUtils.getCaseAutoIngestLogNodePath(caseDirectoryPath)); addIfExists(paths, CoordinationServiceUtils.getCaseDirectoryNodePath(caseDirectoryPath)); nodePathsToDelete.put(caseName, paths); - - ++casesCount; } } return nodePathsToDelete; @@ -143,7 +141,8 @@ final class DeleteOrphanCaseNodesTask implements Runnable { * @return True if the user would like to proceed deleting the znodes. */ private boolean promptUser(Map> orphanedNodes) { - DeleteOrphanCaseNodesDialog dialog = new DeleteOrphanCaseNodesDialog(null, true, orphanedNodes); + DeleteOrphanCaseNodesDialog dialog = new DeleteOrphanCaseNodesDialog(orphanedNodes); + dialog.display(); return dialog.isOkSelected(); } @@ -168,6 +167,8 @@ final class DeleteOrphanCaseNodesTask implements Runnable { return; Map> orphanedNodes = getOrphanedNodes(nodePaths); + if (orphanedNodes == null || orphanedNodes.isEmpty()) + return; boolean continueDelete = promptUser(orphanedNodes); @@ -209,6 +210,7 @@ final class DeleteOrphanCaseNodesTask implements Runnable { nodePath = path; deleteNode(coordinationService, caseName, nodePath); } + ++casesCount; } } catch (InterruptedException unused) { logger.log(Level.WARNING, String.format("Task cancelled while deleting orphaned znode %s for %s", nodePath, caseName)); //NON-NLS From 7ff4702c2b486c57b2c0fce689d060b7a7602fae Mon Sep 17 00:00:00 2001 From: Greg DiCristofaro Date: Tue, 7 Apr 2020 13:39:08 -0400 Subject: [PATCH 019/111] updated jdialog format --- .../experimental/autoingest/Bundle.properties | 3 +- .../autoingest/Bundle.properties-MERGED | 21 ++- .../DeleteOrphanCaseNodesDialog.form | 11 +- .../DeleteOrphanCaseNodesDialog.java | 69 ++++++---- .../autoingest/DeleteOrphanCaseNodesTask.java | 124 +++++++++++------- 5 files changed, 141 insertions(+), 87 deletions(-) diff --git a/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/Bundle.properties b/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/Bundle.properties index 4de3b58397..2b25c96245 100644 --- a/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/Bundle.properties +++ b/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/Bundle.properties @@ -257,7 +257,8 @@ CasesDashboardTopComponent.refreshButton.text=Refresh AutoIngestCasesDeletionDialog.jLabel1.text=Progress CasesDashboardTopComponent.deleteOrphanCaseNodesButton.text=Delete Orphan Case Znodes CasesDashboardTopComponent.deleteOrphanManifestNodesButton.text=Delete Orphan Manifest Znodes -DeleteOrphanCaseNodesDialog.descriptionText.text=The following znodes are no longer have an associated case. Would you like to delete them? +DeleteOrphanCaseNodesDialog.descriptionText.text=The following cases have orphaned znodes. Would you like to delete them? DeleteOrphanCaseNodesDialog.okButton.text=OK DeleteOrphanCaseNodesDialog.cancelButton.text=Cancel DeleteOrphanCaseNodesDialog.titleText.text=Delete The Following Znodes? +DeleteOrphanCaseNodesDialog.lblNodeCount.text= diff --git a/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/Bundle.properties-MERGED b/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/Bundle.properties-MERGED index 46c6d587fc..adb7693b48 100755 --- a/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/Bundle.properties-MERGED +++ b/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/Bundle.properties-MERGED @@ -89,10 +89,6 @@ AutoIngestControlPanel.runningTable.toolTipText=The Running table displays the c AutoIngestControlPanel.SharedConfigurationDisabled=Shared configuration disabled AutoIngestControlPanel.ShowLogFailed.Message=Case log file does not exist AutoIngestControlPanel.ShowLogFailed.Title=Unable to display case log -# {0} - case db status -# {1} - search svc Status -# {2} - coord svc Status -# {3} - msg broker status AutoIngestControlPanel.tbServicesStatusMessage.Message=Case databases {0}, keyword search {1}, coordination {2}, messaging {3} AutoIngestControlPanel.tbServicesStatusMessage.Message.Down=down AutoIngestControlPanel.tbServicesStatusMessage.Message.Unknown=unknown @@ -186,25 +182,23 @@ DeleteCaseTask.progress.acquiringManifestLocks=Acquiring exclusive manifest file DeleteCaseTask.progress.connectingToCoordSvc=Connecting to the coordination service... DeleteCaseTask.progress.deletingCaseDirCoordSvcNode=Deleting case directory znode... DeleteCaseTask.progress.deletingCaseNameCoordSvcNode=Deleting case name znode... -# {0} - data source path DeleteCaseTask.progress.deletingDataSource=Deleting data source {0}... DeleteCaseTask.progress.deletingJobLogLockNode=Deleting case auto ingest log znode... -# {0} - manifest file path DeleteCaseTask.progress.deletingManifest=Deleting manifest file {0}... -# {0} - manifest file path DeleteCaseTask.progress.deletingManifestFileNode=Deleting the manifest file znode for {0}... DeleteCaseTask.progress.deletingResourcesLockNode=Deleting case resources znode... DeleteCaseTask.progress.gettingManifestPaths=Getting manifest file paths... -# {0} - manifest file path DeleteCaseTask.progress.lockingManifest=Locking manifest file {0}... DeleteCaseTask.progress.openingCaseDatabase=Opening the case database... DeleteCaseTask.progress.openingCaseMetadataFile=Opening case metadata file... -# {0} - manifest file path DeleteCaseTask.progress.parsingManifest=Parsing manifest file {0}... -# {0} - manifest file path DeleteCaseTask.progress.releasingManifestLock=Releasing lock on the manifest file {0}... DeleteCaseTask.progress.startMessage=Starting deletion... DeleteOrphanCaseNodesAction.progressDisplayName=Cleanup Case Znodes +# {0} - item count +DeleteOrphanCaseNodesDialog.additionalInit.lblNodeCount.text=Znodes found: {0} +# {0} - item count +DeleteOrphanCaseNodesDialog.additionalInit.znodesTextArea.countMessage=ZNODES FOUND: {0} DeleteOrphanCaseNodesTask.progress.connectingToCoordSvc=Connecting to the coordination service # {0} - node path DeleteOrphanCaseNodesTask.progress.deletingOrphanedCaseNode=Deleting orphaned case znode {0} @@ -213,7 +207,6 @@ DeleteOrphanCaseNodesTask.progress.lookingForOrphanedCaseZnodes=Looking for orph DeleteOrphanCaseNodesTask.progress.startMessage=Starting orphaned case znode cleanup DeleteOrphanManifestNodesAction.progressDisplayName=Cleanup Manifest File Znodes DeleteOrphanManifestNodesTask.progress.connectingToCoordSvc=Connecting to the coordination service -# {0} - node path DeleteOrphanManifestNodesTask.progress.deletingOrphanedManifestNode=Deleting orphaned manifest file znode {0} DeleteOrphanManifestNodesTask.progress.gettingManifestNodes=Querying the coordination service for manifest file znodes DeleteOrphanManifestNodesTask.progress.lookingForOrphanedManifestFileZnodes=Looking for orphaned manifest file znodes @@ -222,7 +215,6 @@ HINT_CasesDashboardTopComponent=This is an adminstrative dashboard for multi-use OpenAutoIngestLogAction.deletedLogErrorMsg=The case auto ingest log has been deleted. OpenAutoIngestLogAction.logOpenFailedErrorMsg=Failed to open case auto ingest log. See application log for details. OpenAutoIngestLogAction.menuItemText=Open Auto Ingest Log File -# {0} - caseErrorMessage OpenCaseAction.errorMsg=Failed to open case: {0} OpenCaseAction.menuItemText=Open OpenIDE-Module-Long-Description=This module contains features that are being developed by Basis Technology and are not part of the default Autopsy distribution. You can enable this module to use the new features. The features should be stable, but their exact behavior and API are subject to change.\n\nWe make no guarantee that the API of this module will not change, so developers should be careful when relying on it. @@ -456,3 +448,8 @@ CasesDashboardTopComponent.refreshButton.text=Refresh AutoIngestCasesDeletionDialog.jLabel1.text=Progress CasesDashboardTopComponent.deleteOrphanCaseNodesButton.text=Delete Orphan Case Znodes CasesDashboardTopComponent.deleteOrphanManifestNodesButton.text=Delete Orphan Manifest Znodes +DeleteOrphanCaseNodesDialog.descriptionText.text=The following cases have orphaned znodes. Would you like to delete them? +DeleteOrphanCaseNodesDialog.okButton.text=OK +DeleteOrphanCaseNodesDialog.cancelButton.text=Cancel +DeleteOrphanCaseNodesDialog.titleText.text=Delete The Following Znodes? +DeleteOrphanCaseNodesDialog.lblNodeCount.text= diff --git a/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/DeleteOrphanCaseNodesDialog.form b/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/DeleteOrphanCaseNodesDialog.form index dd37628a82..8b314a48d7 100644 --- a/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/DeleteOrphanCaseNodesDialog.form +++ b/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/DeleteOrphanCaseNodesDialog.form @@ -35,7 +35,8 @@ - + + @@ -56,6 +57,7 @@ + @@ -122,5 +124,12 @@ + + + + + + + diff --git a/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/DeleteOrphanCaseNodesDialog.java b/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/DeleteOrphanCaseNodesDialog.java index 451caecd86..72ecfe5b46 100644 --- a/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/DeleteOrphanCaseNodesDialog.java +++ b/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/DeleteOrphanCaseNodesDialog.java @@ -18,34 +18,35 @@ */ package org.sleuthkit.autopsy.experimental.autoingest; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Comparator; import java.util.List; -import java.util.Map; -import java.util.stream.Collectors; -import java.util.stream.Stream; import javax.swing.JFrame; import org.openide.windows.WindowManager; +import org.openide.util.NbBundle.Messages; /** * This dialog shows the system administrator the orphaned znodes to be deleted. * If 'OK' is selected, isOkSelected() will return true. */ class DeleteOrphanCaseNodesDialog extends javax.swing.JDialog { + private static final String NEW_LINE = System.getProperty("line.separator"); - private static final String CASE_SPACING = NEW_LINE + NEW_LINE; - private static final String DEFAULT_INDENT = " "; - private static final String COLON = ":"; - + private boolean okSelected = false; /** * Creates new form DeleteOrphanCaseNodesDialog + * + * @param zNodeCases The list of cases with nodes to be deleted */ - DeleteOrphanCaseNodesDialog(Map> znodes) { + DeleteOrphanCaseNodesDialog(Collection zNodeCases) { super((JFrame) WindowManager.getDefault().getMainWindow(), null, true); initComponents(); - additionalInit(znodes); + additionalInit(zNodeCases); } - + /** * displays this dialog as child of main window. */ @@ -53,23 +54,26 @@ class DeleteOrphanCaseNodesDialog extends javax.swing.JDialog { this.setLocationRelativeTo(WindowManager.getDefault().getMainWindow()); setVisible(true); } - - - private void additionalInit(Map> znodes) { - String textAreaText = ""; - if (znodes != null) { - textAreaText = znodes.entrySet().stream().map((kv) -> { - return Stream.concat( - Stream.of(kv.getKey() + COLON), - kv.getValue().stream().map((node) -> DEFAULT_INDENT + node)) - .collect(Collectors.joining(NEW_LINE)); - }) - .collect(Collectors.joining(CASE_SPACING)); - } - + + @Messages({ + "# {0} - item count", + "DeleteOrphanCaseNodesDialog.additionalInit.lblNodeCount.text=Znodes found: {0}", + "# {0} - item count", + "DeleteOrphanCaseNodesDialog.additionalInit.znodesTextArea.countMessage=ZNODES FOUND: {0}" + }) + private void additionalInit(Collection zNodeCases) { + List casesList = (zNodeCases == null) ? new ArrayList<>() : new ArrayList<>(zNodeCases); + int count = casesList.size(); + casesList.sort(Comparator.comparing(String::toString)); + String textAreaText = Bundle.DeleteOrphanCaseNodesDialog_additionalInit_znodesTextArea_countMessage(count) + + NEW_LINE + + NEW_LINE + + String.join(NEW_LINE, casesList); + znodesTextArea.setText(textAreaText); + + lblNodeCount.setText(Bundle.DeleteOrphanCaseNodesDialog_additionalInit_lblNodeCount_text(count)); } - /** * This method is called from within the constructor to initialize the form. @@ -85,6 +89,7 @@ class DeleteOrphanCaseNodesDialog extends javax.swing.JDialog { znodesTextArea = new javax.swing.JTextArea(); javax.swing.JButton cancelButton = new javax.swing.JButton(); javax.swing.JButton okButton = new javax.swing.JButton(); + lblNodeCount = new javax.swing.JLabel(); setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); setTitle(org.openide.util.NbBundle.getMessage(DeleteOrphanCaseNodesDialog.class, "DeleteOrphanCaseNodesDialog.titleText.text")); // NOI18N @@ -113,6 +118,8 @@ class DeleteOrphanCaseNodesDialog extends javax.swing.JDialog { } }); + org.openide.awt.Mnemonics.setLocalizedText(lblNodeCount, org.openide.util.NbBundle.getMessage(DeleteOrphanCaseNodesDialog.class, "DeleteOrphanCaseNodesDialog.lblNodeCount.text")); // NOI18N + javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup( @@ -123,7 +130,8 @@ class DeleteOrphanCaseNodesDialog extends javax.swing.JDialog { .addComponent(jScrollPane, javax.swing.GroupLayout.Alignment.TRAILING) .addComponent(descriptionText, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() - .addGap(0, 0, Short.MAX_VALUE) + .addComponent(lblNodeCount, javax.swing.GroupLayout.PREFERRED_SIZE, 310, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(okButton) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(cancelButton))) @@ -139,7 +147,8 @@ class DeleteOrphanCaseNodesDialog extends javax.swing.JDialog { .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(cancelButton) - .addComponent(okButton)) + .addComponent(okButton) + .addComponent(lblNodeCount)) .addContainerGap()) ); @@ -157,13 +166,15 @@ class DeleteOrphanCaseNodesDialog extends javax.swing.JDialog { /** * If the system administrator selected OK. - * @return Whether or not 'OK' was selected by the system administrator. + * + * @return Whether or not 'OK' was selected by the system administrator. */ boolean isOkSelected() { return okSelected; } - + // Variables declaration - do not modify//GEN-BEGIN:variables + private javax.swing.JLabel lblNodeCount; private javax.swing.JTextArea znodesTextArea; // End of variables declaration//GEN-END:variables } diff --git a/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/DeleteOrphanCaseNodesTask.java b/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/DeleteOrphanCaseNodesTask.java index 5facd5d6ff..14e7cbe10e 100755 --- a/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/DeleteOrphanCaseNodesTask.java +++ b/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/DeleteOrphanCaseNodesTask.java @@ -19,14 +19,17 @@ package org.sleuthkit.autopsy.experimental.autoingest; import java.io.File; +import java.lang.reflect.InvocationTargetException; import java.nio.file.Path; import java.nio.file.Paths; import java.util.ArrayList; +import java.util.Collection; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Map.Entry; import java.util.logging.Level; +import javax.swing.SwingUtilities; import org.openide.util.NbBundle; import org.sleuthkit.autopsy.casemodule.multiusercases.CoordinationServiceUtils; import static org.sleuthkit.autopsy.casemodule.multiusercases.CoordinationServiceUtils.isCaseAutoIngestLogNodePath; @@ -44,10 +47,9 @@ final class DeleteOrphanCaseNodesTask implements Runnable { private static final Logger logger = AutoIngestDashboardLogger.getLogger(); private final ProgressIndicator progress; - private int nodesCount; - private int casesCount; + private int nodesCount = 0; + private int casesCount = 0; - /** * Constucts an instance of a task for deleting case coordination service * nodes for which there is no longer a corresponding case. @@ -57,11 +59,12 @@ final class DeleteOrphanCaseNodesTask implements Runnable { DeleteOrphanCaseNodesTask(ProgressIndicator progress) { this.progress = progress; } - - + /** - * Retrieves an instance of the coordination service in order to fetch znodes and potentially delete. - * @return The coordination service or null on error. + * Retrieves an instance of the coordination service in order to fetch + * znodes and potentially delete. + * + * @return The coordination service or null on error. */ private CoordinationService getCoordinationService() { progress.progress(Bundle.DeleteOrphanCaseNodesTask_progress_connectingToCoordSvc()); @@ -74,12 +77,14 @@ final class DeleteOrphanCaseNodesTask implements Runnable { } return coordinationService; } - - + /** * Retrieves node paths for cases. - * @param coordinationService The coordination service to use in order to fetch the node paths. - * @return The list of node paths for cases. + * + * @param coordinationService The coordination service to use in order to + * fetch the node paths. + * + * @return The list of node paths for cases. */ private List getNodePaths(CoordinationService coordinationService) { progress.progress(Bundle.DeleteOrphanCaseNodesTask_progress_gettingCaseZnodes()); @@ -88,27 +93,30 @@ final class DeleteOrphanCaseNodesTask implements Runnable { try { nodePaths = coordinationService.getNodeList(CoordinationService.CategoryNode.CASES); // in the event that getNodeList returns null (but still successful) return empty list - if (nodePaths == null) + if (nodePaths == null) { return new ArrayList(); + } } catch (CoordinationService.CoordinationServiceException ex) { logger.log(Level.SEVERE, "Error getting case znode list", ex); //NON-NLS } catch (InterruptedException unused) { logger.log(Level.WARNING, "Task cancelled while getting case znode list"); //NON-NLS } - + return nodePaths; } - private void addIfExists(List paths, String path) { - if (path != null && !path.isEmpty()) + if (path != null && !path.isEmpty()) { paths.add(path); + } } - + /** * Determines orphaned znode paths. - * @param nodePaths The list of case node paths. - * @return The list of orphaned node paths. + * + * @param nodePaths The list of case node paths. + * + * @return The list of orphaned node paths. */ private Map> getOrphanedNodes(List nodePaths) { progress.progress(Bundle.DeleteOrphanCaseNodesTask_progress_lookingForOrphanedCaseZnodes()); @@ -124,7 +132,7 @@ final class DeleteOrphanCaseNodesTask implements Runnable { if (!caseDirectory.exists()) { String caseName = CoordinationServiceUtils.getCaseNameNodePath(caseDirectoryPath); List paths = new ArrayList<>(); - + addIfExists(paths, CoordinationServiceUtils.getCaseNameNodePath(caseDirectoryPath)); addIfExists(paths, CoordinationServiceUtils.getCaseResourcesNodePath(caseDirectoryPath)); addIfExists(paths, CoordinationServiceUtils.getCaseAutoIngestLogNodePath(caseDirectoryPath)); @@ -134,20 +142,49 @@ final class DeleteOrphanCaseNodesTask implements Runnable { } return nodePathsToDelete; } - + + /** + * Boxed boolean so that promptUser method can set a value on a final object + * from custom jdialog message. + */ + private class PromptResult { + + private boolean value = false; + + boolean getValue() { + return value; + } + + void setValue(boolean value) { + this.value = value; + } + + } + /** * prompts the user with a list of orphaned znodes. - * @param orphanedNodes The orphaned znodes. - * @return True if the user would like to proceed deleting the znodes. + * + * @param orphanedNodes The orphaned znode cases. + * + * @return True if the user would like to proceed deleting the znodes. */ - private boolean promptUser(Map> orphanedNodes) { - DeleteOrphanCaseNodesDialog dialog = new DeleteOrphanCaseNodesDialog(orphanedNodes); - dialog.display(); - return dialog.isOkSelected(); + private boolean promptUser(Collection orphanedNodes) { + final PromptResult dialogResult = new PromptResult(); + ; + try { + SwingUtilities.invokeAndWait(() -> { + DeleteOrphanCaseNodesDialog dialog = new DeleteOrphanCaseNodesDialog(orphanedNodes); + dialog.display(); + dialogResult.setValue(dialog.isOkSelected()); + }); + + return dialogResult.getValue(); + } catch (InterruptedException | InvocationTargetException e) { + logger.log(Level.WARNING, "Task cancelled while confirmingg case znodes to delete"); //NON-NLS + return false; + } } - - - + @Override @NbBundle.Messages({ "DeleteOrphanCaseNodesTask.progress.startMessage=Starting orphaned case znode cleanup", @@ -159,22 +196,22 @@ final class DeleteOrphanCaseNodesTask implements Runnable { progress.start(Bundle.DeleteOrphanCaseNodesTask_progress_startMessage()); try { CoordinationService coordinationService = getCoordinationService(); - if (coordinationService == null) + if (coordinationService == null) { return; + } List nodePaths = getNodePaths(coordinationService); - if (nodePaths == null) + if (nodePaths == null) { return; + } Map> orphanedNodes = getOrphanedNodes(nodePaths); - if (orphanedNodes == null || orphanedNodes.isEmpty()) - return; - - boolean continueDelete = promptUser(orphanedNodes); - - if (continueDelete) + boolean continueDelete = promptUser(orphanedNodes.keySet()); + + if (continueDelete) { deleteNodes(coordinationService, orphanedNodes); - + } + } catch (Exception ex) { /* * This is an unexpected runtime exceptions firewall. It is here @@ -190,13 +227,13 @@ final class DeleteOrphanCaseNodesTask implements Runnable { progress.finish(); } } - - + /** * Deletes the orphaned znodes provided in the 'orphanedNodes' variable. - * @param coordinationService The coordination service to use for deletion. - * @param orphanedNodes A mapping of case to the orphaned znodes. - * + * + * @param coordinationService The coordination service to use for deletion. + * @param orphanedNodes A mapping of case to the orphaned znodes. + * * @throws InterruptedException If the thread executing this task is * interrupted during the delete operation. */ @@ -214,7 +251,6 @@ final class DeleteOrphanCaseNodesTask implements Runnable { } } catch (InterruptedException unused) { logger.log(Level.WARNING, String.format("Task cancelled while deleting orphaned znode %s for %s", nodePath, caseName)); //NON-NLS - return; } } From bf18ee70cb7cb66f110c716f45ead0af08782333 Mon Sep 17 00:00:00 2001 From: Greg DiCristofaro Date: Tue, 7 Apr 2020 13:48:07 -0400 Subject: [PATCH 020/111] address codacy review --- .../experimental/autoingest/DeleteOrphanCaseNodesDialog.java | 1 + .../experimental/autoingest/DeleteOrphanCaseNodesTask.java | 3 +-- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/DeleteOrphanCaseNodesDialog.java b/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/DeleteOrphanCaseNodesDialog.java index 72ecfe5b46..3c8aacb86e 100644 --- a/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/DeleteOrphanCaseNodesDialog.java +++ b/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/DeleteOrphanCaseNodesDialog.java @@ -31,6 +31,7 @@ import org.openide.util.NbBundle.Messages; * If 'OK' is selected, isOkSelected() will return true. */ class DeleteOrphanCaseNodesDialog extends javax.swing.JDialog { + private static final long serialVersionUID = 1L; private static final String NEW_LINE = System.getProperty("line.separator"); diff --git a/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/DeleteOrphanCaseNodesTask.java b/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/DeleteOrphanCaseNodesTask.java index 14e7cbe10e..58ff05e00d 100755 --- a/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/DeleteOrphanCaseNodesTask.java +++ b/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/DeleteOrphanCaseNodesTask.java @@ -155,7 +155,7 @@ final class DeleteOrphanCaseNodesTask implements Runnable { return value; } - void setValue(boolean value) { + void isValue(boolean value) { this.value = value; } @@ -170,7 +170,6 @@ final class DeleteOrphanCaseNodesTask implements Runnable { */ private boolean promptUser(Collection orphanedNodes) { final PromptResult dialogResult = new PromptResult(); - ; try { SwingUtilities.invokeAndWait(() -> { DeleteOrphanCaseNodesDialog dialog = new DeleteOrphanCaseNodesDialog(orphanedNodes); From bd06d740140a2ef3119321c319a3933b1e542536 Mon Sep 17 00:00:00 2001 From: Greg DiCristofaro Date: Tue, 7 Apr 2020 14:02:24 -0400 Subject: [PATCH 021/111] fix typo --- .../experimental/autoingest/DeleteOrphanCaseNodesTask.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/DeleteOrphanCaseNodesTask.java b/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/DeleteOrphanCaseNodesTask.java index 58ff05e00d..bc2371104d 100755 --- a/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/DeleteOrphanCaseNodesTask.java +++ b/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/DeleteOrphanCaseNodesTask.java @@ -151,11 +151,11 @@ final class DeleteOrphanCaseNodesTask implements Runnable { private boolean value = false; - boolean getValue() { + boolean isValue() { return value; } - void isValue(boolean value) { + void setValue(boolean value) { this.value = value; } @@ -177,7 +177,7 @@ final class DeleteOrphanCaseNodesTask implements Runnable { dialogResult.setValue(dialog.isOkSelected()); }); - return dialogResult.getValue(); + return dialogResult.isValue(); } catch (InterruptedException | InvocationTargetException e) { logger.log(Level.WARNING, "Task cancelled while confirmingg case znodes to delete"); //NON-NLS return false; From 76d7292ea2cf9272254f8be236b0ed873398f52a Mon Sep 17 00:00:00 2001 From: Greg DiCristofaro Date: Tue, 7 Apr 2020 16:13:02 -0400 Subject: [PATCH 022/111] initial implementation --- .../textextractors/TextFileExtractor.java | 27 ++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/Core/src/org/sleuthkit/autopsy/textextractors/TextFileExtractor.java b/Core/src/org/sleuthkit/autopsy/textextractors/TextFileExtractor.java index 4a89b74d3c..710a7d3508 100644 --- a/Core/src/org/sleuthkit/autopsy/textextractors/TextFileExtractor.java +++ b/Core/src/org/sleuthkit/autopsy/textextractors/TextFileExtractor.java @@ -25,8 +25,10 @@ import java.io.Reader; import java.nio.charset.Charset; import java.nio.charset.StandardCharsets; import java.util.logging.Level; +import org.apache.commons.lang.StringUtils; import org.sleuthkit.autopsy.coreutils.Logger; import org.sleuthkit.autopsy.coreutils.textutils.EncodingUtils; +import org.sleuthkit.autopsy.modules.filetypeid.FileTypeDetector; import org.sleuthkit.datamodel.AbstractFile; import org.sleuthkit.datamodel.ReadContentInputStream; import org.sleuthkit.datamodel.TskCoreException; @@ -38,6 +40,7 @@ public final class TextFileExtractor implements TextExtractor { private static final Logger logger = Logger.getLogger(TextFileExtractor.class.getName()); private final AbstractFile file; + private static final String PLAIN_TEXT_MIME_TYPE = "text/plain"; private Charset encoding = null; @@ -74,6 +77,28 @@ public final class TextFileExtractor implements TextExtractor { @Override public boolean isSupported() { - return file.getMIMEType().equals("text/plain"); + // if file is null, it is not supported + if (file == null) + return false; + + // get the MIME type + String mimeType = file.getMIMEType(); + + // if it is not present, attempt to use the FileTypeDetector to determine + if (StringUtils.isEmpty(mimeType)) { + FileTypeDetector fileTypeDetector = null; + try { + fileTypeDetector = new FileTypeDetector(); + } catch (FileTypeDetector.FileTypeDetectorInitException ex) { + logger.log(Level.WARNING, "Unable to create file type detector for determining MIME type."); + } + mimeType = fileTypeDetector.getMIMEType(file); + + // if able to determine mime type, + if (!StringUtils.isEmpty(mimeType)) + file.setMIMEType(mimeType); + } + + return (StringUtils.isEmpty(mimeType)) ? false : mimeType.equals(PLAIN_TEXT_MIME_TYPE); } } From 3c47c8b5f69448f29f231b7370358c90e9eb0069 Mon Sep 17 00:00:00 2001 From: Greg DiCristofaro Date: Tue, 7 Apr 2020 16:13:20 -0400 Subject: [PATCH 023/111] initial implementation --- .../textextractors/TextFileExtractorTest.java | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 Core/test/unit/src/org/sleuthkit/autopsy/textextractors/TextFileExtractorTest.java diff --git a/Core/test/unit/src/org/sleuthkit/autopsy/textextractors/TextFileExtractorTest.java b/Core/test/unit/src/org/sleuthkit/autopsy/textextractors/TextFileExtractorTest.java new file mode 100644 index 0000000000..9f9dc8493c --- /dev/null +++ b/Core/test/unit/src/org/sleuthkit/autopsy/textextractors/TextFileExtractorTest.java @@ -0,0 +1,23 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package org.sleuthkit.autopsy.textextractors; + +import junit.framework.Assert; +import org.junit.Test; + + +/** + * Tests methods present in the TextFileExtractor + */ +public class TextFileExtractorTest { + + @Test + public void testIsSupported() { + Assert.assertFalse(new TextFileExtractor(null).isSupported()); + } + + +} From c0904d9fa24cfac8739a52d24c5793e50e004a43 Mon Sep 17 00:00:00 2001 From: Greg DiCristofaro Date: Wed, 8 Apr 2020 08:21:42 -0400 Subject: [PATCH 024/111] updated formatting --- .../autopsy/guiutils/WrapLayout.java | 192 ++++++++++++------ 1 file changed, 125 insertions(+), 67 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/guiutils/WrapLayout.java b/Core/src/org/sleuthkit/autopsy/guiutils/WrapLayout.java index 921aea586d..6062470587 100644 --- a/Core/src/org/sleuthkit/autopsy/guiutils/WrapLayout.java +++ b/Core/src/org/sleuthkit/autopsy/guiutils/WrapLayout.java @@ -1,7 +1,7 @@ /* * Autopsy Forensic Browser * - * Copyright 2019 Basis Technology Corp. + * Copyright 2019-2020 Basis Technology Corp. * Contact: carrier sleuthkit org * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -50,7 +50,7 @@ public class WrapLayout implements LayoutManager, java.io.Serializable { private static final long serialVersionUID = 1L; /** - * The WrapLayout manager allows a seperation of components + * The WrapLayout manager allows a separation of components * with gaps. The horizontal gap will specify the space between components * and between the components and the borders of the Container. * @@ -61,7 +61,7 @@ public class WrapLayout implements LayoutManager, java.io.Serializable { private int hgap = 0; /** - * The WrapLayout manager allows a seperation of components + * The WrapLayout manager allows a separation of components * with gaps. The vertical gap will specify the space between rows and * between the the rows and the borders of the Container. * @@ -92,9 +92,9 @@ public class WrapLayout implements LayoutManager, java.io.Serializable { /** * Constructs a new WrapLayout with a left alignment. - * - * @param vgap The vertical gap spacing between rows of components. - * @param hgap The horizontal gap spacing between components. + * + * @param vgap The vertical gap spacing between rows of components. + * @param hgap The horizontal gap spacing between components. */ public WrapLayout(int vgap, int hgap) { this.vgap = vgap; @@ -195,8 +195,8 @@ public class WrapLayout implements LayoutManager, java.io.Serializable { } /** - * Adds the specified component to the layout. Not used by this class. - * NOTE: This is not used for this layout + * Adds the specified component to the layout. Not used by this class. NOTE: + * This is not used for this layout * * @param name The name of the component. * @param comp The component to be added. @@ -289,30 +289,30 @@ public class WrapLayout implements LayoutManager, java.io.Serializable { synchronized (this.oppositeAlignedItems) { ParentDimensions targetDims = getTargetDimensions(target); List components = Arrays.asList(target.getComponents()); - List rows = getAllRows(components, true, targetDims.innerWidth); + List rows = getAllRows(components, true, targetDims.getInnerWidth()); boolean ltr = target.getComponentOrientation().isLeftToRight(); boolean useBaseline = getAlignOnBaseline(); - int rowY = targetDims.insets.top + getVgap(); - int leftX = targetDims.insets.left + getHgap(); - int rightX = targetDims.outerWidth - targetDims.insets.right - getHgap(); + int rowY = targetDims.getInsets().top + getVgap(); + int leftX = targetDims.getInsets().left + getHgap(); + int rightX = targetDims.getOuterWidth() - targetDims.getInsets().right - getHgap(); for (WrapLayoutRow row : rows) { - int rowHeight = row.height; + int rowHeight = row.getHeight(); int curX = 0; - if (row.components != null) { - for (Component origComp : row.components) { + if (row.getComponents() != null) { + for (Component origComp : row.getComponents()) { curX += setComponentDims(origComp, useBaseline, ltr, rowY, rowHeight, leftX, rightX, curX) + getHgap(); } } - if (row.oppositeAligned != null) { + if (row.getOppositeAligned() != null) { curX = 0; // reverse opposite aligned for layout purposes since flipping ltr - Collections.reverse(row.oppositeAligned); - for (Component oppAlignedComp : row.oppositeAligned) { + Collections.reverse(row.getOppositeAligned()); + for (Component oppAlignedComp : row.getOppositeAligned()) { curX += setComponentDims(oppAlignedComp, useBaseline, !ltr, rowY, rowHeight, leftX, rightX, curX) + getHgap(); } } @@ -358,27 +358,50 @@ public class WrapLayout implements LayoutManager, java.io.Serializable { */ private static class ParentDimensions { - /** - * The full width that the component can consume. - */ - final int outerWidth; + private final int outerWidth; + private final int innerWidth; + private final Insets insets; /** - * The full width that subcomponent rows can consume. This is the - * outerWidth accounting for left and right insets. + * Main constructor for ParentDimensions class. + * + * @param outerWidth The full width that the component can consume. + * @param innerWidth The full width that subcomponent rows can consume. + * @param insets The insets of the parent container. */ - final int innerWidth; - - /** - * The insets of the parent container. - */ - final Insets insets; - ParentDimensions(int outerWidth, int innerWidth, Insets insets) { this.outerWidth = outerWidth; this.innerWidth = innerWidth; this.insets = insets; } + + /** + * Gets the full width that the component can consume. + * + * @return The full width that the component can consume. + */ + int getOuterWidth() { + return outerWidth; + } + + /** + * Gets the full width that subcomponent rows can consume. This is the + * outerWidth accounting for left and right insets. + * + * @return The full width that subcomponent rows can consume. + */ + int getInnerWidth() { + return innerWidth; + } + + /** + * Gets the insets of the parent container. + * + * @return The insets of the parent container. + */ + Insets getInsets() { + return insets; + } } /** @@ -407,10 +430,8 @@ public class WrapLayout implements LayoutManager, java.io.Serializable { targetWidth = Integer.MAX_VALUE; } - int hgap = getHgap(); - Insets insets = target.getInsets(); - int horizontalInsetsAndGap = insets.left + insets.right + (hgap * 2); + int horizontalInsetsAndGap = insets.left + insets.right + (getHgap() * 2); int maxWidth = targetWidth - horizontalInsetsAndGap; return new ParentDimensions(targetWidth, maxWidth, insets); @@ -421,7 +442,7 @@ public class WrapLayout implements LayoutManager, java.io.Serializable { * container. * * @param target Target to get layout size for. - * @param preferred Should preferred size be calculate.d + * @param preferred Should preferred size be calculated. * * @return The dimension to layout the target container. */ @@ -430,18 +451,18 @@ public class WrapLayout implements LayoutManager, java.io.Serializable { synchronized (this.oppositeAlignedItems) { ParentDimensions targetDims = getTargetDimensions(target); List components = Arrays.asList(target.getComponents()); - List rows = getAllRows(components, preferred, targetDims.innerWidth); + List rows = getAllRows(components, preferred, targetDims.getInnerWidth()); - Integer containerHeight = rows.stream().map((r) -> r.height).reduce(0, Integer::sum); + Integer containerHeight = rows.stream().map((r) -> r.getHeight()).reduce(0, Integer::sum); // add in vertical gap between rows if (rows.size() > 1) { containerHeight += (rows.size() - 1) * getVgap(); } - containerHeight += targetDims.insets.top + targetDims.insets.bottom; + containerHeight += targetDims.getInsets().top + targetDims.getInsets().bottom; - Integer containerWidth = rows.stream().map((r) -> r.width).reduce(0, Math::max); - containerWidth += targetDims.insets.left + targetDims.insets.right + (getHgap() * 2); + Integer containerWidth = rows.stream().map((r) -> r.getWidth()).reduce(0, Math::max); + containerWidth += targetDims.getInsets().left + targetDims.getInsets().right + (getHgap() * 2); // When using a scroll pane or the DecoratedLookAndFeel we need to // make sure the preferred size is less than the size of the @@ -463,36 +484,73 @@ public class WrapLayout implements LayoutManager, java.io.Serializable { */ private class WrapLayoutRow { - /** - * The normally aligned components in the order that they will be laid - * out. - */ - final List components; + private final List components; + private final List oppositeAligned; + private final int height; + private final int width; /** - * The opposite aligned components in the order that they will be laid - * out. + * This is the main constructor for a row of components in the + * WrapLayout. + * + * @param components The components that should be normally aligned + * in the row. + * @param oppositeAligned The components that should be oppositely + * aligned in the row. + * @param height The maximum height of the row. + * @param width The total width of the row. */ - final List oppositeAligned; - - /** - * The minimum height of the row which is the maximum of the preferred - * heights of the components. - */ - final int height; - - /** - * The minimum width of the row which is the sum of the preferred widths - * of the subcomponents. - */ - final int width; - - public WrapLayoutRow(List components, List oppositeAligned, int height, int width) { + WrapLayoutRow(List components, List oppositeAligned, int height, int width) { this.components = components; this.oppositeAligned = oppositeAligned; this.height = height; this.width = width; } + + /** + * Gets the normally aligned components in the order that they will be + * laid out. + * + * @return The normally aligned components in the order that they will + * be laid out. + */ + List getComponents() { + return components; + } + + /** + * Gets the opposite aligned components in the order that they will be + * laid out. + * + * @return The opposite aligned components in the order that they will + * be laid out. + */ + List getOppositeAligned() { + return oppositeAligned; + } + + /** + * Gets the minimum height of the row which is the maximum of the + * preferred heights of the components. + * + * @return The minimum height of the row which is the maximum of the + * preferred heights of the components. + */ + int getHeight() { + return height; + } + + /** + * Gets the minimum width of the row which is the sum of the preferred + * widths of the subcomponents. + * + * @return The minimum width of the row which is the sum of the + * preferred widths of the subcomponents. + */ + int getWidth() { + return width; + } + } /** @@ -525,8 +583,8 @@ public class WrapLayout implements LayoutManager, java.io.Serializable { List oppositeRowSet = getRowSet(oppositeAlignedComp, preferred, maxWidth) .stream() .map((WrapLayoutRow row) -> { - Collections.reverse(row.components); - return new WrapLayoutRow(null, row.components, row.height, row.width); + Collections.reverse(row.getComponents()); + return new WrapLayoutRow(null, row.getComponents(), row.getHeight(), row.getWidth()); }) .collect(Collectors.toList()); Collections.reverse(oppositeRowSet); @@ -539,10 +597,10 @@ public class WrapLayout implements LayoutManager, java.io.Serializable { WrapLayoutRow lastOrig = originalRowSet.get(originalRowSet.size() - 1); WrapLayoutRow firstOpp = oppositeRowSet.get(0); - int proposedRowWidth = lastOrig.width + firstOpp.width + getHgap(); + int proposedRowWidth = lastOrig.getWidth() + firstOpp.getWidth() + getHgap(); if (proposedRowWidth <= maxWidth) { - WrapLayoutRow middleRow = new WrapLayoutRow(lastOrig.components, firstOpp.oppositeAligned, - Math.max(lastOrig.height, firstOpp.height), proposedRowWidth); + WrapLayoutRow middleRow = new WrapLayoutRow(lastOrig.getComponents(), firstOpp.getOppositeAligned(), + Math.max(lastOrig.getHeight(), firstOpp.getHeight()), proposedRowWidth); toReturn.addAll(originalRowSet.subList(0, originalRowSet.size() - 1)); toReturn.add(middleRow); From 876a9870b2d65cf59abc0f4ff9dac1792437ad4d Mon Sep 17 00:00:00 2001 From: Greg DiCristofaro Date: Wed, 8 Apr 2020 08:59:53 -0400 Subject: [PATCH 025/111] fix for assigned value never used --- .../sleuthkit/autopsy/guiutils/WrapLayout.java | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/guiutils/WrapLayout.java b/Core/src/org/sleuthkit/autopsy/guiutils/WrapLayout.java index 6062470587..d1f4b4d323 100644 --- a/Core/src/org/sleuthkit/autopsy/guiutils/WrapLayout.java +++ b/Core/src/org/sleuthkit/autopsy/guiutils/WrapLayout.java @@ -413,18 +413,11 @@ public class WrapLayout implements LayoutManager, java.io.Serializable { * @return The dimensions for laying out components. */ private ParentDimensions getTargetDimensions(Container target) { - // Each row must fit with the width allocated to the containter. - // When the container width = 0, the preferred width of the container - // has not yet been calculated so lets ask for the maximum. - - int targetWidth = target.getSize().width; - Container container = target; - - while (container.getSize().width == 0 && container.getParent() != null) { - container = container.getParent(); + while (target.getSize().width == 0 && target.getParent() != null) { + target = target.getParent(); } - targetWidth = container.getSize().width; + int targetWidth = target.getSize().width; if (targetWidth == 0) { targetWidth = Integer.MAX_VALUE; @@ -464,7 +457,7 @@ public class WrapLayout implements LayoutManager, java.io.Serializable { Integer containerWidth = rows.stream().map((r) -> r.getWidth()).reduce(0, Math::max); containerWidth += targetDims.getInsets().left + targetDims.getInsets().right + (getHgap() * 2); - // When using a scroll pane or the DecoratedLookAndFeel we need to + // When using a scroll pane or the DecoratedLookAndFeel we need to // make sure the preferred size is less than the size of the // target containter so shrinking the container size works // correctly. Removing the horizontal gap is an easy way to do this. From 5a89c431a6ec1905fe20b359edc04edf8ddeca91 Mon Sep 17 00:00:00 2001 From: Greg DiCristofaro Date: Wed, 8 Apr 2020 09:13:02 -0400 Subject: [PATCH 026/111] updates to TextFileExtractor --- .../autopsy/textextractors/TextFileExtractor.java | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/textextractors/TextFileExtractor.java b/Core/src/org/sleuthkit/autopsy/textextractors/TextFileExtractor.java index 710a7d3508..33c7c04a4e 100644 --- a/Core/src/org/sleuthkit/autopsy/textextractors/TextFileExtractor.java +++ b/Core/src/org/sleuthkit/autopsy/textextractors/TextFileExtractor.java @@ -76,11 +76,7 @@ public final class TextFileExtractor implements TextExtractor { } @Override - public boolean isSupported() { - // if file is null, it is not supported - if (file == null) - return false; - + public boolean isSupported() { // get the MIME type String mimeType = file.getMIMEType(); @@ -91,6 +87,7 @@ public final class TextFileExtractor implements TextExtractor { fileTypeDetector = new FileTypeDetector(); } catch (FileTypeDetector.FileTypeDetectorInitException ex) { logger.log(Level.WARNING, "Unable to create file type detector for determining MIME type."); + return false; } mimeType = fileTypeDetector.getMIMEType(file); @@ -99,6 +96,6 @@ public final class TextFileExtractor implements TextExtractor { file.setMIMEType(mimeType); } - return (StringUtils.isEmpty(mimeType)) ? false : mimeType.equals(PLAIN_TEXT_MIME_TYPE); + return PLAIN_TEXT_MIME_TYPE.equals(mimeType); } } From 56cd8fcff69f1832d71456a7f1cb9a7a26a6e421 Mon Sep 17 00:00:00 2001 From: Greg DiCristofaro Date: Wed, 8 Apr 2020 10:58:24 -0400 Subject: [PATCH 027/111] address codacy items --- Core/src/org/sleuthkit/autopsy/guiutils/WrapLayout.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Core/src/org/sleuthkit/autopsy/guiutils/WrapLayout.java b/Core/src/org/sleuthkit/autopsy/guiutils/WrapLayout.java index d1f4b4d323..2c5f666af6 100644 --- a/Core/src/org/sleuthkit/autopsy/guiutils/WrapLayout.java +++ b/Core/src/org/sleuthkit/autopsy/guiutils/WrapLayout.java @@ -124,7 +124,7 @@ public class WrapLayout implements LayoutManager, java.io.Serializable { * @return The components to display with opposite alignment. */ public Collection getOppositeAlignedItems() { - return oppositeAlignedItems; + return Collections.unmodifiableCollection(oppositeAlignedItems); } /** @@ -203,6 +203,7 @@ public class WrapLayout implements LayoutManager, java.io.Serializable { */ @Override public void addLayoutComponent(String name, Component comp) { + //Empty } /** @@ -213,6 +214,7 @@ public class WrapLayout implements LayoutManager, java.io.Serializable { */ @Override public void removeLayoutComponent(Component comp) { + //Empty } /** From 98933985031dc8ad8759959b716fbb91f48bb76a Mon Sep 17 00:00:00 2001 From: Greg DiCristofaro Date: Wed, 8 Apr 2020 11:02:29 -0400 Subject: [PATCH 028/111] cleanup --- .../textextractors/TextFileExtractorTest.java | 23 ------------------- 1 file changed, 23 deletions(-) delete mode 100644 Core/test/unit/src/org/sleuthkit/autopsy/textextractors/TextFileExtractorTest.java diff --git a/Core/test/unit/src/org/sleuthkit/autopsy/textextractors/TextFileExtractorTest.java b/Core/test/unit/src/org/sleuthkit/autopsy/textextractors/TextFileExtractorTest.java deleted file mode 100644 index 9f9dc8493c..0000000000 --- a/Core/test/unit/src/org/sleuthkit/autopsy/textextractors/TextFileExtractorTest.java +++ /dev/null @@ -1,23 +0,0 @@ -/* - * To change this license header, choose License Headers in Project Properties. - * To change this template file, choose Tools | Templates - * and open the template in the editor. - */ -package org.sleuthkit.autopsy.textextractors; - -import junit.framework.Assert; -import org.junit.Test; - - -/** - * Tests methods present in the TextFileExtractor - */ -public class TextFileExtractorTest { - - @Test - public void testIsSupported() { - Assert.assertFalse(new TextFileExtractor(null).isSupported()); - } - - -} From 1b238183046b0f25e83d7f4322e314076d59e4a8 Mon Sep 17 00:00:00 2001 From: Greg DiCristofaro Date: Wed, 8 Apr 2020 13:51:25 -0400 Subject: [PATCH 029/111] update log entry to severe --- .../org/sleuthkit/autopsy/textextractors/TextFileExtractor.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Core/src/org/sleuthkit/autopsy/textextractors/TextFileExtractor.java b/Core/src/org/sleuthkit/autopsy/textextractors/TextFileExtractor.java index 33c7c04a4e..dda59cdcfd 100644 --- a/Core/src/org/sleuthkit/autopsy/textextractors/TextFileExtractor.java +++ b/Core/src/org/sleuthkit/autopsy/textextractors/TextFileExtractor.java @@ -86,7 +86,7 @@ public final class TextFileExtractor implements TextExtractor { try { fileTypeDetector = new FileTypeDetector(); } catch (FileTypeDetector.FileTypeDetectorInitException ex) { - logger.log(Level.WARNING, "Unable to create file type detector for determining MIME type."); + logger.log(Level.SEVERE, "Unable to create file type detector for determining MIME type."); return false; } mimeType = fileTypeDetector.getMIMEType(file); From 48d1e08280c13ea276550aed9e1e36f35301b9ec Mon Sep 17 00:00:00 2001 From: Greg DiCristofaro Date: Wed, 8 Apr 2020 15:11:03 -0400 Subject: [PATCH 030/111] remove synchronization --- .../autopsy/guiutils/WrapLayout.java | 112 ++++++++---------- 1 file changed, 51 insertions(+), 61 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/guiutils/WrapLayout.java b/Core/src/org/sleuthkit/autopsy/guiutils/WrapLayout.java index 2c5f666af6..f46d450558 100644 --- a/Core/src/org/sleuthkit/autopsy/guiutils/WrapLayout.java +++ b/Core/src/org/sleuthkit/autopsy/guiutils/WrapLayout.java @@ -110,10 +110,8 @@ public class WrapLayout implements LayoutManager, java.io.Serializable { * alignment. */ public void setOppositeAligned(Collection oppAlignedComponents) { - synchronized (this.oppositeAlignedItems) { - this.oppositeAlignedItems.clear(); - this.oppositeAlignedItems.addAll(oppAlignedComponents); - } + this.oppositeAlignedItems.clear(); + this.oppositeAlignedItems.addAll(oppAlignedComponents); } /** @@ -287,41 +285,37 @@ public class WrapLayout implements LayoutManager, java.io.Serializable { */ @Override public void layoutContainer(Container target) { - synchronized (target.getTreeLock()) { - synchronized (this.oppositeAlignedItems) { - ParentDimensions targetDims = getTargetDimensions(target); - List components = Arrays.asList(target.getComponents()); - List rows = getAllRows(components, true, targetDims.getInnerWidth()); + ParentDimensions targetDims = getTargetDimensions(target); + List components = Arrays.asList(target.getComponents()); + List rows = getAllRows(components, true, targetDims.getInnerWidth()); - boolean ltr = target.getComponentOrientation().isLeftToRight(); - boolean useBaseline = getAlignOnBaseline(); + boolean ltr = target.getComponentOrientation().isLeftToRight(); + boolean useBaseline = getAlignOnBaseline(); - int rowY = targetDims.getInsets().top + getVgap(); - int leftX = targetDims.getInsets().left + getHgap(); - int rightX = targetDims.getOuterWidth() - targetDims.getInsets().right - getHgap(); + int rowY = targetDims.getInsets().top + getVgap(); + int leftX = targetDims.getInsets().left + getHgap(); + int rightX = targetDims.getOuterWidth() - targetDims.getInsets().right - getHgap(); - for (WrapLayoutRow row : rows) { - int rowHeight = row.getHeight(); + for (WrapLayoutRow row : rows) { + int rowHeight = row.getHeight(); - int curX = 0; - if (row.getComponents() != null) { - for (Component origComp : row.getComponents()) { - curX += setComponentDims(origComp, useBaseline, ltr, rowY, rowHeight, leftX, rightX, curX) + getHgap(); - } - } - - if (row.getOppositeAligned() != null) { - curX = 0; - // reverse opposite aligned for layout purposes since flipping ltr - Collections.reverse(row.getOppositeAligned()); - for (Component oppAlignedComp : row.getOppositeAligned()) { - curX += setComponentDims(oppAlignedComp, useBaseline, !ltr, rowY, rowHeight, leftX, rightX, curX) + getHgap(); - } - } - - rowY += rowHeight + getVgap(); + int curX = 0; + if (row.getComponents() != null) { + for (Component origComp : row.getComponents()) { + curX += setComponentDims(origComp, useBaseline, ltr, rowY, rowHeight, leftX, rightX, curX) + getHgap(); } } + + if (row.getOppositeAligned() != null) { + curX = 0; + // reverse opposite aligned for layout purposes since flipping ltr + Collections.reverse(row.getOppositeAligned()); + for (Component oppAlignedComp : row.getOppositeAligned()) { + curX += setComponentDims(oppAlignedComp, useBaseline, !ltr, rowY, rowHeight, leftX, rightX, curX) + getHgap(); + } + } + + rowY += rowHeight + getVgap(); } } @@ -442,36 +436,32 @@ public class WrapLayout implements LayoutManager, java.io.Serializable { * @return The dimension to layout the target container. */ private Dimension layoutSize(Container target, boolean preferred) { - synchronized (target.getTreeLock()) { - synchronized (this.oppositeAlignedItems) { - ParentDimensions targetDims = getTargetDimensions(target); - List components = Arrays.asList(target.getComponents()); - List rows = getAllRows(components, preferred, targetDims.getInnerWidth()); + ParentDimensions targetDims = getTargetDimensions(target); + List components = Arrays.asList(target.getComponents()); + List rows = getAllRows(components, preferred, targetDims.getInnerWidth()); - Integer containerHeight = rows.stream().map((r) -> r.getHeight()).reduce(0, Integer::sum); - // add in vertical gap between rows - if (rows.size() > 1) { - containerHeight += (rows.size() - 1) * getVgap(); - } - - containerHeight += targetDims.getInsets().top + targetDims.getInsets().bottom; - - Integer containerWidth = rows.stream().map((r) -> r.getWidth()).reduce(0, Math::max); - containerWidth += targetDims.getInsets().left + targetDims.getInsets().right + (getHgap() * 2); - - // When using a scroll pane or the DecoratedLookAndFeel we need to - // make sure the preferred size is less than the size of the - // target containter so shrinking the container size works - // correctly. Removing the horizontal gap is an easy way to do this. - Container scrollPane = SwingUtilities.getAncestorOfClass(JScrollPane.class, target); - - if (scrollPane != null && target.isValid()) { - containerWidth -= (getHgap() + 1); - } - - return new Dimension(containerWidth, containerHeight); - } + Integer containerHeight = rows.stream().map((r) -> r.getHeight()).reduce(0, Integer::sum); + // add in vertical gap between rows + if (rows.size() > 1) { + containerHeight += (rows.size() - 1) * getVgap(); } + + containerHeight += targetDims.getInsets().top + targetDims.getInsets().bottom; + + Integer containerWidth = rows.stream().map((r) -> r.getWidth()).reduce(0, Math::max); + containerWidth += targetDims.getInsets().left + targetDims.getInsets().right + (getHgap() * 2); + + // When using a scroll pane or the DecoratedLookAndFeel we need to + // make sure the preferred size is less than the size of the + // target containter so shrinking the container size works + // correctly. Removing the horizontal gap is an easy way to do this. + Container scrollPane = SwingUtilities.getAncestorOfClass(JScrollPane.class, target); + + if (scrollPane != null && target.isValid()) { + containerWidth -= (getHgap() + 1); + } + + return new Dimension(containerWidth, containerHeight); } /** From cc46accfa2f79cc8e1bab1c40b8e48f50e64a448 Mon Sep 17 00:00:00 2001 From: Greg DiCristofaro Date: Wed, 8 Apr 2020 15:47:54 -0400 Subject: [PATCH 031/111] updated parent of ManageOrganizationsDialog when launching from OptionalCasePropertiesPanel --- .../OptionalCasePropertiesPanel.java | 4 +- .../ManageOrganizationsDialog.java | 37 +++++++++++++++++-- 2 files changed, 37 insertions(+), 4 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/casemodule/OptionalCasePropertiesPanel.java b/Core/src/org/sleuthkit/autopsy/casemodule/OptionalCasePropertiesPanel.java index b5706027a3..9b753900b1 100644 --- a/Core/src/org/sleuthkit/autopsy/casemodule/OptionalCasePropertiesPanel.java +++ b/Core/src/org/sleuthkit/autopsy/casemodule/OptionalCasePropertiesPanel.java @@ -19,8 +19,10 @@ package org.sleuthkit.autopsy.casemodule; import java.awt.Cursor; +import java.awt.Dialog; import java.util.logging.Level; import javax.swing.JComboBox; +import javax.swing.SwingUtilities; import org.openide.util.NbBundle.Messages; import org.sleuthkit.autopsy.centralrepository.datamodel.CorrelationCase; import org.sleuthkit.autopsy.centralrepository.datamodel.CentralRepoException; @@ -516,7 +518,7 @@ final class OptionalCasePropertiesPanel extends javax.swing.JPanel { }//GEN-LAST:event_comboBoxOrgNameActionPerformed private void bnNewOrganizationActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_bnNewOrganizationActionPerformed - ManageOrganizationsDialog dialog = new ManageOrganizationsDialog(); + ManageOrganizationsDialog dialog = new ManageOrganizationsDialog((Dialog) SwingUtilities.getWindowAncestor(this)); // update the combobox options and org data fields loadOrganizationData(); if (dialog.isChanged()) { diff --git a/Core/src/org/sleuthkit/autopsy/centralrepository/optionspanel/ManageOrganizationsDialog.java b/Core/src/org/sleuthkit/autopsy/centralrepository/optionspanel/ManageOrganizationsDialog.java index dff44aa0c5..85373c06d2 100644 --- a/Core/src/org/sleuthkit/autopsy/centralrepository/optionspanel/ManageOrganizationsDialog.java +++ b/Core/src/org/sleuthkit/autopsy/centralrepository/optionspanel/ManageOrganizationsDialog.java @@ -19,6 +19,7 @@ package org.sleuthkit.autopsy.centralrepository.optionspanel; import java.awt.Component; +import java.awt.Dialog; import java.util.List; import java.util.logging.Level; import javax.swing.DefaultListCellRenderer; @@ -51,12 +52,41 @@ public final class ManageOrganizationsDialog extends JDialog { @Messages({"ManageOrganizationsDialog.title.text=Manage Organizations"}) /** - * Creates new form ManageOrganizationsPanel + * Creates new form ManageOrganizationsPanel. + * @param parent The dialog parent. */ - public ManageOrganizationsDialog() { - super((JFrame) WindowManager.getDefault().getMainWindow(), + public ManageOrganizationsDialog(Dialog parent) { + super(parent, Bundle.ManageOrganizationsDialog_title_text(), true); // NON-NLS + init(); + } + + + /** + * Creates new form ManageOrganizationsPanel. + * @param parent The JFrame parent. + */ + public ManageOrganizationsDialog(JFrame parent) { + super(parent, + Bundle.ManageOrganizationsDialog_title_text(), + true); // NON-NLS + init(); + } + + + /** + * Creates new form ManageOrganizationsPanel. + */ + public ManageOrganizationsDialog() { + this((JFrame) WindowManager.getDefault().getMainWindow()); + } + + + /** + * To be run as a part of constructor initialization. + */ + private void init() { initComponents(); try { this.dbManager = CentralRepository.getInstance(); @@ -85,6 +115,7 @@ public final class ManageOrganizationsDialog extends JDialog { private void display() { this.setLocationRelativeTo(WindowManager.getDefault().getMainWindow()); setVisible(true); + toFront(); } private void populateListAndSelect(CentralRepoOrganization selected) throws CentralRepoException { From 8755ba9302a9b27ad524fe9fe21c3056bf70e2b3 Mon Sep 17 00:00:00 2001 From: Greg DiCristofaro Date: Wed, 8 Apr 2020 16:07:53 -0400 Subject: [PATCH 032/111] update for codacy remark --- .../src/org/sleuthkit/autopsy/guiutils/WrapLayout.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/guiutils/WrapLayout.java b/Core/src/org/sleuthkit/autopsy/guiutils/WrapLayout.java index f46d450558..2b993f9330 100644 --- a/Core/src/org/sleuthkit/autopsy/guiutils/WrapLayout.java +++ b/Core/src/org/sleuthkit/autopsy/guiutils/WrapLayout.java @@ -409,17 +409,19 @@ public class WrapLayout implements LayoutManager, java.io.Serializable { * @return The dimensions for laying out components. */ private ParentDimensions getTargetDimensions(Container target) { - while (target.getSize().width == 0 && target.getParent() != null) { - target = target.getParent(); + Container container = target; + + while (container.getSize().width == 0 && container.getParent() != null) { + container = container.getParent(); } - int targetWidth = target.getSize().width; + int targetWidth = container.getSize().width; if (targetWidth == 0) { targetWidth = Integer.MAX_VALUE; } - Insets insets = target.getInsets(); + Insets insets = container.getInsets(); int horizontalInsetsAndGap = insets.left + insets.right + (getHgap() * 2); int maxWidth = targetWidth - horizontalInsetsAndGap; From 797b4a99060ac555b8f0c09feb5af6b228fbe819 Mon Sep 17 00:00:00 2001 From: Greg DiCristofaro Date: Thu, 9 Apr 2020 07:54:25 -0400 Subject: [PATCH 033/111] remove in-memory mime type change --- .../sleuthkit/autopsy/textextractors/TextFileExtractor.java | 4 ---- 1 file changed, 4 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/textextractors/TextFileExtractor.java b/Core/src/org/sleuthkit/autopsy/textextractors/TextFileExtractor.java index dda59cdcfd..af31797b52 100644 --- a/Core/src/org/sleuthkit/autopsy/textextractors/TextFileExtractor.java +++ b/Core/src/org/sleuthkit/autopsy/textextractors/TextFileExtractor.java @@ -90,10 +90,6 @@ public final class TextFileExtractor implements TextExtractor { return false; } mimeType = fileTypeDetector.getMIMEType(file); - - // if able to determine mime type, - if (!StringUtils.isEmpty(mimeType)) - file.setMIMEType(mimeType); } return PLAIN_TEXT_MIME_TYPE.equals(mimeType); From 4d72ae14b0b9400cd5cdb9294bfc7edd099e7509 Mon Sep 17 00:00:00 2001 From: Greg DiCristofaro Date: Thu, 9 Apr 2020 08:08:25 -0400 Subject: [PATCH 034/111] changed spelling error --- .../experimental/autoingest/DeleteOrphanCaseNodesTask.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/DeleteOrphanCaseNodesTask.java b/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/DeleteOrphanCaseNodesTask.java index bc2371104d..63a3051d9b 100755 --- a/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/DeleteOrphanCaseNodesTask.java +++ b/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/DeleteOrphanCaseNodesTask.java @@ -179,7 +179,7 @@ final class DeleteOrphanCaseNodesTask implements Runnable { return dialogResult.isValue(); } catch (InterruptedException | InvocationTargetException e) { - logger.log(Level.WARNING, "Task cancelled while confirmingg case znodes to delete"); //NON-NLS + logger.log(Level.WARNING, "Task cancelled while confirming case znodes to delete"); //NON-NLS return false; } } From 5a089bae8cf8c7c5daaa631babf2f411f2083628 Mon Sep 17 00:00:00 2001 From: Greg DiCristofaro Date: Thu, 9 Apr 2020 15:21:30 -0400 Subject: [PATCH 035/111] move to new WrapLayout --- .../communications/VisualizationPanel.java | 5 +- .../DataResultViewerThumbnail.java | 4 +- .../autopsy/uicomponents/WrapLayout.java | 204 ------------------ 3 files changed, 4 insertions(+), 209 deletions(-) delete mode 100755 Core/src/org/sleuthkit/autopsy/uicomponents/WrapLayout.java diff --git a/Core/src/org/sleuthkit/autopsy/communications/VisualizationPanel.java b/Core/src/org/sleuthkit/autopsy/communications/VisualizationPanel.java index 263bb200e6..1799ebcb8d 100644 --- a/Core/src/org/sleuthkit/autopsy/communications/VisualizationPanel.java +++ b/Core/src/org/sleuthkit/autopsy/communications/VisualizationPanel.java @@ -43,7 +43,6 @@ import java.awt.BorderLayout; import java.awt.Color; import java.awt.Desktop; import java.awt.Dimension; -import java.awt.FlowLayout; import java.awt.Font; import java.awt.Frame; import java.awt.Graphics; @@ -110,7 +109,7 @@ import org.sleuthkit.datamodel.AccountDeviceInstance; import org.sleuthkit.datamodel.CommunicationsFilter; import org.sleuthkit.datamodel.CommunicationsManager; import org.sleuthkit.datamodel.TskCoreException; -import org.sleuthkit.autopsy.uicomponents.WrapLayout; +import org.sleuthkit.autopsy.guiutils.WrapLayout; /** * A panel that goes in the Visualize tab of the Communications Visualization * Tool. Hosts an JGraphX mxGraphComponent that implements the communications @@ -245,7 +244,7 @@ final public class VisualizationPanel extends JPanel { setStateButtonsEnabled(); - toolbar.setLayout(new WrapLayout(FlowLayout.LEFT)); + toolbar.setLayout(new WrapLayout()); } @Subscribe diff --git a/Core/src/org/sleuthkit/autopsy/corecomponents/DataResultViewerThumbnail.java b/Core/src/org/sleuthkit/autopsy/corecomponents/DataResultViewerThumbnail.java index 807acc5e07..c0aa235223 100644 --- a/Core/src/org/sleuthkit/autopsy/corecomponents/DataResultViewerThumbnail.java +++ b/Core/src/org/sleuthkit/autopsy/corecomponents/DataResultViewerThumbnail.java @@ -56,7 +56,7 @@ import static org.sleuthkit.autopsy.corecomponents.Bundle.*; import org.sleuthkit.autopsy.corecomponents.ResultViewerPersistence.SortCriterion; import org.sleuthkit.autopsy.coreutils.ImageUtils; import org.sleuthkit.autopsy.coreutils.Logger; -import org.sleuthkit.autopsy.uicomponents.WrapLayout; +import org.sleuthkit.autopsy.guiutils.WrapLayout; import org.sleuthkit.datamodel.AbstractFile; import org.sleuthkit.datamodel.TskCoreException; @@ -127,7 +127,7 @@ public final class DataResultViewerThumbnail extends AbstractDataResultViewer { // The GUI builder is using FlowLayout therefore this change so have no // impact on the initally designed layout. This change will just effect // how the components are laid out as size of the window changes. - buttonBarPanel.setLayout(new WrapLayout(java.awt.FlowLayout.LEFT)); + buttonBarPanel.setLayout(new WrapLayout()); } /** diff --git a/Core/src/org/sleuthkit/autopsy/uicomponents/WrapLayout.java b/Core/src/org/sleuthkit/autopsy/uicomponents/WrapLayout.java deleted file mode 100755 index 5daf8d5646..0000000000 --- a/Core/src/org/sleuthkit/autopsy/uicomponents/WrapLayout.java +++ /dev/null @@ -1,204 +0,0 @@ -/* - * Autopsy Forensic Browser - * - * Copyright 2019 Basis Technology Corp. - * Contact: carrier sleuthkit org - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.sleuthkit.autopsy.uicomponents; - -import java.awt.Component; -import java.awt.Container; -import java.awt.Dimension; -import java.awt.FlowLayout; -import java.awt.Insets; -import javax.swing.JScrollPane; -import javax.swing.SwingUtilities; - -/** -* FlowLayout subclass that fully supports wrapping of components. -* -* Originally written by Rob Camick -* https://tips4java.wordpress.com/2008/11/06/wrap-layout/ -*/ -public class WrapLayout extends FlowLayout { - - private static final long serialVersionUID = 1L; - /** - * Constructs a new WrapLayout with a left alignment and a - * default 5-unit horizontal and vertical gap. - */ - public WrapLayout() { - super(); - } - - /** - * Constructs a new FlowLayout with the specified alignment - * and a default 5-unit horizontal and vertical gap. The value of the - * alignment argument must be one of WrapLayout, - * WrapLayout, or WrapLayout. - * - * @param align the alignment value - */ - public WrapLayout(int align) { - super(align); - } - - /** - * Creates a new flow layout manager with the indicated alignment and - * the indicated horizontal and vertical gaps. - *

- * The value of the alignment argument must be one of - * WrapLayout, WrapLayout, or - * WrapLayout. - * - * @param align the alignment value - * @param hgap the horizontal gap between components - * @param vgap the vertical gap between components - */ - public WrapLayout(int align, int hgap, int vgap) { - super(align, hgap, vgap); - } - - /** - * Returns the preferred dimensions for this layout given the - * visible components in the specified target container. - * - * @param target the component which needs to be laid out - * - * @return the preferred dimensions to lay out the subcomponents of the - * specified container - */ - @Override - public Dimension preferredLayoutSize(Container target) { - return layoutSize(target, true); - } - - /** - * Returns the minimum dimensions needed to layout the visible - * components contained in the specified target container. - * - * @param target the component which needs to be laid out - * - * @return the minimum dimensions to lay out the subcomponents of the - * specified container - */ - @Override - public Dimension minimumLayoutSize(Container target) { - Dimension minimum = layoutSize(target, false); - minimum.width -= (getHgap() + 1); - return minimum; - } - - /** - * Returns the minimum or preferred dimension needed to layout the - * target container. - * - * @param target target to get layout size for - * @param preferred should preferred size be calculated - * - * @return the dimension to layout the target container - */ - private Dimension layoutSize(Container target, boolean preferred) { - synchronized (target.getTreeLock()) { - // Each row must fit with the width allocated to the containter. - // When the container width = 0, the preferred width of the container - // has not yet been calculated so lets ask for the maximum. - - int targetWidth = target.getSize().width; - Container container = target; - - while (container.getSize().width == 0 && container.getParent() != null) { - container = container.getParent(); - } - - targetWidth = container.getSize().width; - - if (targetWidth == 0) { - targetWidth = Integer.MAX_VALUE; - } - - int hgap = getHgap(); - int vgap = getVgap(); - Insets insets = target.getInsets(); - int horizontalInsetsAndGap = insets.left + insets.right + (hgap * 2); - int maxWidth = targetWidth - horizontalInsetsAndGap; - - // Fit components into the allowed width - Dimension dim = new Dimension(0, 0); - int rowWidth = 0; - int rowHeight = 0; - - int nmembers = target.getComponentCount(); - - for (int i = 0; i < nmembers; i++) { - Component m = target.getComponent(i); - - if (m.isVisible()) { - Dimension d = preferred ? m.getPreferredSize() : m.getMinimumSize(); - - // Can't add the component to current row. Start a new row. - if (rowWidth + d.width > maxWidth) { - addRow(dim, rowWidth, rowHeight); - rowWidth = 0; - rowHeight = 0; - } - - // Add a horizontal gap for all components after the first - if (rowWidth != 0) { - rowWidth += hgap; - } - - rowWidth += d.width; - rowHeight = Math.max(rowHeight, d.height); - } - } - - addRow(dim, rowWidth, rowHeight); - - dim.width += horizontalInsetsAndGap; - dim.height += insets.top + insets.bottom + vgap * 2; - - // When using a scroll pane or the DecoratedLookAndFeel we need to - // make sure the preferred size is less than the size of the - // target containter so shrinking the container size works - // correctly. Removing the horizontal gap is an easy way to do this. - Container scrollPane = SwingUtilities.getAncestorOfClass(JScrollPane.class, target); - - if (scrollPane != null && target.isValid()) { - dim.width -= (hgap + 1); - } - - return dim; - } - } - - /* - * A new row has been completed. Use the dimensions of this row to - * update the preferred size for the container. - * - * @param dim update the width and height when appropriate @param - * rowWidth the width of the row to add @param rowHeight the height of - * the row to add - */ - private void addRow(Dimension dim, int rowWidth, int rowHeight) { - dim.width = Math.max(dim.width, rowWidth); - - if (dim.height > 0) { - dim.height += getVgap(); - } - - dim.height += rowHeight; - } - } \ No newline at end of file From f15a2ea712f5391dade596dae076438dc4153b8a Mon Sep 17 00:00:00 2001 From: Greg DiCristofaro Date: Fri, 10 Apr 2020 11:49:39 -0400 Subject: [PATCH 036/111] improved commenting --- .../autopsy/guiutils/WrapLayout.java | 139 ++++++++---------- 1 file changed, 63 insertions(+), 76 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/guiutils/WrapLayout.java b/Core/src/org/sleuthkit/autopsy/guiutils/WrapLayout.java index 2b993f9330..c9df4aa4a4 100644 --- a/Core/src/org/sleuthkit/autopsy/guiutils/WrapLayout.java +++ b/Core/src/org/sleuthkit/autopsy/guiutils/WrapLayout.java @@ -35,13 +35,13 @@ import javax.swing.JScrollPane; import javax.swing.SwingUtilities; /** - * A layout class similar to FlowLayout in that when a component can't fit in a - * row it is moved to the next row. Inspired by WrapLayout, this layout also - * allows for aligning some components in the opposite side. In instances where - * components are laid out left to right, these opposite aligned components will - * be aligned to the right. + * A wrap layout, similar to flow layout, orders subcomponents in a horizontal + * row similar to words in a paragraph. When subcomponents are moved to a new + * row, the height of the target component is expanded to accomodate. This + * layout also accomodates simultaneously left-aligned and right-aligned + * components. * - * Inspired by WrapLayout + * Inspired by Rob Camick's WrapLayout * https://tips4java.wordpress.com/2008/11/06/wrap-layout/ and FlowLayout * https://raw.githubusercontent.com/mynawang/Java8-Source-Code/master/src/main/jdk8/java/awt/FlowLayout.java. */ @@ -50,9 +50,9 @@ public class WrapLayout implements LayoutManager, java.io.Serializable { private static final long serialVersionUID = 1L; /** - * The WrapLayout manager allows a separation of components - * with gaps. The horizontal gap will specify the space between components - * and between the components and the borders of the Container. + * The horizontal gap will specify the spacing between neighboring + * subcomponents as well as the spacing between subcomponents and the + * borders of the target component. * * @serial * @see #getHgap() @@ -61,9 +61,8 @@ public class WrapLayout implements LayoutManager, java.io.Serializable { private int hgap = 0; /** - * The WrapLayout manager allows a separation of components - * with gaps. The vertical gap will specify the space between rows and - * between the the rows and the borders of the Container. + * The vertical gap between neighboring rows as well as the spacing between + * rows and the borders of the target component. * * @serial * @see #getVgap() @@ -72,29 +71,34 @@ public class WrapLayout implements LayoutManager, java.io.Serializable { private int vgap = 0; /** - * If true, components will be aligned on their baseline. + * If true, subcomponents will be aligned on their bottom edge. Otherwise, + * subcomponents are aligned on their top edge. */ private boolean alignOnBaseline = false; /** - * The set of components that will be aligned on the opposite side (if left - * to right, on the right). + * The set of components that will be aligned on the opposite side. If the + * target component's orientation is left to right, this set of components + * will be right aligned. */ private final Set oppositeAlignedItems = new HashSet<>(); /** - * Constructs a new WrapLayout with a left alignment and a - * default 5-unit horizontal and vertical gap. + * Constructs a new WrapLayout with a default 5-unit horizontal + * and vertical gap. */ public WrapLayout() { this(5, 5); } /** - * Constructs a new WrapLayout with a left alignment. + * Constructs a new WrapLayout. * - * @param vgap The vertical gap spacing between rows of components. - * @param hgap The horizontal gap spacing between components. + * @param vgap The vertical gap spacing between rows of subcomponents as + * well as the spacing between the target component and rows. + * @param hgap The horizontal gap spacing between neighboring subcomponents + * as well as the spacing between the subcomponents and the + * target component's border. */ public WrapLayout(int vgap, int hgap) { this.vgap = vgap; @@ -102,12 +106,12 @@ public class WrapLayout implements LayoutManager, java.io.Serializable { } /** - * Items in the collection will be aligned opposite to the rest. For - * instance, if items should be displayed left to right based on locale, - * these components will be on the right. + * Sets the set of components that will be aligned on the opposite side. If + * the target component's orientation is left to right, this set of + * components will be right aligned. * - * @param oppAlignedComponents The components to display with opposite - * alignment. + * @param oppAlignedComponents The components that will be aligned on the + * opposite side. */ public void setOppositeAligned(Collection oppAlignedComponents) { this.oppositeAlignedItems.clear(); @@ -115,19 +119,20 @@ public class WrapLayout implements LayoutManager, java.io.Serializable { } /** - * Items in the collection will be aligned opposite to the rest. For - * instance, if items should be displayed left to right based on locale, - * these components will be on the right. + * Retrieves the set of components that will be aligned on the opposite + * side. If the target component's orientation is left to right, this set of + * components will be right aligned. * - * @return The components to display with opposite alignment. + * @return The components that will be aligned on the opposite side. */ public Collection getOppositeAlignedItems() { return Collections.unmodifiableCollection(oppositeAlignedItems); } /** - * Gets the horizontal gap between components and between the components and - * the borders of the Container + * Retrieves the horizontal gap between neighboring subcomponents as well as + * the spacing between subcomponents and the borders of the target + * component. * * @return The horizontal gap between components and between the components * and the borders of the Container. @@ -137,8 +142,8 @@ public class WrapLayout implements LayoutManager, java.io.Serializable { } /** - * Sets the horizontal gap between components and between the components and - * the borders of the Container. + * Sets the horizontal gap between neighboring subcomponents as well as the + * spacing between subcomponents and the borders of the target component. * * @param hgap The horizontal gap between components and between the * components and the borders of the Container. @@ -148,8 +153,8 @@ public class WrapLayout implements LayoutManager, java.io.Serializable { } /** - * Gets the vertical gap between components and between the components and - * the borders of the Container. + * Retrieves the vertical gap between neighboring rows as well as the + * spacing between rows and the borders of the target component. * * @return The vertical gap between components and between the components * and the borders of the Container. @@ -159,8 +164,8 @@ public class WrapLayout implements LayoutManager, java.io.Serializable { } /** - * Sets the vertical gap between components and between the components and - * the borders of the Container. + * Sets the vertical gap between neighboring rows as well as the spacing + * between rows and the borders of the target component. * * @param vgap The vertical gap between components and between the * components and the borders of the Container. @@ -170,12 +175,12 @@ public class WrapLayout implements LayoutManager, java.io.Serializable { } /** - * Sets whether or not components should be vertically aligned along their - * baseline. Components that do not have a baseline will be centered. The - * default is false. + * Sets whether or not subcomponents should be vertically aligned along + * their bottom edge. Otherwise, subcomponents are aligned on their top + * edge. The default is false. * * @param alignOnBaseline Whether or not components should be vertically - * aligned on their baseline. + * aligned on their bottom edge. */ public void setAlignOnBaseline(boolean alignOnBaseline) { this.alignOnBaseline = alignOnBaseline; @@ -183,10 +188,11 @@ public class WrapLayout implements LayoutManager, java.io.Serializable { /** * Returns true if components are to be vertically aligned along their - * baseline. The default is false. + * bottom edge. Otherwise, subcomponents are aligned on their top edge. The + * default is false. * - * @return true If components are to be vertically aligned along their - * baseline. + * @return If components are to be vertically aligned along their bottom + * edge. */ public boolean getAlignOnBaseline() { return alignOnBaseline; @@ -194,7 +200,7 @@ public class WrapLayout implements LayoutManager, java.io.Serializable { /** * Adds the specified component to the layout. Not used by this class. NOTE: - * This is not used for this layout + * This method is not used by this layout. * * @param name The name of the component. * @param comp The component to be added. @@ -206,7 +212,7 @@ public class WrapLayout implements LayoutManager, java.io.Serializable { /** * Removes the specified component from the layout. Not used by this class. - * NOTE: This is not used for this layout + * NOTE: This method is not used by this layout. * * @param comp The component to remove. */ @@ -226,7 +232,8 @@ public class WrapLayout implements LayoutManager, java.io.Serializable { * * @return The top y position of the component. */ - private int getComponentY(int rowY, boolean alignBaseline, int rowHeight, int itemHeight) { + private int getComponentY(int rowY, boolean alignBaseline, int rowHeight, + int itemHeight) { return alignBaseline ? rowY + rowHeight - itemHeight : rowY; @@ -244,7 +251,8 @@ public class WrapLayout implements LayoutManager, java.io.Serializable { * * @return The component's left x position. */ - private int getComponentX(int leftX, int rightX, boolean ltr, int xPos, int componentWidth) { + private int getComponentX(int leftX, int rightX, boolean ltr, int xPos, + int componentWidth) { return ltr ? leftX + xPos : rightX - xPos - componentWidth; } @@ -265,7 +273,10 @@ public class WrapLayout implements LayoutManager, java.io.Serializable { * * @return The width of the component. */ - private int setComponentDims(Component comp, boolean alignBaseline, boolean ltr, int rowY, int rowHeight, int leftX, int rightX, int xPos) { + private int setComponentDims(Component comp, boolean alignBaseline, + boolean ltr, int rowY, int rowHeight, int leftX, int rightX, + int xPos) { + Dimension d = comp.getPreferredSize(); comp.setSize(d); @@ -276,13 +287,6 @@ public class WrapLayout implements LayoutManager, java.io.Serializable { return d.width; } - /** - * Lays out the container. This method lets each - * visible component take its preferred size by reshaping the - * components in the target container and creating new rows. - * - * @param target The specified component being laid out. - */ @Override public void layoutContainer(Container target) { ParentDimensions targetDims = getTargetDimensions(target); @@ -319,29 +323,11 @@ public class WrapLayout implements LayoutManager, java.io.Serializable { } } - /** - * Returns the preferred dimensions for this layout given the - * visible components in the specified target container. - * - * @param target The component which needs to be laid out. - * - * @return The preferred dimensions to lay out the subcomponents of the - * specified container. - */ @Override public Dimension preferredLayoutSize(Container target) { return layoutSize(target, true); } - /** - * Returns the minimum dimensions needed to layout the visible - * components contained in the specified target container. - * - * @param target The component which needs to be laid out. - * - * @return The minimum dimensions to lay out the subcomponents of the - * specified container. - */ @Override public Dimension minimumLayoutSize(Container target) { Dimension minimum = layoutSize(target, false); @@ -410,7 +396,7 @@ public class WrapLayout implements LayoutManager, java.io.Serializable { */ private ParentDimensions getTargetDimensions(Container target) { Container container = target; - + while (container.getSize().width == 0 && container.getParent() != null) { container = container.getParent(); } @@ -613,7 +599,8 @@ public class WrapLayout implements LayoutManager, java.io.Serializable { * * @return The list of rows determined. */ - private List getRowSet(List components, boolean preferred, int maxWidth) { + private List getRowSet(List components, + boolean preferred, int maxWidth) { List rows = new ArrayList<>(); List rowComponents = new ArrayList<>(); From f1e2bd67f0d2ea78b750914c71c168e207befe31 Mon Sep 17 00:00:00 2001 From: Greg DiCristofaro Date: Fri, 10 Apr 2020 11:55:18 -0400 Subject: [PATCH 037/111] improved commenting --- Core/src/org/sleuthkit/autopsy/guiutils/WrapLayout.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/guiutils/WrapLayout.java b/Core/src/org/sleuthkit/autopsy/guiutils/WrapLayout.java index c9df4aa4a4..b4208faa6c 100644 --- a/Core/src/org/sleuthkit/autopsy/guiutils/WrapLayout.java +++ b/Core/src/org/sleuthkit/autopsy/guiutils/WrapLayout.java @@ -473,7 +473,8 @@ public class WrapLayout implements LayoutManager, java.io.Serializable { * @param height The maximum height of the row. * @param width The total width of the row. */ - WrapLayoutRow(List components, List oppositeAligned, int height, int width) { + WrapLayoutRow(List components, List oppositeAligned, + int height, int width) { this.components = components; this.oppositeAligned = oppositeAligned; this.height = height; @@ -536,7 +537,8 @@ public class WrapLayout implements LayoutManager, java.io.Serializable { * * @return The list of rows ordered from top to bottom. */ - private List getAllRows(List components, boolean preferred, int maxWidth) { + private List getAllRows(List components, + boolean preferred, int maxWidth) { List originalComp = components .stream() From bae759f2b8a8f230dbb8fc950d69ffcffe8c83d6 Mon Sep 17 00:00:00 2001 From: Andrea Lazzarotto Date: Sun, 12 Apr 2020 15:15:06 +0200 Subject: [PATCH 038/111] Update installation instructions for macOS On macOS one has to install the liberica-jdk8-full package in order to have OpenJFX. --- Running_Linux_OSX.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Running_Linux_OSX.txt b/Running_Linux_OSX.txt index 521fa6e9f1..a45553b246 100644 --- a/Running_Linux_OSX.txt +++ b/Running_Linux_OSX.txt @@ -27,7 +27,7 @@ The following need to be done at least once. They do not need to be repeated for -- OS X: 1. Install BellSoft Java 8. % brew tap bell-sw/liberica - % brew cask install liberica-jdk8 + % brew cask install liberica-jdk8-full 2. Set JAVA_HOME environment variable to location of JRE installation. e.g. add the following to ~/.bashrc export JAVA_HOME=$(/usr/libexec/java_home -v 1.8) From 6126181eb7181f10da42a879e8bafc44d11ce398 Mon Sep 17 00:00:00 2001 From: William Schaefer Date: Mon, 13 Apr 2020 00:24:43 -0400 Subject: [PATCH 039/111] 6225 fix for screenshot 4 --- .../optionspanel/ManageCasesDialog.form | 248 +++++++++-------- .../optionspanel/ManageCasesDialog.java | 252 +++++++++++------- 2 files changed, 293 insertions(+), 207 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/centralrepository/optionspanel/ManageCasesDialog.form b/Core/src/org/sleuthkit/autopsy/centralrepository/optionspanel/ManageCasesDialog.form index 9010e849e9..386ad9c76b 100644 --- a/Core/src/org/sleuthkit/autopsy/centralrepository/optionspanel/ManageCasesDialog.form +++ b/Core/src/org/sleuthkit/autopsy/centralrepository/optionspanel/ManageCasesDialog.form @@ -26,12 +26,12 @@ - + - + @@ -39,6 +39,7 @@ + @@ -50,122 +51,17 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + @@ -190,10 +86,21 @@ + + + + + + + + + + + @@ -219,66 +126,155 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -286,7 +282,7 @@ - + @@ -298,6 +294,26 @@ + + + + + + + + + + + + + + + + + + + + @@ -312,7 +328,7 @@ - + @@ -320,7 +336,7 @@ - + diff --git a/Core/src/org/sleuthkit/autopsy/centralrepository/optionspanel/ManageCasesDialog.java b/Core/src/org/sleuthkit/autopsy/centralrepository/optionspanel/ManageCasesDialog.java index 47697f73ce..b30614585a 100644 --- a/Core/src/org/sleuthkit/autopsy/centralrepository/optionspanel/ManageCasesDialog.java +++ b/Core/src/org/sleuthkit/autopsy/centralrepository/optionspanel/ManageCasesDialog.java @@ -100,6 +100,7 @@ final class ManageCasesDialog extends javax.swing.JDialog { @SuppressWarnings("unchecked") // //GEN-BEGIN:initComponents private void initComponents() { + java.awt.GridBagConstraints gridBagConstraints; casesSplitPane = new javax.swing.JSplitPane(); caseInfoPanel = new javax.swing.JPanel(); @@ -121,6 +122,7 @@ final class ManageCasesDialog extends javax.swing.JDialog { examinerEmailValueLabel = new javax.swing.JLabel(); examinerPhoneValueLabel = new javax.swing.JLabel(); closeButton = new javax.swing.JButton(); + filler1 = new javax.swing.Box.Filler(new java.awt.Dimension(0, 0), new java.awt.Dimension(0, 0), new java.awt.Dimension(32767, 0)); casesPanel = new javax.swing.JPanel(); casesScrollPane = new javax.swing.JScrollPane(); casesTable = new javax.swing.JTable(); @@ -129,13 +131,29 @@ final class ManageCasesDialog extends javax.swing.JDialog { setMinimumSize(new java.awt.Dimension(400, 400)); casesSplitPane.setDividerLocation(380); + casesSplitPane.setResizeWeight(0.5); + + caseInfoPanel.setLayout(new java.awt.GridBagLayout()); dataSourcesTable.setAutoCreateRowSorter(true); dataSourcesTable.setModel(dataSourcesTableModel); dataSourcesTable.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION); dataSourcesScrollPane.setViewportView(dataSourcesTable); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 0; + gridBagConstraints.gridy = 9; + gridBagConstraints.gridwidth = 5; + gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; + gridBagConstraints.weightx = 1.0; + gridBagConstraints.weighty = 1.0; + gridBagConstraints.insets = new java.awt.Insets(7, 22, 0, 12); + caseInfoPanel.add(dataSourcesScrollPane, gridBagConstraints); + notesScrollPane.setBorder(null); + notesScrollPane.setMinimumSize(new java.awt.Dimension(25, 54)); + notesScrollPane.setPreferredSize(new java.awt.Dimension(160, 70)); notesTextArea.setEditable(false); notesTextArea.setBackground(new java.awt.Color(240, 240, 240)); @@ -146,24 +164,147 @@ final class ManageCasesDialog extends javax.swing.JDialog { notesTextArea.setBorder(null); notesScrollPane.setViewportView(notesTextArea); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 0; + gridBagConstraints.gridy = 7; + gridBagConstraints.gridwidth = 5; + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; + gridBagConstraints.weightx = 1.0; + gridBagConstraints.insets = new java.awt.Insets(7, 28, 0, 12); + caseInfoPanel.add(notesScrollPane, gridBagConstraints); + org.openide.awt.Mnemonics.setLocalizedText(caseInfoLabel, org.openide.util.NbBundle.getMessage(ManageCasesDialog.class, "ManageCasesDialog.caseInfoLabel.text")); // NOI18N + caseInfoLabel.setMaximumSize(new java.awt.Dimension(237, 16)); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 0; + gridBagConstraints.gridy = 0; + gridBagConstraints.gridwidth = 2; + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; + gridBagConstraints.insets = new java.awt.Insets(13, 12, 0, 0); + caseInfoPanel.add(caseInfoLabel, gridBagConstraints); org.openide.awt.Mnemonics.setLocalizedText(dataSourcesLabel, org.openide.util.NbBundle.getMessage(ManageCasesDialog.class, "ManageCasesDialog.dataSourcesLabel.text")); // NOI18N + dataSourcesLabel.setMaximumSize(new java.awt.Dimension(237, 16)); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 0; + gridBagConstraints.gridy = 8; + gridBagConstraints.gridwidth = 3; + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; + gridBagConstraints.weightx = 0.1; + gridBagConstraints.insets = new java.awt.Insets(7, 12, 0, 0); + caseInfoPanel.add(dataSourcesLabel, gridBagConstraints); org.openide.awt.Mnemonics.setLocalizedText(notesLabel, org.openide.util.NbBundle.getMessage(ManageCasesDialog.class, "ManageCasesDialog.notesLabel.text")); // NOI18N + notesLabel.setMaximumSize(new java.awt.Dimension(237, 16)); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 0; + gridBagConstraints.gridy = 6; + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; + gridBagConstraints.weightx = 0.1; + gridBagConstraints.insets = new java.awt.Insets(7, 18, 0, 0); + caseInfoPanel.add(notesLabel, gridBagConstraints); org.openide.awt.Mnemonics.setLocalizedText(orgLabel, org.openide.util.NbBundle.getMessage(ManageCasesDialog.class, "ManageCasesDialog.orgLabel.text")); // NOI18N + orgLabel.setMaximumSize(new java.awt.Dimension(237, 16)); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 0; + gridBagConstraints.gridy = 1; + gridBagConstraints.gridwidth = 4; + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; + gridBagConstraints.weightx = 0.1; + gridBagConstraints.insets = new java.awt.Insets(7, 18, 0, 0); + caseInfoPanel.add(orgLabel, gridBagConstraints); org.openide.awt.Mnemonics.setLocalizedText(caseNumberLabel, org.openide.util.NbBundle.getMessage(ManageCasesDialog.class, "ManageCasesDialog.caseNumberLabel.text")); // NOI18N + caseNumberLabel.setPreferredSize(new java.awt.Dimension(237, 16)); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 0; + gridBagConstraints.gridy = 2; + gridBagConstraints.gridwidth = 4; + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; + gridBagConstraints.weightx = 0.1; + gridBagConstraints.insets = new java.awt.Insets(7, 18, 0, 0); + caseInfoPanel.add(caseNumberLabel, gridBagConstraints); org.openide.awt.Mnemonics.setLocalizedText(examinerEmailLabel, org.openide.util.NbBundle.getMessage(ManageCasesDialog.class, "ManageCasesDialog.examinerEmailLabel.text")); // NOI18N + examinerEmailLabel.setMaximumSize(new java.awt.Dimension(237, 16)); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 0; + gridBagConstraints.gridy = 4; + gridBagConstraints.gridwidth = 4; + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; + gridBagConstraints.weightx = 0.1; + gridBagConstraints.insets = new java.awt.Insets(7, 18, 0, 0); + caseInfoPanel.add(examinerEmailLabel, gridBagConstraints); org.openide.awt.Mnemonics.setLocalizedText(examinerNameLabel, org.openide.util.NbBundle.getMessage(ManageCasesDialog.class, "ManageCasesDialog.examinerNameLabel.text")); // NOI18N + examinerNameLabel.setMaximumSize(new java.awt.Dimension(237, 16)); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 0; + gridBagConstraints.gridy = 3; + gridBagConstraints.gridwidth = 4; + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; + gridBagConstraints.weightx = 0.1; + gridBagConstraints.insets = new java.awt.Insets(7, 18, 0, 0); + caseInfoPanel.add(examinerNameLabel, gridBagConstraints); org.openide.awt.Mnemonics.setLocalizedText(examinerPhoneLabel, org.openide.util.NbBundle.getMessage(ManageCasesDialog.class, "ManageCasesDialog.examinerPhoneLabel.text")); // NOI18N + examinerPhoneLabel.setMaximumSize(new java.awt.Dimension(237, 16)); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 0; + gridBagConstraints.gridy = 5; + gridBagConstraints.gridwidth = 4; + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; + gridBagConstraints.weightx = 0.1; + gridBagConstraints.insets = new java.awt.Insets(7, 18, 0, 0); + caseInfoPanel.add(examinerPhoneLabel, gridBagConstraints); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 4; + gridBagConstraints.gridy = 1; + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; + gridBagConstraints.insets = new java.awt.Insets(7, 7, 0, 12); + caseInfoPanel.add(orgValueLabel, gridBagConstraints); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 4; + gridBagConstraints.gridy = 2; + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; + gridBagConstraints.insets = new java.awt.Insets(7, 7, 0, 12); + caseInfoPanel.add(caseNumberValueLabel, gridBagConstraints); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 4; + gridBagConstraints.gridy = 3; + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; + gridBagConstraints.insets = new java.awt.Insets(7, 6, 0, 12); + caseInfoPanel.add(examinerNameValueLabel, gridBagConstraints); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 4; + gridBagConstraints.gridy = 4; + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; + gridBagConstraints.insets = new java.awt.Insets(9, 6, 0, 12); + caseInfoPanel.add(examinerEmailValueLabel, gridBagConstraints); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 4; + gridBagConstraints.gridy = 5; + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; + gridBagConstraints.insets = new java.awt.Insets(7, 6, 0, 12); + caseInfoPanel.add(examinerPhoneValueLabel, gridBagConstraints); org.openide.awt.Mnemonics.setLocalizedText(closeButton, org.openide.util.NbBundle.getMessage(ManageCasesDialog.class, "ManageCasesDialog.closeButton.text")); // NOI18N - closeButton.setMaximumSize(new java.awt.Dimension(65, 23)); + closeButton.setMaximumSize(new java.awt.Dimension(125, 23)); closeButton.setMinimumSize(new java.awt.Dimension(65, 23)); closeButton.setPreferredSize(new java.awt.Dimension(65, 23)); closeButton.addActionListener(new java.awt.event.ActionListener() { @@ -171,92 +312,20 @@ final class ManageCasesDialog extends javax.swing.JDialog { closeButtonActionPerformed(evt); } }); - - javax.swing.GroupLayout caseInfoPanelLayout = new javax.swing.GroupLayout(caseInfoPanel); - caseInfoPanel.setLayout(caseInfoPanelLayout); - caseInfoPanelLayout.setHorizontalGroup( - caseInfoPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(caseInfoPanelLayout.createSequentialGroup() - .addContainerGap() - .addGroup(caseInfoPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(caseInfoPanelLayout.createSequentialGroup() - .addGap(10, 10, 10) - .addComponent(dataSourcesScrollPane, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE)) - .addGroup(caseInfoPanelLayout.createSequentialGroup() - .addGap(6, 6, 6) - .addGroup(caseInfoPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(caseInfoPanelLayout.createSequentialGroup() - .addGroup(caseInfoPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) - .addComponent(orgLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 88, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(caseNumberLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 88, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(examinerNameLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 88, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(examinerEmailLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 88, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(examinerPhoneLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 88, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addGroup(caseInfoPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(caseInfoPanelLayout.createSequentialGroup() - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(caseInfoPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(caseNumberValueLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addComponent(orgValueLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))) - .addGroup(caseInfoPanelLayout.createSequentialGroup() - .addGap(6, 6, 6) - .addGroup(caseInfoPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(examinerNameValueLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addComponent(examinerEmailValueLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addComponent(examinerPhoneValueLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))))) - .addComponent(notesLabel) - .addGroup(caseInfoPanelLayout.createSequentialGroup() - .addGap(10, 10, 10) - .addComponent(notesScrollPane, javax.swing.GroupLayout.DEFAULT_SIZE, 428, Short.MAX_VALUE)))) - .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, caseInfoPanelLayout.createSequentialGroup() - .addGap(0, 0, Short.MAX_VALUE) - .addComponent(closeButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addGroup(caseInfoPanelLayout.createSequentialGroup() - .addGroup(caseInfoPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(caseInfoLabel) - .addComponent(dataSourcesLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 77, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addGap(0, 0, Short.MAX_VALUE))) - .addContainerGap()) - ); - caseInfoPanelLayout.setVerticalGroup( - caseInfoPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, caseInfoPanelLayout.createSequentialGroup() - .addContainerGap() - .addComponent(caseInfoLabel) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(caseInfoPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) - .addGroup(caseInfoPanelLayout.createSequentialGroup() - .addGroup(caseInfoPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(caseInfoPanelLayout.createSequentialGroup() - .addComponent(orgLabel) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(caseInfoPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) - .addComponent(caseNumberLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addComponent(caseNumberValueLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(caseInfoPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) - .addComponent(examinerNameLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addComponent(examinerNameValueLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))) - .addComponent(orgValueLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(examinerEmailLabel)) - .addComponent(examinerEmailValueLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(caseInfoPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(examinerPhoneLabel) - .addComponent(examinerPhoneValueLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(notesLabel) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(notesScrollPane, javax.swing.GroupLayout.DEFAULT_SIZE, 55, Short.MAX_VALUE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(dataSourcesLabel) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(dataSourcesScrollPane, javax.swing.GroupLayout.DEFAULT_SIZE, 129, Short.MAX_VALUE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(closeButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addContainerGap()) - ); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 4; + gridBagConstraints.gridy = 10; + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; + gridBagConstraints.insets = new java.awt.Insets(7, 285, 13, 12); + caseInfoPanel.add(closeButton, gridBagConstraints); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 0; + gridBagConstraints.gridy = 10; + gridBagConstraints.gridwidth = 4; + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; + gridBagConstraints.weightx = 1.0; + caseInfoPanel.add(filler1, gridBagConstraints); casesSplitPane.setRightComponent(caseInfoPanel); @@ -270,13 +339,13 @@ final class ManageCasesDialog extends javax.swing.JDialog { casesPanelLayout.setHorizontalGroup( casesPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(casesPanelLayout.createSequentialGroup() - .addComponent(casesScrollPane, javax.swing.GroupLayout.DEFAULT_SIZE, 379, Short.MAX_VALUE) + .addComponent(casesScrollPane, javax.swing.GroupLayout.DEFAULT_SIZE, 318, Short.MAX_VALUE) .addGap(0, 0, 0)) ); casesPanelLayout.setVerticalGroup( casesPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(casesPanelLayout.createSequentialGroup() - .addComponent(casesScrollPane, javax.swing.GroupLayout.DEFAULT_SIZE, 361, Short.MAX_VALUE) + .addComponent(casesScrollPane, javax.swing.GroupLayout.DEFAULT_SIZE, 528, Short.MAX_VALUE) .addGap(40, 40, 40)) ); @@ -286,11 +355,11 @@ final class ManageCasesDialog extends javax.swing.JDialog { getContentPane().setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(casesSplitPane, javax.swing.GroupLayout.Alignment.TRAILING) + .addComponent(casesSplitPane, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 850, Short.MAX_VALUE) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(casesSplitPane) + .addComponent(casesSplitPane, javax.swing.GroupLayout.DEFAULT_SIZE, 570, Short.MAX_VALUE) ); pack(); @@ -343,6 +412,7 @@ final class ManageCasesDialog extends javax.swing.JDialog { private javax.swing.JLabel examinerNameValueLabel; private javax.swing.JLabel examinerPhoneLabel; private javax.swing.JLabel examinerPhoneValueLabel; + private javax.swing.Box.Filler filler1; private javax.swing.JLabel notesLabel; private javax.swing.JScrollPane notesScrollPane; private javax.swing.JTextArea notesTextArea; From b873e823c661d8c825e7fa7f88c9de47c8308bc4 Mon Sep 17 00:00:00 2001 From: William Schaefer Date: Mon, 13 Apr 2020 01:03:37 -0400 Subject: [PATCH 040/111] 6225 fix for screenshots 5,6,9,10,11 --- .../AdvancedConfigurationDialog.form | 62 ++++++++++++------- .../AdvancedConfigurationDialog.java | 48 ++++++++------ 2 files changed, 66 insertions(+), 44 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/corecomponents/AdvancedConfigurationDialog.form b/Core/src/org/sleuthkit/autopsy/corecomponents/AdvancedConfigurationDialog.form index 15993c7cfe..394f5a3198 100644 --- a/Core/src/org/sleuthkit/autopsy/corecomponents/AdvancedConfigurationDialog.form +++ b/Core/src/org/sleuthkit/autopsy/corecomponents/AdvancedConfigurationDialog.form @@ -56,47 +56,61 @@ - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Core/src/org/sleuthkit/autopsy/corecomponents/AdvancedConfigurationDialog.java b/Core/src/org/sleuthkit/autopsy/corecomponents/AdvancedConfigurationDialog.java index a62d3a1459..ac6dbc8216 100644 --- a/Core/src/org/sleuthkit/autopsy/corecomponents/AdvancedConfigurationDialog.java +++ b/Core/src/org/sleuthkit/autopsy/corecomponents/AdvancedConfigurationDialog.java @@ -70,12 +70,14 @@ public class AdvancedConfigurationDialog extends javax.swing.JDialog { @SuppressWarnings("unchecked") // //GEN-BEGIN:initComponents private void initComponents() { + java.awt.GridBagConstraints gridBagConstraints; jSeparator1 = new javax.swing.JSeparator(); filler1 = new javax.swing.Box.Filler(new java.awt.Dimension(0, 4), new java.awt.Dimension(0, 4), new java.awt.Dimension(0, 4)); jPanel1 = new javax.swing.JPanel(); applyButton = new javax.swing.JButton(); cancelButton = new javax.swing.JButton(); + filler3 = new javax.swing.Box.Filler(new java.awt.Dimension(0, 0), new java.awt.Dimension(0, 0), new java.awt.Dimension(32767, 0)); filler2 = new javax.swing.Box.Filler(new java.awt.Dimension(0, 4), new java.awt.Dimension(0, 4), new java.awt.Dimension(0, 4)); setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); @@ -86,35 +88,40 @@ public class AdvancedConfigurationDialog extends javax.swing.JDialog { jPanel1.setMaximumSize(new java.awt.Dimension(4000, 27)); jPanel1.setMinimumSize(new java.awt.Dimension(100, 27)); jPanel1.setPreferredSize(new java.awt.Dimension(400, 27)); + jPanel1.setLayout(new java.awt.GridBagLayout()); applyButton.setText(org.openide.util.NbBundle.getMessage(AdvancedConfigurationDialog.class, "AdvancedConfigurationDialog.applyButton.text")); // NOI18N + applyButton.setMaximumSize(new java.awt.Dimension(150, 25)); + applyButton.setMinimumSize(new java.awt.Dimension(71, 25)); + applyButton.setPreferredSize(new java.awt.Dimension(71, 25)); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 1; + gridBagConstraints.gridy = 0; + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; + gridBagConstraints.insets = new java.awt.Insets(0, 0, 2, 0); + jPanel1.add(applyButton, gridBagConstraints); cancelButton.setText(org.openide.util.NbBundle.getMessage(AdvancedConfigurationDialog.class, "AdvancedConfigurationDialog.cancelButton.text")); // NOI18N + cancelButton.setMaximumSize(new java.awt.Dimension(150, 25)); cancelButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { cancelButtonActionPerformed(evt); } }); - - javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1); - jPanel1.setLayout(jPanel1Layout); - jPanel1Layout.setHorizontalGroup( - jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup() - .addContainerGap(242, Short.MAX_VALUE) - .addComponent(applyButton, javax.swing.GroupLayout.PREFERRED_SIZE, 70, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(cancelButton, javax.swing.GroupLayout.PREFERRED_SIZE, 70, javax.swing.GroupLayout.PREFERRED_SIZE) - .addGap(12, 12, 12)) - ); - jPanel1Layout.setVerticalGroup( - jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(jPanel1Layout.createSequentialGroup() - .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(applyButton) - .addComponent(cancelButton)) - .addGap(0, 4, Short.MAX_VALUE)) - ); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 2; + gridBagConstraints.gridy = 0; + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; + gridBagConstraints.insets = new java.awt.Insets(0, 7, 2, 12); + jPanel1.add(cancelButton, gridBagConstraints); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 0; + gridBagConstraints.gridy = 0; + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; + gridBagConstraints.weightx = 1.0; + jPanel1.add(filler3, gridBagConstraints); getContentPane().add(jPanel1); getContentPane().add(filler2); @@ -131,6 +138,7 @@ public class AdvancedConfigurationDialog extends javax.swing.JDialog { private javax.swing.JButton cancelButton; private javax.swing.Box.Filler filler1; private javax.swing.Box.Filler filler2; + private javax.swing.Box.Filler filler3; private javax.swing.JPanel jPanel1; private javax.swing.JSeparator jSeparator1; // End of variables declaration//GEN-END:variables From 721a9a2bc5c76721a9845fc01099903738f6f760 Mon Sep 17 00:00:00 2001 From: William Schaefer Date: Mon, 13 Apr 2020 01:18:36 -0400 Subject: [PATCH 041/111] 6225 partial fix for screenshot 7 --- .../sleuthkit/autopsy/modules/filetypeid/AddFileTypeDialog.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Core/src/org/sleuthkit/autopsy/modules/filetypeid/AddFileTypeDialog.java b/Core/src/org/sleuthkit/autopsy/modules/filetypeid/AddFileTypeDialog.java index 2c6b7322f9..5b5b51329c 100644 --- a/Core/src/org/sleuthkit/autopsy/modules/filetypeid/AddFileTypeDialog.java +++ b/Core/src/org/sleuthkit/autopsy/modules/filetypeid/AddFileTypeDialog.java @@ -50,7 +50,7 @@ class AddFileTypeDialog extends JDialog { } private static final long serialVersionUID = 1L; - private static final Dimension BUTTON_SIZE = new Dimension(65, 23); + private static final Dimension BUTTON_SIZE = new Dimension(85, 23); private FileType fileType; final private AddFileTypePanel addMimeTypePanel; private BUTTON_PRESSED result; From d12a95839bbd906089ea5bc5b5229796a65f86b8 Mon Sep 17 00:00:00 2001 From: William Schaefer Date: Mon, 13 Apr 2020 01:19:39 -0400 Subject: [PATCH 042/111] 6225 partial fix for screenshot 8 --- .../autopsy/modules/filetypeid/AddFileTypeSignatureDialog.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Core/src/org/sleuthkit/autopsy/modules/filetypeid/AddFileTypeSignatureDialog.java b/Core/src/org/sleuthkit/autopsy/modules/filetypeid/AddFileTypeSignatureDialog.java index 770d97ff87..4b64e13e94 100644 --- a/Core/src/org/sleuthkit/autopsy/modules/filetypeid/AddFileTypeSignatureDialog.java +++ b/Core/src/org/sleuthkit/autopsy/modules/filetypeid/AddFileTypeSignatureDialog.java @@ -42,7 +42,7 @@ import org.sleuthkit.autopsy.modules.filetypeid.FileType.Signature; final class AddFileTypeSignatureDialog extends JDialog { private static final long serialVersionUID = 1L; - private static final Dimension BUTTON_SIZE = new Dimension(65, 23); + private static final Dimension BUTTON_SIZE = new Dimension(85, 23); private final AddFileTypeSignaturePanel addFileTypeSigPanel; private static final String TITLE = NbBundle.getMessage(RunIngestModulesAction.class, "RunIngestModulesAction.name"); private Signature signature; From e430f58de260118de4f592ceb36b927a85bb96a2 Mon Sep 17 00:00:00 2001 From: William Schaefer Date: Mon, 13 Apr 2020 02:39:00 -0400 Subject: [PATCH 043/111] 6225 fix for screenshot 12 --- ...ataSourceIntegrityIngestSettingsPanel.form | 71 +++++++++++++----- ...ataSourceIntegrityIngestSettingsPanel.java | 75 +++++++++++++------ 2 files changed, 106 insertions(+), 40 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/modules/dataSourceIntegrity/DataSourceIntegrityIngestSettingsPanel.form b/Core/src/org/sleuthkit/autopsy/modules/dataSourceIntegrity/DataSourceIntegrityIngestSettingsPanel.form index a981e39826..9d613f0cf7 100644 --- a/Core/src/org/sleuthkit/autopsy/modules/dataSourceIntegrity/DataSourceIntegrityIngestSettingsPanel.form +++ b/Core/src/org/sleuthkit/autopsy/modules/dataSourceIntegrity/DataSourceIntegrityIngestSettingsPanel.form @@ -21,15 +21,15 @@ - + - - + + - + - + @@ -39,32 +39,23 @@ - - + + - + - + - - - - - - - - - - + @@ -86,5 +77,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Core/src/org/sleuthkit/autopsy/modules/dataSourceIntegrity/DataSourceIntegrityIngestSettingsPanel.java b/Core/src/org/sleuthkit/autopsy/modules/dataSourceIntegrity/DataSourceIntegrityIngestSettingsPanel.java index 57e6cb8577..37537f714a 100644 --- a/Core/src/org/sleuthkit/autopsy/modules/dataSourceIntegrity/DataSourceIntegrityIngestSettingsPanel.java +++ b/Core/src/org/sleuthkit/autopsy/modules/dataSourceIntegrity/DataSourceIntegrityIngestSettingsPanel.java @@ -1,7 +1,7 @@ /* * Central Repository * - * Copyright 2018 Basis Technology Corp. + * Copyright 2018-2020 Basis Technology Corp. * Contact: carrier sleuthkit org * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -20,6 +20,7 @@ package org.sleuthkit.autopsy.modules.dataSourceIntegrity; import org.sleuthkit.autopsy.ingest.IngestModuleIngestJobSettings; import org.sleuthkit.autopsy.ingest.IngestModuleIngestJobSettingsPanel; +import org.sleuthkit.autopsy.corecomponents.AutoWrappingJTextPane; /** * Ingest job settings panel for the Correlation Engine module. @@ -58,40 +59,70 @@ final class DataSourceIntegrityIngestSettingsPanel extends IngestModuleIngestJob @SuppressWarnings("unchecked") // //GEN-BEGIN:initComponents private void initComponents() { + java.awt.GridBagConstraints gridBagConstraints; - computeHashesCheckbox = new javax.swing.JCheckBox(); verifyHashesCheckbox = new javax.swing.JCheckBox(); ingestSettingsLabel = new javax.swing.JLabel(); noteLabel = new javax.swing.JLabel(); + computeHashesPanel = new javax.swing.JPanel(); + computeHashesCheckbox = new javax.swing.JCheckBox(); + computeHashesTextArea = new javax.swing.JTextArea(); setPreferredSize(new java.awt.Dimension(300, 155)); - org.openide.awt.Mnemonics.setLocalizedText(computeHashesCheckbox, org.openide.util.NbBundle.getMessage(DataSourceIntegrityIngestSettingsPanel.class, "DataSourceIntegrityIngestSettingsPanel.computeHashesCheckbox.text")); // NOI18N - computeHashesCheckbox.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - computeHashesCheckboxActionPerformed(evt); - } - }); - org.openide.awt.Mnemonics.setLocalizedText(verifyHashesCheckbox, org.openide.util.NbBundle.getMessage(DataSourceIntegrityIngestSettingsPanel.class, "DataSourceIntegrityIngestSettingsPanel.verifyHashesCheckbox.text")); // NOI18N + verifyHashesCheckbox.setFocusable(false); ingestSettingsLabel.setFont(ingestSettingsLabel.getFont().deriveFont(ingestSettingsLabel.getFont().getStyle() | java.awt.Font.BOLD)); org.openide.awt.Mnemonics.setLocalizedText(ingestSettingsLabel, org.openide.util.NbBundle.getMessage(DataSourceIntegrityIngestSettingsPanel.class, "DataSourceIntegrityIngestSettingsPanel.ingestSettingsLabel.text")); // NOI18N org.openide.awt.Mnemonics.setLocalizedText(noteLabel, org.openide.util.NbBundle.getMessage(DataSourceIntegrityIngestSettingsPanel.class, "DataSourceIntegrityIngestSettingsPanel.noteLabel.text")); // NOI18N + computeHashesPanel.setLayout(new java.awt.GridBagLayout()); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 0; + gridBagConstraints.gridy = 0; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; + computeHashesPanel.add(computeHashesCheckbox, gridBagConstraints); + + computeHashesTextArea.setEditable(false); + computeHashesTextArea.setBackground(new java.awt.Color(240, 240, 240)); + computeHashesTextArea.setColumns(20); + computeHashesTextArea.setLineWrap(true); + computeHashesTextArea.setRows(2); + computeHashesTextArea.setText(org.openide.util.NbBundle.getMessage(DataSourceIntegrityIngestSettingsPanel.class, "DataSourceIntegrityIngestSettingsPanel.computeHashesCheckbox.text")); // NOI18N + computeHashesTextArea.setWrapStyleWord(true); + computeHashesTextArea.setBorder(null); + computeHashesTextArea.setFocusable(false); + computeHashesTextArea.setOpaque(false); + computeHashesTextArea.setRequestFocusEnabled(false); + computeHashesTextArea.addMouseListener(new java.awt.event.MouseAdapter() { + public void mouseClicked(java.awt.event.MouseEvent evt) { + computeHashesTextAreaMouseClicked(evt); + } + }); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 1; + gridBagConstraints.gridy = 0; + gridBagConstraints.gridwidth = 3; + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; + gridBagConstraints.weightx = 1.0; + gridBagConstraints.insets = new java.awt.Insets(3, 0, 0, 0); + computeHashesPanel.add(computeHashesTextArea, gridBagConstraints); + javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this); this.setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addContainerGap() - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(noteLabel) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) + .addComponent(noteLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(verifyHashesCheckbox) - .addComponent(computeHashesCheckbox) - .addComponent(ingestSettingsLabel)) - .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + .addComponent(ingestSettingsLabel) + .addComponent(computeHashesPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + .addContainerGap(13, Short.MAX_VALUE)) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) @@ -99,21 +130,23 @@ final class DataSourceIntegrityIngestSettingsPanel extends IngestModuleIngestJob .addContainerGap() .addComponent(ingestSettingsLabel) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) - .addComponent(computeHashesCheckbox) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(computeHashesPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(verifyHashesCheckbox) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addGap(18, 18, 18) .addComponent(noteLabel) - .addContainerGap(53, Short.MAX_VALUE)) + .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) ); }// //GEN-END:initComponents - private void computeHashesCheckboxActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_computeHashesCheckboxActionPerformed - // TODO add your handling code here: - }//GEN-LAST:event_computeHashesCheckboxActionPerformed + private void computeHashesTextAreaMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_computeHashesTextAreaMouseClicked + computeHashesCheckbox.doClick(); + }//GEN-LAST:event_computeHashesTextAreaMouseClicked // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JCheckBox computeHashesCheckbox; + private javax.swing.JPanel computeHashesPanel; + private javax.swing.JTextArea computeHashesTextArea; private javax.swing.JLabel ingestSettingsLabel; private javax.swing.JLabel noteLabel; private javax.swing.JCheckBox verifyHashesCheckbox; From 7ee0d1803337dbfd7bb6b7dde59b5aa9c25d0a7f Mon Sep 17 00:00:00 2001 From: William Schaefer Date: Mon, 13 Apr 2020 03:21:43 -0400 Subject: [PATCH 044/111] 6225 fix for screenshot 13 --- .../AutoIngestSettingsPanel.form | 145 ++++-- .../AutoIngestSettingsPanel.java | 474 +++++++++--------- 2 files changed, 349 insertions(+), 270 deletions(-) diff --git a/Experimental/src/org/sleuthkit/autopsy/experimental/configuration/AutoIngestSettingsPanel.form b/Experimental/src/org/sleuthkit/autopsy/experimental/configuration/AutoIngestSettingsPanel.form index 760f823543..2577ecc683 100644 --- a/Experimental/src/org/sleuthkit/autopsy/experimental/configuration/AutoIngestSettingsPanel.form +++ b/Experimental/src/org/sleuthkit/autopsy/experimental/configuration/AutoIngestSettingsPanel.form @@ -25,7 +25,7 @@ - + @@ -42,15 +42,15 @@ - + - - + + @@ -59,70 +59,73 @@ - - - - - + + + + + - - - - + + + + - - + - + - + - + - - - - - - - - - - - + + + - - - - + + + + + + + + + + + + + + + + - + @@ -177,7 +180,7 @@ - + @@ -192,7 +195,7 @@ - + @@ -225,6 +228,15 @@ + + + + + + + + + @@ -235,6 +247,15 @@ + + + + + + + + + @@ -245,6 +266,15 @@ + + + + + + + + + @@ -332,13 +362,13 @@ - + - + - + @@ -373,6 +403,15 @@ + + + + + + + + + @@ -383,6 +422,15 @@ + + + + + + + + + @@ -423,6 +471,15 @@ + + + + + + + + + @@ -478,19 +535,19 @@ - + - - + + - + - + diff --git a/Experimental/src/org/sleuthkit/autopsy/experimental/configuration/AutoIngestSettingsPanel.java b/Experimental/src/org/sleuthkit/autopsy/experimental/configuration/AutoIngestSettingsPanel.java index fcd21dd8f2..67b5997d98 100644 --- a/Experimental/src/org/sleuthkit/autopsy/experimental/configuration/AutoIngestSettingsPanel.java +++ b/Experimental/src/org/sleuthkit/autopsy/experimental/configuration/AutoIngestSettingsPanel.java @@ -1,7 +1,7 @@ /* * Autopsy Forensic Browser * - * Copyright 2015-2018 Basis Technology Corp. + * Copyright 2015-2020 Basis Technology Corp. * Contact: carrier sleuthkit org * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -40,7 +40,6 @@ import javax.swing.ImageIcon; import org.openide.util.ImageUtilities; import javax.swing.JScrollPane; import javax.swing.SwingUtilities; -import org.openide.util.NbBundle.Messages; import org.sleuthkit.autopsy.coreutils.FileUtil; import org.openide.windows.WindowManager; import org.sleuthkit.autopsy.coreutils.Logger; @@ -644,7 +643,7 @@ public class AutoIngestSettingsPanel extends javax.swing.JPanel { nodeScrollPane.setMinimumSize(new java.awt.Dimension(0, 0)); - nodePanel.setMinimumSize(new java.awt.Dimension(100, 100)); + nodePanel.setMinimumSize(new java.awt.Dimension(0, 0)); tbOops.setEditable(false); tbOops.setFont(tbOops.getFont().deriveFont(tbOops.getFont().getStyle() | java.awt.Font.BOLD, tbOops.getFont().getSize()+1)); @@ -654,6 +653,9 @@ public class AutoIngestSettingsPanel extends javax.swing.JPanel { org.openide.awt.Mnemonics.setLocalizedText(bnEditIngestSettings, org.openide.util.NbBundle.getMessage(AutoIngestSettingsPanel.class, "AutoIngestSettingsPanel.bnEditIngestSettings.text")); // NOI18N bnEditIngestSettings.setToolTipText(org.openide.util.NbBundle.getMessage(AutoIngestSettingsPanel.class, "AutoIngestSettingsPanel.bnEditIngestSettings.toolTipText")); // NOI18N + bnEditIngestSettings.setMaximumSize(new java.awt.Dimension(200, 25)); + bnEditIngestSettings.setMinimumSize(new java.awt.Dimension(170, 25)); + bnEditIngestSettings.setPreferredSize(new java.awt.Dimension(170, 25)); bnEditIngestSettings.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { bnEditIngestSettingsActionPerformed(evt); @@ -661,6 +663,9 @@ public class AutoIngestSettingsPanel extends javax.swing.JPanel { }); org.openide.awt.Mnemonics.setLocalizedText(bnAdvancedSettings, org.openide.util.NbBundle.getMessage(AutoIngestSettingsPanel.class, "AutoIngestSettingsPanel.bnAdvancedSettings.text")); // NOI18N + bnAdvancedSettings.setMaximumSize(new java.awt.Dimension(200, 25)); + bnAdvancedSettings.setMinimumSize(new java.awt.Dimension(170, 25)); + bnAdvancedSettings.setPreferredSize(new java.awt.Dimension(170, 25)); bnAdvancedSettings.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { bnAdvancedSettingsActionPerformed(evt); @@ -668,6 +673,9 @@ public class AutoIngestSettingsPanel extends javax.swing.JPanel { }); org.openide.awt.Mnemonics.setLocalizedText(bnFileExport, org.openide.util.NbBundle.getMessage(AutoIngestSettingsPanel.class, "AutoIngestSettingsPanel.bnFileExport.text")); // NOI18N + bnFileExport.setMaximumSize(new java.awt.Dimension(200, 25)); + bnFileExport.setMinimumSize(new java.awt.Dimension(170, 25)); + bnFileExport.setPreferredSize(new java.awt.Dimension(170, 25)); bnFileExport.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { bnFileExportActionPerformed(evt); @@ -707,9 +715,9 @@ public class AutoIngestSettingsPanel extends javax.swing.JPanel { jLabelSelectOutputFolder.setVerticalAlignment(javax.swing.SwingConstants.BOTTOM); org.openide.awt.Mnemonics.setLocalizedText(sharedConfigCheckbox, org.openide.util.NbBundle.getMessage(AutoIngestSettingsPanel.class, "AutoIngestSettingsPanel.sharedConfigCheckbox.text")); // NOI18N - sharedConfigCheckbox.setMaximumSize(new java.awt.Dimension(191, 14)); - sharedConfigCheckbox.setMinimumSize(new java.awt.Dimension(191, 14)); - sharedConfigCheckbox.setPreferredSize(new java.awt.Dimension(191, 14)); + sharedConfigCheckbox.setMaximumSize(new java.awt.Dimension(191, 21)); + sharedConfigCheckbox.setMinimumSize(new java.awt.Dimension(191, 21)); + sharedConfigCheckbox.setPreferredSize(new java.awt.Dimension(191, 21)); sharedConfigCheckbox.addItemListener(new java.awt.event.ItemListener() { public void itemStateChanged(java.awt.event.ItemEvent evt) { sharedConfigCheckboxItemStateChanged(evt); @@ -726,6 +734,9 @@ public class AutoIngestSettingsPanel extends javax.swing.JPanel { org.openide.awt.Mnemonics.setLocalizedText(browseSharedSettingsButton, org.openide.util.NbBundle.getMessage(AutoIngestSettingsPanel.class, "AutoIngestSettingsPanel.browseSharedSettingsButton.text")); // NOI18N browseSharedSettingsButton.setEnabled(false); + browseSharedSettingsButton.setMaximumSize(new java.awt.Dimension(200, 25)); + browseSharedSettingsButton.setMinimumSize(new java.awt.Dimension(170, 25)); + browseSharedSettingsButton.setPreferredSize(new java.awt.Dimension(170, 25)); browseSharedSettingsButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { browseSharedSettingsButtonActionPerformed(evt); @@ -733,6 +744,9 @@ public class AutoIngestSettingsPanel extends javax.swing.JPanel { }); org.openide.awt.Mnemonics.setLocalizedText(downloadButton, org.openide.util.NbBundle.getMessage(AutoIngestSettingsPanel.class, "AutoIngestSettingsPanel.downloadButton.text")); // NOI18N + downloadButton.setMaximumSize(new java.awt.Dimension(200, 25)); + downloadButton.setMinimumSize(new java.awt.Dimension(170, 25)); + downloadButton.setPreferredSize(new java.awt.Dimension(170, 25)); downloadButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { downloadButtonActionPerformed(evt); @@ -749,6 +763,9 @@ public class AutoIngestSettingsPanel extends javax.swing.JPanel { org.openide.awt.Mnemonics.setLocalizedText(jLabelCurrentTask, org.openide.util.NbBundle.getMessage(AutoIngestSettingsPanel.class, "AutoIngestSettingsPanel.jLabelCurrentTask.text")); // NOI18N org.openide.awt.Mnemonics.setLocalizedText(uploadButton, org.openide.util.NbBundle.getMessage(AutoIngestSettingsPanel.class, "AutoIngestSettingsPanel.uploadButton.text")); // NOI18N + uploadButton.setMaximumSize(new java.awt.Dimension(200, 25)); + uploadButton.setMinimumSize(new java.awt.Dimension(170, 25)); + uploadButton.setPreferredSize(new java.awt.Dimension(170, 25)); uploadButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { uploadButtonActionPerformed(evt); @@ -805,8 +822,8 @@ public class AutoIngestSettingsPanel extends javax.swing.JPanel { .addGroup(pnTestMultiUserLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(lbTestResultText, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addGroup(pnTestMultiUserLayout.createSequentialGroup() - .addComponent(lbTestMultiUserText) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 236, Short.MAX_VALUE) + .addComponent(lbTestMultiUserText, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addGap(236, 236, 236) .addComponent(bnTestMultiUser, javax.swing.GroupLayout.PREFERRED_SIZE, 83, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(18, 18, 18) .addComponent(lbMultiUserResult, javax.swing.GroupLayout.PREFERRED_SIZE, 16, javax.swing.GroupLayout.PREFERRED_SIZE) @@ -840,57 +857,62 @@ public class AutoIngestSettingsPanel extends javax.swing.JPanel { .addComponent(jLabelInvalidImageFolder, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) .addGroup(nodePanelLayout.createSequentialGroup() .addGroup(nodePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(pbTaskInProgress, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addGroup(nodePanelLayout.createSequentialGroup() - .addComponent(jLabelCurrentTask) + .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, nodePanelLayout.createSequentialGroup() + .addComponent(sharedConfigCheckbox, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) - .addComponent(jLabelTaskDescription, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + .addComponent(sharedSettingsErrorTextField, javax.swing.GroupLayout.PREFERRED_SIZE, 445, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(30, 30, 30)) .addGroup(nodePanelLayout.createSequentialGroup() .addGroup(nodePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(nodePanelLayout.createSequentialGroup() - .addComponent(outputPathTextField, javax.swing.GroupLayout.PREFERRED_SIZE, 630, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(browseOutputFolderButton)) + .addComponent(jLabelCurrentTask) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(jLabelTaskDescription, javax.swing.GroupLayout.PREFERRED_SIZE, 626, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGroup(nodePanelLayout.createSequentialGroup() .addComponent(inputPathTextField, javax.swing.GroupLayout.PREFERRED_SIZE, 630, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(browseInputFolderButton)) - .addComponent(uploadButton, javax.swing.GroupLayout.PREFERRED_SIZE, 143, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(masterNodeCheckBox) + .addComponent(uploadButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addGroup(nodePanelLayout.createSequentialGroup() - .addComponent(bnEditIngestSettings, javax.swing.GroupLayout.PREFERRED_SIZE, 155, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(bnEditIngestSettings, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(bnAdvancedSettings, javax.swing.GroupLayout.PREFERRED_SIZE, 155, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(bnAdvancedSettings, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(bnFileExport, javax.swing.GroupLayout.PREFERRED_SIZE, 155, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addComponent(bnFileExport, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGroup(nodePanelLayout.createSequentialGroup() .addComponent(jLabelSelectOutputFolder) .addGap(18, 18, 18) .addComponent(jLabelInvalidResultsFolder, javax.swing.GroupLayout.PREFERRED_SIZE, 544, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addGroup(nodePanelLayout.createSequentialGroup() - .addComponent(sharedConfigCheckbox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) - .addComponent(sharedSettingsErrorTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGroup(nodePanelLayout.createSequentialGroup() .addComponent(sharedSettingsTextField, javax.swing.GroupLayout.PREFERRED_SIZE, 400, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(browseSharedSettingsButton, javax.swing.GroupLayout.PREFERRED_SIZE, 143, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addGroup(nodePanelLayout.createSequentialGroup() - .addComponent(downloadButton, javax.swing.GroupLayout.PREFERRED_SIZE, 143, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) - .addComponent(configButtonErrorTextField, javax.swing.GroupLayout.PREFERRED_SIZE, 396, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addComponent(browseSharedSettingsButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGroup(nodePanelLayout.createSequentialGroup() .addComponent(examinerModeRadioButton, javax.swing.GroupLayout.PREFERRED_SIZE, 145, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(tbOops, javax.swing.GroupLayout.PREFERRED_SIZE, 561, javax.swing.GroupLayout.PREFERRED_SIZE))) + .addComponent(tbOops, javax.swing.GroupLayout.PREFERRED_SIZE, 561, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addComponent(downloadButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(autoIngestModeRadioButton, javax.swing.GroupLayout.PREFERRED_SIZE, 145, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(0, 0, Short.MAX_VALUE))) .addGap(10, 10, 10)) .addGroup(nodePanelLayout.createSequentialGroup() - .addGroup(nodePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(autoIngestModeRadioButton, javax.swing.GroupLayout.PREFERRED_SIZE, 145, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(pnTestMultiUser, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addGap(0, 0, Short.MAX_VALUE)))) + .addGroup(nodePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false) + .addComponent(pnTestMultiUser, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addGroup(javax.swing.GroupLayout.Alignment.LEADING, nodePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) + .addComponent(configButtonErrorTextField, javax.swing.GroupLayout.PREFERRED_SIZE, 531, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGroup(nodePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false) + .addComponent(masterNodeCheckBox, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addGroup(javax.swing.GroupLayout.Alignment.LEADING, nodePanelLayout.createSequentialGroup() + .addGap(6, 6, 6) + .addComponent(outputPathTextField, javax.swing.GroupLayout.PREFERRED_SIZE, 625, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(browseOutputFolderButton)))) + .addComponent(pbTaskInProgress, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))) ); + + nodePanelLayout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {bnAdvancedSettings, bnEditIngestSettings, bnFileExport, browseSharedSettingsButton, downloadButton, uploadButton}); + nodePanelLayout.setVerticalGroup( nodePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(nodePanelLayout.createSequentialGroup() @@ -918,9 +940,9 @@ public class AutoIngestSettingsPanel extends javax.swing.JPanel { .addComponent(outputPathTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(25, 25, 25) .addGroup(nodePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(bnEditIngestSettings) - .addComponent(bnFileExport) - .addComponent(bnAdvancedSettings)) + .addComponent(bnEditIngestSettings, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(bnFileExport, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(bnAdvancedSettings, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(18, 18, 18) .addGroup(nodePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(sharedConfigCheckbox, javax.swing.GroupLayout.PREFERRED_SIZE, 21, javax.swing.GroupLayout.PREFERRED_SIZE) @@ -928,15 +950,15 @@ public class AutoIngestSettingsPanel extends javax.swing.JPanel { .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(nodePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(sharedSettingsTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(browseSharedSettingsButton)) + .addComponent(browseSharedSettingsButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addGroup(nodePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(downloadButton) - .addComponent(configButtonErrorTextField, javax.swing.GroupLayout.PREFERRED_SIZE, 21, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addComponent(downloadButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(configButtonErrorTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(18, 18, 18) .addComponent(masterNodeCheckBox, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(uploadButton) + .addComponent(uploadButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(8, 8, 8) .addGroup(nodePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabelCurrentTask) @@ -945,7 +967,7 @@ public class AutoIngestSettingsPanel extends javax.swing.JPanel { .addComponent(pbTaskInProgress, javax.swing.GroupLayout.PREFERRED_SIZE, 22, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(pnTestMultiUser, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addContainerGap(82, Short.MAX_VALUE)) + .addContainerGap(20, Short.MAX_VALUE)) ); nodeScrollPane.setViewportView(nodePanel); @@ -958,193 +980,10 @@ public class AutoIngestSettingsPanel extends javax.swing.JPanel { ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(nodeScrollPane, javax.swing.GroupLayout.DEFAULT_SIZE, 656, Short.MAX_VALUE) + .addComponent(nodeScrollPane, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) ); }// //GEN-END:initComponents - boolean permissionsAppropriate(String path) { - return FileUtil.hasReadWriteAccess(Paths.get(path)); - } - - private void setSharedConfigEnable() { - setEnabledStateForSharedConfiguration(); - if (sharedConfigCheckbox.isEnabled() && sharedConfigCheckbox.isSelected()) { - sharedSettingsTextField.setEnabled(true); - browseSharedSettingsButton.setEnabled(true); - masterNodeCheckBox.setEnabled(true); - downloadButton.setEnabled(true); - validateSettings(); - controller.changed(); - } else { - sharedSettingsTextField.setEnabled(false); - browseSharedSettingsButton.setEnabled(false); - masterNodeCheckBox.setEnabled(false); - downloadButton.setEnabled(false); - sharedSettingsErrorTextField.setText(""); - validateSettings(); - controller.changed(); - } - } - - private void downloadButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_downloadButtonActionPerformed - // First save the shared config folder and solr settings to the properties - String globalSettingsPath = getNormalizedFolderPath(sharedSettingsTextField.getText().trim()); - AutoIngestUserPreferences.setSharedConfigFolder(globalSettingsPath); - - enableUI(false); - jLabelCurrentTask.setEnabled(true); - jLabelTaskDescription.setEnabled(true); - pbTaskInProgress.setEnabled(true); - pbTaskInProgress.setIndeterminate(true); - - UpdateConfigSwingWorker worker = new UpdateConfigSwingWorker(ConfigTaskType.DOWNLOAD); - try { - worker.execute(); - } catch (Exception ex) { - jLabelTaskDescription.setText(ex.getLocalizedMessage()); - } - }//GEN-LAST:event_downloadButtonActionPerformed - - private void uploadButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_uploadButtonActionPerformed - store(); - - enableUI(false); - jLabelCurrentTask.setEnabled(true); - jLabelTaskDescription.setEnabled(true); - pbTaskInProgress.setEnabled(true); - pbTaskInProgress.setIndeterminate(true); - - UpdateConfigSwingWorker worker = new UpdateConfigSwingWorker(ConfigTaskType.UPLOAD); - try { - worker.execute(); - } catch (Exception ex) { - jLabelTaskDescription.setText(ex.getLocalizedMessage()); - } - }//GEN-LAST:event_uploadButtonActionPerformed - - private void masterNodeCheckBoxItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_masterNodeCheckBoxItemStateChanged - // Enable the global settings text box and browse button iff the checkbox is checked and enabled - setEnabledStateForSharedConfiguration(); - if (masterNodeCheckBox.isEnabled() && masterNodeCheckBox.isSelected()) { - uploadButton.setEnabled(true); - validateSettings(); // This will disable the upload/save button if the settings aren't currently valid - controller.changed(); - } else { - uploadButton.setEnabled(false); - } - }//GEN-LAST:event_masterNodeCheckBoxItemStateChanged - - private void browseSharedSettingsButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_browseSharedSettingsButtonActionPerformed - - String oldText = sharedSettingsTextField.getText().trim(); - // set the current directory of the FileChooser if the oldText is valid - File currentDir = new File(oldText); - if (currentDir.exists()) { - fc.setCurrentDirectory(currentDir); - } - - fc.setDialogTitle("Select shared configuration folder:"); - fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); - - int retval = fc.showOpenDialog(this); - if (retval == JFileChooser.APPROVE_OPTION) { - String path = fc.getSelectedFile().getPath(); - sharedSettingsTextField.setText(path); - validateSettings(); - controller.changed(); - } - }//GEN-LAST:event_browseSharedSettingsButtonActionPerformed - - private void sharedConfigCheckboxItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_sharedConfigCheckboxItemStateChanged - // Enable the global settings text box and browse button iff the checkbox is checked and enabled - setSharedConfigEnable(); - }//GEN-LAST:event_sharedConfigCheckboxItemStateChanged - - private void browseOutputFolderButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_browseOutputFolderButtonActionPerformed - String oldText = outputPathTextField.getText().trim(); - // set the current directory of the FileChooser if the oldText is valid - File currentDir = new File(oldText); - if (currentDir.exists()) { - fc.setCurrentDirectory(currentDir); - } - - fc.setDialogTitle("Select case output folder:"); - fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); - - int retval = fc.showOpenDialog(this); - if (retval == JFileChooser.APPROVE_OPTION) { - String path = fc.getSelectedFile().getPath(); - outputPathTextField.setText(path); - validateSettings(); - controller.changed(); - } - }//GEN-LAST:event_browseOutputFolderButtonActionPerformed - - private void browseInputFolderButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_browseInputFolderButtonActionPerformed - String oldText = inputPathTextField.getText().trim(); - // set the current directory of the FileChooser if the oldText is valid - File currentDir = new File(oldText); - if (currentDir.exists()) { - fc.setCurrentDirectory(currentDir); - } - - fc.setDialogTitle("Select case input folder:"); - fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); - - int retval = fc.showOpenDialog(this); - if (retval == JFileChooser.APPROVE_OPTION) { - String path = fc.getSelectedFile().getPath(); - inputPathTextField.setText(path); - validateSettings(); - controller.changed(); - } - }//GEN-LAST:event_browseInputFolderButtonActionPerformed - - private void bnFileExportActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_bnFileExportActionPerformed - JDialog jDialog = new JDialog(); - FileExporterSettingsPanel fileExporterSettingsPanel = new FileExporterSettingsPanel(jDialog); - jDialog.addWindowListener(new java.awt.event.WindowAdapter() { - @Override - public void windowClosing(java.awt.event.WindowEvent windowEvent) { - fileExporterSettingsPanel.store(); - } - }); - JScrollPane jScrollPane = new JScrollPane(fileExporterSettingsPanel); - jScrollPane.setVerticalScrollBarPolicy(javax.swing.ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED); - jScrollPane.setHorizontalScrollBarPolicy(javax.swing.ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED); - jScrollPane.setMinimumSize(new Dimension(100, 100)); - jDialog.add(jScrollPane); - jDialog.setTitle(NbBundle.getMessage(AutoIngestSettingsPanel.class, "AutoIngestSettingsPanel.FileExportRules.text")); - jDialog.setIconImage(ImageUtilities.loadImage("org/sleuthkit/autopsy/experimental/images/frame32.gif")); - jDialog.setModalityType(java.awt.Dialog.ModalityType.APPLICATION_MODAL); - jDialog.pack(); - jDialog.setLocationRelativeTo(this); - jDialog.setVisible(true); - }//GEN-LAST:event_bnFileExportActionPerformed - - private void bnAdvancedSettingsActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_bnAdvancedSettingsActionPerformed - AdvancedAutoIngestSettingsPanel advancedAutoIngestSettingsPanel = new AdvancedAutoIngestSettingsPanel(getModeFromRadioButtons()); - if (JOptionPane.showConfirmDialog(this, advancedAutoIngestSettingsPanel, - NbBundle.getMessage(AutoIngestSettingsPanel.class, "AutoIngestSettingsPanel.AdvancedAutoIngestSettingsPanel.Title"), - JOptionPane.OK_CANCEL_OPTION, JOptionPane.PLAIN_MESSAGE) == JOptionPane.OK_OPTION) { - advancedAutoIngestSettingsPanel.store(); - } - }//GEN-LAST:event_bnAdvancedSettingsActionPerformed - - private void bnEditIngestSettingsActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_bnEditIngestSettingsActionPerformed - displayIngestJobSettingsPanel(); - }//GEN-LAST:event_bnEditIngestSettingsActionPerformed - - private void autoIngestModeRadioButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_autoIngestModeRadioButtonActionPerformed - enableOptionsBasedOnMode(getModeFromRadioButtons()); - controller.changed(); - }//GEN-LAST:event_autoIngestModeRadioButtonActionPerformed - - private void examinerModeRadioButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_examinerModeRadioButtonActionPerformed - enableOptionsBasedOnMode(getModeFromRadioButtons()); - controller.changed(); - }//GEN-LAST:event_examinerModeRadioButtonActionPerformed - private void bnTestMultiUserActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_bnTestMultiUserActionPerformed lbTestResultText.setForeground(Color.BLACK); @@ -1176,6 +1015,189 @@ public class AutoIngestSettingsPanel extends javax.swing.JPanel { } }//GEN-LAST:event_bnTestMultiUserActionPerformed + private void autoIngestModeRadioButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_autoIngestModeRadioButtonActionPerformed + enableOptionsBasedOnMode(getModeFromRadioButtons()); + controller.changed(); + }//GEN-LAST:event_autoIngestModeRadioButtonActionPerformed + + private void examinerModeRadioButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_examinerModeRadioButtonActionPerformed + enableOptionsBasedOnMode(getModeFromRadioButtons()); + controller.changed(); + }//GEN-LAST:event_examinerModeRadioButtonActionPerformed + + private void masterNodeCheckBoxItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_masterNodeCheckBoxItemStateChanged + // Enable the global settings text box and browse button iff the checkbox is checked and enabled + setEnabledStateForSharedConfiguration(); + if (masterNodeCheckBox.isEnabled() && masterNodeCheckBox.isSelected()) { + uploadButton.setEnabled(true); + validateSettings(); // This will disable the upload/save button if the settings aren't currently valid + controller.changed(); + } else { + uploadButton.setEnabled(false); + } + }//GEN-LAST:event_masterNodeCheckBoxItemStateChanged + + private void uploadButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_uploadButtonActionPerformed + store(); + + enableUI(false); + jLabelCurrentTask.setEnabled(true); + jLabelTaskDescription.setEnabled(true); + pbTaskInProgress.setEnabled(true); + pbTaskInProgress.setIndeterminate(true); + + UpdateConfigSwingWorker worker = new UpdateConfigSwingWorker(ConfigTaskType.UPLOAD); + try { + worker.execute(); + } catch (Exception ex) { + jLabelTaskDescription.setText(ex.getLocalizedMessage()); + } + }//GEN-LAST:event_uploadButtonActionPerformed + + private void downloadButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_downloadButtonActionPerformed + // First save the shared config folder and solr settings to the properties + String globalSettingsPath = getNormalizedFolderPath(sharedSettingsTextField.getText().trim()); + AutoIngestUserPreferences.setSharedConfigFolder(globalSettingsPath); + + enableUI(false); + jLabelCurrentTask.setEnabled(true); + jLabelTaskDescription.setEnabled(true); + pbTaskInProgress.setEnabled(true); + pbTaskInProgress.setIndeterminate(true); + + UpdateConfigSwingWorker worker = new UpdateConfigSwingWorker(ConfigTaskType.DOWNLOAD); + try { + worker.execute(); + } catch (Exception ex) { + jLabelTaskDescription.setText(ex.getLocalizedMessage()); + } + }//GEN-LAST:event_downloadButtonActionPerformed + + private void browseSharedSettingsButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_browseSharedSettingsButtonActionPerformed + + String oldText = sharedSettingsTextField.getText().trim(); + // set the current directory of the FileChooser if the oldText is valid + File currentDir = new File(oldText); + if (currentDir.exists()) { + fc.setCurrentDirectory(currentDir); + } + + fc.setDialogTitle("Select shared configuration folder:"); + fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); + + int retval = fc.showOpenDialog(this); + if (retval == JFileChooser.APPROVE_OPTION) { + String path = fc.getSelectedFile().getPath(); + sharedSettingsTextField.setText(path); + validateSettings(); + controller.changed(); + } + }//GEN-LAST:event_browseSharedSettingsButtonActionPerformed + + private void sharedConfigCheckboxItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_sharedConfigCheckboxItemStateChanged + // Enable the global settings text box and browse button iff the checkbox is checked and enabled + setSharedConfigEnable(); + }//GEN-LAST:event_sharedConfigCheckboxItemStateChanged + + private void browseInputFolderButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_browseInputFolderButtonActionPerformed + String oldText = inputPathTextField.getText().trim(); + // set the current directory of the FileChooser if the oldText is valid + File currentDir = new File(oldText); + if (currentDir.exists()) { + fc.setCurrentDirectory(currentDir); + } + + fc.setDialogTitle("Select case input folder:"); + fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); + + int retval = fc.showOpenDialog(this); + if (retval == JFileChooser.APPROVE_OPTION) { + String path = fc.getSelectedFile().getPath(); + inputPathTextField.setText(path); + validateSettings(); + controller.changed(); + } + }//GEN-LAST:event_browseInputFolderButtonActionPerformed + + private void browseOutputFolderButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_browseOutputFolderButtonActionPerformed + String oldText = outputPathTextField.getText().trim(); + // set the current directory of the FileChooser if the oldText is valid + File currentDir = new File(oldText); + if (currentDir.exists()) { + fc.setCurrentDirectory(currentDir); + } + + fc.setDialogTitle("Select case output folder:"); + fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); + + int retval = fc.showOpenDialog(this); + if (retval == JFileChooser.APPROVE_OPTION) { + String path = fc.getSelectedFile().getPath(); + outputPathTextField.setText(path); + validateSettings(); + controller.changed(); + } + }//GEN-LAST:event_browseOutputFolderButtonActionPerformed + + private void bnFileExportActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_bnFileExportActionPerformed + JDialog jDialog = new JDialog(); + FileExporterSettingsPanel fileExporterSettingsPanel = new FileExporterSettingsPanel(jDialog); + jDialog.addWindowListener(new java.awt.event.WindowAdapter() { + @Override + public void windowClosing(java.awt.event.WindowEvent windowEvent) { + fileExporterSettingsPanel.store(); + } + }); + JScrollPane jScrollPane = new JScrollPane(fileExporterSettingsPanel); + jScrollPane.setVerticalScrollBarPolicy(javax.swing.ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED); + jScrollPane.setHorizontalScrollBarPolicy(javax.swing.ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED); + jScrollPane.setMinimumSize(new Dimension(100, 100)); + jDialog.add(jScrollPane); + jDialog.setTitle(NbBundle.getMessage(AutoIngestSettingsPanel.class, "AutoIngestSettingsPanel.FileExportRules.text")); + jDialog.setIconImage(ImageUtilities.loadImage("org/sleuthkit/autopsy/experimental/images/frame32.gif")); + jDialog.setModalityType(java.awt.Dialog.ModalityType.APPLICATION_MODAL); + jDialog.pack(); + jDialog.setLocationRelativeTo(this); + jDialog.setVisible(true); + }//GEN-LAST:event_bnFileExportActionPerformed + + private void bnAdvancedSettingsActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_bnAdvancedSettingsActionPerformed + AdvancedAutoIngestSettingsPanel advancedAutoIngestSettingsPanel = new AdvancedAutoIngestSettingsPanel(getModeFromRadioButtons()); + if (JOptionPane.showConfirmDialog(this, advancedAutoIngestSettingsPanel, + NbBundle.getMessage(AutoIngestSettingsPanel.class, "AutoIngestSettingsPanel.AdvancedAutoIngestSettingsPanel.Title"), + JOptionPane.OK_CANCEL_OPTION, JOptionPane.PLAIN_MESSAGE) == JOptionPane.OK_OPTION) { + advancedAutoIngestSettingsPanel.store(); + } + }//GEN-LAST:event_bnAdvancedSettingsActionPerformed + + private void bnEditIngestSettingsActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_bnEditIngestSettingsActionPerformed + displayIngestJobSettingsPanel(); + }//GEN-LAST:event_bnEditIngestSettingsActionPerformed + + boolean permissionsAppropriate(String path) { + return FileUtil.hasReadWriteAccess(Paths.get(path)); + } + + private void setSharedConfigEnable() { + setEnabledStateForSharedConfiguration(); + if (sharedConfigCheckbox.isEnabled() && sharedConfigCheckbox.isSelected()) { + sharedSettingsTextField.setEnabled(true); + browseSharedSettingsButton.setEnabled(true); + masterNodeCheckBox.setEnabled(true); + downloadButton.setEnabled(true); + validateSettings(); + controller.changed(); + } else { + sharedSettingsTextField.setEnabled(false); + browseSharedSettingsButton.setEnabled(false); + masterNodeCheckBox.setEnabled(false); + downloadButton.setEnabled(false); + sharedSettingsErrorTextField.setText(""); + validateSettings(); + controller.changed(); + } + } + private void enableUI(boolean state) { enableOptionsBasedOnMode(OptionsUiMode.DOWNLOADING_CONFIGURATION); downloadButton.setEnabled(state); From 646e334a19994a955f6d586e5b3416b7300d581d Mon Sep 17 00:00:00 2001 From: William Schaefer Date: Mon, 13 Apr 2020 03:21:47 -0400 Subject: [PATCH 045/111] 6225 fix for screenshot 13 --- .../AutoIngestSettingsPanel.form | 19 +++++++------------ .../AutoIngestSettingsPanel.java | 17 +++++++---------- 2 files changed, 14 insertions(+), 22 deletions(-) diff --git a/Experimental/src/org/sleuthkit/autopsy/experimental/configuration/AutoIngestSettingsPanel.form b/Experimental/src/org/sleuthkit/autopsy/experimental/configuration/AutoIngestSettingsPanel.form index 2577ecc683..87cb248163 100644 --- a/Experimental/src/org/sleuthkit/autopsy/experimental/configuration/AutoIngestSettingsPanel.form +++ b/Experimental/src/org/sleuthkit/autopsy/experimental/configuration/AutoIngestSettingsPanel.form @@ -111,17 +111,12 @@ - - - - - - - - - - - + + + + + + @@ -539,7 +534,7 @@ - + diff --git a/Experimental/src/org/sleuthkit/autopsy/experimental/configuration/AutoIngestSettingsPanel.java b/Experimental/src/org/sleuthkit/autopsy/experimental/configuration/AutoIngestSettingsPanel.java index 67b5997d98..1aa7238642 100644 --- a/Experimental/src/org/sleuthkit/autopsy/experimental/configuration/AutoIngestSettingsPanel.java +++ b/Experimental/src/org/sleuthkit/autopsy/experimental/configuration/AutoIngestSettingsPanel.java @@ -822,7 +822,7 @@ public class AutoIngestSettingsPanel extends javax.swing.JPanel { .addGroup(pnTestMultiUserLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(lbTestResultText, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addGroup(pnTestMultiUserLayout.createSequentialGroup() - .addComponent(lbTestMultiUserText, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(lbTestMultiUserText, javax.swing.GroupLayout.DEFAULT_SIZE, 324, Short.MAX_VALUE) .addGap(236, 236, 236) .addComponent(bnTestMultiUser, javax.swing.GroupLayout.PREFERRED_SIZE, 83, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(18, 18, 18) @@ -898,15 +898,12 @@ public class AutoIngestSettingsPanel extends javax.swing.JPanel { .addGroup(nodePanelLayout.createSequentialGroup() .addGroup(nodePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false) .addComponent(pnTestMultiUser, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addGroup(javax.swing.GroupLayout.Alignment.LEADING, nodePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) - .addComponent(configButtonErrorTextField, javax.swing.GroupLayout.PREFERRED_SIZE, 531, javax.swing.GroupLayout.PREFERRED_SIZE) - .addGroup(nodePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false) - .addComponent(masterNodeCheckBox, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addGroup(javax.swing.GroupLayout.Alignment.LEADING, nodePanelLayout.createSequentialGroup() - .addGap(6, 6, 6) - .addComponent(outputPathTextField, javax.swing.GroupLayout.PREFERRED_SIZE, 625, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(browseOutputFolderButton)))) + .addComponent(configButtonErrorTextField, javax.swing.GroupLayout.PREFERRED_SIZE, 531, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(masterNodeCheckBox, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addGroup(javax.swing.GroupLayout.Alignment.LEADING, nodePanelLayout.createSequentialGroup() + .addComponent(outputPathTextField) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(browseOutputFolderButton)) .addComponent(pbTaskInProgress, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))) ); From ad74553829845acfb02530b167ac7124e0a75305 Mon Sep 17 00:00:00 2001 From: William Schaefer Date: Mon, 13 Apr 2020 03:29:20 -0400 Subject: [PATCH 046/111] 6225 fix for screenshot 13 --- .../configuration/AutoIngestSettingsPanel.form | 8 ++++---- .../configuration/AutoIngestSettingsPanel.java | 4 ++++ 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/Experimental/src/org/sleuthkit/autopsy/experimental/configuration/AutoIngestSettingsPanel.form b/Experimental/src/org/sleuthkit/autopsy/experimental/configuration/AutoIngestSettingsPanel.form index 87cb248163..7aa013e047 100644 --- a/Experimental/src/org/sleuthkit/autopsy/experimental/configuration/AutoIngestSettingsPanel.form +++ b/Experimental/src/org/sleuthkit/autopsy/experimental/configuration/AutoIngestSettingsPanel.form @@ -73,9 +73,9 @@ - + - + @@ -114,9 +114,9 @@ - + - + diff --git a/Experimental/src/org/sleuthkit/autopsy/experimental/configuration/AutoIngestSettingsPanel.java b/Experimental/src/org/sleuthkit/autopsy/experimental/configuration/AutoIngestSettingsPanel.java index 1aa7238642..696c33ccb4 100644 --- a/Experimental/src/org/sleuthkit/autopsy/experimental/configuration/AutoIngestSettingsPanel.java +++ b/Experimental/src/org/sleuthkit/autopsy/experimental/configuration/AutoIngestSettingsPanel.java @@ -910,6 +910,10 @@ public class AutoIngestSettingsPanel extends javax.swing.JPanel { nodePanelLayout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {bnAdvancedSettings, bnEditIngestSettings, bnFileExport, browseSharedSettingsButton, downloadButton, uploadButton}); + nodePanelLayout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {inputPathTextField, outputPathTextField}); + + nodePanelLayout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {browseInputFolderButton, browseOutputFolderButton}); + nodePanelLayout.setVerticalGroup( nodePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(nodePanelLayout.createSequentialGroup() From c8d084886eb566edc3c11464811d9af75b51ee9e Mon Sep 17 00:00:00 2001 From: William Schaefer Date: Mon, 13 Apr 2020 04:24:26 -0400 Subject: [PATCH 047/111] 6225 fix for screenshot 13 --- .../BingTranslatorSettingsPanel.form | 155 ++++++++-------- .../BingTranslatorSettingsPanel.java | 159 ++++++++++------ .../GoogleTranslatorSettingsPanel.form | 168 ++++++++--------- .../GoogleTranslatorSettingsPanel.java | 171 +++++++++++------- 4 files changed, 367 insertions(+), 286 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/texttranslation/translators/BingTranslatorSettingsPanel.form b/Core/src/org/sleuthkit/autopsy/texttranslation/translators/BingTranslatorSettingsPanel.form index 08f7946452..52655f1a85 100644 --- a/Core/src/org/sleuthkit/autopsy/texttranslation/translators/BingTranslatorSettingsPanel.form +++ b/Core/src/org/sleuthkit/autopsy/texttranslation/translators/BingTranslatorSettingsPanel.form @@ -11,90 +11,25 @@ + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + @@ -105,6 +40,11 @@ + + + + + @@ -115,6 +55,11 @@ + + + + + @@ -122,6 +67,11 @@ + + + + + @@ -136,13 +86,26 @@ + + + + + + + + + + + + + @@ -150,6 +113,11 @@ + + + + + @@ -157,20 +125,41 @@ + + + + + + + + + + + + + + + + + + + + + @@ -180,10 +169,18 @@ + + + + + + + + @@ -195,11 +192,17 @@ - + + + + + + + diff --git a/Core/src/org/sleuthkit/autopsy/texttranslation/translators/BingTranslatorSettingsPanel.java b/Core/src/org/sleuthkit/autopsy/texttranslation/translators/BingTranslatorSettingsPanel.java index 5b34605403..3fec49de8c 100644 --- a/Core/src/org/sleuthkit/autopsy/texttranslation/translators/BingTranslatorSettingsPanel.java +++ b/Core/src/org/sleuthkit/autopsy/texttranslation/translators/BingTranslatorSettingsPanel.java @@ -127,6 +127,7 @@ public class BingTranslatorSettingsPanel extends javax.swing.JPanel { @SuppressWarnings("unchecked") // //GEN-BEGIN:initComponents private void initComponents() { + java.awt.GridBagConstraints gridBagConstraints; authenticationKeyField = new javax.swing.JTextField(); warningLabel = new javax.swing.JLabel(); @@ -141,10 +142,31 @@ public class BingTranslatorSettingsPanel extends javax.swing.JPanel { instructionsScrollPane = new javax.swing.JScrollPane(); instructionsTextArea = new javax.swing.JTextArea(); + setLayout(new java.awt.GridBagLayout()); + authenticationKeyField.setToolTipText(org.openide.util.NbBundle.getMessage(BingTranslatorSettingsPanel.class, "BingTranslatorSettingsPanel.authenticationKeyField.toolTipText")); // NOI18N + authenticationKeyField.setMaximumSize(new java.awt.Dimension(800, 22)); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 3; + gridBagConstraints.gridy = 1; + gridBagConstraints.gridwidth = 7; + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; + gridBagConstraints.weightx = 1.0; + gridBagConstraints.insets = new java.awt.Insets(14, 5, 0, 12); + add(authenticationKeyField, gridBagConstraints); warningLabel.setForeground(new java.awt.Color(255, 0, 0)); org.openide.awt.Mnemonics.setLocalizedText(warningLabel, org.openide.util.NbBundle.getMessage(BingTranslatorSettingsPanel.class, "GoogleTranslatorSettingsPanel.warningLabel.text")); // NOI18N + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 0; + gridBagConstraints.gridy = 4; + gridBagConstraints.gridwidth = 10; + gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; + gridBagConstraints.weightx = 1.0; + gridBagConstraints.insets = new java.awt.Insets(7, 12, 6, 0); + add(warningLabel, gridBagConstraints); org.openide.awt.Mnemonics.setLocalizedText(testButton, org.openide.util.NbBundle.getMessage(BingTranslatorSettingsPanel.class, "BingTranslatorSettingsPanel.testButton.text")); // NOI18N testButton.addActionListener(new java.awt.event.ActionListener() { @@ -152,8 +174,23 @@ public class BingTranslatorSettingsPanel extends javax.swing.JPanel { testButtonActionPerformed(evt); } }); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 0; + gridBagConstraints.gridy = 3; + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; + gridBagConstraints.insets = new java.awt.Insets(6, 12, 0, 0); + add(testButton, gridBagConstraints); org.openide.awt.Mnemonics.setLocalizedText(targetLanguageLabel, org.openide.util.NbBundle.getMessage(BingTranslatorSettingsPanel.class, "BingTranslatorSettingsPanel.targetLanguageLabel.text")); // NOI18N + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 0; + gridBagConstraints.gridy = 2; + gridBagConstraints.gridwidth = 3; + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; + gridBagConstraints.insets = new java.awt.Insets(10, 12, 0, 0); + add(targetLanguageLabel, gridBagConstraints); targetLanguageComboBox.setEnabled(false); targetLanguageComboBox.addItemListener(new java.awt.event.ItemListener() { @@ -161,88 +198,90 @@ public class BingTranslatorSettingsPanel extends javax.swing.JPanel { targetLanguageComboBoxSelected(evt); } }); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 3; + gridBagConstraints.gridy = 2; + gridBagConstraints.gridwidth = 4; + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; + gridBagConstraints.insets = new java.awt.Insets(8, 5, 0, 0); + add(targetLanguageComboBox, gridBagConstraints); testUntranslatedTextField.setText(DEFUALT_TEST_STRING); + testUntranslatedTextField.setPreferredSize(new java.awt.Dimension(160, 22)); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 4; + gridBagConstraints.gridy = 3; + gridBagConstraints.gridwidth = 2; + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; + gridBagConstraints.insets = new java.awt.Insets(8, 5, 0, 0); + add(testUntranslatedTextField, gridBagConstraints); org.openide.awt.Mnemonics.setLocalizedText(untranslatedLabel, org.openide.util.NbBundle.getMessage(BingTranslatorSettingsPanel.class, "BingTranslatorSettingsPanel.untranslatedLabel.text")); // NOI18N + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 3; + gridBagConstraints.gridy = 3; + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; + gridBagConstraints.insets = new java.awt.Insets(10, 5, 0, 0); + add(untranslatedLabel, gridBagConstraints); org.openide.awt.Mnemonics.setLocalizedText(resultLabel, org.openide.util.NbBundle.getMessage(BingTranslatorSettingsPanel.class, "BingTranslatorSettingsPanel.resultLabel.text")); // NOI18N + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 6; + gridBagConstraints.gridy = 3; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; + gridBagConstraints.insets = new java.awt.Insets(10, 10, 0, 0); + add(resultLabel, gridBagConstraints); org.openide.awt.Mnemonics.setLocalizedText(testResultValueLabel, org.openide.util.NbBundle.getMessage(BingTranslatorSettingsPanel.class, "BingTranslatorSettingsPanel.testResultValueLabel.text")); // NOI18N + testResultValueLabel.setMaximumSize(new java.awt.Dimension(600, 22)); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 7; + gridBagConstraints.gridy = 3; + gridBagConstraints.gridwidth = 3; + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; + gridBagConstraints.insets = new java.awt.Insets(4, 7, 0, 12); + add(testResultValueLabel, gridBagConstraints); org.openide.awt.Mnemonics.setLocalizedText(authenticationKeyLabel, org.openide.util.NbBundle.getMessage(BingTranslatorSettingsPanel.class, "BingTranslatorSettingsPanel.authenticationKeyLabel.text")); // NOI18N + authenticationKeyLabel.setMaximumSize(new java.awt.Dimension(200, 16)); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 0; + gridBagConstraints.gridy = 1; + gridBagConstraints.gridwidth = 3; + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; + gridBagConstraints.insets = new java.awt.Insets(16, 12, 0, 0); + add(authenticationKeyLabel, gridBagConstraints); instructionsScrollPane.setBorder(javax.swing.BorderFactory.createEtchedBorder()); instructionsScrollPane.setHorizontalScrollBarPolicy(javax.swing.ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); + instructionsScrollPane.setPreferredSize(new java.awt.Dimension(168, 80)); instructionsTextArea.setEditable(false); instructionsTextArea.setBackground(new java.awt.Color(240, 240, 240)); instructionsTextArea.setColumns(20); instructionsTextArea.setLineWrap(true); - instructionsTextArea.setRows(2); + instructionsTextArea.setRows(4); instructionsTextArea.setText(org.openide.util.NbBundle.getMessage(BingTranslatorSettingsPanel.class, "BingTranslatorSettingsPanel.instructionsTextArea.text")); // NOI18N instructionsTextArea.setWrapStyleWord(true); + instructionsTextArea.setMaximumSize(new java.awt.Dimension(1000, 200)); + instructionsTextArea.setPreferredSize(new java.awt.Dimension(164, 78)); instructionsScrollPane.setViewportView(instructionsTextArea); - javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this); - this.setLayout(layout); - layout.setHorizontalGroup( - layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(layout.createSequentialGroup() - .addContainerGap() - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(instructionsScrollPane) - .addGroup(layout.createSequentialGroup() - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) - .addGroup(layout.createSequentialGroup() - .addComponent(authenticationKeyLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(authenticationKeyField, javax.swing.GroupLayout.PREFERRED_SIZE, 486, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addComponent(warningLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 551, javax.swing.GroupLayout.PREFERRED_SIZE) - .addGroup(layout.createSequentialGroup() - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(targetLanguageLabel) - .addComponent(testButton, javax.swing.GroupLayout.PREFERRED_SIZE, 79, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addGap(18, 18, 18) - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(layout.createSequentialGroup() - .addComponent(untranslatedLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 66, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(testUntranslatedTextField, javax.swing.GroupLayout.PREFERRED_SIZE, 140, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(resultLabel) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(testResultValueLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) - .addGroup(layout.createSequentialGroup() - .addComponent(targetLanguageComboBox, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addGap(276, 276, 276))))) - .addGap(0, 0, Short.MAX_VALUE))) - .addContainerGap()) - ); - layout.setVerticalGroup( - layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() - .addContainerGap() - .addComponent(instructionsScrollPane, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(authenticationKeyField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(authenticationKeyLabel)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(targetLanguageLabel) - .addComponent(targetLanguageComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(testButton) - .addComponent(testUntranslatedTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(untranslatedLabel) - .addComponent(resultLabel) - .addComponent(testResultValueLabel)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(warningLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 18, javax.swing.GroupLayout.PREFERRED_SIZE) - .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) - ); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 0; + gridBagConstraints.gridy = 0; + gridBagConstraints.gridwidth = 10; + gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; + gridBagConstraints.weightx = 1.0; + gridBagConstraints.weighty = 1.0; + gridBagConstraints.insets = new java.awt.Insets(13, 12, 0, 12); + add(instructionsScrollPane, gridBagConstraints); }// //GEN-END:initComponents @Messages({"BingTranslatorSettingsPanel.warning.invalidKey=Invalid translation authentication key"}) diff --git a/Core/src/org/sleuthkit/autopsy/texttranslation/translators/GoogleTranslatorSettingsPanel.form b/Core/src/org/sleuthkit/autopsy/texttranslation/translators/GoogleTranslatorSettingsPanel.form index 33fca620d1..d4902149d3 100644 --- a/Core/src/org/sleuthkit/autopsy/texttranslation/translators/GoogleTranslatorSettingsPanel.form +++ b/Core/src/org/sleuthkit/autopsy/texttranslation/translators/GoogleTranslatorSettingsPanel.form @@ -11,116 +11,59 @@ + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + @@ -132,6 +75,11 @@ + + + + + @@ -139,6 +87,11 @@ + + + + + @@ -149,13 +102,26 @@ + + + + + + + + + + + + + @@ -164,6 +130,11 @@ + + + + + @@ -172,6 +143,11 @@ + + + + + @@ -179,7 +155,15 @@ + + + + + + + + @@ -191,6 +175,11 @@ + + + + + @@ -204,6 +193,11 @@ + + + + + @@ -215,11 +209,17 @@ - + + + + + + + diff --git a/Core/src/org/sleuthkit/autopsy/texttranslation/translators/GoogleTranslatorSettingsPanel.java b/Core/src/org/sleuthkit/autopsy/texttranslation/translators/GoogleTranslatorSettingsPanel.java index 9244ba3b86..cbc164b938 100644 --- a/Core/src/org/sleuthkit/autopsy/texttranslation/translators/GoogleTranslatorSettingsPanel.java +++ b/Core/src/org/sleuthkit/autopsy/texttranslation/translators/GoogleTranslatorSettingsPanel.java @@ -184,6 +184,7 @@ public class GoogleTranslatorSettingsPanel extends javax.swing.JPanel { @SuppressWarnings("unchecked") // //GEN-BEGIN:initComponents private void initComponents() { + java.awt.GridBagConstraints gridBagConstraints; credentialsLabel = new javax.swing.JLabel(); credentialsPathField = new javax.swing.JTextField(); @@ -199,39 +200,123 @@ public class GoogleTranslatorSettingsPanel extends javax.swing.JPanel { instructionsScrollPane = new javax.swing.JScrollPane(); instructionsTextArea = new javax.swing.JTextArea(); + setLayout(new java.awt.GridBagLayout()); + org.openide.awt.Mnemonics.setLocalizedText(credentialsLabel, org.openide.util.NbBundle.getMessage(GoogleTranslatorSettingsPanel.class, "GoogleTranslatorSettingsPanel.credentialsLabel.text")); // NOI18N + credentialsLabel.setMaximumSize(new java.awt.Dimension(200, 16)); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 0; + gridBagConstraints.gridy = 1; + gridBagConstraints.gridwidth = 3; + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; + gridBagConstraints.insets = new java.awt.Insets(17, 12, 0, 0); + add(credentialsLabel, gridBagConstraints); credentialsPathField.setEditable(false); + credentialsPathField.setPreferredSize(new java.awt.Dimension(700, 22)); credentialsPathField.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { credentialsPathFieldActionPerformed(evt); } }); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 3; + gridBagConstraints.gridy = 1; + gridBagConstraints.gridwidth = 6; + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; + gridBagConstraints.weightx = 1.0; + gridBagConstraints.insets = new java.awt.Insets(14, 7, 0, 0); + add(credentialsPathField, gridBagConstraints); org.openide.awt.Mnemonics.setLocalizedText(browseButton, org.openide.util.NbBundle.getMessage(GoogleTranslatorSettingsPanel.class, "GoogleTranslatorSettingsPanel.browseButton.text")); // NOI18N + browseButton.setMaximumSize(new java.awt.Dimension(100, 25)); browseButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { browseButtonActionPerformed(evt); } }); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 9; + gridBagConstraints.gridy = 1; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; + gridBagConstraints.insets = new java.awt.Insets(13, 7, 0, 0); + add(browseButton, gridBagConstraints); targetLanguageComboBox.setEnabled(false); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 3; + gridBagConstraints.gridy = 2; + gridBagConstraints.gridwidth = 4; + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; + gridBagConstraints.insets = new java.awt.Insets(13, 7, 0, 0); + add(targetLanguageComboBox, gridBagConstraints); org.openide.awt.Mnemonics.setLocalizedText(targetLanguageLabel, org.openide.util.NbBundle.getMessage(GoogleTranslatorSettingsPanel.class, "GoogleTranslatorSettingsPanel.targetLanguageLabel.text")); // NOI18N + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 0; + gridBagConstraints.gridy = 2; + gridBagConstraints.gridwidth = 3; + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; + gridBagConstraints.insets = new java.awt.Insets(16, 12, 0, 0); + add(targetLanguageLabel, gridBagConstraints); warningLabel.setForeground(new java.awt.Color(255, 0, 0)); org.openide.awt.Mnemonics.setLocalizedText(warningLabel, org.openide.util.NbBundle.getMessage(GoogleTranslatorSettingsPanel.class, "GoogleTranslatorSettingsPanel.warningLabel.text")); // NOI18N + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 0; + gridBagConstraints.gridy = 4; + gridBagConstraints.gridwidth = 10; + gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; + gridBagConstraints.weightx = 1.0; + gridBagConstraints.insets = new java.awt.Insets(13, 12, 6, 0); + add(warningLabel, gridBagConstraints); org.openide.awt.Mnemonics.setLocalizedText(testResultValueLabel, org.openide.util.NbBundle.getMessage(GoogleTranslatorSettingsPanel.class, "GoogleTranslatorSettingsPanel.testResultValueLabel.text")); // NOI18N + testResultValueLabel.setMaximumSize(new java.awt.Dimension(600, 22)); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 7; + gridBagConstraints.gridy = 3; + gridBagConstraints.gridwidth = 3; + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; + gridBagConstraints.insets = new java.awt.Insets(0, 7, 0, 0); + add(testResultValueLabel, gridBagConstraints); org.openide.awt.Mnemonics.setLocalizedText(resultLabel, org.openide.util.NbBundle.getMessage(GoogleTranslatorSettingsPanel.class, "GoogleTranslatorSettingsPanel.resultLabel.text")); // NOI18N resultLabel.setEnabled(false); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 6; + gridBagConstraints.gridy = 3; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; + gridBagConstraints.insets = new java.awt.Insets(10, 5, 0, 0); + add(resultLabel, gridBagConstraints); org.openide.awt.Mnemonics.setLocalizedText(untranslatedLabel, org.openide.util.NbBundle.getMessage(GoogleTranslatorSettingsPanel.class, "GoogleTranslatorSettingsPanel.untranslatedLabel.text")); // NOI18N untranslatedLabel.setEnabled(false); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 3; + gridBagConstraints.gridy = 3; + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; + gridBagConstraints.insets = new java.awt.Insets(10, 7, 0, 0); + add(untranslatedLabel, gridBagConstraints); testUntranslatedTextField.setText(DEFUALT_TEST_STRING); testUntranslatedTextField.setEnabled(false); + testUntranslatedTextField.setPreferredSize(new java.awt.Dimension(160, 22)); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 4; + gridBagConstraints.gridy = 3; + gridBagConstraints.gridwidth = 2; + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; + gridBagConstraints.insets = new java.awt.Insets(8, 5, 0, 0); + add(testUntranslatedTextField, gridBagConstraints); org.openide.awt.Mnemonics.setLocalizedText(testButton, org.openide.util.NbBundle.getMessage(GoogleTranslatorSettingsPanel.class, "GoogleTranslatorSettingsPanel.testButton.text")); // NOI18N testButton.setEnabled(false); @@ -240,6 +325,13 @@ public class GoogleTranslatorSettingsPanel extends javax.swing.JPanel { testButtonActionPerformed(evt); } }); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 0; + gridBagConstraints.gridy = 3; + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; + gridBagConstraints.insets = new java.awt.Insets(6, 12, 0, 0); + add(testButton, gridBagConstraints); instructionsScrollPane.setBorder(javax.swing.BorderFactory.createEtchedBorder()); instructionsScrollPane.setHorizontalScrollBarPolicy(javax.swing.ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); @@ -248,76 +340,23 @@ public class GoogleTranslatorSettingsPanel extends javax.swing.JPanel { instructionsTextArea.setBackground(new java.awt.Color(240, 240, 240)); instructionsTextArea.setColumns(20); instructionsTextArea.setLineWrap(true); - instructionsTextArea.setRows(2); + instructionsTextArea.setRows(4); instructionsTextArea.setText(org.openide.util.NbBundle.getMessage(GoogleTranslatorSettingsPanel.class, "GoogleTranslatorSettingsPanel.instructionsTextArea.text")); // NOI18N instructionsTextArea.setWrapStyleWord(true); + instructionsTextArea.setMaximumSize(new java.awt.Dimension(1000, 200)); + instructionsTextArea.setPreferredSize(new java.awt.Dimension(164, 78)); instructionsScrollPane.setViewportView(instructionsTextArea); - javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this); - this.setLayout(layout); - layout.setHorizontalGroup( - layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(layout.createSequentialGroup() - .addContainerGap() - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(layout.createSequentialGroup() - .addComponent(instructionsScrollPane) - .addContainerGap()) - .addGroup(layout.createSequentialGroup() - .addComponent(warningLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 551, javax.swing.GroupLayout.PREFERRED_SIZE) - .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) - .addGroup(layout.createSequentialGroup() - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false) - .addComponent(testButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addComponent(credentialsLabel, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addComponent(targetLanguageLabel, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(layout.createSequentialGroup() - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(layout.createSequentialGroup() - .addComponent(credentialsPathField) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(browseButton) - .addGap(14, 14, 14)) - .addGroup(layout.createSequentialGroup() - .addComponent(targetLanguageComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, 317, javax.swing.GroupLayout.PREFERRED_SIZE) - .addGap(0, 0, Short.MAX_VALUE)))) - .addGroup(layout.createSequentialGroup() - .addGap(7, 7, 7) - .addComponent(untranslatedLabel) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(testUntranslatedTextField, javax.swing.GroupLayout.PREFERRED_SIZE, 140, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(resultLabel) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(testResultValueLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))))) - ); - layout.setVerticalGroup( - layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(layout.createSequentialGroup() - .addContainerGap() - .addComponent(instructionsScrollPane, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(credentialsLabel) - .addComponent(credentialsPathField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(browseButton)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(targetLanguageLabel) - .addComponent(targetLanguageComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(testButton) - .addComponent(testUntranslatedTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(untranslatedLabel) - .addComponent(resultLabel) - .addComponent(testResultValueLabel)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) - .addComponent(warningLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 18, javax.swing.GroupLayout.PREFERRED_SIZE) - .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) - ); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 0; + gridBagConstraints.gridy = 0; + gridBagConstraints.gridwidth = 10; + gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; + gridBagConstraints.weightx = 1.0; + gridBagConstraints.weighty = 1.0; + gridBagConstraints.insets = new java.awt.Insets(13, 12, 0, 0); + add(instructionsScrollPane, gridBagConstraints); }// //GEN-END:initComponents @Messages({"GoogleTranslatorSettingsPanel.json.description=JSON Files", From 251965962779aa62758f327aa8da34ba2438ccc4 Mon Sep 17 00:00:00 2001 From: William Schaefer Date: Mon, 13 Apr 2020 04:32:24 -0400 Subject: [PATCH 048/111] 6225 fix for screenshot 13 --- .../BingTranslatorSettingsPanel.form | 20 ++++++++++++++++++- .../BingTranslatorSettingsPanel.java | 10 ++++++++++ .../GoogleTranslatorSettingsPanel.form | 20 ++++++++++++++++++- .../GoogleTranslatorSettingsPanel.java | 10 ++++++++++ 4 files changed, 58 insertions(+), 2 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/texttranslation/translators/BingTranslatorSettingsPanel.form b/Core/src/org/sleuthkit/autopsy/texttranslation/translators/BingTranslatorSettingsPanel.form index 52655f1a85..7052f80eb3 100644 --- a/Core/src/org/sleuthkit/autopsy/texttranslation/translators/BingTranslatorSettingsPanel.form +++ b/Core/src/org/sleuthkit/autopsy/texttranslation/translators/BingTranslatorSettingsPanel.form @@ -11,7 +11,7 @@ - + @@ -97,6 +97,9 @@ + + + @@ -207,5 +210,20 @@ + + + + + + + + + + + + + + + diff --git a/Core/src/org/sleuthkit/autopsy/texttranslation/translators/BingTranslatorSettingsPanel.java b/Core/src/org/sleuthkit/autopsy/texttranslation/translators/BingTranslatorSettingsPanel.java index 3fec49de8c..38dc78fa8b 100644 --- a/Core/src/org/sleuthkit/autopsy/texttranslation/translators/BingTranslatorSettingsPanel.java +++ b/Core/src/org/sleuthkit/autopsy/texttranslation/translators/BingTranslatorSettingsPanel.java @@ -141,6 +141,7 @@ public class BingTranslatorSettingsPanel extends javax.swing.JPanel { authenticationKeyLabel = new javax.swing.JLabel(); instructionsScrollPane = new javax.swing.JScrollPane(); instructionsTextArea = new javax.swing.JTextArea(); + filler1 = new javax.swing.Box.Filler(new java.awt.Dimension(0, 0), new java.awt.Dimension(0, 0), new java.awt.Dimension(32767, 0)); setLayout(new java.awt.GridBagLayout()); @@ -208,6 +209,7 @@ public class BingTranslatorSettingsPanel extends javax.swing.JPanel { add(targetLanguageComboBox, gridBagConstraints); testUntranslatedTextField.setText(DEFUALT_TEST_STRING); + testUntranslatedTextField.setMinimumSize(new java.awt.Dimension(160, 22)); testUntranslatedTextField.setPreferredSize(new java.awt.Dimension(160, 22)); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 4; @@ -282,6 +284,13 @@ public class BingTranslatorSettingsPanel extends javax.swing.JPanel { gridBagConstraints.weighty = 1.0; gridBagConstraints.insets = new java.awt.Insets(13, 12, 0, 12); add(instructionsScrollPane, gridBagConstraints); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 10; + gridBagConstraints.gridy = 0; + gridBagConstraints.gridheight = 5; + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; + gridBagConstraints.weightx = 0.6; + add(filler1, gridBagConstraints); }// //GEN-END:initComponents @Messages({"BingTranslatorSettingsPanel.warning.invalidKey=Invalid translation authentication key"}) @@ -305,6 +314,7 @@ public class BingTranslatorSettingsPanel extends javax.swing.JPanel { // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JTextField authenticationKeyField; private javax.swing.JLabel authenticationKeyLabel; + private javax.swing.Box.Filler filler1; private javax.swing.JScrollPane instructionsScrollPane; private javax.swing.JTextArea instructionsTextArea; private javax.swing.JLabel resultLabel; diff --git a/Core/src/org/sleuthkit/autopsy/texttranslation/translators/GoogleTranslatorSettingsPanel.form b/Core/src/org/sleuthkit/autopsy/texttranslation/translators/GoogleTranslatorSettingsPanel.form index d4902149d3..80e6036d77 100644 --- a/Core/src/org/sleuthkit/autopsy/texttranslation/translators/GoogleTranslatorSettingsPanel.form +++ b/Core/src/org/sleuthkit/autopsy/texttranslation/translators/GoogleTranslatorSettingsPanel.form @@ -11,7 +11,7 @@ - + @@ -155,6 +155,9 @@ + + + @@ -224,5 +227,20 @@ + + + + + + + + + + + + + + + diff --git a/Core/src/org/sleuthkit/autopsy/texttranslation/translators/GoogleTranslatorSettingsPanel.java b/Core/src/org/sleuthkit/autopsy/texttranslation/translators/GoogleTranslatorSettingsPanel.java index cbc164b938..2a4aee7887 100644 --- a/Core/src/org/sleuthkit/autopsy/texttranslation/translators/GoogleTranslatorSettingsPanel.java +++ b/Core/src/org/sleuthkit/autopsy/texttranslation/translators/GoogleTranslatorSettingsPanel.java @@ -199,6 +199,7 @@ public class GoogleTranslatorSettingsPanel extends javax.swing.JPanel { testButton = new javax.swing.JButton(); instructionsScrollPane = new javax.swing.JScrollPane(); instructionsTextArea = new javax.swing.JTextArea(); + filler1 = new javax.swing.Box.Filler(new java.awt.Dimension(0, 0), new java.awt.Dimension(0, 0), new java.awt.Dimension(32767, 0)); setLayout(new java.awt.GridBagLayout()); @@ -308,6 +309,7 @@ public class GoogleTranslatorSettingsPanel extends javax.swing.JPanel { testUntranslatedTextField.setText(DEFUALT_TEST_STRING); testUntranslatedTextField.setEnabled(false); + testUntranslatedTextField.setMinimumSize(new java.awt.Dimension(160, 22)); testUntranslatedTextField.setPreferredSize(new java.awt.Dimension(160, 22)); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 4; @@ -357,6 +359,13 @@ public class GoogleTranslatorSettingsPanel extends javax.swing.JPanel { gridBagConstraints.weighty = 1.0; gridBagConstraints.insets = new java.awt.Insets(13, 12, 0, 0); add(instructionsScrollPane, gridBagConstraints); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 10; + gridBagConstraints.gridy = 0; + gridBagConstraints.gridheight = 5; + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; + gridBagConstraints.weightx = 0.6; + add(filler1, gridBagConstraints); }// //GEN-END:initComponents @Messages({"GoogleTranslatorSettingsPanel.json.description=JSON Files", @@ -404,6 +413,7 @@ public class GoogleTranslatorSettingsPanel extends javax.swing.JPanel { private javax.swing.JButton browseButton; private javax.swing.JLabel credentialsLabel; private javax.swing.JTextField credentialsPathField; + private javax.swing.Box.Filler filler1; private javax.swing.JScrollPane instructionsScrollPane; private javax.swing.JTextArea instructionsTextArea; private javax.swing.JLabel resultLabel; From c1f656931d490b4ca2101b2eef7152d8a57abbdc Mon Sep 17 00:00:00 2001 From: William Schaefer Date: Mon, 13 Apr 2020 04:47:52 -0400 Subject: [PATCH 049/111] 6225 fix for screenshot 13 --- .../translators/BingTranslatorSettingsPanel.form | 10 +++++++--- .../translators/BingTranslatorSettingsPanel.java | 5 +++-- .../translators/GoogleTranslatorSettingsPanel.form | 8 ++++++-- .../translators/GoogleTranslatorSettingsPanel.java | 5 +++-- 4 files changed, 19 insertions(+), 9 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/texttranslation/translators/BingTranslatorSettingsPanel.form b/Core/src/org/sleuthkit/autopsy/texttranslation/translators/BingTranslatorSettingsPanel.form index 7052f80eb3..5cacffe9a3 100644 --- a/Core/src/org/sleuthkit/autopsy/texttranslation/translators/BingTranslatorSettingsPanel.form +++ b/Core/src/org/sleuthkit/autopsy/texttranslation/translators/BingTranslatorSettingsPanel.form @@ -11,7 +11,7 @@ - + @@ -24,10 +24,13 @@ + + + - + @@ -181,7 +184,7 @@ - + @@ -200,6 +203,7 @@ + diff --git a/Core/src/org/sleuthkit/autopsy/texttranslation/translators/BingTranslatorSettingsPanel.java b/Core/src/org/sleuthkit/autopsy/texttranslation/translators/BingTranslatorSettingsPanel.java index 38dc78fa8b..19d6b98944 100644 --- a/Core/src/org/sleuthkit/autopsy/texttranslation/translators/BingTranslatorSettingsPanel.java +++ b/Core/src/org/sleuthkit/autopsy/texttranslation/translators/BingTranslatorSettingsPanel.java @@ -147,13 +147,13 @@ public class BingTranslatorSettingsPanel extends javax.swing.JPanel { authenticationKeyField.setToolTipText(org.openide.util.NbBundle.getMessage(BingTranslatorSettingsPanel.class, "BingTranslatorSettingsPanel.authenticationKeyField.toolTipText")); // NOI18N authenticationKeyField.setMaximumSize(new java.awt.Dimension(800, 22)); + authenticationKeyField.setPreferredSize(new java.awt.Dimension(163, 22)); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 3; gridBagConstraints.gridy = 1; gridBagConstraints.gridwidth = 7; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; - gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(14, 5, 0, 12); add(authenticationKeyField, gridBagConstraints); @@ -270,6 +270,7 @@ public class BingTranslatorSettingsPanel extends javax.swing.JPanel { instructionsTextArea.setRows(4); instructionsTextArea.setText(org.openide.util.NbBundle.getMessage(BingTranslatorSettingsPanel.class, "BingTranslatorSettingsPanel.instructionsTextArea.text")); // NOI18N instructionsTextArea.setWrapStyleWord(true); + instructionsTextArea.setCaretPosition(0); instructionsTextArea.setMaximumSize(new java.awt.Dimension(1000, 200)); instructionsTextArea.setPreferredSize(new java.awt.Dimension(164, 78)); instructionsScrollPane.setViewportView(instructionsTextArea); @@ -282,7 +283,7 @@ public class BingTranslatorSettingsPanel extends javax.swing.JPanel { gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.weighty = 1.0; - gridBagConstraints.insets = new java.awt.Insets(13, 12, 0, 12); + gridBagConstraints.insets = new java.awt.Insets(13, 12, 0, 0); add(instructionsScrollPane, gridBagConstraints); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 10; diff --git a/Core/src/org/sleuthkit/autopsy/texttranslation/translators/GoogleTranslatorSettingsPanel.form b/Core/src/org/sleuthkit/autopsy/texttranslation/translators/GoogleTranslatorSettingsPanel.form index 80e6036d77..c30c056b62 100644 --- a/Core/src/org/sleuthkit/autopsy/texttranslation/translators/GoogleTranslatorSettingsPanel.form +++ b/Core/src/org/sleuthkit/autopsy/texttranslation/translators/GoogleTranslatorSettingsPanel.form @@ -34,16 +34,19 @@ - + + + + - + @@ -217,6 +220,7 @@ + diff --git a/Core/src/org/sleuthkit/autopsy/texttranslation/translators/GoogleTranslatorSettingsPanel.java b/Core/src/org/sleuthkit/autopsy/texttranslation/translators/GoogleTranslatorSettingsPanel.java index 2a4aee7887..3e5782515e 100644 --- a/Core/src/org/sleuthkit/autopsy/texttranslation/translators/GoogleTranslatorSettingsPanel.java +++ b/Core/src/org/sleuthkit/autopsy/texttranslation/translators/GoogleTranslatorSettingsPanel.java @@ -215,7 +215,8 @@ public class GoogleTranslatorSettingsPanel extends javax.swing.JPanel { add(credentialsLabel, gridBagConstraints); credentialsPathField.setEditable(false); - credentialsPathField.setPreferredSize(new java.awt.Dimension(700, 22)); + credentialsPathField.setMaximumSize(new java.awt.Dimension(700, 22)); + credentialsPathField.setPreferredSize(new java.awt.Dimension(100, 22)); credentialsPathField.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { credentialsPathFieldActionPerformed(evt); @@ -227,7 +228,6 @@ public class GoogleTranslatorSettingsPanel extends javax.swing.JPanel { gridBagConstraints.gridwidth = 6; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; - gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(14, 7, 0, 0); add(credentialsPathField, gridBagConstraints); @@ -345,6 +345,7 @@ public class GoogleTranslatorSettingsPanel extends javax.swing.JPanel { instructionsTextArea.setRows(4); instructionsTextArea.setText(org.openide.util.NbBundle.getMessage(GoogleTranslatorSettingsPanel.class, "GoogleTranslatorSettingsPanel.instructionsTextArea.text")); // NOI18N instructionsTextArea.setWrapStyleWord(true); + instructionsTextArea.setCaretPosition(0); instructionsTextArea.setMaximumSize(new java.awt.Dimension(1000, 200)); instructionsTextArea.setPreferredSize(new java.awt.Dimension(164, 78)); instructionsScrollPane.setViewportView(instructionsTextArea); From a26a3b850451b8143883d74301fb934ce119294c Mon Sep 17 00:00:00 2001 From: William Schaefer Date: Mon, 13 Apr 2020 05:01:22 -0400 Subject: [PATCH 050/111] 6225 - fix for screenshot 14 --- .../OptionalCasePropertiesPanel.form | 107 +++++++--------- .../OptionalCasePropertiesPanel.java | 121 ++++++++++-------- 2 files changed, 115 insertions(+), 113 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/casemodule/OptionalCasePropertiesPanel.form b/Core/src/org/sleuthkit/autopsy/casemodule/OptionalCasePropertiesPanel.form index 47481f8bdd..86dd05cb80 100644 --- a/Core/src/org/sleuthkit/autopsy/casemodule/OptionalCasePropertiesPanel.form +++ b/Core/src/org/sleuthkit/autopsy/casemodule/OptionalCasePropertiesPanel.form @@ -312,67 +312,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -389,6 +329,11 @@ + + + + + @@ -402,6 +347,11 @@ + + + + + @@ -418,6 +368,11 @@ + + + + + @@ -440,10 +395,25 @@ + + + + + + + + + + + + + + + @@ -460,6 +430,11 @@ + + + + + @@ -476,8 +451,18 @@ + + + + + + + + + + diff --git a/Core/src/org/sleuthkit/autopsy/casemodule/OptionalCasePropertiesPanel.java b/Core/src/org/sleuthkit/autopsy/casemodule/OptionalCasePropertiesPanel.java index b5706027a3..c863649973 100644 --- a/Core/src/org/sleuthkit/autopsy/casemodule/OptionalCasePropertiesPanel.java +++ b/Core/src/org/sleuthkit/autopsy/casemodule/OptionalCasePropertiesPanel.java @@ -227,6 +227,7 @@ final class OptionalCasePropertiesPanel extends javax.swing.JPanel { @SuppressWarnings("unchecked") // //GEN-BEGIN:initComponents private void initComponents() { + java.awt.GridBagConstraints gridBagConstraints; casePanel = new javax.swing.JPanel(); caseNumberLabel = new javax.swing.JLabel(); @@ -378,22 +379,44 @@ final class OptionalCasePropertiesPanel extends javax.swing.JPanel { ); orgainizationPanel.setBorder(javax.swing.BorderFactory.createTitledBorder(org.openide.util.NbBundle.getMessage(OptionalCasePropertiesPanel.class, "OptionalCasePropertiesPanel.orgainizationPanel.border.title"))); // NOI18N + orgainizationPanel.setLayout(new java.awt.GridBagLayout()); org.openide.awt.Mnemonics.setLocalizedText(lbPointOfContactPhoneLabel, org.openide.util.NbBundle.getMessage(OptionalCasePropertiesPanel.class, "OptionalCasePropertiesPanel.lbPointOfContactPhoneLabel.text")); // NOI18N lbPointOfContactPhoneLabel.setMaximumSize(new java.awt.Dimension(82, 14)); lbPointOfContactPhoneLabel.setMinimumSize(new java.awt.Dimension(82, 14)); lbPointOfContactPhoneLabel.setPreferredSize(new java.awt.Dimension(82, 14)); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 0; + gridBagConstraints.gridy = 2; + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; + gridBagConstraints.insets = new java.awt.Insets(7, 12, 0, 0); + orgainizationPanel.add(lbPointOfContactPhoneLabel, gridBagConstraints); comboBoxOrgName.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { comboBoxOrgNameActionPerformed(evt); } }); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 2; + gridBagConstraints.gridy = 0; + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; + gridBagConstraints.insets = new java.awt.Insets(8, 18, 0, 0); + orgainizationPanel.add(comboBoxOrgName, gridBagConstraints); org.openide.awt.Mnemonics.setLocalizedText(lbPointOfContactNameLabel, org.openide.util.NbBundle.getMessage(OptionalCasePropertiesPanel.class, "OptionalCasePropertiesPanel.lbPointOfContactNameLabel.text")); // NOI18N lbPointOfContactNameLabel.setMaximumSize(new java.awt.Dimension(82, 14)); lbPointOfContactNameLabel.setMinimumSize(new java.awt.Dimension(82, 14)); lbPointOfContactNameLabel.setPreferredSize(new java.awt.Dimension(82, 14)); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 0; + gridBagConstraints.gridy = 1; + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; + gridBagConstraints.insets = new java.awt.Insets(13, 12, 0, 5); + orgainizationPanel.add(lbPointOfContactNameLabel, gridBagConstraints); org.openide.awt.Mnemonics.setLocalizedText(bnNewOrganization, org.openide.util.NbBundle.getMessage(OptionalCasePropertiesPanel.class, "OptionalCasePropertiesPanel.bnNewOrganization.text")); // NOI18N bnNewOrganization.setMargin(new java.awt.Insets(2, 6, 2, 6)); @@ -405,68 +428,62 @@ final class OptionalCasePropertiesPanel extends javax.swing.JPanel { bnNewOrganizationActionPerformed(evt); } }); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 3; + gridBagConstraints.gridy = 0; + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; + gridBagConstraints.insets = new java.awt.Insets(8, 12, 0, 18); + orgainizationPanel.add(bnNewOrganization, gridBagConstraints); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 1; + gridBagConstraints.gridy = 3; + gridBagConstraints.gridwidth = 3; + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; + gridBagConstraints.insets = new java.awt.Insets(7, 4, 13, 18); + orgainizationPanel.add(lbPointOfContactEmailText, gridBagConstraints); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 1; + gridBagConstraints.gridy = 1; + gridBagConstraints.gridwidth = 3; + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; + gridBagConstraints.insets = new java.awt.Insets(13, 4, 0, 18); + orgainizationPanel.add(lbPointOfContactNameText, gridBagConstraints); org.openide.awt.Mnemonics.setLocalizedText(lbOrganizationNameLabel, org.openide.util.NbBundle.getMessage(OptionalCasePropertiesPanel.class, "OptionalCasePropertiesPanel.lbOrganizationNameLabel.text")); // NOI18N lbOrganizationNameLabel.setMaximumSize(new java.awt.Dimension(189, 14)); lbOrganizationNameLabel.setMinimumSize(new java.awt.Dimension(189, 14)); lbOrganizationNameLabel.setPreferredSize(new java.awt.Dimension(189, 14)); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 0; + gridBagConstraints.gridy = 0; + gridBagConstraints.gridwidth = 2; + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; + gridBagConstraints.insets = new java.awt.Insets(12, 0, 0, 0); + orgainizationPanel.add(lbOrganizationNameLabel, gridBagConstraints); org.openide.awt.Mnemonics.setLocalizedText(lbPointOfContactEmailLabel, org.openide.util.NbBundle.getMessage(OptionalCasePropertiesPanel.class, "OptionalCasePropertiesPanel.lbPointOfContactEmailLabel.text")); // NOI18N lbPointOfContactEmailLabel.setMaximumSize(new java.awt.Dimension(82, 14)); lbPointOfContactEmailLabel.setMinimumSize(new java.awt.Dimension(82, 14)); lbPointOfContactEmailLabel.setPreferredSize(new java.awt.Dimension(82, 14)); - - javax.swing.GroupLayout orgainizationPanelLayout = new javax.swing.GroupLayout(orgainizationPanel); - orgainizationPanel.setLayout(orgainizationPanelLayout); - orgainizationPanelLayout.setHorizontalGroup( - orgainizationPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(orgainizationPanelLayout.createSequentialGroup() - .addGroup(orgainizationPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(orgainizationPanelLayout.createSequentialGroup() - .addGap(106, 106, 106) - .addGroup(orgainizationPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(lbPointOfContactPhoneLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addComponent(lbPointOfContactEmailLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addComponent(lbPointOfContactNameLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 109, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(orgainizationPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(lbPointOfContactPhoneText, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addComponent(lbPointOfContactNameText, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addComponent(lbPointOfContactEmailText, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))) - .addGroup(orgainizationPanelLayout.createSequentialGroup() - .addContainerGap() - .addComponent(lbOrganizationNameLabel, javax.swing.GroupLayout.DEFAULT_SIZE, 206, Short.MAX_VALUE) - .addGap(18, 18, 18) - .addComponent(comboBoxOrgName, javax.swing.GroupLayout.PREFERRED_SIZE, 108, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) - .addComponent(bnNewOrganization, javax.swing.GroupLayout.PREFERRED_SIZE, 147, javax.swing.GroupLayout.PREFERRED_SIZE))) - .addContainerGap()) - ); - - orgainizationPanelLayout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {lbPointOfContactEmailLabel, lbPointOfContactNameLabel, lbPointOfContactPhoneLabel}); - - orgainizationPanelLayout.setVerticalGroup( - orgainizationPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(orgainizationPanelLayout.createSequentialGroup() - .addContainerGap() - .addGroup(orgainizationPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(lbOrganizationNameLabel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(comboBoxOrgName, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(bnNewOrganization, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) - .addGroup(orgainizationPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) - .addComponent(lbPointOfContactNameText, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addComponent(lbPointOfContactNameLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(orgainizationPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) - .addComponent(lbPointOfContactPhoneLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addComponent(lbPointOfContactPhoneText, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(orgainizationPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) - .addComponent(lbPointOfContactEmailLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addComponent(lbPointOfContactEmailText, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addGap(6, 6, 6)) - ); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 0; + gridBagConstraints.gridy = 3; + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; + gridBagConstraints.insets = new java.awt.Insets(7, 12, 13, 0); + orgainizationPanel.add(lbPointOfContactEmailLabel, gridBagConstraints); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 1; + gridBagConstraints.gridy = 2; + gridBagConstraints.gridwidth = 3; + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; + gridBagConstraints.insets = new java.awt.Insets(7, 4, 0, 18); + orgainizationPanel.add(lbPointOfContactPhoneText, gridBagConstraints); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this); this.setLayout(layout); From 76dc4be398ec6458f88984248ba54fd2b6e2be2a Mon Sep 17 00:00:00 2001 From: William Schaefer Date: Mon, 13 Apr 2020 05:14:38 -0400 Subject: [PATCH 051/111] 6225 fix for screenshot 16 --- .../DataContentViewerOtherCases.form | 126 ++++++++++++------ .../DataContentViewerOtherCases.java | 78 +++++++---- 2 files changed, 135 insertions(+), 69 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/centralrepository/contentviewer/DataContentViewerOtherCases.form b/Core/src/org/sleuthkit/autopsy/centralrepository/contentviewer/DataContentViewerOtherCases.form index fd1b0b81b1..2491b7fe0b 100644 --- a/Core/src/org/sleuthkit/autopsy/centralrepository/contentviewer/DataContentViewerOtherCases.form +++ b/Core/src/org/sleuthkit/autopsy/centralrepository/contentviewer/DataContentViewerOtherCases.form @@ -67,7 +67,7 @@ - + @@ -87,16 +87,10 @@ - - - - - - - - + + - + @@ -104,45 +98,15 @@ - - - - - - - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - @@ -292,6 +256,80 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Core/src/org/sleuthkit/autopsy/centralrepository/contentviewer/DataContentViewerOtherCases.java b/Core/src/org/sleuthkit/autopsy/centralrepository/contentviewer/DataContentViewerOtherCases.java index 1429a60312..01ebc70d5c 100644 --- a/Core/src/org/sleuthkit/autopsy/centralrepository/contentviewer/DataContentViewerOtherCases.java +++ b/Core/src/org/sleuthkit/autopsy/centralrepository/contentviewer/DataContentViewerOtherCases.java @@ -958,6 +958,7 @@ public class DataContentViewerOtherCases extends JPanel implements DataContentVi @SuppressWarnings("unchecked") // //GEN-BEGIN:initComponents private void initComponents() { + java.awt.GridBagConstraints gridBagConstraints; rightClickPopupMenu = new javax.swing.JPopupMenu(); exportToCSVMenuItem = new javax.swing.JMenuItem(); @@ -965,9 +966,6 @@ public class DataContentViewerOtherCases extends JPanel implements DataContentVi showCommonalityMenuItem = new javax.swing.JMenuItem(); CSVFileChooser = new javax.swing.JFileChooser(); tableContainerPanel = new javax.swing.JPanel(); - earliestCaseLabel = new javax.swing.JLabel(); - earliestCaseDate = new javax.swing.JLabel(); - foundInLabel = new javax.swing.JLabel(); tablesViewerSplitPane = new javax.swing.JSplitPane(); caseDatasourceFileSplitPane = new javax.swing.JSplitPane(); caseDatasourceSplitPane = new javax.swing.JSplitPane(); @@ -978,6 +976,11 @@ public class DataContentViewerOtherCases extends JPanel implements DataContentVi filesTableScrollPane = new javax.swing.JScrollPane(); filesTable = new javax.swing.JTable(); detailsPanelScrollPane = new javax.swing.JScrollPane(); + jPanel1 = new javax.swing.JPanel(); + foundInLabel = new javax.swing.JLabel(); + earliestCaseDate = new javax.swing.JLabel(); + earliestCaseLabel = new javax.swing.JLabel(); + filler1 = new javax.swing.Box.Filler(new java.awt.Dimension(0, 0), new java.awt.Dimension(0, 0), new java.awt.Dimension(32767, 0)); rightClickPopupMenu.addPopupMenuListener(new javax.swing.event.PopupMenuListener() { public void popupMenuCanceled(javax.swing.event.PopupMenuEvent evt) { @@ -1005,13 +1008,6 @@ public class DataContentViewerOtherCases extends JPanel implements DataContentVi tableContainerPanel.setPreferredSize(new java.awt.Dimension(600, 63)); tableContainerPanel.setRequestFocusEnabled(false); - org.openide.awt.Mnemonics.setLocalizedText(earliestCaseLabel, org.openide.util.NbBundle.getMessage(DataContentViewerOtherCases.class, "DataContentViewerOtherCases.earliestCaseLabel.text")); // NOI18N - earliestCaseLabel.setToolTipText(org.openide.util.NbBundle.getMessage(DataContentViewerOtherCases.class, "DataContentViewerOtherCases.earliestCaseLabel.toolTipText")); // NOI18N - - org.openide.awt.Mnemonics.setLocalizedText(earliestCaseDate, org.openide.util.NbBundle.getMessage(DataContentViewerOtherCases.class, "DataContentViewerOtherCases.earliestCaseDate.text")); // NOI18N - - org.openide.awt.Mnemonics.setLocalizedText(foundInLabel, org.openide.util.NbBundle.getMessage(DataContentViewerOtherCases.class, "DataContentViewerOtherCases.foundInLabel.text")); // NOI18N - tablesViewerSplitPane.setDividerLocation(450); tablesViewerSplitPane.setResizeWeight(0.75); @@ -1057,33 +1053,63 @@ public class DataContentViewerOtherCases extends JPanel implements DataContentVi detailsPanelScrollPane.setPreferredSize(new java.awt.Dimension(300, 100)); tablesViewerSplitPane.setRightComponent(detailsPanelScrollPane); + jPanel1.setPreferredSize(new java.awt.Dimension(576, 22)); + jPanel1.setLayout(new java.awt.GridBagLayout()); + + org.openide.awt.Mnemonics.setLocalizedText(foundInLabel, org.openide.util.NbBundle.getMessage(DataContentViewerOtherCases.class, "DataContentViewerOtherCases.foundInLabel.text")); // NOI18N + foundInLabel.setPreferredSize(new java.awt.Dimension(100, 16)); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 3; + gridBagConstraints.gridy = 0; + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHEAST; + gridBagConstraints.insets = new java.awt.Insets(2, 2, 0, 0); + jPanel1.add(foundInLabel, gridBagConstraints); + + org.openide.awt.Mnemonics.setLocalizedText(earliestCaseDate, org.openide.util.NbBundle.getMessage(DataContentViewerOtherCases.class, "DataContentViewerOtherCases.earliestCaseDate.text")); // NOI18N + earliestCaseDate.setMaximumSize(new java.awt.Dimension(200, 16)); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 1; + gridBagConstraints.gridy = 0; + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; + gridBagConstraints.insets = new java.awt.Insets(0, 7, 0, 0); + jPanel1.add(earliestCaseDate, gridBagConstraints); + + org.openide.awt.Mnemonics.setLocalizedText(earliestCaseLabel, org.openide.util.NbBundle.getMessage(DataContentViewerOtherCases.class, "DataContentViewerOtherCases.earliestCaseLabel.text")); // NOI18N + earliestCaseLabel.setToolTipText(org.openide.util.NbBundle.getMessage(DataContentViewerOtherCases.class, "DataContentViewerOtherCases.earliestCaseLabel.toolTipText")); // NOI18N + earliestCaseLabel.setMaximumSize(new java.awt.Dimension(260, 16)); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 0; + gridBagConstraints.gridy = 0; + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; + jPanel1.add(earliestCaseLabel, gridBagConstraints); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 2; + gridBagConstraints.gridy = 0; + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; + gridBagConstraints.weightx = 0.1; + jPanel1.add(filler1, gridBagConstraints); + javax.swing.GroupLayout tableContainerPanelLayout = new javax.swing.GroupLayout(tableContainerPanel); tableContainerPanel.setLayout(tableContainerPanelLayout); tableContainerPanelLayout.setHorizontalGroup( tableContainerPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(tableContainerPanelLayout.createSequentialGroup() .addGroup(tableContainerPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(tableContainerPanelLayout.createSequentialGroup() - .addComponent(earliestCaseLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 161, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(earliestCaseDate, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addComponent(foundInLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) - .addComponent(tablesViewerSplitPane, javax.swing.GroupLayout.DEFAULT_SIZE, 990, Short.MAX_VALUE)) + .addComponent(tablesViewerSplitPane) + .addComponent(jPanel1, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) .addContainerGap()) ); tableContainerPanelLayout.setVerticalGroup( tableContainerPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(tableContainerPanelLayout.createSequentialGroup() .addGap(0, 0, 0) - .addComponent(tablesViewerSplitPane, javax.swing.GroupLayout.DEFAULT_SIZE, 33, Short.MAX_VALUE) + .addComponent(tablesViewerSplitPane, javax.swing.GroupLayout.DEFAULT_SIZE, 37, Short.MAX_VALUE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(tableContainerPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) - .addGroup(tableContainerPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(earliestCaseLabel) - .addComponent(earliestCaseDate)) - .addComponent(foundInLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addContainerGap()) + .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(12, 12, 12)) ); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this); @@ -1095,7 +1121,7 @@ public class DataContentViewerOtherCases extends JPanel implements DataContentVi layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() - .addComponent(tableContainerPanel, javax.swing.GroupLayout.DEFAULT_SIZE, 64, Short.MAX_VALUE) + .addComponent(tableContainerPanel, javax.swing.GroupLayout.DEFAULT_SIZE, 78, Short.MAX_VALUE) .addGap(0, 0, 0)) ); }// //GEN-END:initComponents @@ -1128,7 +1154,9 @@ public class DataContentViewerOtherCases extends JPanel implements DataContentVi private javax.swing.JMenuItem exportToCSVMenuItem; private javax.swing.JTable filesTable; private javax.swing.JScrollPane filesTableScrollPane; + private javax.swing.Box.Filler filler1; private javax.swing.JLabel foundInLabel; + private javax.swing.JPanel jPanel1; private javax.swing.JPopupMenu rightClickPopupMenu; private javax.swing.JMenuItem showCaseDetailsMenuItem; private javax.swing.JMenuItem showCommonalityMenuItem; From da25cc8c70e9182b8fa0d8522bf3845e71385897 Mon Sep 17 00:00:00 2001 From: William Schaefer Date: Mon, 13 Apr 2020 05:31:20 -0400 Subject: [PATCH 052/111] 6225 fix for screenshot 16 --- .../contentviewer/DataContentViewerOtherCases.form | 3 ++- .../contentviewer/DataContentViewerOtherCases.java | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/centralrepository/contentviewer/DataContentViewerOtherCases.form b/Core/src/org/sleuthkit/autopsy/centralrepository/contentviewer/DataContentViewerOtherCases.form index 2491b7fe0b..f8ceec50e7 100644 --- a/Core/src/org/sleuthkit/autopsy/centralrepository/contentviewer/DataContentViewerOtherCases.form +++ b/Core/src/org/sleuthkit/autopsy/centralrepository/contentviewer/DataContentViewerOtherCases.form @@ -267,11 +267,12 @@ + - + diff --git a/Core/src/org/sleuthkit/autopsy/centralrepository/contentviewer/DataContentViewerOtherCases.java b/Core/src/org/sleuthkit/autopsy/centralrepository/contentviewer/DataContentViewerOtherCases.java index 01ebc70d5c..56922c7bfb 100644 --- a/Core/src/org/sleuthkit/autopsy/centralrepository/contentviewer/DataContentViewerOtherCases.java +++ b/Core/src/org/sleuthkit/autopsy/centralrepository/contentviewer/DataContentViewerOtherCases.java @@ -1056,8 +1056,9 @@ public class DataContentViewerOtherCases extends JPanel implements DataContentVi jPanel1.setPreferredSize(new java.awt.Dimension(576, 22)); jPanel1.setLayout(new java.awt.GridBagLayout()); + foundInLabel.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING); org.openide.awt.Mnemonics.setLocalizedText(foundInLabel, org.openide.util.NbBundle.getMessage(DataContentViewerOtherCases.class, "DataContentViewerOtherCases.foundInLabel.text")); // NOI18N - foundInLabel.setPreferredSize(new java.awt.Dimension(100, 16)); + foundInLabel.setPreferredSize(new java.awt.Dimension(400, 16)); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 3; gridBagConstraints.gridy = 0; From 557852f66eb3260b537ffb867e4787c34d7d8dc0 Mon Sep 17 00:00:00 2001 From: William Schaefer Date: Mon, 13 Apr 2020 05:36:20 -0400 Subject: [PATCH 053/111] 6225 fix for screenshot 17 --- .../DataContentViewerArtifact.form | 110 +++++++++--------- .../DataContentViewerArtifact.java | 109 ++++++++++------- 2 files changed, 120 insertions(+), 99 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/corecomponents/DataContentViewerArtifact.form b/Core/src/org/sleuthkit/autopsy/corecomponents/DataContentViewerArtifact.form index fc2e7d551d..1f01f76f6e 100644 --- a/Core/src/org/sleuthkit/autopsy/corecomponents/DataContentViewerArtifact.form +++ b/Core/src/org/sleuthkit/autopsy/corecomponents/DataContentViewerArtifact.form @@ -75,60 +75,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -136,6 +83,11 @@ + + + + + @@ -143,6 +95,11 @@ + + + + + @@ -159,6 +116,11 @@ + + + + + @@ -166,6 +128,11 @@ + + + + + @@ -193,6 +160,11 @@ + + + + + @@ -206,6 +178,11 @@ + + + + + @@ -233,8 +210,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Core/src/org/sleuthkit/autopsy/corecomponents/DataContentViewerArtifact.java b/Core/src/org/sleuthkit/autopsy/corecomponents/DataContentViewerArtifact.java index fb80ad86f2..79aa2057e2 100644 --- a/Core/src/org/sleuthkit/autopsy/corecomponents/DataContentViewerArtifact.java +++ b/Core/src/org/sleuthkit/autopsy/corecomponents/DataContentViewerArtifact.java @@ -202,6 +202,7 @@ public class DataContentViewerArtifact extends javax.swing.JPanel implements Dat @SuppressWarnings("unchecked") // //GEN-BEGIN:initComponents private void initComponents() { + java.awt.GridBagConstraints gridBagConstraints; rightClickMenu = new javax.swing.JPopupMenu(); copyMenuItem = new javax.swing.JMenuItem(); @@ -216,6 +217,7 @@ public class DataContentViewerArtifact extends javax.swing.JPanel implements Dat pageLabel2 = new javax.swing.JLabel(); prevPageButton = new javax.swing.JButton(); artifactLabel = new javax.swing.JLabel(); + filler1 = new javax.swing.Box.Filler(new java.awt.Dimension(0, 0), new java.awt.Dimension(0, 0), new java.awt.Dimension(32767, 0)); resultsTableScrollPane = new javax.swing.JScrollPane(); copyMenuItem.setText(org.openide.util.NbBundle.getMessage(DataContentViewerArtifact.class, "DataContentViewerArtifact.copyMenuItem.text")); // NOI18N @@ -230,17 +232,46 @@ public class DataContentViewerArtifact extends javax.swing.JPanel implements Dat jScrollPane1.setVerticalScrollBarPolicy(javax.swing.ScrollPaneConstants.VERTICAL_SCROLLBAR_NEVER); jPanel1.setPreferredSize(new java.awt.Dimension(620, 58)); + jPanel1.setLayout(new java.awt.GridBagLayout()); totalPageLabel.setText(org.openide.util.NbBundle.getMessage(DataContentViewerArtifact.class, "DataContentViewerArtifact.totalPageLabel.text")); // NOI18N + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 3; + gridBagConstraints.gridy = 0; + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; + gridBagConstraints.insets = new java.awt.Insets(3, 12, 0, 0); + jPanel1.add(totalPageLabel, gridBagConstraints); ofLabel.setText(org.openide.util.NbBundle.getMessage(DataContentViewerArtifact.class, "DataContentViewerArtifact.ofLabel.text")); // NOI18N + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 2; + gridBagConstraints.gridy = 0; + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; + gridBagConstraints.insets = new java.awt.Insets(3, 12, 0, 0); + jPanel1.add(ofLabel, gridBagConstraints); currentPageLabel.setText(org.openide.util.NbBundle.getMessage(DataContentViewerArtifact.class, "DataContentViewerArtifact.currentPageLabel.text")); // NOI18N currentPageLabel.setMaximumSize(new java.awt.Dimension(18, 14)); currentPageLabel.setMinimumSize(new java.awt.Dimension(18, 14)); currentPageLabel.setPreferredSize(new java.awt.Dimension(18, 14)); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 1; + gridBagConstraints.gridy = 0; + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; + gridBagConstraints.insets = new java.awt.Insets(4, 7, 0, 0); + jPanel1.add(currentPageLabel, gridBagConstraints); pageLabel.setText(org.openide.util.NbBundle.getMessage(DataContentViewerArtifact.class, "DataContentViewerArtifact.pageLabel.text")); // NOI18N + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 0; + gridBagConstraints.gridy = 0; + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; + gridBagConstraints.insets = new java.awt.Insets(3, 12, 0, 0); + jPanel1.add(pageLabel, gridBagConstraints); nextPageButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/corecomponents/btn_step_forward.png"))); // NOI18N nextPageButton.setText(org.openide.util.NbBundle.getMessage(DataContentViewerArtifact.class, "DataContentViewerArtifact.nextPageButton.text")); // NOI18N @@ -255,10 +286,23 @@ public class DataContentViewerArtifact extends javax.swing.JPanel implements Dat nextPageButtonActionPerformed(evt); } }); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 6; + gridBagConstraints.gridy = 0; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; + gridBagConstraints.insets = new java.awt.Insets(0, 0, 35, 0); + jPanel1.add(nextPageButton, gridBagConstraints); pageLabel2.setText(org.openide.util.NbBundle.getMessage(DataContentViewerArtifact.class, "DataContentViewerArtifact.pageLabel2.text")); // NOI18N pageLabel2.setMaximumSize(new java.awt.Dimension(29, 14)); pageLabel2.setMinimumSize(new java.awt.Dimension(29, 14)); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 4; + gridBagConstraints.gridy = 0; + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; + gridBagConstraints.insets = new java.awt.Insets(3, 41, 0, 0); + jPanel1.add(pageLabel2, gridBagConstraints); prevPageButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/corecomponents/btn_step_back.png"))); // NOI18N prevPageButton.setText(org.openide.util.NbBundle.getMessage(DataContentViewerArtifact.class, "DataContentViewerArtifact.prevPageButton.text")); // NOI18N @@ -273,51 +317,25 @@ public class DataContentViewerArtifact extends javax.swing.JPanel implements Dat prevPageButtonActionPerformed(evt); } }); - - javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1); - jPanel1.setLayout(jPanel1Layout); - jPanel1Layout.setHorizontalGroup( - jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(jPanel1Layout.createSequentialGroup() - .addContainerGap() - .addComponent(pageLabel) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(currentPageLabel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) - .addComponent(ofLabel) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) - .addComponent(totalPageLabel) - .addGap(41, 41, 41) - .addComponent(pageLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(prevPageButton, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE) - .addGap(0, 0, 0) - .addComponent(nextPageButton, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE) - .addContainerGap(383, Short.MAX_VALUE)) - .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup() - .addContainerGap(280, Short.MAX_VALUE) - .addComponent(artifactLabel) - .addContainerGap(84, Short.MAX_VALUE))) - ); - jPanel1Layout.setVerticalGroup( - jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(jPanel1Layout.createSequentialGroup() - .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(pageLabel) - .addComponent(currentPageLabel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(ofLabel) - .addComponent(totalPageLabel)) - .addComponent(nextPageButton, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(prevPageButton, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(pageLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addContainerGap(35, Short.MAX_VALUE)) - .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(jPanel1Layout.createSequentialGroup() - .addComponent(artifactLabel) - .addGap(0, 58, Short.MAX_VALUE))) - ); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 5; + gridBagConstraints.gridy = 0; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; + gridBagConstraints.insets = new java.awt.Insets(0, 5, 35, 0); + jPanel1.add(prevPageButton, gridBagConstraints); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 8; + gridBagConstraints.gridy = 0; + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHEAST; + gridBagConstraints.insets = new java.awt.Insets(3, 0, 0, 8); + jPanel1.add(artifactLabel, gridBagConstraints); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 7; + gridBagConstraints.gridy = 0; + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; + gridBagConstraints.weightx = 0.1; + jPanel1.add(filler1, gridBagConstraints); jScrollPane1.setViewportView(jPanel1); @@ -359,6 +377,7 @@ public class DataContentViewerArtifact extends javax.swing.JPanel implements Dat private javax.swing.JLabel artifactLabel; private javax.swing.JMenuItem copyMenuItem; private javax.swing.JLabel currentPageLabel; + private javax.swing.Box.Filler filler1; private javax.swing.JPanel jPanel1; private javax.swing.JScrollPane jScrollPane1; private javax.swing.JButton nextPageButton; From a54b655b821d1b223e1ea4576a18e2cad7c8241e Mon Sep 17 00:00:00 2001 From: William Schaefer Date: Mon, 13 Apr 2020 06:09:05 -0400 Subject: [PATCH 054/111] 6225 fix for screenshot 20 --- .../autopsy/filequery/ResultsPanel.form | 176 ++++++++++++------ .../autopsy/filequery/ResultsPanel.java | 158 ++++++++++------ 2 files changed, 224 insertions(+), 110 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/filequery/ResultsPanel.form b/Core/src/org/sleuthkit/autopsy/filequery/ResultsPanel.form index c7d9f2b4ee..e7708facf4 100644 --- a/Core/src/org/sleuthkit/autopsy/filequery/ResultsPanel.form +++ b/Core/src/org/sleuthkit/autopsy/filequery/ResultsPanel.form @@ -21,7 +21,7 @@ - + @@ -30,7 +30,7 @@ - + @@ -50,53 +50,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -118,6 +72,11 @@ + + + + + @@ -125,15 +84,20 @@ - + - + + + + + + @@ -155,74 +119,105 @@ + + + + + + - + - + + + + + + + - + - + + + + + + + + + + + + + + + - + - + + + + + + @@ -239,6 +234,71 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -282,7 +342,7 @@ - + diff --git a/Core/src/org/sleuthkit/autopsy/filequery/ResultsPanel.java b/Core/src/org/sleuthkit/autopsy/filequery/ResultsPanel.java index 7a750f50eb..5dbdca0089 100644 --- a/Core/src/org/sleuthkit/autopsy/filequery/ResultsPanel.java +++ b/Core/src/org/sleuthkit/autopsy/filequery/ResultsPanel.java @@ -410,6 +410,7 @@ public class ResultsPanel extends javax.swing.JPanel { @SuppressWarnings("unchecked") // //GEN-BEGIN:initComponents private void initComponents() { + java.awt.GridBagConstraints gridBagConstraints; javax.swing.JPanel pagingPanel = new javax.swing.JPanel(); previousPageButton = new javax.swing.JButton(); @@ -420,6 +421,10 @@ public class ResultsPanel extends javax.swing.JPanel { gotoPageField = new javax.swing.JTextField(); javax.swing.JLabel pageSizeLabel = new javax.swing.JLabel(); pageSizeComboBox = new javax.swing.JComboBox<>(); + filler1 = new javax.swing.Box.Filler(new java.awt.Dimension(0, 0), new java.awt.Dimension(0, 0), new java.awt.Dimension(32767, 0)); + filler2 = new javax.swing.Box.Filler(new java.awt.Dimension(0, 0), new java.awt.Dimension(0, 0), new java.awt.Dimension(32767, 0)); + filler3 = new javax.swing.Box.Filler(new java.awt.Dimension(0, 0), new java.awt.Dimension(0, 0), new java.awt.Dimension(32767, 0)); + filler4 = new javax.swing.Box.Filler(new java.awt.Dimension(0, 0), new java.awt.Dimension(0, 0), new java.awt.Dimension(32767, 0)); javax.swing.JSplitPane resultsSplitPane = new javax.swing.JSplitPane(); javax.swing.JPanel instancesPanel = new javax.swing.JPanel(); javax.swing.JScrollPane instancesScrollPane = new javax.swing.JScrollPane(); @@ -429,6 +434,7 @@ public class ResultsPanel extends javax.swing.JPanel { setPreferredSize(new java.awt.Dimension(777, 475)); pagingPanel.setBorder(javax.swing.BorderFactory.createEtchedBorder()); + pagingPanel.setLayout(new java.awt.GridBagLayout()); previousPageButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/corecomponents/btn_step_back.png"))); // NOI18N previousPageButton.setBorder(null); @@ -441,11 +447,26 @@ public class ResultsPanel extends javax.swing.JPanel { previousPageButtonActionPerformed(evt); } }); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 3; + gridBagConstraints.gridy = 0; + gridBagConstraints.gridheight = 2; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; + gridBagConstraints.insets = new java.awt.Insets(6, 12, 6, 0); + pagingPanel.add(previousPageButton, gridBagConstraints); org.openide.awt.Mnemonics.setLocalizedText(currentPageLabel, org.openide.util.NbBundle.getMessage(ResultsPanel.class, "ResultsPanel.currentPageLabel.text")); // NOI18N - currentPageLabel.setMaximumSize(new java.awt.Dimension(90, 23)); + currentPageLabel.setMaximumSize(new java.awt.Dimension(190, 23)); currentPageLabel.setMinimumSize(new java.awt.Dimension(90, 23)); - currentPageLabel.setPreferredSize(new java.awt.Dimension(90, 23)); + currentPageLabel.setPreferredSize(new java.awt.Dimension(100, 23)); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 0; + gridBagConstraints.gridy = 0; + gridBagConstraints.gridheight = 2; + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; + gridBagConstraints.insets = new java.awt.Insets(6, 14, 6, 0); + pagingPanel.add(currentPageLabel, gridBagConstraints); nextPageButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/corecomponents/btn_step_forward.png"))); // NOI18N nextPageButton.setBorder(null); @@ -458,28 +479,70 @@ public class ResultsPanel extends javax.swing.JPanel { nextPageButtonActionPerformed(evt); } }); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 4; + gridBagConstraints.gridy = 0; + gridBagConstraints.gridheight = 2; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; + gridBagConstraints.insets = new java.awt.Insets(6, 0, 6, 0); + pagingPanel.add(nextPageButton, gridBagConstraints); + pageControlsLabel.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING); org.openide.awt.Mnemonics.setLocalizedText(pageControlsLabel, org.openide.util.NbBundle.getMessage(ResultsPanel.class, "ResultsPanel.pageControlsLabel.text")); // NOI18N - pageControlsLabel.setMaximumSize(new java.awt.Dimension(33, 23)); + pageControlsLabel.setMaximumSize(new java.awt.Dimension(133, 23)); pageControlsLabel.setMinimumSize(new java.awt.Dimension(33, 23)); - pageControlsLabel.setPreferredSize(new java.awt.Dimension(33, 23)); + pageControlsLabel.setPreferredSize(new java.awt.Dimension(60, 23)); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 2; + gridBagConstraints.gridy = 0; + gridBagConstraints.gridheight = 2; + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHEAST; + gridBagConstraints.insets = new java.awt.Insets(6, 18, 6, 0); + pagingPanel.add(pageControlsLabel, gridBagConstraints); + gotoPageLabel.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING); org.openide.awt.Mnemonics.setLocalizedText(gotoPageLabel, org.openide.util.NbBundle.getMessage(ResultsPanel.class, "ResultsPanel.gotoPageLabel.text")); // NOI18N - gotoPageLabel.setMaximumSize(new java.awt.Dimension(70, 23)); + gotoPageLabel.setMaximumSize(new java.awt.Dimension(170, 23)); gotoPageLabel.setMinimumSize(new java.awt.Dimension(70, 23)); - gotoPageLabel.setPreferredSize(new java.awt.Dimension(70, 23)); + gotoPageLabel.setPreferredSize(new java.awt.Dimension(100, 23)); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 6; + gridBagConstraints.gridy = 0; + gridBagConstraints.gridheight = 2; + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHEAST; + gridBagConstraints.insets = new java.awt.Insets(6, 18, 6, 0); + pagingPanel.add(gotoPageLabel, gridBagConstraints); gotoPageField.setEnabled(false); + gotoPageField.setPreferredSize(new java.awt.Dimension(26, 22)); gotoPageField.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { gotoPageFieldActionPerformed(evt); } }); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 7; + gridBagConstraints.gridy = 0; + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; + gridBagConstraints.insets = new java.awt.Insets(6, 5, 0, 0); + pagingPanel.add(gotoPageField, gridBagConstraints); + pageSizeLabel.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING); org.openide.awt.Mnemonics.setLocalizedText(pageSizeLabel, org.openide.util.NbBundle.getMessage(ResultsPanel.class, "ResultsPanel.pageSizeLabel.text")); // NOI18N - pageSizeLabel.setMaximumSize(new java.awt.Dimension(60, 23)); + pageSizeLabel.setMaximumSize(new java.awt.Dimension(160, 23)); pageSizeLabel.setMinimumSize(new java.awt.Dimension(60, 23)); - pageSizeLabel.setPreferredSize(new java.awt.Dimension(60, 23)); + pageSizeLabel.setPreferredSize(new java.awt.Dimension(90, 23)); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 9; + gridBagConstraints.gridy = 0; + gridBagConstraints.gridheight = 2; + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHEAST; + gridBagConstraints.insets = new java.awt.Insets(6, 18, 6, 0); + pagingPanel.add(pageSizeLabel, gridBagConstraints); pageSizeComboBox.setModel(new DefaultComboBoxModel(new Integer[] {25,50,75,100,125,150,175,200})); pageSizeComboBox.setSelectedIndex(3); @@ -488,47 +551,34 @@ public class ResultsPanel extends javax.swing.JPanel { pageSizeChanged(evt); } }); - - javax.swing.GroupLayout pagingPanelLayout = new javax.swing.GroupLayout(pagingPanel); - pagingPanel.setLayout(pagingPanelLayout); - pagingPanelLayout.setHorizontalGroup( - pagingPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(pagingPanelLayout.createSequentialGroup() - .addContainerGap() - .addComponent(currentPageLabel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addGap(18, 18, 18) - .addComponent(pageControlsLabel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) - .addComponent(previousPageButton) - .addGap(0, 0, 0) - .addComponent(nextPageButton) - .addGap(18, 18, 18) - .addComponent(gotoPageLabel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(gotoPageField, javax.swing.GroupLayout.PREFERRED_SIZE, 64, javax.swing.GroupLayout.PREFERRED_SIZE) - .addGap(18, 18, 18) - .addComponent(pageSizeLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 52, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(pageSizeComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, 55, javax.swing.GroupLayout.PREFERRED_SIZE) - .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) - ); - pagingPanelLayout.setVerticalGroup( - pagingPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(pagingPanelLayout.createSequentialGroup() - .addGap(4, 4, 4) - .addGroup(pagingPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(nextPageButton, javax.swing.GroupLayout.Alignment.TRAILING) - .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, pagingPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(previousPageButton, javax.swing.GroupLayout.Alignment.TRAILING) - .addComponent(currentPageLabel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(pageControlsLabel, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, pagingPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(gotoPageLabel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(gotoPageField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(pageSizeLabel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(pageSizeComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))) - .addGap(4, 4, 4)) - ); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 10; + gridBagConstraints.gridy = 0; + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; + gridBagConstraints.insets = new java.awt.Insets(6, 5, 0, 277); + pagingPanel.add(pageSizeComboBox, gridBagConstraints); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 11; + gridBagConstraints.gridy = 0; + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; + gridBagConstraints.weightx = 0.1; + pagingPanel.add(filler1, gridBagConstraints); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 1; + gridBagConstraints.gridy = 0; + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; + pagingPanel.add(filler2, gridBagConstraints); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 5; + gridBagConstraints.gridy = 0; + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; + pagingPanel.add(filler3, gridBagConstraints); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 8; + gridBagConstraints.gridy = 0; + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; + pagingPanel.add(filler4, gridBagConstraints); resultsSplitPane.setDividerLocation(380); resultsSplitPane.setOrientation(javax.swing.JSplitPane.VERTICAL_SPLIT); @@ -553,7 +603,7 @@ public class ResultsPanel extends javax.swing.JPanel { instancesPanel.setLayout(instancesPanelLayout); instancesPanelLayout.setHorizontalGroup( instancesPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGap(0, 775, Short.MAX_VALUE) + .addGap(0, 779, Short.MAX_VALUE) .addGroup(instancesPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(instancesScrollPane, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) ); @@ -576,7 +626,7 @@ public class ResultsPanel extends javax.swing.JPanel { this.setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(pagingPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(pagingPanel, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE) .addComponent(resultsSplitPane, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) ); layout.setVerticalGroup( @@ -584,7 +634,7 @@ public class ResultsPanel extends javax.swing.JPanel { .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() .addComponent(pagingPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(0, 0, 0) - .addComponent(resultsSplitPane, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(resultsSplitPane, javax.swing.GroupLayout.DEFAULT_SIZE, 436, Short.MAX_VALUE) .addGap(0, 0, 0)) ); }// //GEN-END:initComponents @@ -668,6 +718,10 @@ public class ResultsPanel extends javax.swing.JPanel { // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JLabel currentPageLabel; + private javax.swing.Box.Filler filler1; + private javax.swing.Box.Filler filler2; + private javax.swing.Box.Filler filler3; + private javax.swing.Box.Filler filler4; private javax.swing.JTextField gotoPageField; private javax.swing.JList instancesList; private javax.swing.JButton nextPageButton; From 2155345812c2f1ed7ef91378a3c0aa86eeb8ad89 Mon Sep 17 00:00:00 2001 From: William Schaefer Date: Mon, 13 Apr 2020 06:18:39 -0400 Subject: [PATCH 055/111] 6225 fix for screenshot 19 --- .../CommonAttributePanel.form | 78 ++++++++++--------- .../CommonAttributePanel.java | 43 +++++----- 2 files changed, 67 insertions(+), 54 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/commonpropertiessearch/CommonAttributePanel.form b/Core/src/org/sleuthkit/autopsy/commonpropertiessearch/CommonAttributePanel.form index 74ebe1bd30..6eaa6bdb08 100644 --- a/Core/src/org/sleuthkit/autopsy/commonpropertiessearch/CommonAttributePanel.form +++ b/Core/src/org/sleuthkit/autopsy/commonpropertiessearch/CommonAttributePanel.form @@ -29,7 +29,7 @@ - + @@ -40,7 +40,7 @@ - + @@ -54,7 +54,7 @@ - + @@ -63,15 +63,15 @@ - - + + - + @@ -79,36 +79,41 @@ - - - - + + + + - - - - - - - - + + + + + - + + + + + - - + + + - + + + + @@ -120,36 +125,36 @@ - + - + - + - + - + - + - + - + - + - + - + - + @@ -204,12 +209,15 @@ + + + - + diff --git a/Core/src/org/sleuthkit/autopsy/commonpropertiessearch/CommonAttributePanel.java b/Core/src/org/sleuthkit/autopsy/commonpropertiessearch/CommonAttributePanel.java index 5e7aa3adb4..70de86c837 100644 --- a/Core/src/org/sleuthkit/autopsy/commonpropertiessearch/CommonAttributePanel.java +++ b/Core/src/org/sleuthkit/autopsy/commonpropertiessearch/CommonAttributePanel.java @@ -649,7 +649,7 @@ final class CommonAttributePanel extends javax.swing.JDialog implements Observer }); jPanel1.setMaximumSize(null); - jPanel1.setPreferredSize(new java.awt.Dimension(450, 646)); + jPanel1.setPreferredSize(new java.awt.Dimension(499, 646)); jPanel1.setRequestFocusEnabled(false); org.openide.awt.Mnemonics.setLocalizedText(commonItemSearchDescription, org.openide.util.NbBundle.getMessage(CommonAttributePanel.class, "CommonAttributePanel.commonItemSearchDescription.text")); // NOI18N @@ -677,12 +677,13 @@ final class CommonAttributePanel extends javax.swing.JDialog implements Observer containerPanel.setBackground(new java.awt.Color(0, 0, 0)); containerPanel.setOpaque(false); + containerPanel.setPreferredSize(new java.awt.Dimension(475, 326)); javax.swing.GroupLayout containerPanelLayout = new javax.swing.GroupLayout(containerPanel); containerPanel.setLayout(containerPanelLayout); containerPanelLayout.setHorizontalGroup( containerPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGap(0, 430, Short.MAX_VALUE) + .addGap(0, 0, Short.MAX_VALUE) ); containerPanelLayout.setVerticalGroup( containerPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) @@ -746,40 +747,44 @@ final class CommonAttributePanel extends javax.swing.JDialog implements Observer .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup() .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) .addGroup(jPanel1Layout.createSequentialGroup() - .addGap(0, 0, Short.MAX_VALUE) - .addComponent(intraCaseRadio, javax.swing.GroupLayout.PREFERRED_SIZE, 383, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addGap(20, 20, 20) + .addComponent(intraCaseRadio, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) .addComponent(scopeLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) .addGap(37, 37, 37)) .addGroup(jPanel1Layout.createSequentialGroup() - .addComponent(percentageThresholdCheck) + .addComponent(percentageThresholdCheck, javax.swing.GroupLayout.PREFERRED_SIZE, 175, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(percentageThresholdInputBox, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(percentageThresholdTextTwo, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addContainerGap()) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup() - .addComponent(errorText, javax.swing.GroupLayout.PREFERRED_SIZE, 330, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addComponent(searchButton) + .addComponent(errorText, javax.swing.GroupLayout.PREFERRED_SIZE, 384, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(18, 18, 18) + .addComponent(searchButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addContainerGap()) .addGroup(jPanel1Layout.createSequentialGroup() - .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(containerPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false) - .addComponent(commonItemSearchDescription, javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(javax.swing.GroupLayout.Alignment.LEADING, jPanel1Layout.createSequentialGroup() - .addGap(20, 20, 20) - .addComponent(interCaseRadio, javax.swing.GroupLayout.PREFERRED_SIZE, 383, javax.swing.GroupLayout.PREFERRED_SIZE)))) - .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))) + .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) + .addComponent(commonItemSearchDescription, javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(javax.swing.GroupLayout.Alignment.LEADING, jPanel1Layout.createSequentialGroup() + .addGap(20, 20, 20) + .addComponent(interCaseRadio, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))) + .addGap(84, 84, 84)) + .addGroup(jPanel1Layout.createSequentialGroup() + .addComponent(containerPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addContainerGap()))) .addGroup(jPanel1Layout.createSequentialGroup() .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel1Layout.createSequentialGroup() .addContainerGap() - .addComponent(displayResultsLabel)) + .addComponent(displayResultsLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addGap(313, 313, 313)) .addGroup(jPanel1Layout.createSequentialGroup() .addGap(30, 30, 30) .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(caseResultsRadioButton, javax.swing.GroupLayout.PREFERRED_SIZE, 410, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGroup(jPanel1Layout.createSequentialGroup() + .addComponent(caseResultsRadioButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addGap(49, 49, 49)) .addComponent(countResultsRadioButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))) .addGap(10, 10, 10)) ); @@ -813,7 +818,7 @@ final class CommonAttributePanel extends javax.swing.JDialog implements Observer .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(searchButton) .addComponent(errorText, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + .addGap(14, 14, 14)) ); getContentPane().add(jPanel1, java.awt.BorderLayout.CENTER); From 6761bfe8862b4aff605630f3063bc27976911a8a Mon Sep 17 00:00:00 2001 From: William Schaefer Date: Mon, 13 Apr 2020 06:49:00 -0400 Subject: [PATCH 056/111] 6225 fix for screenshot 19 --- .../CommonAttributePanel.form | 66 +++++++++++-------- .../CommonAttributePanel.java | 46 +++++++------ 2 files changed, 65 insertions(+), 47 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/commonpropertiessearch/CommonAttributePanel.form b/Core/src/org/sleuthkit/autopsy/commonpropertiessearch/CommonAttributePanel.form index 6eaa6bdb08..ffd6af0ea7 100644 --- a/Core/src/org/sleuthkit/autopsy/commonpropertiessearch/CommonAttributePanel.form +++ b/Core/src/org/sleuthkit/autopsy/commonpropertiessearch/CommonAttributePanel.form @@ -8,8 +8,11 @@ + + + - + @@ -29,7 +32,7 @@ - + @@ -37,7 +40,10 @@ - + + + + @@ -71,17 +77,17 @@ - - + + - - - + + + - - - + + + @@ -96,30 +102,26 @@ - + + - - - - - - - - - - - - - + + + + + + + + @@ -210,7 +212,7 @@ - + @@ -259,6 +261,9 @@ + + + @@ -286,6 +291,15 @@ + + + + + + + + + diff --git a/Core/src/org/sleuthkit/autopsy/commonpropertiessearch/CommonAttributePanel.java b/Core/src/org/sleuthkit/autopsy/commonpropertiessearch/CommonAttributePanel.java index 70de86c837..b301e69d04 100644 --- a/Core/src/org/sleuthkit/autopsy/commonpropertiessearch/CommonAttributePanel.java +++ b/Core/src/org/sleuthkit/autopsy/commonpropertiessearch/CommonAttributePanel.java @@ -640,7 +640,8 @@ final class CommonAttributePanel extends javax.swing.JDialog implements Observer countResultsRadioButton = new javax.swing.JRadioButton(); displayResultsLabel = new javax.swing.JLabel(); - setMinimumSize(new java.awt.Dimension(450, 570)); + setMaximumSize(new java.awt.Dimension(499, 646)); + setMinimumSize(new java.awt.Dimension(499, 646)); setResizable(false); addWindowListener(new java.awt.event.WindowAdapter() { public void windowClosed(java.awt.event.WindowEvent evt) { @@ -648,7 +649,8 @@ final class CommonAttributePanel extends javax.swing.JDialog implements Observer } }); - jPanel1.setMaximumSize(null); + jPanel1.setMaximumSize(new java.awt.Dimension(499, 646)); + jPanel1.setMinimumSize(new java.awt.Dimension(499, 646)); jPanel1.setPreferredSize(new java.awt.Dimension(499, 646)); jPanel1.setRequestFocusEnabled(false); @@ -677,7 +679,7 @@ final class CommonAttributePanel extends javax.swing.JDialog implements Observer containerPanel.setBackground(new java.awt.Color(0, 0, 0)); containerPanel.setOpaque(false); - containerPanel.setPreferredSize(new java.awt.Dimension(475, 326)); + containerPanel.setPreferredSize(new java.awt.Dimension(477, 326)); javax.swing.GroupLayout containerPanelLayout = new javax.swing.GroupLayout(containerPanel); containerPanel.setLayout(containerPanelLayout); @@ -704,6 +706,7 @@ final class CommonAttributePanel extends javax.swing.JDialog implements Observer percentageThresholdInputBox.setPreferredSize(new java.awt.Dimension(40, 24)); org.openide.awt.Mnemonics.setLocalizedText(percentageThresholdTextTwo, org.openide.util.NbBundle.getMessage(CommonAttributePanel.class, "CommonAttributePanel.percentageThresholdTextTwo.text_1")); // NOI18N + percentageThresholdTextTwo.setMaximumSize(new java.awt.Dimension(260, 16)); org.openide.awt.Mnemonics.setLocalizedText(dataSourcesLabel, org.openide.util.NbBundle.getMessage(CommonAttributePanel.class, "CommonAttributePanel.dataSourcesLabel.text")); // NOI18N @@ -714,6 +717,9 @@ final class CommonAttributePanel extends javax.swing.JDialog implements Observer org.openide.awt.Mnemonics.setLocalizedText(searchButton, org.openide.util.NbBundle.getMessage(CommonAttributePanel.class, "CommonAttributePanel.searchButton.text")); // NOI18N searchButton.setEnabled(false); searchButton.setHorizontalTextPosition(javax.swing.SwingConstants.LEADING); + searchButton.setMaximumSize(new java.awt.Dimension(100, 25)); + searchButton.setMinimumSize(new java.awt.Dimension(100, 25)); + searchButton.setPreferredSize(new java.awt.Dimension(100, 25)); searchButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { searchButtonActionPerformed(evt); @@ -752,16 +758,16 @@ final class CommonAttributePanel extends javax.swing.JDialog implements Observer .addComponent(scopeLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) .addGap(37, 37, 37)) .addGroup(jPanel1Layout.createSequentialGroup() - .addComponent(percentageThresholdCheck, javax.swing.GroupLayout.PREFERRED_SIZE, 175, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(percentageThresholdCheck, javax.swing.GroupLayout.DEFAULT_SIZE, 184, Short.MAX_VALUE) + .addGap(1, 1, 1) .addComponent(percentageThresholdInputBox, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(percentageThresholdTextTwo, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(percentageThresholdTextTwo, javax.swing.GroupLayout.DEFAULT_SIZE, 247, Short.MAX_VALUE) .addContainerGap()) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup() - .addComponent(errorText, javax.swing.GroupLayout.PREFERRED_SIZE, 384, javax.swing.GroupLayout.PREFERRED_SIZE) - .addGap(18, 18, 18) - .addComponent(searchButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(errorText) + .addGap(6, 6, 6) + .addComponent(searchButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addContainerGap()) .addGroup(jPanel1Layout.createSequentialGroup() .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) @@ -774,19 +780,17 @@ final class CommonAttributePanel extends javax.swing.JDialog implements Observer .addComponent(containerPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addContainerGap()))) .addGroup(jPanel1Layout.createSequentialGroup() + .addGap(30, 30, 30) .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel1Layout.createSequentialGroup() - .addContainerGap() - .addComponent(displayResultsLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addGap(313, 313, 313)) - .addGroup(jPanel1Layout.createSequentialGroup() - .addGap(30, 30, 30) - .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(jPanel1Layout.createSequentialGroup() - .addComponent(caseResultsRadioButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addGap(49, 49, 49)) - .addComponent(countResultsRadioButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))) + .addComponent(caseResultsRadioButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addGap(49, 49, 49)) + .addComponent(countResultsRadioButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) .addGap(10, 10, 10)) + .addGroup(jPanel1Layout.createSequentialGroup() + .addContainerGap() + .addComponent(displayResultsLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 225, javax.swing.GroupLayout.PREFERRED_SIZE) + .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) ); jPanel1Layout.setVerticalGroup( jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) @@ -805,7 +809,7 @@ final class CommonAttributePanel extends javax.swing.JDialog implements Observer .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(percentageThresholdCheck) .addComponent(percentageThresholdInputBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(percentageThresholdTextTwo)) + .addComponent(percentageThresholdTextTwo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(displayResultsLabel) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) @@ -816,7 +820,7 @@ final class CommonAttributePanel extends javax.swing.JDialog implements Observer .addComponent(dataSourcesLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(searchButton) + .addComponent(searchButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(errorText, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(14, 14, 14)) ); From 14145cc6d80f60d8024c25b063b00611f896c688 Mon Sep 17 00:00:00 2001 From: William Schaefer Date: Mon, 13 Apr 2020 06:56:14 -0400 Subject: [PATCH 057/111] 6225 fix for screenshot 18 --- .../corecomponents/Bundle.properties-MERGED | 12 +- .../corecomponents/ViewPreferencesPanel.form | 149 +++++++++++------- .../corecomponents/ViewPreferencesPanel.java | 115 ++++++++------ 3 files changed, 162 insertions(+), 114 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/corecomponents/Bundle.properties-MERGED b/Core/src/org/sleuthkit/autopsy/corecomponents/Bundle.properties-MERGED index f252420726..544cfa63c0 100755 --- a/Core/src/org/sleuthkit/autopsy/corecomponents/Bundle.properties-MERGED +++ b/Core/src/org/sleuthkit/autopsy/corecomponents/Bundle.properties-MERGED @@ -63,9 +63,9 @@ DataContentViewerHex.totalPageLabel.text_1=100 DataContentViewerHex.pageLabel2.text=Page # Product Information panel -LBL_Description=

\n Product Version: {0} ({9})
Sleuth Kit Version: {7}
Netbeans RCP Build: {8}
Java: {1}; {2}
System: {3}; {4}; {5}
Userdir: {6}
+LBL_Description=
\n Product Version: {0} ({9})
Sleuth Kit Version: {7}
Netbeans RCP Build: {8}
Java: {1}; {2}
System: {3}; {4}; {5}
Userdir: {6}
Format_OperatingSystem_Value={0} version {1} running on {2} -LBL_Copyright=
Autopsy™ is a digital forensics platform based on The Sleuth Kit™ and other tools.
Copyright © 2003-2018.
+LBL_Copyright=
Autopsy™ is a digital forensics platform based on The Sleuth Kit™ and other tools.
Copyright © 2003-2018.
SortChooser.dialogTitle=Choose Sort Criteria ThumbnailViewChildren.progress.cancelling=(Cancelling) # {0} - file name @@ -95,7 +95,7 @@ DataResultViewerThumbnail.pageNextButton.text= DataResultViewerThumbnail.imagesLabel.text=Images: DataResultViewerThumbnail.imagesRangeLabel.text=- DataResultViewerThumbnail.pageNumLabel.text=- -DataResultViewerThumbnail.filePathLabel.text=\ +DataResultViewerThumbnail.filePathLabel.text=\ \ \ DataResultViewerThumbnail.goToPageLabel.text=Go to Page: DataResultViewerThumbnail.goToPageField.text= AdvancedConfigurationDialog.cancelButton.text=Cancel @@ -129,9 +129,9 @@ DataResultViewerThumbnail.switchPage.done.errMsg=Error making thumbnails: {0} AboutWindowPanel.actVerboseLogging.text=Activate verbose logging OptionsCategory_Name_Multi_User_Settings=Multi-User OptionsCategory_Keywords_Multi_User_Options=Multi-User Settings -MultiUserSettingsPanel.lbSolrSettings.text=Solr Settings +MultiUserSettingsPanel.lbSolrSettings.text=Solr Server Settings MultiUserSettingsPanel.cbEnableMultiUser.text=Enable multi-user cases -MultiUserSettingsPanel.lbDatabaseSettings.text=Database Settings +MultiUserSettingsPanel.lbDatabaseSettings.text=Database Server Settings MultiUserSettingsPanel.validationErrMsg.incomplete=Fill in all values MultiUserSettingsPanel.nonWindowsOs.msg=Multi-user cases are only available on Windows platforms MultiUserSettingsPanel.validationErrMsg.invalidDatabasePort=Invalid database port number @@ -159,7 +159,7 @@ MultiUserSettingsPanel.tbSolrHostname.toolTipText=Hostname or IP Address MultiUserSettingsPanel.tbSolrPort.toolTipText=Port Number MultiUserSettingsPanel.lbTestMessageService.text= MultiUserSettingsPanel.bnTestMessageService.text=Test -MultiUserSettingsPanel.lbMessageServiceSettings.text=ActiveMQ Message Service Settings +MultiUserSettingsPanel.lbMessageServiceSettings.text=ActiveMQ Message Server Settings MultiUserSettingsPanel.tbMsgPort.toolTipText=Port Number MultiUserSettingsPanel.tbMsgPort.text= MultiUserSettingsPanel.tbMsgUsername.toolTipText=User Name (optional) diff --git a/Core/src/org/sleuthkit/autopsy/corecomponents/ViewPreferencesPanel.form b/Core/src/org/sleuthkit/autopsy/corecomponents/ViewPreferencesPanel.form index f604a6257e..83e04a9d1b 100755 --- a/Core/src/org/sleuthkit/autopsy/corecomponents/ViewPreferencesPanel.form +++ b/Core/src/org/sleuthkit/autopsy/corecomponents/ViewPreferencesPanel.form @@ -3,7 +3,7 @@
- + @@ -37,7 +37,7 @@ - + @@ -46,7 +46,7 @@ - + @@ -72,7 +72,7 @@ - + @@ -93,73 +93,103 @@ - + - - + + + + - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + - - - - - + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + - - - - - - + @@ -202,7 +232,7 @@ - + @@ -365,7 +395,6 @@ - @@ -453,10 +482,10 @@ - - - - + + + + @@ -497,9 +526,9 @@ - - - + + + diff --git a/Core/src/org/sleuthkit/autopsy/corecomponents/ViewPreferencesPanel.java b/Core/src/org/sleuthkit/autopsy/corecomponents/ViewPreferencesPanel.java index fb85efcf0c..acb6446c9d 100755 --- a/Core/src/org/sleuthkit/autopsy/corecomponents/ViewPreferencesPanel.java +++ b/Core/src/org/sleuthkit/autopsy/corecomponents/ViewPreferencesPanel.java @@ -31,7 +31,6 @@ import org.sleuthkit.autopsy.core.UserPreferences; import org.sleuthkit.autopsy.coreutils.TimeZoneUtils; import org.sleuthkit.autopsy.directorytree.DirectoryTreeTopComponent; import org.sleuthkit.autopsy.texttranslation.TextTranslationService; -import org.sleuthkit.autopsy.centralrepository.datamodel.CentralRepository; /** * Panel for configuring view preferences. @@ -180,12 +179,12 @@ public class ViewPreferencesPanel extends JPanel implements OptionsPanel { currentSessionSettingsPanel = new javax.swing.JPanel(); hideRejectedResultsCheckbox = new javax.swing.JCheckBox(); - setPreferredSize(new java.awt.Dimension(625, 465)); + setPreferredSize(new java.awt.Dimension(727, 495)); viewPreferencesScrollPane.setBorder(null); - viewPreferencesScrollPane.setPreferredSize(new java.awt.Dimension(625, 465)); + viewPreferencesScrollPane.setPreferredSize(new java.awt.Dimension(727, 493)); - viewPreferencesPanel.setPreferredSize(new java.awt.Dimension(625, 465)); + viewPreferencesPanel.setPreferredSize(new java.awt.Dimension(727, 492)); globalSettingsPanel.setBorder(javax.swing.BorderFactory.createTitledBorder(org.openide.util.NbBundle.getMessage(ViewPreferencesPanel.class, "ViewPreferencesPanel.globalSettingsPanel.border.title"))); // NOI18N @@ -267,7 +266,6 @@ public class ViewPreferencesPanel extends JPanel implements OptionsPanel { org.openide.awt.Mnemonics.setLocalizedText(scoColumnsLabel, org.openide.util.NbBundle.getMessage(ViewPreferencesPanel.class, "ViewPreferencesPanel.scoColumnsLabel.text")); // NOI18N org.openide.awt.Mnemonics.setLocalizedText(scoColumnsCheckbox, org.openide.util.NbBundle.getMessage(ViewPreferencesPanel.class, "ViewPreferencesPanel.scoColumnsCheckbox.text")); // NOI18N - scoColumnsCheckbox.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING); scoColumnsCheckbox.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { scoColumnsCheckboxActionPerformed(evt); @@ -310,53 +308,74 @@ public class ViewPreferencesPanel extends JPanel implements OptionsPanel { .addContainerGap() .addGroup(globalSettingsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(globalSettingsPanelLayout.createSequentialGroup() - .addGap(10, 10, 10) - .addComponent(hideOtherUsersTagsCheckbox)) + .addComponent(maxResultsLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(maxResultsSpinner, javax.swing.GroupLayout.PREFERRED_SIZE, 74, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(325, 325, 325)) .addGroup(globalSettingsPanelLayout.createSequentialGroup() - .addComponent(scoColumnsLabel) - .addGap(135, 135, 135) - .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 272, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addComponent(hideOtherUsersTagsLabel) - .addGroup(globalSettingsPanelLayout.createSequentialGroup() - .addGroup(globalSettingsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(hideKnownFilesLabel) - .addGroup(globalSettingsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) + .addGroup(globalSettingsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) + .addGroup(globalSettingsPanelLayout.createSequentialGroup() .addGroup(globalSettingsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(hideKnownFilesLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addGroup(globalSettingsPanelLayout.createSequentialGroup() + .addComponent(hideOtherUsersTagsLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addGap(77, 77, 77)) + .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, globalSettingsPanelLayout.createSequentialGroup() + .addGroup(globalSettingsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) + .addComponent(scoColumnsLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addGroup(javax.swing.GroupLayout.Alignment.LEADING, globalSettingsPanelLayout.createSequentialGroup() + .addGap(10, 10, 10) + .addComponent(hideOtherUsersTagsCheckbox, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))) + .addGap(99, 99, 99)) + .addGroup(globalSettingsPanelLayout.createSequentialGroup() + .addGap(32, 32, 32) + .addComponent(scoColumnsWrapAroundText, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addGap(93, 93, 93)) .addGroup(globalSettingsPanelLayout.createSequentialGroup() .addGap(10, 10, 10) - .addGroup(globalSettingsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(dataSourcesHideSlackCheckbox) - .addComponent(viewsHideSlackCheckbox))) - .addComponent(hideSlackFilesLabel)) - .addGroup(globalSettingsPanelLayout.createSequentialGroup() - .addGap(10, 10, 10) - .addGroup(globalSettingsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(dataSourcesHideKnownCheckbox) - .addComponent(viewsHideKnownCheckbox)))) + .addComponent(scoColumnsCheckbox, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addGap(14, 14, 14))) + .addGap(10, 10, 10)) + .addGroup(javax.swing.GroupLayout.Alignment.LEADING, globalSettingsPanelLayout.createSequentialGroup() + .addComponent(hideSlackFilesLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addGap(51, 51, 51)) .addGroup(globalSettingsPanelLayout.createSequentialGroup() .addGap(10, 10, 10) - .addComponent(scoColumnsCheckbox)) - .addGroup(globalSettingsPanelLayout.createSequentialGroup() - .addGap(32, 32, 32) - .addComponent(scoColumnsWrapAroundText))) - .addGap(18, 18, 18) + .addGroup(globalSettingsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) + .addComponent(dataSourcesHideSlackCheckbox, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addGroup(javax.swing.GroupLayout.Alignment.LEADING, globalSettingsPanelLayout.createSequentialGroup() + .addComponent(viewsHideKnownCheckbox, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addGap(103, 103, 103)) + .addComponent(dataSourcesHideKnownCheckbox, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addGroup(globalSettingsPanelLayout.createSequentialGroup() + .addComponent(viewsHideSlackCheckbox, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addGap(116, 116, 116))) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED))) .addGroup(globalSettingsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(displayTimeLabel) - .addComponent(selectFileLabel) - .addComponent(translateTextLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 120, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGroup(globalSettingsPanelLayout.createSequentialGroup() + .addComponent(displayTimeLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addGap(91, 91, 91)) + .addGroup(globalSettingsPanelLayout.createSequentialGroup() + .addComponent(translateTextLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addGap(46, 46, 46)) + .addGroup(globalSettingsPanelLayout.createSequentialGroup() + .addComponent(selectFileLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addGap(90, 90, 90)) .addGroup(globalSettingsPanelLayout.createSequentialGroup() .addGap(10, 10, 10) .addGroup(globalSettingsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(fileNameTranslationColumnCheckbox) - .addComponent(keepCurrentViewerRadioButton) - .addComponent(useBestViewerRadioButton) - .addComponent(useLocalTimeRadioButton) - .addComponent(useAnotherTimeRadioButton))))) - .addGroup(globalSettingsPanelLayout.createSequentialGroup() - .addComponent(maxResultsLabel) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(maxResultsSpinner, javax.swing.GroupLayout.PREFERRED_SIZE, 74, javax.swing.GroupLayout.PREFERRED_SIZE))) - .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + .addGroup(globalSettingsPanelLayout.createSequentialGroup() + .addGap(24, 24, 24) + .addComponent(jScrollPane1)) + .addComponent(fileNameTranslationColumnCheckbox, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(useAnotherTimeRadioButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addGroup(globalSettingsPanelLayout.createSequentialGroup() + .addGroup(globalSettingsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(useLocalTimeRadioButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(keepCurrentViewerRadioButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(useBestViewerRadioButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + .addGap(44, 44, 44))))))) + .addContainerGap()) ); globalSettingsPanelLayout.setVerticalGroup( globalSettingsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) @@ -396,7 +415,7 @@ public class ViewPreferencesPanel extends JPanel implements OptionsPanel { .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(useLocalTimeRadioButton) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(useAnotherTimeRadioButton) + .addComponent(useAnotherTimeRadioButton, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 67, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) @@ -425,8 +444,8 @@ public class ViewPreferencesPanel extends JPanel implements OptionsPanel { currentCaseSettingsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(currentCaseSettingsPanelLayout.createSequentialGroup() .addContainerGap() - .addComponent(groupByDataSourceCheckbox) - .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + .addComponent(groupByDataSourceCheckbox, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addGap(474, 474, 474)) ); currentCaseSettingsPanelLayout.setVerticalGroup( currentCaseSettingsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) @@ -450,8 +469,8 @@ public class ViewPreferencesPanel extends JPanel implements OptionsPanel { currentSessionSettingsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(currentSessionSettingsPanelLayout.createSequentialGroup() .addContainerGap() - .addComponent(hideRejectedResultsCheckbox, javax.swing.GroupLayout.PREFERRED_SIZE, 259, javax.swing.GroupLayout.PREFERRED_SIZE) - .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + .addComponent(hideRejectedResultsCheckbox, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addGap(418, 418, 418)) ); currentSessionSettingsPanelLayout.setVerticalGroup( currentSessionSettingsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) @@ -480,7 +499,7 @@ public class ViewPreferencesPanel extends JPanel implements OptionsPanel { .addComponent(currentCaseSettingsPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(currentSessionSettingsPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + .addGap(0, 0, 0)) ); viewPreferencesScrollPane.setViewportView(viewPreferencesPanel); From 721906cfd918daa369b78713e03506afd46514ae Mon Sep 17 00:00:00 2001 From: William Schaefer Date: Mon, 13 Apr 2020 07:02:03 -0400 Subject: [PATCH 058/111] 6225 undo accidental merged file commit --- .../autopsy/corecomponents/Bundle.properties-MERGED | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/corecomponents/Bundle.properties-MERGED b/Core/src/org/sleuthkit/autopsy/corecomponents/Bundle.properties-MERGED index 544cfa63c0..f252420726 100755 --- a/Core/src/org/sleuthkit/autopsy/corecomponents/Bundle.properties-MERGED +++ b/Core/src/org/sleuthkit/autopsy/corecomponents/Bundle.properties-MERGED @@ -63,9 +63,9 @@ DataContentViewerHex.totalPageLabel.text_1=100 DataContentViewerHex.pageLabel2.text=Page # Product Information panel -LBL_Description=
\n Product Version: {0} ({9})
Sleuth Kit Version: {7}
Netbeans RCP Build: {8}
Java: {1}; {2}
System: {3}; {4}; {5}
Userdir: {6}
+LBL_Description=
\n Product Version: {0} ({9})
Sleuth Kit Version: {7}
Netbeans RCP Build: {8}
Java: {1}; {2}
System: {3}; {4}; {5}
Userdir: {6}
Format_OperatingSystem_Value={0} version {1} running on {2} -LBL_Copyright=
Autopsy™ is a digital forensics platform based on The Sleuth Kit™ and other tools.
Copyright © 2003-2018.
+LBL_Copyright=
Autopsy™ is a digital forensics platform based on The Sleuth Kit™ and other tools.
Copyright © 2003-2018.
SortChooser.dialogTitle=Choose Sort Criteria ThumbnailViewChildren.progress.cancelling=(Cancelling) # {0} - file name @@ -95,7 +95,7 @@ DataResultViewerThumbnail.pageNextButton.text= DataResultViewerThumbnail.imagesLabel.text=Images: DataResultViewerThumbnail.imagesRangeLabel.text=- DataResultViewerThumbnail.pageNumLabel.text=- -DataResultViewerThumbnail.filePathLabel.text=\ \ \ +DataResultViewerThumbnail.filePathLabel.text=\ DataResultViewerThumbnail.goToPageLabel.text=Go to Page: DataResultViewerThumbnail.goToPageField.text= AdvancedConfigurationDialog.cancelButton.text=Cancel @@ -129,9 +129,9 @@ DataResultViewerThumbnail.switchPage.done.errMsg=Error making thumbnails: {0} AboutWindowPanel.actVerboseLogging.text=Activate verbose logging OptionsCategory_Name_Multi_User_Settings=Multi-User OptionsCategory_Keywords_Multi_User_Options=Multi-User Settings -MultiUserSettingsPanel.lbSolrSettings.text=Solr Server Settings +MultiUserSettingsPanel.lbSolrSettings.text=Solr Settings MultiUserSettingsPanel.cbEnableMultiUser.text=Enable multi-user cases -MultiUserSettingsPanel.lbDatabaseSettings.text=Database Server Settings +MultiUserSettingsPanel.lbDatabaseSettings.text=Database Settings MultiUserSettingsPanel.validationErrMsg.incomplete=Fill in all values MultiUserSettingsPanel.nonWindowsOs.msg=Multi-user cases are only available on Windows platforms MultiUserSettingsPanel.validationErrMsg.invalidDatabasePort=Invalid database port number @@ -159,7 +159,7 @@ MultiUserSettingsPanel.tbSolrHostname.toolTipText=Hostname or IP Address MultiUserSettingsPanel.tbSolrPort.toolTipText=Port Number MultiUserSettingsPanel.lbTestMessageService.text= MultiUserSettingsPanel.bnTestMessageService.text=Test -MultiUserSettingsPanel.lbMessageServiceSettings.text=ActiveMQ Message Server Settings +MultiUserSettingsPanel.lbMessageServiceSettings.text=ActiveMQ Message Service Settings MultiUserSettingsPanel.tbMsgPort.toolTipText=Port Number MultiUserSettingsPanel.tbMsgPort.text= MultiUserSettingsPanel.tbMsgUsername.toolTipText=User Name (optional) From 32e536d9a20963530386b24339027bff6b5ccfb9 Mon Sep 17 00:00:00 2001 From: William Schaefer Date: Mon, 13 Apr 2020 11:09:06 -0400 Subject: [PATCH 059/111] 6225 codacy fixes --- .../optionspanel/ManageCasesDialog.form | 2 ++ .../optionspanel/ManageCasesDialog.java | 5 ++- .../DataContentViewerArtifact.java | 2 +- .../autopsy/filequery/ResultsPanel.form | 8 +++++ .../autopsy/filequery/ResultsPanel.java | 12 +++---- ...ataSourceIntegrityIngestSettingsPanel.java | 3 +- .../BingTranslatorSettingsPanel.form | 2 ++ .../BingTranslatorSettingsPanel.java | 5 ++- .../GoogleTranslatorSettingsPanel.form | 13 +++++-- .../GoogleTranslatorSettingsPanel.java | 34 +++++++------------ 10 files changed, 44 insertions(+), 42 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/centralrepository/optionspanel/ManageCasesDialog.form b/Core/src/org/sleuthkit/autopsy/centralrepository/optionspanel/ManageCasesDialog.form index 386ad9c76b..9ba0711f55 100644 --- a/Core/src/org/sleuthkit/autopsy/centralrepository/optionspanel/ManageCasesDialog.form +++ b/Core/src/org/sleuthkit/autopsy/centralrepository/optionspanel/ManageCasesDialog.form @@ -307,6 +307,8 @@
+ + diff --git a/Core/src/org/sleuthkit/autopsy/centralrepository/optionspanel/ManageCasesDialog.java b/Core/src/org/sleuthkit/autopsy/centralrepository/optionspanel/ManageCasesDialog.java index b30614585a..2d2cfc38bf 100644 --- a/Core/src/org/sleuthkit/autopsy/centralrepository/optionspanel/ManageCasesDialog.java +++ b/Core/src/org/sleuthkit/autopsy/centralrepository/optionspanel/ManageCasesDialog.java @@ -1,7 +1,7 @@ /* * Central Repository * - * Copyright 2018 Basis Technology Corp. + * Copyright 2018-2020 Basis Technology Corp. * Contact: carrier sleuthkit org * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -122,7 +122,7 @@ final class ManageCasesDialog extends javax.swing.JDialog { examinerEmailValueLabel = new javax.swing.JLabel(); examinerPhoneValueLabel = new javax.swing.JLabel(); closeButton = new javax.swing.JButton(); - filler1 = new javax.swing.Box.Filler(new java.awt.Dimension(0, 0), new java.awt.Dimension(0, 0), new java.awt.Dimension(32767, 0)); + javax.swing.Box.Filler filler1 = new javax.swing.Box.Filler(new java.awt.Dimension(0, 0), new java.awt.Dimension(0, 0), new java.awt.Dimension(32767, 0)); casesPanel = new javax.swing.JPanel(); casesScrollPane = new javax.swing.JScrollPane(); casesTable = new javax.swing.JTable(); @@ -412,7 +412,6 @@ final class ManageCasesDialog extends javax.swing.JDialog { private javax.swing.JLabel examinerNameValueLabel; private javax.swing.JLabel examinerPhoneLabel; private javax.swing.JLabel examinerPhoneValueLabel; - private javax.swing.Box.Filler filler1; private javax.swing.JLabel notesLabel; private javax.swing.JScrollPane notesScrollPane; private javax.swing.JTextArea notesTextArea; diff --git a/Core/src/org/sleuthkit/autopsy/corecomponents/DataContentViewerArtifact.java b/Core/src/org/sleuthkit/autopsy/corecomponents/DataContentViewerArtifact.java index 79aa2057e2..6db644be4f 100644 --- a/Core/src/org/sleuthkit/autopsy/corecomponents/DataContentViewerArtifact.java +++ b/Core/src/org/sleuthkit/autopsy/corecomponents/DataContentViewerArtifact.java @@ -1,7 +1,7 @@ /* * Autopsy Forensic Browser * - * Copyright 2011-2018 Basis Technology Corp. + * Copyright 2011-2020 Basis Technology Corp. * Contact: carrier sleuthkit org * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/Core/src/org/sleuthkit/autopsy/filequery/ResultsPanel.form b/Core/src/org/sleuthkit/autopsy/filequery/ResultsPanel.form index e7708facf4..09e12b5693 100644 --- a/Core/src/org/sleuthkit/autopsy/filequery/ResultsPanel.form +++ b/Core/src/org/sleuthkit/autopsy/filequery/ResultsPanel.form @@ -247,6 +247,8 @@ + + @@ -262,6 +264,8 @@ + + @@ -277,6 +281,8 @@ + + @@ -292,6 +298,8 @@ + + diff --git a/Core/src/org/sleuthkit/autopsy/filequery/ResultsPanel.java b/Core/src/org/sleuthkit/autopsy/filequery/ResultsPanel.java index 5dbdca0089..0acc2e1bf3 100644 --- a/Core/src/org/sleuthkit/autopsy/filequery/ResultsPanel.java +++ b/Core/src/org/sleuthkit/autopsy/filequery/ResultsPanel.java @@ -421,10 +421,10 @@ public class ResultsPanel extends javax.swing.JPanel { gotoPageField = new javax.swing.JTextField(); javax.swing.JLabel pageSizeLabel = new javax.swing.JLabel(); pageSizeComboBox = new javax.swing.JComboBox<>(); - filler1 = new javax.swing.Box.Filler(new java.awt.Dimension(0, 0), new java.awt.Dimension(0, 0), new java.awt.Dimension(32767, 0)); - filler2 = new javax.swing.Box.Filler(new java.awt.Dimension(0, 0), new java.awt.Dimension(0, 0), new java.awt.Dimension(32767, 0)); - filler3 = new javax.swing.Box.Filler(new java.awt.Dimension(0, 0), new java.awt.Dimension(0, 0), new java.awt.Dimension(32767, 0)); - filler4 = new javax.swing.Box.Filler(new java.awt.Dimension(0, 0), new java.awt.Dimension(0, 0), new java.awt.Dimension(32767, 0)); + javax.swing.Box.Filler filler1 = new javax.swing.Box.Filler(new java.awt.Dimension(0, 0), new java.awt.Dimension(0, 0), new java.awt.Dimension(32767, 0)); + javax.swing.Box.Filler filler2 = new javax.swing.Box.Filler(new java.awt.Dimension(0, 0), new java.awt.Dimension(0, 0), new java.awt.Dimension(32767, 0)); + javax.swing.Box.Filler filler3 = new javax.swing.Box.Filler(new java.awt.Dimension(0, 0), new java.awt.Dimension(0, 0), new java.awt.Dimension(32767, 0)); + javax.swing.Box.Filler filler4 = new javax.swing.Box.Filler(new java.awt.Dimension(0, 0), new java.awt.Dimension(0, 0), new java.awt.Dimension(32767, 0)); javax.swing.JSplitPane resultsSplitPane = new javax.swing.JSplitPane(); javax.swing.JPanel instancesPanel = new javax.swing.JPanel(); javax.swing.JScrollPane instancesScrollPane = new javax.swing.JScrollPane(); @@ -718,10 +718,6 @@ public class ResultsPanel extends javax.swing.JPanel { // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JLabel currentPageLabel; - private javax.swing.Box.Filler filler1; - private javax.swing.Box.Filler filler2; - private javax.swing.Box.Filler filler3; - private javax.swing.Box.Filler filler4; private javax.swing.JTextField gotoPageField; private javax.swing.JList instancesList; private javax.swing.JButton nextPageButton; diff --git a/Core/src/org/sleuthkit/autopsy/modules/dataSourceIntegrity/DataSourceIntegrityIngestSettingsPanel.java b/Core/src/org/sleuthkit/autopsy/modules/dataSourceIntegrity/DataSourceIntegrityIngestSettingsPanel.java index 37537f714a..2c83297673 100644 --- a/Core/src/org/sleuthkit/autopsy/modules/dataSourceIntegrity/DataSourceIntegrityIngestSettingsPanel.java +++ b/Core/src/org/sleuthkit/autopsy/modules/dataSourceIntegrity/DataSourceIntegrityIngestSettingsPanel.java @@ -20,7 +20,6 @@ package org.sleuthkit.autopsy.modules.dataSourceIntegrity; import org.sleuthkit.autopsy.ingest.IngestModuleIngestJobSettings; import org.sleuthkit.autopsy.ingest.IngestModuleIngestJobSettingsPanel; -import org.sleuthkit.autopsy.corecomponents.AutoWrappingJTextPane; /** * Ingest job settings panel for the Correlation Engine module. @@ -31,7 +30,7 @@ final class DataSourceIntegrityIngestSettingsPanel extends IngestModuleIngestJob /** * Creates new form DataSourceIntegrityIngestSettingsPanel */ - public DataSourceIntegrityIngestSettingsPanel(DataSourceIntegrityIngestSettings settings) { + DataSourceIntegrityIngestSettingsPanel(DataSourceIntegrityIngestSettings settings) { initComponents(); customizeComponents(settings); } diff --git a/Core/src/org/sleuthkit/autopsy/texttranslation/translators/BingTranslatorSettingsPanel.form b/Core/src/org/sleuthkit/autopsy/texttranslation/translators/BingTranslatorSettingsPanel.form index 5cacffe9a3..18cd9b97af 100644 --- a/Core/src/org/sleuthkit/autopsy/texttranslation/translators/BingTranslatorSettingsPanel.form +++ b/Core/src/org/sleuthkit/autopsy/texttranslation/translators/BingTranslatorSettingsPanel.form @@ -221,6 +221,8 @@ + + diff --git a/Core/src/org/sleuthkit/autopsy/texttranslation/translators/BingTranslatorSettingsPanel.java b/Core/src/org/sleuthkit/autopsy/texttranslation/translators/BingTranslatorSettingsPanel.java index 19d6b98944..621aec9d2a 100644 --- a/Core/src/org/sleuthkit/autopsy/texttranslation/translators/BingTranslatorSettingsPanel.java +++ b/Core/src/org/sleuthkit/autopsy/texttranslation/translators/BingTranslatorSettingsPanel.java @@ -1,7 +1,7 @@ /* * Autopsy * - * Copyright 2019 Basis Technology Corp. + * Copyright 2019-2020 Basis Technology Corp. * Contact: carrier sleuthkit org * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -141,7 +141,7 @@ public class BingTranslatorSettingsPanel extends javax.swing.JPanel { authenticationKeyLabel = new javax.swing.JLabel(); instructionsScrollPane = new javax.swing.JScrollPane(); instructionsTextArea = new javax.swing.JTextArea(); - filler1 = new javax.swing.Box.Filler(new java.awt.Dimension(0, 0), new java.awt.Dimension(0, 0), new java.awt.Dimension(32767, 0)); + javax.swing.Box.Filler filler1 = new javax.swing.Box.Filler(new java.awt.Dimension(0, 0), new java.awt.Dimension(0, 0), new java.awt.Dimension(32767, 0)); setLayout(new java.awt.GridBagLayout()); @@ -315,7 +315,6 @@ public class BingTranslatorSettingsPanel extends javax.swing.JPanel { // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JTextField authenticationKeyField; private javax.swing.JLabel authenticationKeyLabel; - private javax.swing.Box.Filler filler1; private javax.swing.JScrollPane instructionsScrollPane; private javax.swing.JTextArea instructionsTextArea; private javax.swing.JLabel resultLabel; diff --git a/Core/src/org/sleuthkit/autopsy/texttranslation/translators/GoogleTranslatorSettingsPanel.form b/Core/src/org/sleuthkit/autopsy/texttranslation/translators/GoogleTranslatorSettingsPanel.form index c30c056b62..67bf16ebf9 100644 --- a/Core/src/org/sleuthkit/autopsy/texttranslation/translators/GoogleTranslatorSettingsPanel.form +++ b/Core/src/org/sleuthkit/autopsy/texttranslation/translators/GoogleTranslatorSettingsPanel.form @@ -25,6 +25,10 @@ + + + + @@ -41,9 +45,6 @@ - - - @@ -90,6 +91,10 @@ + + + + @@ -238,6 +243,8 @@ + + diff --git a/Core/src/org/sleuthkit/autopsy/texttranslation/translators/GoogleTranslatorSettingsPanel.java b/Core/src/org/sleuthkit/autopsy/texttranslation/translators/GoogleTranslatorSettingsPanel.java index 3e5782515e..b9c6b852b1 100644 --- a/Core/src/org/sleuthkit/autopsy/texttranslation/translators/GoogleTranslatorSettingsPanel.java +++ b/Core/src/org/sleuthkit/autopsy/texttranslation/translators/GoogleTranslatorSettingsPanel.java @@ -1,7 +1,7 @@ /* * Autopsy * - * Copyright 2019 Basis Technology Corp. + * Copyright 2019-2020 Basis Technology Corp. * Contact: carrier sleuthkit org * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -186,11 +186,11 @@ public class GoogleTranslatorSettingsPanel extends javax.swing.JPanel { private void initComponents() { java.awt.GridBagConstraints gridBagConstraints; - credentialsLabel = new javax.swing.JLabel(); + javax.swing.JLabel credentialsLabel = new javax.swing.JLabel(); credentialsPathField = new javax.swing.JTextField(); browseButton = new javax.swing.JButton(); targetLanguageComboBox = new javax.swing.JComboBox<>(); - targetLanguageLabel = new javax.swing.JLabel(); + javax.swing.JLabel targetLanguageLabel = new javax.swing.JLabel(); warningLabel = new javax.swing.JLabel(); testResultValueLabel = new javax.swing.JLabel(); resultLabel = new javax.swing.JLabel(); @@ -199,7 +199,7 @@ public class GoogleTranslatorSettingsPanel extends javax.swing.JPanel { testButton = new javax.swing.JButton(); instructionsScrollPane = new javax.swing.JScrollPane(); instructionsTextArea = new javax.swing.JTextArea(); - filler1 = new javax.swing.Box.Filler(new java.awt.Dimension(0, 0), new java.awt.Dimension(0, 0), new java.awt.Dimension(32767, 0)); + javax.swing.Box.Filler filler1 = new javax.swing.Box.Filler(new java.awt.Dimension(0, 0), new java.awt.Dimension(0, 0), new java.awt.Dimension(32767, 0)); setLayout(new java.awt.GridBagLayout()); @@ -217,11 +217,6 @@ public class GoogleTranslatorSettingsPanel extends javax.swing.JPanel { credentialsPathField.setEditable(false); credentialsPathField.setMaximumSize(new java.awt.Dimension(700, 22)); credentialsPathField.setPreferredSize(new java.awt.Dimension(100, 22)); - credentialsPathField.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - credentialsPathFieldActionPerformed(evt); - } - }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 3; gridBagConstraints.gridy = 1; @@ -406,20 +401,13 @@ public class GoogleTranslatorSettingsPanel extends javax.swing.JPanel { } }//GEN-LAST:event_testButtonActionPerformed - private void credentialsPathFieldActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_credentialsPathFieldActionPerformed - // TODO add your handling code here: - }//GEN-LAST:event_credentialsPathFieldActionPerformed - // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JButton browseButton; - private javax.swing.JLabel credentialsLabel; private javax.swing.JTextField credentialsPathField; - private javax.swing.Box.Filler filler1; private javax.swing.JScrollPane instructionsScrollPane; private javax.swing.JTextArea instructionsTextArea; private javax.swing.JLabel resultLabel; private javax.swing.JComboBox targetLanguageComboBox; - private javax.swing.JLabel targetLanguageLabel; private javax.swing.JButton testButton; private javax.swing.JLabel testResultValueLabel; private javax.swing.JTextField testUntranslatedTextField; @@ -428,26 +416,28 @@ public class GoogleTranslatorSettingsPanel extends javax.swing.JPanel { // End of variables declaration//GEN-END:variables /** - * Get the currently selected target language code + * Get the currently selected target language code. * - * @return the target language code of the language selected in the combobox + * @return The target language code of the language selected in the combo + * box. */ String getTargetLanguageCode() { return targetLanguageCode; } /** - * Get the currently set path to the JSON credentials file + * Get the currently set path to the JSON credentials file. * - * @return the path to the credentials file specified in the textarea + * @return The path to the credentials file specified in the credentials + * field. */ String getCredentialsPath() { return credentialsPathField.getText(); } /** - * Listener to identfy when a combo box item has been selected and update - * the combo box to reflect that + * Listener to identify when a combo box item has been selected and update + * the combo box to reflect that selection. */ private class ComboBoxSelectionListener implements ItemListener { From 22bb45f80f281673084d1954063f6bee6ee083bf Mon Sep 17 00:00:00 2001 From: Greg DiCristofaro Date: Mon, 13 Apr 2020 11:56:40 -0400 Subject: [PATCH 060/111] added open file systems method to case open method --- .../sleuthkit/autopsy/casemodule/Case.java | 49 +++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/Core/src/org/sleuthkit/autopsy/casemodule/Case.java b/Core/src/org/sleuthkit/autopsy/casemodule/Case.java index b70845e3df..4ca47bd658 100644 --- a/Core/src/org/sleuthkit/autopsy/casemodule/Case.java +++ b/Core/src/org/sleuthkit/autopsy/casemodule/Case.java @@ -60,6 +60,7 @@ import javax.annotation.concurrent.GuardedBy; import javax.annotation.concurrent.ThreadSafe; import javax.swing.JOptionPane; import javax.swing.SwingUtilities; +import org.openide.util.Exceptions; import org.openide.util.Lookup; import org.openide.util.NbBundle; import org.openide.util.NbBundle.Messages; @@ -125,6 +126,7 @@ import org.sleuthkit.datamodel.CaseDbConnectionInfo; import org.sleuthkit.datamodel.Content; import org.sleuthkit.datamodel.ContentTag; import org.sleuthkit.datamodel.DataSource; +import org.sleuthkit.datamodel.FileSystem; import org.sleuthkit.datamodel.Image; import org.sleuthkit.datamodel.Report; import org.sleuthkit.datamodel.SleuthkitCase; @@ -1979,6 +1981,8 @@ public class Case { openAppServiceCaseResources(progressIndicator); checkForCancellation(); openCommunicationChannels(progressIndicator); + checkForCancellation(); + openFileSystems(); return null; } catch (CaseActionException ex) { @@ -1996,6 +2000,51 @@ public class Case { throw ex; } } + + /** + * Reads a sector from each file system of each image of a case to do an eager open of the filesystems in case. + * @throws CaseActionCancelledException Exception thrown if task is cancelled. + */ + private void openFileSystems() throws CaseActionCancelledException { + String caseName = (this.caseDb != null) ? this.caseDb.getDatabaseName() : "null"; + + List images = null; + try { + images = this.caseDb.getImages(); + } catch (TskCoreException ex) { + logger.log( + Level.SEVERE, + String.format("Could not obtain images while opening case: %s.", caseName), + ex); + + return; + } + + checkForCancellation(); + byte[] tempBuff = new byte[512]; + + for (Image image : images) { + Collection fileSystems = this.caseDb.getFileSystems(image); + checkForCancellation(); + for (FileSystem fileSystem : fileSystems) { + try { + fileSystem.read(tempBuff, 0, 512); + } + catch (TskCoreException ex) { + String imageStr = image.getName(); + String fileSysStr = fileSystem.getName(); + + logger.log( + Level.WARNING, + String.format("Could not open filesystem: %s in image: %s for case: %s.", fileSysStr, imageStr, caseName), + ex); + } + + checkForCancellation(); + } + + } + } /** * A case action (interface CaseAction) that opens a case, deletes From 9597e3cabd6be70fb94afbaedde42066d9f74d3d Mon Sep 17 00:00:00 2001 From: Greg DiCristofaro Date: Mon, 13 Apr 2020 13:38:41 -0400 Subject: [PATCH 061/111] initial commit --- .../org/sleuthkit/autopsy/core/Installer.java | 21 ++++++++++++++++++- .../autopsy/python/JythonModuleLoader.java | 2 +- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/core/Installer.java b/Core/src/org/sleuthkit/autopsy/core/Installer.java index 65b5fbacdb..37decea601 100644 --- a/Core/src/org/sleuthkit/autopsy/core/Installer.java +++ b/Core/src/org/sleuthkit/autopsy/core/Installer.java @@ -47,6 +47,7 @@ import org.sleuthkit.autopsy.coreutils.MessageNotifyUtil; import org.sleuthkit.autopsy.coreutils.ModuleSettings; import org.sleuthkit.autopsy.coreutils.PlatformUtil; import org.sleuthkit.autopsy.modules.filetypeid.FileTypeDetector; +import org.sleuthkit.autopsy.python.JythonModuleLoader; /** * Wrapper over Installers in packages in Core module. This is the main @@ -389,7 +390,25 @@ public class Installer extends ModuleInstall { logger.log(Level.WARNING, msg, e); } } - logger.log(Level.INFO, "Autopsy Core restore completed"); //NON-NLS + logger.log(Level.INFO, "Autopsy Core restore completed"); //NON-NLS + preloadJython(); + } + + + /** + * Runs an initial load of the Jython modules to speed ub subsequent loads. + */ + private void preloadJython() { + Runnable loader = () -> { + try { + JythonModuleLoader.getIngestModuleFactories(); + } + catch (Exception ex) { + logger.log(Level.SEVERE, "There was an error while pre-loading jython submodules.", ex); + } + + }; + new Thread(loader).run(); } @Override diff --git a/Core/src/org/sleuthkit/autopsy/python/JythonModuleLoader.java b/Core/src/org/sleuthkit/autopsy/python/JythonModuleLoader.java index 04f5e49a1e..e16e98d62c 100644 --- a/Core/src/org/sleuthkit/autopsy/python/JythonModuleLoader.java +++ b/Core/src/org/sleuthkit/autopsy/python/JythonModuleLoader.java @@ -56,7 +56,7 @@ public final class JythonModuleLoader { * @return A list of objects that implement the IngestModuleFactory * interface. */ - public static List getIngestModuleFactories() { + public static synchronized List getIngestModuleFactories() { return getInterfaceImplementations(new IngestModuleFactoryDefFilter(), IngestModuleFactory.class); } From 26b7094e18b789998636b5e644e8cb6f277d843b Mon Sep 17 00:00:00 2001 From: William Schaefer Date: Mon, 13 Apr 2020 14:20:53 -0400 Subject: [PATCH 062/111] 6225 second attempt at fixing screenshot 2 --- .../datamodel/CentralRepoDbManager.java | 255 ++++++++++-------- .../optionspanel/EamDbSettingsDialog.form | 60 +++-- .../optionspanel/EamDbSettingsDialog.java | 232 ++++++++-------- 3 files changed, 306 insertions(+), 241 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/centralrepository/datamodel/CentralRepoDbManager.java b/Core/src/org/sleuthkit/autopsy/centralrepository/datamodel/CentralRepoDbManager.java index 3fab7af47f..b0f288673b 100755 --- a/Core/src/org/sleuthkit/autopsy/centralrepository/datamodel/CentralRepoDbManager.java +++ b/Core/src/org/sleuthkit/autopsy/centralrepository/datamodel/CentralRepoDbManager.java @@ -30,7 +30,8 @@ import org.sleuthkit.autopsy.coreutils.Logger; import org.sleuthkit.autopsy.coreutils.ModuleSettings; /** - * This class contains business logic for saving and validating settings for central repository. + * This class contains business logic for saving and validating settings for + * central repository. */ public class CentralRepoDbManager { @@ -42,35 +43,40 @@ public class CentralRepoDbManager { private static final String DISABLED_DUE_TO_FAILURE_KEY = "disabledDueToFailure"; private static volatile CentralRepoDbChoice savedChoice = null; - + private static final PropertyChangeSupport propertyChangeSupport = new PropertyChangeSupport(CentralRepoDbManager.class); - + private static final Object dbChoiceLock = new Object(); private static final Object disabledDueToFailureLock = new Object(); - - - + /** - * This saves the currently selected database choice and clears any disabledDueToFailure flag. - * @param choice The choice to save. - * @return The newly saved choice. + * This saves the currently selected database choice and clears any + * disabledDueToFailure flag. + * + * @param choice The choice to save. + * + * @return The newly saved choice. */ public static CentralRepoDbChoice saveDbChoice(CentralRepoDbChoice choice) { return saveDbChoice(choice, true); } - + /** * This saves the currently selected database choice. - * @param choice The choice to save. - * @param clearDisabledDueToError Whether or not to clear the 'disabledDueToFailure' settings key. - * @return The newly saved choice. + * + * @param choice The choice to save. + * @param clearDisabledDueToError Whether or not to clear the + * 'disabledDueToFailure' settings key. + * + * @return The newly saved choice. */ public static CentralRepoDbChoice saveDbChoice(CentralRepoDbChoice choice, boolean clearDisabledDueToError) { - synchronized(dbChoiceLock) { + synchronized (dbChoiceLock) { // clear disabling due to a failure - if (clearDisabledDueToError) + if (clearDisabledDueToError) { setDisabledDueToFailure(false); - + } + // change the settings CentralRepoDbChoice newChoice = (choice == null) ? CentralRepoDbChoice.DISABLED : choice; CentralRepoDbChoice oldChoice = savedChoice; @@ -81,55 +87,61 @@ public class CentralRepoDbManager { } } - + /** - * This method indicates whether or not 'PostgreSQL using multi-user settings' is a valid option. - * @return True if 'PostgreSQL using multi-user settings' is valid. + * This method indicates whether or not 'PostgreSQL using multi-user + * settings' is a valid option. + * + * @return True if 'PostgreSQL using multi-user settings' is valid. */ public static boolean isPostgresMultiuserAllowed() { // if multi user mode is not enabled, then this cannot be used - if (!UserPreferences.getIsMultiUserModeEnabled()) + if (!UserPreferences.getIsMultiUserModeEnabled()) { return false; - + } // also validate the connection as well - PostgresCentralRepoSettings multiUserSettings = - new PostgresCentralRepoSettings(PostgresSettingsLoader.MULTIUSER_SETTINGS_LOADER); - + PostgresCentralRepoSettings multiUserSettings + = new PostgresCentralRepoSettings(PostgresSettingsLoader.MULTIUSER_SETTINGS_LOADER); + return multiUserSettings.testStatus() == DatabaseTestResult.TESTED_OK; } - /** - * This method loads the selectedPlatform boolean from the config file if it is set. + * This method loads the selectedPlatform boolean from the config file if it + * is set. */ public static CentralRepoDbChoice getSavedDbChoice() { - synchronized(dbChoiceLock) { + synchronized (dbChoiceLock) { if (savedChoice == null) { String selectedPlatformString = ModuleSettings.getConfigSetting(CENTRAL_REPOSITORY_SETTINGS_KEY, DB_SELECTED_PLATFORM_KEY); // NON-NLS savedChoice = fromKey(selectedPlatformString); } - return savedChoice; + return savedChoice; } } - + /** - * This method disables the central repository and indicates through a flag that this was due to a failure during database setup. - * This is used when re-enabling multi-user as a flag to determine whether or not CR should be re-enabled. + * This method disables the central repository and indicates through a flag + * that this was due to a failure during database setup. This is used when + * re-enabling multi-user as a flag to determine whether or not CR should be + * re-enabled. */ public static void disableDueToFailure() { CentralRepoDbUtil.setUseCentralRepo(false); setDisabledDueToFailure(true); } - + /** - * This method sets whether or not the repository has been disabled due to a database setup issue; - * This is used when re-enabling multi-user as a flag to determine whether or not CR should be re-enabled. - * - * @param disabledDueToFailure Whether or not the repository has been disabled due to a database setup issue. + * This method sets whether or not the repository has been disabled due to a + * database setup issue; This is used when re-enabling multi-user as a flag + * to determine whether or not CR should be re-enabled. + * + * @param disabledDueToFailure Whether or not the repository has been + * disabled due to a database setup issue. */ private static void setDisabledDueToFailure(boolean disabledDueToFailure) { - synchronized(disabledDueToFailureLock) { + synchronized (disabledDueToFailureLock) { boolean oldValue = isDisabledDueToFailure(); ModuleSettings.setConfigSetting(CENTRAL_REPOSITORY_SETTINGS_KEY, DISABLED_DUE_TO_FAILURE_KEY, Boolean.toString(disabledDueToFailure)); propertyChangeSupport.firePropertyChange("disabledDueToFailure", oldValue, disabledDueToFailure); @@ -137,36 +149,38 @@ public class CentralRepoDbManager { } /** - * This method retrieves setting whether or not the repository has been disabled due to a database setup issue; - * this is used when re-enabling multi-user as a flag to determine whether or not CR should be re-enabled. - * - * @return Whether or not the repository has been disabled due to a database setup issue. + * This method retrieves setting whether or not the repository has been + * disabled due to a database setup issue; this is used when re-enabling + * multi-user as a flag to determine whether or not CR should be re-enabled. + * + * @return Whether or not the repository has been disabled due to a database + * setup issue. */ public static boolean isDisabledDueToFailure() { - synchronized(disabledDueToFailureLock) { + synchronized (disabledDueToFailureLock) { return Boolean.toString(true).equals(ModuleSettings.getConfigSetting(CENTRAL_REPOSITORY_SETTINGS_KEY, DISABLED_DUE_TO_FAILURE_KEY)); } } /** - * This method adds a property change listener. - * NOTE: currently only listening for changes in currently saved db choice and disabling due to failure. - * - * @param listener The listener for the event. + * This method adds a property change listener. NOTE: currently only + * listening for changes in currently saved db choice and disabling due to + * failure. + * + * @param listener The listener for the event. */ public static void addPropertyChangeListener(PropertyChangeListener listener) { - propertyChangeSupport.addPropertyChangeListener(listener); - } + propertyChangeSupport.addPropertyChangeListener(listener); + } /** * This method removes a propert change listener. - * @param listener The listener to remove. + * + * @param listener The listener to remove. */ - public static void removePropertyChangeListener(PropertyChangeListener listener) { - propertyChangeSupport.removePropertyChangeListener(listener); - } - - + public static void removePropertyChangeListener(PropertyChangeListener listener) { + propertyChangeSupport.removePropertyChangeListener(listener); + } private static CentralRepoDbChoice fromKey(String keyName) { for (CentralRepoDbChoice dbChoice : CentralRepoDbChoice.values()) { @@ -178,12 +192,11 @@ public class CentralRepoDbManager { return CentralRepoDbChoice.DISABLED; } - - /** * This method obtains the database connectivity for central repository. * * @return The CentralRepository object that will be used for connection. + * * @throws CentralRepoException */ private static CentralRepository obtainCentralRepository() throws CentralRepoException { @@ -203,8 +216,10 @@ public class CentralRepoDbManager { /** * This method obtains a central repository lock. * - * @param db The database connection. - * @return The lock if acquired. + * @param db The database connection. + * + * @return The lock if acquired. + * * @throws CentralRepoException */ private static CoordinationService.Lock obtainCentralRepoLock(CentralRepository db) throws CentralRepoException { @@ -227,8 +242,9 @@ public class CentralRepoDbManager { /** * This method updates the central repository schema if necessary. * - * @param db The database connectivity object. - * @param lock The acquired lock. + * @param db The database connectivity object. + * @param lock The acquired lock. + * * @throws CentralRepoException */ private static void updatedDbSchema(CentralRepository db, CoordinationService.Lock lock) throws CentralRepoException { @@ -257,9 +273,9 @@ public class CentralRepoDbManager { } /** - * This method upgrades the current Central Reposity schema to the newest version. If the - * upgrade fails, the Central Repository will be disabled and the current - * settings will be cleared. + * This method upgrades the current Central Reposity schema to the newest + * version. If the upgrade fails, the Central Repository will be disabled + * and the current settings will be cleared. */ @NbBundle.Messages(value = {"EamDbUtil.centralRepoDisabled.message= The Central Repository has been disabled.", "EamDbUtil.centralRepoUpgradeFailed.message=Failed to upgrade Central Repository.", "EamDbUtil.centralRepoConnectionFailed.message=Unable to connect to Central Repository.", "EamDbUtil.exclusiveLockAquisitionFailure.message=Unable to acquire exclusive lock for Central Repository."}) public static void upgradeDatabase() throws CentralRepoException { @@ -296,8 +312,6 @@ public class CentralRepoDbManager { } } - - private DatabaseTestResult testingStatus; private CentralRepoDbChoice selectedDbChoice; @@ -314,10 +328,10 @@ public class CentralRepoDbManager { dbSettingsSqlite = new SqliteCentralRepoSettings(); } - /** * This method retrieves the current multi-user database settings. - * @return The current multi-user database settings. + * + * @return The current multi-user database settings. */ public PostgresCentralRepoSettings getDbSettingsMultiUser() { return dbSettingsMultiUser; @@ -325,15 +339,18 @@ public class CentralRepoDbManager { /** * This method retrieves the current custom postgres database settings. - * @return The current custom postgres database settings. + * + * @return The current custom postgres database settings. */ public PostgresCentralRepoSettings getDbSettingsPostgres() { return dbSettingsPostgres; } /** - * This method returns the current SQLite database settings for central repository. - * @return The current SQLite database settings + * This method returns the current SQLite database settings for central + * repository. + * + * @return The current SQLite database settings */ public SqliteCentralRepoSettings getDbSettingsSqlite() { return dbSettingsSqlite; @@ -341,7 +358,8 @@ public class CentralRepoDbManager { /** * This method sets up the sqlite database with default settings. - * @throws CentralRepoException if unable to successfully set up database. + * + * @throws CentralRepoException if unable to successfully set up database. */ public void setupDefaultSqliteDb() throws CentralRepoException { // change in-memory settings to default sqlite @@ -354,67 +372,78 @@ public class CentralRepoDbManager { createDb(); curStatus = testStatus(); } - + // the only successful setup status is tested ok if (curStatus != DatabaseTestResult.TESTED_OK) { throw new CentralRepoException("Unable to successfully create sqlite database"); } - + // if successfully got here, then save the settings CentralRepoDbUtil.setUseCentralRepo(true); saveNewCentralRepo(); } /** - * This method returns if changes to the central repository configuration were - * successfully applied. + * This method returns if changes to the central repository configuration + * were successfully applied. * - * @return Returns true if the database configuration was successfully changed false - * if it was not. + * @return Returns true if the database configuration was successfully + * changed false if it was not. */ public boolean wasConfigurationChanged() { return configurationChanged; } private CentralRepoDbConnectivityManager getSelectedSettings() throws CentralRepoException { - if (selectedDbChoice == CentralRepoDbChoice.POSTGRESQL_MULTIUSER) + if (selectedDbChoice == CentralRepoDbChoice.POSTGRESQL_MULTIUSER) { return dbSettingsMultiUser; - if (selectedDbChoice == CentralRepoDbChoice.POSTGRESQL_CUSTOM) + } + if (selectedDbChoice == CentralRepoDbChoice.POSTGRESQL_CUSTOM) { return dbSettingsPostgres; - if (selectedDbChoice == CentralRepoDbChoice.SQLITE) + } + if (selectedDbChoice == CentralRepoDbChoice.SQLITE) { return dbSettingsSqlite; - if (selectedDbChoice == CentralRepoDbChoice.DISABLED) + } + if (selectedDbChoice == CentralRepoDbChoice.DISABLED) { return null; - - throw new CentralRepoException("Unknown database type: " + selectedDbChoice); + } + + throw new CentralRepoException("Unknown database type: " + selectedDbChoice); } private RdbmsCentralRepoFactory getDbFactory() throws CentralRepoException { - if (selectedDbChoice == CentralRepoDbChoice.POSTGRESQL_MULTIUSER) + if (selectedDbChoice == CentralRepoDbChoice.POSTGRESQL_MULTIUSER) { return new RdbmsCentralRepoFactory(CentralRepoPlatforms.POSTGRESQL, dbSettingsMultiUser); - if (selectedDbChoice == CentralRepoDbChoice.POSTGRESQL_CUSTOM) + } + if (selectedDbChoice == CentralRepoDbChoice.POSTGRESQL_CUSTOM) { return new RdbmsCentralRepoFactory(CentralRepoPlatforms.POSTGRESQL, dbSettingsPostgres); - if (selectedDbChoice == CentralRepoDbChoice.SQLITE) + } + if (selectedDbChoice == CentralRepoDbChoice.SQLITE) { return new RdbmsCentralRepoFactory(CentralRepoPlatforms.SQLITE, dbSettingsSqlite); - if (selectedDbChoice == CentralRepoDbChoice.DISABLED) + } + if (selectedDbChoice == CentralRepoDbChoice.DISABLED) { return null; - + } + throw new CentralRepoException("Unknown database type: " + selectedDbChoice); } /** * This method creates a central repo database if it does not already exist. - * @return True if successful; false if unsuccessful. + * + * @return True if successful; false if unsuccessful. + * * @throws CentralRepoException */ public boolean createDb() throws CentralRepoException { CentralRepoDbConnectivityManager selectedDbSettings = getSelectedSettings(); - if (selectedDbSettings == null) + if (selectedDbSettings == null) { throw new CentralRepoException("Unable to derive connectivity manager from settings: " + selectedDbChoice); + } boolean result = false; boolean dbCreated = true; - + if (!selectedDbSettings.verifyDatabaseExists()) { dbCreated = selectedDbSettings.createDatabase(); } @@ -493,18 +522,20 @@ public class CentralRepoDbManager { } /** - * This method retrieves the current status. - * Note: this could be a dirty value if testing of the connection has not been performed. - * @return The current status of the database connection. + * This method retrieves the current status. Note: this could be a dirty + * value if testing of the connection has not been performed. + * + * @return The current status of the database connection. */ public DatabaseTestResult getStatus() { return testingStatus; } /** - * This method retrieves the currently selected database choice. - * NOTE: This choice may not align with the saved setting. - * @return The currently selected database choice. + * This method retrieves the currently selected database choice. NOTE: This + * choice may not align with the saved setting. + * + * @return The currently selected database choice. */ public CentralRepoDbChoice getSelectedDbChoice() { return selectedDbChoice; @@ -518,8 +549,10 @@ public class CentralRepoDbManager { } /** - * This method sets the currently selected database choice and sets the testing status to untested. - * @param newSelected The new database choice. + * This method sets the currently selected database choice and sets the + * testing status to untested. + * + * @param newSelected The new database choice. */ public void setSelctedDbChoice(CentralRepoDbChoice newSelected) { selectedDbChoice = newSelected; @@ -527,8 +560,8 @@ public class CentralRepoDbManager { } /** - * This method tests whether or not the settings have been filled in for the UI. - * NOTE: This does not check the connectivity status of these settings. + * This method tests whether or not the settings have been filled in for the + * UI. NOTE: This does not check the connectivity status of these settings. * * @return True if database settings are valid. */ @@ -541,13 +574,11 @@ public class CentralRepoDbManager { dbSettingsPostgres.setDbName(CENTRAL_REPO_DB_NAME); dbSettingsPostgres.setUserName(tbDbUsername); dbSettingsPostgres.setPassword(jpDbPassword); - } - else if (selectedDbChoice == CentralRepoDbChoice.SQLITE) { + } else if (selectedDbChoice == CentralRepoDbChoice.SQLITE) { File databasePath = new File(tfDatabasePath); dbSettingsSqlite.setDbName(SqliteCentralRepoSettings.DEFAULT_DBNAME); dbSettingsSqlite.setDbDirectory(databasePath.getPath()); - } - else if (selectedDbChoice != CentralRepoDbChoice.POSTGRESQL_MULTIUSER) { + } else if (selectedDbChoice != CentralRepoDbChoice.POSTGRESQL_MULTIUSER) { throw new IllegalStateException("Central Repo has an unknown selected platform: " + selectedDbChoice); } @@ -555,19 +586,21 @@ public class CentralRepoDbManager { } /** - * This method tests the current database settings to see if a valid connection can be made. - * @return The result of testing the connection. + * This method tests the current database settings to see if a valid + * connection can be made. + * + * @return The result of testing the connection. */ public DatabaseTestResult testStatus() { try { CentralRepoDbConnectivityManager manager = getSelectedSettings(); - if (manager != null) + if (manager != null) { testingStatus = manager.testStatus(); - } - catch (CentralRepoException e) { + } + } catch (CentralRepoException e) { logger.log(Level.WARNING, "unable to test status of db connection in central repo", e); } - + return testingStatus; } } diff --git a/Core/src/org/sleuthkit/autopsy/centralrepository/optionspanel/EamDbSettingsDialog.form b/Core/src/org/sleuthkit/autopsy/centralrepository/optionspanel/EamDbSettingsDialog.form index 8d074c0ef3..d8460c48c7 100644 --- a/Core/src/org/sleuthkit/autopsy/centralrepository/optionspanel/EamDbSettingsDialog.form +++ b/Core/src/org/sleuthkit/autopsy/centralrepository/optionspanel/EamDbSettingsDialog.form @@ -38,7 +38,7 @@ - + @@ -94,8 +94,11 @@ + + + - + @@ -109,8 +112,11 @@ + + + - + @@ -127,7 +133,7 @@ - + @@ -136,8 +142,11 @@ + + + - + @@ -154,7 +163,7 @@ - + @@ -163,8 +172,11 @@ + + + - + @@ -181,7 +193,7 @@ - + @@ -190,8 +202,11 @@ + + + - + @@ -208,7 +223,7 @@ - +
@@ -218,13 +233,13 @@ - + - + @@ -238,8 +253,11 @@ + + + - + @@ -296,7 +314,7 @@ - + @@ -304,11 +322,11 @@ - - - + + + - + @@ -362,10 +380,10 @@ - - + + - + diff --git a/Core/src/org/sleuthkit/autopsy/centralrepository/optionspanel/EamDbSettingsDialog.java b/Core/src/org/sleuthkit/autopsy/centralrepository/optionspanel/EamDbSettingsDialog.java index fb78f049b5..675e7c8807 100644 --- a/Core/src/org/sleuthkit/autopsy/centralrepository/optionspanel/EamDbSettingsDialog.java +++ b/Core/src/org/sleuthkit/autopsy/centralrepository/optionspanel/EamDbSettingsDialog.java @@ -41,7 +41,6 @@ import javax.swing.SwingUtilities; import javax.swing.event.DocumentEvent; import javax.swing.event.DocumentListener; import javax.swing.filechooser.FileFilter; -import org.netbeans.spi.options.OptionsPanelController; import org.openide.util.NbBundle; import org.openide.util.NbBundle.Messages; import org.openide.windows.WindowManager; @@ -61,15 +60,17 @@ import org.sleuthkit.autopsy.centralrepository.datamodel.SqliteCentralRepoSettin public class EamDbSettingsDialog extends JDialog { private static final Logger logger = Logger.getLogger(EamDbSettingsDialog.class.getName()); - + private static final long serialVersionUID = 1L; - + /** - * This class handles displaying and rendering drop down menu for database choices in central repo. + * This class handles displaying and rendering drop down menu for database + * choices in central repo. */ private class DbChoiceRenderer extends JLabel implements ListCellRenderer, Serializable { + private static final long serialVersionUID = 1L; - + @Override public Component getListCellRendererComponent( JList list, CentralRepoDbChoice value, @@ -82,22 +83,20 @@ public class EamDbSettingsDialog extends JDialog { return this; } } - - + private final Collection textBoxes; private final TextBoxChangedListener textBoxChangedListener; private final CentralRepoDbManager manager = new CentralRepoDbManager(); private final DbChoiceRenderer DB_CHOICE_RENDERER = new DbChoiceRenderer(); - + public EamDbSettingsDialog() { this(null); } - + private boolean isDbChoiceSelectable(CentralRepoDbChoice item) { - return (item != CentralRepoDbChoice.POSTGRESQL_MULTIUSER || manager.isPostgresMultiuserAllowed()); + return (item != CentralRepoDbChoice.POSTGRESQL_MULTIUSER || CentralRepoDbManager.isPostgresMultiuserAllowed()); } - - + /** * Creates new form EamDbSettingsDialog */ @@ -123,7 +122,7 @@ public class EamDbSettingsDialog extends JDialog { if (pathname.isDirectory()) { return true; } - return pathname.getName().equalsIgnoreCase(SqliteCentralRepoSettings.DEFAULT_DBNAME); + return pathname.getName().equalsIgnoreCase(SqliteCentralRepoSettings.DEFAULT_DBNAME); } @Override @@ -131,32 +130,34 @@ public class EamDbSettingsDialog extends JDialog { return "Directories and Central Repository databases"; } }); - + setupDbChoice(initialMenuItem); valid(); display(); } - private void setupDbChoice(CentralRepoDbChoice initialMenuItem) { // setup initially selected item - CentralRepoDbChoice toSelect = (initialMenuItem == null) ? - (Arrays.asList(CentralRepoDbChoice.DB_CHOICES).contains(manager.getSelectedDbChoice())) ? - manager.getSelectedDbChoice() : - CentralRepoDbChoice.DB_CHOICES[0] : - initialMenuItem; - + CentralRepoDbChoice toSelect = (initialMenuItem == null) + ? (Arrays.asList(CentralRepoDbChoice.DB_CHOICES).contains(manager.getSelectedDbChoice())) + ? manager.getSelectedDbChoice() + : CentralRepoDbChoice.DB_CHOICES[0] + : initialMenuItem; + cbDatabaseType.setRenderer(DB_CHOICE_RENDERER); changeDbSelection(toSelect); } - - - - /** - * This method prompts user based on testing status (i.e. failure to connect, invalid schema, db does not exist, etc.). - * @param manager The manager to use when setting up the database. - * @param dialog If non-null value, validates settings and updates 'okay' button enabled state. - * @return Whether or not the ultimate status after prompts is okay to continue. + + /** + * This method prompts user based on testing status (i.e. failure to + * connect, invalid schema, db does not exist, etc.). + * + * @param manager The manager to use when setting up the database. + * @param dialog If non-null value, validates settings and updates 'okay' + * button enabled state. + * + * @return Whether or not the ultimate status after prompts is okay to + * continue. */ @NbBundle.Messages({"EamDbSettingsDialog.okButton.corruptDatabaseExists.title=Error Loading Central Repository Database", "EamDbSettingsDialog.okButton.corruptDatabaseExists.message=Central Repository Database exists but is not the right format. Manually delete it or choose a different path (if applicable).", @@ -184,13 +185,13 @@ public class EamDbSettingsDialog extends JDialog { } return (manager.getStatus() == DatabaseTestResult.TESTED_OK); - } - - - /** - * This method prompts the user whether or not they would like to create a database in the instance that - * it doesn't exist. - * @param manager The manager to use when setting up the database. + } + + /** + * This method prompts the user whether or not they would like to create a + * database in the instance that it doesn't exist. + * + * @param manager The manager to use when setting up the database. * @param dialog If non-null value, validates settings and updates 'okay' * button enabled state. * @@ -204,26 +205,28 @@ public class EamDbSettingsDialog extends JDialog { JOptionPane.YES_NO_OPTION)) { try { manager.createDb(); - + } catch (CentralRepoException e) { onPromptStatusError(manager); return false; } - + if (dialog != null) { dialog.valid(); } return true; } - + return manager.testStatus() == DatabaseTestResult.TESTED_OK; } - /** - * When an error occurs while going through promptTestStatusWarning, this method is called. - * @param manager1 The manager to use as service class. - * @throws HeadlessException + * When an error occurs while going through promptTestStatusWarning, this + * method is called. + * + * @param manager1 The manager to use as service class. + * + * @throws HeadlessException */ private static void onPromptStatusError(CentralRepoDbManager manager1) { // in the event that there is a failure to connect, notify user with corresponding message @@ -240,7 +243,6 @@ public class EamDbSettingsDialog extends JDialog { Bundle.EamDbSettingsDialog_okButton_createDbError_title(), JOptionPane.WARNING_MESSAGE); } - /** * This method is called from within the constructor to initialize the form. @@ -296,7 +298,8 @@ public class EamDbSettingsDialog extends JDialog { pnSQLiteSettings.setLayout(new java.awt.GridBagLayout()); org.openide.awt.Mnemonics.setLocalizedText(lbDatabasePath, org.openide.util.NbBundle.getMessage(EamDbSettingsDialog.class, "EamDbSettingsDialog.lbDatabasePath.text")); // NOI18N - lbDatabasePath.setPreferredSize(new java.awt.Dimension(80, 14)); + lbDatabasePath.setMaximumSize(new java.awt.Dimension(191, 16)); + lbDatabasePath.setPreferredSize(new java.awt.Dimension(100, 14)); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 1; @@ -307,7 +310,8 @@ public class EamDbSettingsDialog extends JDialog { pnSQLiteSettings.add(lbDatabasePath, gridBagConstraints); org.openide.awt.Mnemonics.setLocalizedText(lbHostName, org.openide.util.NbBundle.getMessage(EamDbSettingsDialog.class, "EamDbSettingsDialog.lbHostName.text")); // NOI18N - lbHostName.setPreferredSize(new java.awt.Dimension(80, 14)); + lbHostName.setMaximumSize(new java.awt.Dimension(195, 16)); + lbHostName.setPreferredSize(new java.awt.Dimension(110, 14)); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 3; @@ -322,12 +326,14 @@ public class EamDbSettingsDialog extends JDialog { gridBagConstraints.gridx = 2; gridBagConstraints.gridy = 3; gridBagConstraints.gridheight = 2; + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; gridBagConstraints.insets = new java.awt.Insets(7, 10, 0, 6); pnSQLiteSettings.add(tbDbHostname, gridBagConstraints); org.openide.awt.Mnemonics.setLocalizedText(lbPort, org.openide.util.NbBundle.getMessage(EamDbSettingsDialog.class, "EamDbSettingsDialog.lbPort.text")); // NOI18N - lbPort.setPreferredSize(new java.awt.Dimension(80, 14)); + lbPort.setMaximumSize(new java.awt.Dimension(132, 16)); + lbPort.setPreferredSize(new java.awt.Dimension(90, 14)); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 5; @@ -342,12 +348,14 @@ public class EamDbSettingsDialog extends JDialog { gridBagConstraints.gridx = 2; gridBagConstraints.gridy = 5; gridBagConstraints.gridheight = 2; + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; gridBagConstraints.insets = new java.awt.Insets(7, 10, 0, 6); pnSQLiteSettings.add(tbDbPort, gridBagConstraints); org.openide.awt.Mnemonics.setLocalizedText(lbUserName, org.openide.util.NbBundle.getMessage(EamDbSettingsDialog.class, "EamDbSettingsDialog.lbUserName.text")); // NOI18N - lbUserName.setPreferredSize(new java.awt.Dimension(80, 14)); + lbUserName.setMaximumSize(new java.awt.Dimension(172, 16)); + lbUserName.setPreferredSize(new java.awt.Dimension(100, 14)); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 7; @@ -362,12 +370,14 @@ public class EamDbSettingsDialog extends JDialog { gridBagConstraints.gridx = 2; gridBagConstraints.gridy = 7; gridBagConstraints.gridheight = 2; + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; gridBagConstraints.insets = new java.awt.Insets(7, 10, 0, 6); pnSQLiteSettings.add(tbDbUsername, gridBagConstraints); org.openide.awt.Mnemonics.setLocalizedText(lbUserPassword, org.openide.util.NbBundle.getMessage(EamDbSettingsDialog.class, "EamDbSettingsDialog.lbUserPassword.text")); // NOI18N - lbUserPassword.setPreferredSize(new java.awt.Dimension(80, 14)); + lbUserPassword.setMaximumSize(new java.awt.Dimension(194, 16)); + lbUserPassword.setPreferredSize(new java.awt.Dimension(110, 14)); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 9; @@ -382,14 +392,15 @@ public class EamDbSettingsDialog extends JDialog { gridBagConstraints.gridx = 2; gridBagConstraints.gridy = 9; gridBagConstraints.gridheight = 2; + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; gridBagConstraints.insets = new java.awt.Insets(7, 10, 0, 6); pnSQLiteSettings.add(jpDbPassword, gridBagConstraints); org.openide.awt.Mnemonics.setLocalizedText(lbDatabaseType, org.openide.util.NbBundle.getMessage(EamDbSettingsDialog.class, "EamDbSettingsDialog.lbDatabaseType.text")); // NOI18N - lbDatabaseType.setMaximumSize(new java.awt.Dimension(80, 14)); + lbDatabaseType.setMaximumSize(new java.awt.Dimension(180, 14)); lbDatabaseType.setMinimumSize(new java.awt.Dimension(80, 14)); - lbDatabaseType.setPreferredSize(new java.awt.Dimension(80, 14)); + lbDatabaseType.setPreferredSize(new java.awt.Dimension(100, 14)); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 0; @@ -400,7 +411,8 @@ public class EamDbSettingsDialog extends JDialog { pnSQLiteSettings.add(lbDatabaseType, gridBagConstraints); org.openide.awt.Mnemonics.setLocalizedText(lbDatabaseDesc, org.openide.util.NbBundle.getMessage(EamDbSettingsDialog.class, "EamDbSettingsDialog.lbDatabaseDesc.text")); // NOI18N - lbDatabaseDesc.setPreferredSize(new java.awt.Dimension(80, 14)); + lbDatabaseDesc.setMaximumSize(new java.awt.Dimension(182, 16)); + lbDatabaseDesc.setPreferredSize(new java.awt.Dimension(100, 14)); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 11; @@ -452,7 +464,7 @@ public class EamDbSettingsDialog extends JDialog { pathPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(pathPanelLayout.createSequentialGroup() .addGap(0, 0, 0) - .addComponent(tfDatabasePath, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(tfDatabasePath, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(bnDatabasePathFileOpen) .addGap(0, 0, 0)) @@ -471,6 +483,7 @@ public class EamDbSettingsDialog extends JDialog { gridBagConstraints.gridx = 2; gridBagConstraints.gridy = 1; gridBagConstraints.gridheight = 2; + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; gridBagConstraints.insets = new java.awt.Insets(7, 10, 0, 6); pnSQLiteSettings.add(pathPanel, gridBagConstraints); @@ -492,9 +505,9 @@ public class EamDbSettingsDialog extends JDialog { typePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(typePanelLayout.createSequentialGroup() .addGap(0, 0, 0) - .addComponent(cbDatabaseType, javax.swing.GroupLayout.PREFERRED_SIZE, 210, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(cbDatabaseType, 0, 210, Short.MAX_VALUE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) - .addComponent(lbSingleUserSqLite, javax.swing.GroupLayout.DEFAULT_SIZE, 318, Short.MAX_VALUE) + .addComponent(lbSingleUserSqLite, javax.swing.GroupLayout.DEFAULT_SIZE, 303, Short.MAX_VALUE) .addGap(0, 0, 0)) ); typePanelLayout.setVerticalGroup( @@ -545,7 +558,7 @@ public class EamDbSettingsDialog extends JDialog { .addComponent(bnOk) .addGap(11, 11, 11) .addComponent(bnCancel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addComponent(pnSQLiteSettings, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + .addComponent(pnSQLiteSettings, javax.swing.GroupLayout.DEFAULT_SIZE, 648, Short.MAX_VALUE)) .addContainerGap()) ); @@ -575,12 +588,10 @@ public class EamDbSettingsDialog extends JDialog { if (manager.getSelectedDbChoice() == CentralRepoDbChoice.SQLITE) { updatePostgresFields(false); updateSqliteFields(true); - } - else if (manager.getSelectedDbChoice() == CentralRepoDbChoice.POSTGRESQL_CUSTOM) { + } else if (manager.getSelectedDbChoice() == CentralRepoDbChoice.POSTGRESQL_CUSTOM) { updatePostgresFields(true); updateSqliteFields(false); - } - else { + } else { updatePostgresFields(false); updateSqliteFields(false); } @@ -615,53 +626,63 @@ public class EamDbSettingsDialog extends JDialog { "EamDbSettingsDialog.okButton.errorMsg.text=Please restart Autopsy to begin using the new database platform.", "EamDbSettingsDialog.okButton.connectionErrorMsg.text=Failed to connect to central repository database."}) private void bnOkActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_bnOkActionPerformed - if (testStatusAndCreate(this, manager, this)) + if (testStatusAndCreate(this, manager, this)) { dispose(); + } }//GEN-LAST:event_bnOkActionPerformed - /** - * This method tests status for central repo db / creation and prompts user accordingly. - * @param parent The parent component (the anchor for displaying dialogs). - * @param manager The central repo db manager with settings to be tested and saved. - * @return Whether or not central repo db was successfully be created or found. + * This method tests status for central repo db / creation and prompts user + * accordingly. + * + * @param parent The parent component (the anchor for displaying dialogs). + * @param manager The central repo db manager with settings to be tested and + * saved. + * + * @return Whether or not central repo db was successfully be created or + * found. */ public static boolean testStatusAndCreate(Component parent, CentralRepoDbManager manager) { return testStatusAndCreate(parent, manager, null); } - - + /** - * This method tests status for central repo db / creation and prompts user accordingly. - * @param parent The parent component (the anchor for displaying dialogs). - * @param manager The central repo db manager with settings to be tested and saved. - * @param dialog The db settings dialog; if non-null, will validate okay button state. - * @return Whether or not central repo db was successfully be created or found. + * This method tests status for central repo db / creation and prompts user + * accordingly. + * + * @param parent The parent component (the anchor for displaying dialogs). + * @param manager The central repo db manager with settings to be tested and + * saved. + * @param dialog The db settings dialog; if non-null, will validate okay + * button state. + * + * @return Whether or not central repo db was successfully be created or + * found. */ private static boolean testStatusAndCreate(Component parent, CentralRepoDbManager manager, EamDbSettingsDialog dialog) { parent.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR)); manager.testStatus(); - - if (dialog != null) + + if (dialog != null) { dialog.valid(); - + } + boolean testedOk = promptTestStatusWarnings(manager, dialog); if (!testedOk) { parent.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR)); return false; } - - try{ + + try { manager.saveNewCentralRepo(); - } - catch (CentralRepoException e) { + } catch (CentralRepoException e) { SwingUtilities.invokeLater(() -> { JOptionPane.showMessageDialog(parent, - Bundle.EamDbSettingsDialog_okButton_errorMsg_text(), - Bundle.EamDbSettingsDialog_okButton_errorTitle_text(), - JOptionPane.WARNING_MESSAGE); + Bundle.EamDbSettingsDialog_okButton_errorMsg_text(), + Bundle.EamDbSettingsDialog_okButton_errorTitle_text(), + JOptionPane.WARNING_MESSAGE); }); - + parent.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR)); return false; } @@ -669,14 +690,13 @@ public class EamDbSettingsDialog extends JDialog { parent.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR)); return true; } - - + /** - * This method returns if changes to the central repository configuration were - * successfully applied. + * This method returns if changes to the central repository configuration + * were successfully applied. * - * @return True if the database configuration was successfully changed; false - * if it was not. + * @return True if the database configuration was successfully changed; + * false if it was not. */ public boolean wasConfigurationChanged() { return manager.wasConfigurationChanged(); @@ -696,11 +716,10 @@ public class EamDbSettingsDialog extends JDialog { if (isDbChoiceSelectable(selectedItem)) { manager.setSelctedDbChoice(selectedItem); cbDatabaseType.setSelectedItem(selectedItem); - } - else { + } else { cbDatabaseType.setSelectedItem(manager.getSelectedDbChoice()); } - + customizeComponents(); } @@ -712,14 +731,14 @@ public class EamDbSettingsDialog extends JDialog { private void displayDatabaseSettings(CentralRepoDbChoice choice) { boolean isSqlite = choice == CentralRepoDbChoice.SQLITE; boolean isPostgres = choice == CentralRepoDbChoice.POSTGRESQL_CUSTOM; - + lbDatabasePath.setVisible(isSqlite); tfDatabasePath.setVisible(isSqlite); lbDatabaseDesc.setVisible(isSqlite); dataBaseFileTextArea.setVisible(isSqlite); lbSingleUserSqLite.setVisible(isSqlite); bnDatabasePathFileOpen.setVisible(isSqlite); - + lbHostName.setVisible(isPostgres); tbDbHostname.setVisible(isPostgres); lbPort.setVisible(isPostgres); @@ -800,7 +819,7 @@ public class EamDbSettingsDialog extends JDialog { * Adds a change listener to a collection of text fields. * * @param textFields The text fields. - * @param listener The change listener. + * @param listener The change listener. */ private static void addDocumentListeners(Collection textFields, TextBoxChangedListener listener) { textFields.forEach((textField) -> { @@ -823,8 +842,7 @@ public class EamDbSettingsDialog extends JDialog { // && !tbDbName.getText().trim().isEmpty() && !tbDbUsername.getText().trim().isEmpty() && 0 < jpDbPassword.getPassword().length; - } - else if (manager.getSelectedDbChoice() == CentralRepoDbChoice.SQLITE) { + } else if (manager.getSelectedDbChoice() == CentralRepoDbChoice.SQLITE) { result = !tfDatabasePath.getText().trim().isEmpty(); } @@ -841,7 +859,6 @@ public class EamDbSettingsDialog extends JDialog { && databaseSettingsAreValid(); } - /** * Validates that the form is filled out correctly for our usage. * @@ -867,9 +884,7 @@ public class EamDbSettingsDialog extends JDialog { return true; } - - - + /** * Tests whether or not the database settings are valid. * @@ -878,16 +893,15 @@ public class EamDbSettingsDialog extends JDialog { private boolean databaseSettingsAreValid() { try { manager.testDatabaseSettingsAreValid( - tbDbHostname.getText().trim(), - tbDbPort.getText().trim(), - tbDbUsername.getText().trim(), - tfDatabasePath.getText().trim(), + tbDbHostname.getText().trim(), + tbDbPort.getText().trim(), + tbDbUsername.getText().trim(), + tfDatabasePath.getText().trim(), new String(jpDbPassword.getPassword())); - } - catch (CentralRepoException | NumberFormatException | IllegalStateException e) { + } catch (CentralRepoException | NumberFormatException | IllegalStateException e) { return false; } - + return true; } From 077eedfef0210a64847b8579d24bb66f2f9293e0 Mon Sep 17 00:00:00 2001 From: William Schaefer Date: Mon, 13 Apr 2020 14:39:36 -0400 Subject: [PATCH 063/111] 6225 second attempt at screenshot 4 --- .../optionspanel/ManageCasesDialog.form | 34 ++++++++++++++++--- .../optionspanel/ManageCasesDialog.java | 17 +++++++--- 2 files changed, 42 insertions(+), 9 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/centralrepository/optionspanel/ManageCasesDialog.form b/Core/src/org/sleuthkit/autopsy/centralrepository/optionspanel/ManageCasesDialog.form index 9ba0711f55..f7c005b254 100644 --- a/Core/src/org/sleuthkit/autopsy/centralrepository/optionspanel/ManageCasesDialog.form +++ b/Core/src/org/sleuthkit/autopsy/centralrepository/optionspanel/ManageCasesDialog.form @@ -129,10 +129,13 @@ + + + - +
@@ -144,6 +147,9 @@ + + + @@ -159,10 +165,13 @@ + + + - +
@@ -174,6 +183,9 @@ + + + @@ -186,9 +198,12 @@ - + + + + @@ -204,6 +219,9 @@ + + + @@ -219,6 +237,9 @@ + + + @@ -234,6 +255,9 @@ + + + @@ -282,13 +306,13 @@ - + - + diff --git a/Core/src/org/sleuthkit/autopsy/centralrepository/optionspanel/ManageCasesDialog.java b/Core/src/org/sleuthkit/autopsy/centralrepository/optionspanel/ManageCasesDialog.java index 2d2cfc38bf..b4aa36f78a 100644 --- a/Core/src/org/sleuthkit/autopsy/centralrepository/optionspanel/ManageCasesDialog.java +++ b/Core/src/org/sleuthkit/autopsy/centralrepository/optionspanel/ManageCasesDialog.java @@ -176,10 +176,11 @@ final class ManageCasesDialog extends javax.swing.JDialog { org.openide.awt.Mnemonics.setLocalizedText(caseInfoLabel, org.openide.util.NbBundle.getMessage(ManageCasesDialog.class, "ManageCasesDialog.caseInfoLabel.text")); // NOI18N caseInfoLabel.setMaximumSize(new java.awt.Dimension(237, 16)); + caseInfoLabel.setPreferredSize(new java.awt.Dimension(130, 16)); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 0; - gridBagConstraints.gridwidth = 2; + gridBagConstraints.gridwidth = 4; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; gridBagConstraints.insets = new java.awt.Insets(13, 12, 0, 0); @@ -187,6 +188,7 @@ final class ManageCasesDialog extends javax.swing.JDialog { org.openide.awt.Mnemonics.setLocalizedText(dataSourcesLabel, org.openide.util.NbBundle.getMessage(ManageCasesDialog.class, "ManageCasesDialog.dataSourcesLabel.text")); // NOI18N dataSourcesLabel.setMaximumSize(new java.awt.Dimension(237, 16)); + dataSourcesLabel.setPreferredSize(new java.awt.Dimension(130, 16)); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 8; @@ -199,9 +201,11 @@ final class ManageCasesDialog extends javax.swing.JDialog { org.openide.awt.Mnemonics.setLocalizedText(notesLabel, org.openide.util.NbBundle.getMessage(ManageCasesDialog.class, "ManageCasesDialog.notesLabel.text")); // NOI18N notesLabel.setMaximumSize(new java.awt.Dimension(237, 16)); + notesLabel.setPreferredSize(new java.awt.Dimension(130, 16)); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 6; + gridBagConstraints.gridwidth = 4; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; gridBagConstraints.weightx = 0.1; @@ -210,6 +214,7 @@ final class ManageCasesDialog extends javax.swing.JDialog { org.openide.awt.Mnemonics.setLocalizedText(orgLabel, org.openide.util.NbBundle.getMessage(ManageCasesDialog.class, "ManageCasesDialog.orgLabel.text")); // NOI18N orgLabel.setMaximumSize(new java.awt.Dimension(237, 16)); + orgLabel.setPreferredSize(new java.awt.Dimension(130, 16)); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 1; @@ -221,7 +226,8 @@ final class ManageCasesDialog extends javax.swing.JDialog { caseInfoPanel.add(orgLabel, gridBagConstraints); org.openide.awt.Mnemonics.setLocalizedText(caseNumberLabel, org.openide.util.NbBundle.getMessage(ManageCasesDialog.class, "ManageCasesDialog.caseNumberLabel.text")); // NOI18N - caseNumberLabel.setPreferredSize(new java.awt.Dimension(237, 16)); + caseNumberLabel.setMaximumSize(new java.awt.Dimension(237, 16)); + caseNumberLabel.setPreferredSize(new java.awt.Dimension(130, 16)); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 2; @@ -234,6 +240,7 @@ final class ManageCasesDialog extends javax.swing.JDialog { org.openide.awt.Mnemonics.setLocalizedText(examinerEmailLabel, org.openide.util.NbBundle.getMessage(ManageCasesDialog.class, "ManageCasesDialog.examinerEmailLabel.text")); // NOI18N examinerEmailLabel.setMaximumSize(new java.awt.Dimension(237, 16)); + examinerEmailLabel.setPreferredSize(new java.awt.Dimension(130, 16)); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 4; @@ -246,6 +253,7 @@ final class ManageCasesDialog extends javax.swing.JDialog { org.openide.awt.Mnemonics.setLocalizedText(examinerNameLabel, org.openide.util.NbBundle.getMessage(ManageCasesDialog.class, "ManageCasesDialog.examinerNameLabel.text")); // NOI18N examinerNameLabel.setMaximumSize(new java.awt.Dimension(237, 16)); + examinerNameLabel.setPreferredSize(new java.awt.Dimension(130, 16)); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 3; @@ -258,6 +266,7 @@ final class ManageCasesDialog extends javax.swing.JDialog { org.openide.awt.Mnemonics.setLocalizedText(examinerPhoneLabel, org.openide.util.NbBundle.getMessage(ManageCasesDialog.class, "ManageCasesDialog.examinerPhoneLabel.text")); // NOI18N examinerPhoneLabel.setMaximumSize(new java.awt.Dimension(237, 16)); + examinerPhoneLabel.setPreferredSize(new java.awt.Dimension(130, 16)); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 5; @@ -304,9 +313,9 @@ final class ManageCasesDialog extends javax.swing.JDialog { caseInfoPanel.add(examinerPhoneValueLabel, gridBagConstraints); org.openide.awt.Mnemonics.setLocalizedText(closeButton, org.openide.util.NbBundle.getMessage(ManageCasesDialog.class, "ManageCasesDialog.closeButton.text")); // NOI18N - closeButton.setMaximumSize(new java.awt.Dimension(125, 23)); + closeButton.setMaximumSize(new java.awt.Dimension(140, 23)); closeButton.setMinimumSize(new java.awt.Dimension(65, 23)); - closeButton.setPreferredSize(new java.awt.Dimension(65, 23)); + closeButton.setPreferredSize(new java.awt.Dimension(90, 23)); closeButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { closeButtonActionPerformed(evt); From 3be19e717e4c26d34de75ba7c1750549dac09dce Mon Sep 17 00:00:00 2001 From: Ethan Roseman Date: Mon, 13 Apr 2020 15:37:19 -0400 Subject: [PATCH 064/111] 6160: Dot rendering --- .../autopsy/geolocation/MapPanel.java | 45 ++++++++++++++++--- .../autopsy/geolocation/MapWaypoint.java | 7 +++ 2 files changed, 47 insertions(+), 5 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/geolocation/MapPanel.java b/Core/src/org/sleuthkit/autopsy/geolocation/MapPanel.java index 46600f2c86..4134e09190 100755 --- a/Core/src/org/sleuthkit/autopsy/geolocation/MapPanel.java +++ b/Core/src/org/sleuthkit/autopsy/geolocation/MapPanel.java @@ -19,11 +19,13 @@ package org.sleuthkit.autopsy.geolocation; import java.awt.AlphaComposite; +import java.awt.BasicStroke; import java.awt.Color; import java.awt.Dimension; import java.awt.Graphics2D; import java.awt.Point; import java.awt.Rectangle; +import java.awt.RenderingHints; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.ComponentAdapter; @@ -71,6 +73,7 @@ import org.sleuthkit.autopsy.geolocation.datamodel.GeoLocationDataException; import org.sleuthkit.datamodel.TskCoreException; import javax.imageio.ImageIO; import javax.swing.SwingUtilities; +import org.sleuthkit.datamodel.BlackboardArtifact.ARTIFACT_TYPE; /** * The map panel. This panel contains the jxmapviewer MapViewer @@ -691,7 +694,8 @@ final public class MapPanel extends javax.swing.JPanel { */ private class MapWaypointRenderer implements WaypointRenderer { - private final Map imageCache = new HashMap<>(); + private final Map dotImageCache = new HashMap<>(); + private final Map waypointImageCache = new HashMap<>(); /** * @@ -710,6 +714,28 @@ final public class MapPanel extends javax.swing.JPanel { } } + /** + * Creates a dot image with the specified color + * + * @param color the color of the new image + * @return the new dot image + */ + private BufferedImage createTrackDotImage(Color color) { + int w = 10; + int h = 10; + + BufferedImage ret = new BufferedImage(w + 2, h + 2, BufferedImage.TYPE_INT_ARGB); + Graphics2D g = ret.createGraphics(); + g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); + g.setColor(color); + g.fillOval(1, 1, w, h); + g.setColor(Color.BLACK); + g.setStroke(new BasicStroke(1)); + g.drawOval(1, 1, w, h); + g.dispose(); + return ret; + } + /** * Creates a waypoint image with the specified color * @@ -736,11 +762,20 @@ final public class MapPanel extends javax.swing.JPanel { @Override public void paintWaypoint(Graphics2D gd, JXMapViewer jxmv, MapWaypoint waypoint) { Color color = getColor(waypoint, currentlySelectedWaypoint); + BufferedImage image; + int artifactType = waypoint.getArtifactTypeID(); - // Store computed images in cache for later use - BufferedImage image = imageCache.computeIfAbsent(color, k -> { - return createWaypointImage(color); - }); + if (artifactType == ARTIFACT_TYPE.TSK_GPS_TRACKPOINT.getTypeID() || + artifactType == ARTIFACT_TYPE.TSK_GPS_TRACK.getTypeID()) { + image = dotImageCache.computeIfAbsent(color, k -> { + return createTrackDotImage(color); + }); + } else { + // Store computed images in cache for later use + image = waypointImageCache.computeIfAbsent(color, k -> { + return createWaypointImage(color); + }); + } Point2D point = jxmv.getTileFactory().geoToPixel(waypoint.getPosition(), jxmv.getZoom()); diff --git a/Core/src/org/sleuthkit/autopsy/geolocation/MapWaypoint.java b/Core/src/org/sleuthkit/autopsy/geolocation/MapWaypoint.java index f9e4ed86ee..1bf9e1be0c 100755 --- a/Core/src/org/sleuthkit/autopsy/geolocation/MapWaypoint.java +++ b/Core/src/org/sleuthkit/autopsy/geolocation/MapWaypoint.java @@ -199,6 +199,13 @@ final class MapWaypoint extends KdTree.XYZPoint implements org.jxmapviewer.viewe return getFormattedDetails(dataModelWaypoint); } + /** + * Returns the artifact type for this waypoint's data source + */ + int getArtifactTypeID() { + return dataModelWaypoint.getArtifact().getArtifactTypeID(); + } + /** * Returns a list of JMenuItems for the waypoint. The list list may contain * nulls which should be removed or replaced with JSeparators. From a87bea71d488b7ffff91dfe3f803d00f51fb005b Mon Sep 17 00:00:00 2001 From: Greg DiCristofaro Date: Mon, 13 Apr 2020 15:57:45 -0400 Subject: [PATCH 065/111] adding progress updates --- .../org/sleuthkit/autopsy/casemodule/Case.java | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/casemodule/Case.java b/Core/src/org/sleuthkit/autopsy/casemodule/Case.java index 4ca47bd658..9071880d0b 100644 --- a/Core/src/org/sleuthkit/autopsy/casemodule/Case.java +++ b/Core/src/org/sleuthkit/autopsy/casemodule/Case.java @@ -1982,7 +1982,7 @@ public class Case { checkForCancellation(); openCommunicationChannels(progressIndicator); checkForCancellation(); - openFileSystems(); + openFileSystems(progressIndicator); return null; } catch (CaseActionException ex) { @@ -2001,13 +2001,20 @@ public class Case { } } + /** * Reads a sector from each file system of each image of a case to do an eager open of the filesystems in case. + * @param progressIndicator The progress indicator for the operation. * @throws CaseActionCancelledException Exception thrown if task is cancelled. */ - private void openFileSystems() throws CaseActionCancelledException { - String caseName = (this.caseDb != null) ? this.caseDb.getDatabaseName() : "null"; + @Messages({ + "# {0} - case", "Case.openFileSystems.retrievingImages=Retrieving images for case: {0}...", + "# {0} - image", "Case.openFileSystems.openingImage=Opening all filesystems for image: {0}..." + }) + private void openFileSystems(ProgressIndicator progressIndicator) throws CaseActionCancelledException { + String caseName = (this.caseDb != null) ? this.caseDb.getDatabaseName() : ""; + progressIndicator.progress(Bundle.Case_openFileSystems_retrievingImages(caseName)); List images = null; try { images = this.caseDb.getImages(); @@ -2024,6 +2031,10 @@ public class Case { byte[] tempBuff = new byte[512]; for (Image image : images) { + String imageStr = image.getName(); + + progressIndicator.progress(Bundle.Case_openFileSystems_openingImage(imageStr)); + Collection fileSystems = this.caseDb.getFileSystems(image); checkForCancellation(); for (FileSystem fileSystem : fileSystems) { @@ -2031,7 +2042,6 @@ public class Case { fileSystem.read(tempBuff, 0, 512); } catch (TskCoreException ex) { - String imageStr = image.getName(); String fileSysStr = fileSystem.getName(); logger.log( From e135994242144644889b0ce3455151191b3e1d46 Mon Sep 17 00:00:00 2001 From: Greg DiCristofaro Date: Tue, 14 Apr 2020 08:17:30 -0400 Subject: [PATCH 066/111] open background task thread --- .../sleuthkit/autopsy/casemodule/Case.java | 133 ++++++++++++------ 1 file changed, 92 insertions(+), 41 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/casemodule/Case.java b/Core/src/org/sleuthkit/autopsy/casemodule/Case.java index 9071880d0b..d351efd5dd 100644 --- a/Core/src/org/sleuthkit/autopsy/casemodule/Case.java +++ b/Core/src/org/sleuthkit/autopsy/casemodule/Case.java @@ -21,6 +21,7 @@ package org.sleuthkit.autopsy.casemodule; import org.sleuthkit.autopsy.featureaccess.FeatureAccessUtils; import com.google.common.annotations.Beta; import com.google.common.eventbus.Subscribe; +import com.google.common.util.concurrent.ThreadFactoryBuilder; import org.sleuthkit.autopsy.casemodule.multiusercases.CaseNodeData; import java.awt.Frame; import java.awt.event.ActionEvent; @@ -1982,7 +1983,7 @@ public class Case { checkForCancellation(); openCommunicationChannels(progressIndicator); checkForCancellation(); - openFileSystems(progressIndicator); + openFileSystemsInBackground(); return null; } catch (CaseActionException ex) { @@ -2001,59 +2002,109 @@ public class Case { } } - + private static Future backgroundOpenFileSystemsFuture = null; + private static final ExecutorService startIngestJobsExecutor = + Executors.newSingleThreadExecutor(new ThreadFactoryBuilder().setNameFormat("Case-open-file-systems-%d").build()); + /** - * Reads a sector from each file system of each image of a case to do an eager open of the filesystems in case. - * @param progressIndicator The progress indicator for the operation. + * Starts a background task that reads a sector from each file system of each image of a case to do an eager open of + * the filesystems in case. If this method is called before another background file system read has finished the earlier + * one will be cancelled. + * * @throws CaseActionCancelledException Exception thrown if task is cancelled. */ @Messages({ "# {0} - case", "Case.openFileSystems.retrievingImages=Retrieving images for case: {0}...", "# {0} - image", "Case.openFileSystems.openingImage=Opening all filesystems for image: {0}..." }) - private void openFileSystems(ProgressIndicator progressIndicator) throws CaseActionCancelledException { - String caseName = (this.caseDb != null) ? this.caseDb.getDatabaseName() : ""; + private void openFileSystemsInBackground() throws CaseActionCancelledException { + if (backgroundOpenFileSystemsFuture != null && !backgroundOpenFileSystemsFuture.isDone()) + backgroundOpenFileSystemsFuture.cancel(true); - progressIndicator.progress(Bundle.Case_openFileSystems_retrievingImages(caseName)); - List images = null; - try { - images = this.caseDb.getImages(); - } catch (TskCoreException ex) { - logger.log( - Level.SEVERE, - String.format("Could not obtain images while opening case: %s.", caseName), - ex); - - return; + BackgroundOpenFileSystemsTask backgroundTask = new BackgroundOpenFileSystemsTask(this.caseDb, new LoggingProgressIndicator()); + backgroundOpenFileSystemsFuture = startIngestJobsExecutor.submit(backgroundTask); + } + + + + /** + * This task opens all the filesystems of all images in the case in the background. + * It also responds to cancellation events. + */ + private static class BackgroundOpenFileSystemsTask implements Runnable { + private final SleuthkitCase tskCase; + private final String caseName; + private final ProgressIndicator progressIndicator; + + + BackgroundOpenFileSystemsTask(SleuthkitCase tskCase, ProgressIndicator progressIndicator) { + this.tskCase = tskCase; + this.progressIndicator = progressIndicator; + caseName = (this.tskCase != null) ? this.tskCase.getDatabaseName() : ""; } - checkForCancellation(); - byte[] tempBuff = new byte[512]; + private List getImages() { + progressIndicator.progress(Bundle.Case_openFileSystems_retrievingImages(caseName)); + List images = null; + try { + images = this.tskCase.getImages(); + } catch (TskCoreException ex) { + logger.log( + Level.SEVERE, + String.format("Could not obtain images while opening case: %s.", caseName), + ex); - for (Image image : images) { - String imageStr = image.getName(); - - progressIndicator.progress(Bundle.Case_openFileSystems_openingImage(imageStr)); - - Collection fileSystems = this.caseDb.getFileSystems(image); - checkForCancellation(); - for (FileSystem fileSystem : fileSystems) { - try { - fileSystem.read(tempBuff, 0, 512); - } - catch (TskCoreException ex) { - String fileSysStr = fileSystem.getName(); - - logger.log( - Level.WARNING, - String.format("Could not open filesystem: %s in image: %s for case: %s.", fileSysStr, imageStr, caseName), - ex); - } - - checkForCancellation(); + return null; } - + return images; } + + private void openFileSystems(List images) throws CaseActionCancelledException { + byte[] tempBuff = new byte[512]; + + for (Image image : images) { + String imageStr = image.getName(); + + progressIndicator.progress(Bundle.Case_openFileSystems_openingImage(imageStr)); + + Collection fileSystems = this.tskCase.getFileSystems(image); + checkForCancellation(); + for (FileSystem fileSystem : fileSystems) { + try { + fileSystem.read(tempBuff, 0, 512); + } + catch (TskCoreException ex) { + String fileSysStr = fileSystem.getName(); + + logger.log( + Level.WARNING, + String.format("Could not open filesystem: %s in image: %s for case: %s.", fileSysStr, imageStr, caseName), + ex); + } + + checkForCancellation(); + } + + } + } + + @Override + public void run() { + try { + checkForCancellation(); + List images = getImages(); + if (images == null) + return; + + checkForCancellation(); + openFileSystems(images); + } + catch (CaseActionCancelledException ex) { + // EMPTY + // No action needs to be taken when this task is cancelled. + } + } + } /** From 780c8d59c25f162975f67761ae9736f0d5639054 Mon Sep 17 00:00:00 2001 From: Greg DiCristofaro Date: Tue, 14 Apr 2020 12:32:30 -0400 Subject: [PATCH 067/111] start not run... --- Core/src/org/sleuthkit/autopsy/core/Installer.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Core/src/org/sleuthkit/autopsy/core/Installer.java b/Core/src/org/sleuthkit/autopsy/core/Installer.java index 37decea601..60cbf6daa6 100644 --- a/Core/src/org/sleuthkit/autopsy/core/Installer.java +++ b/Core/src/org/sleuthkit/autopsy/core/Installer.java @@ -408,7 +408,7 @@ public class Installer extends ModuleInstall { } }; - new Thread(loader).run(); + new Thread(loader).start(); } @Override From 7d186a78bded940c74a972adf53582a925bfd569 Mon Sep 17 00:00:00 2001 From: Greg DiCristofaro Date: Tue, 14 Apr 2020 15:49:13 -0400 Subject: [PATCH 068/111] commenting --- .../sleuthkit/autopsy/casemodule/Case.java | 119 +++++++++++------- 1 file changed, 77 insertions(+), 42 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/casemodule/Case.java b/Core/src/org/sleuthkit/autopsy/casemodule/Case.java index d351efd5dd..248525ccab 100644 --- a/Core/src/org/sleuthkit/autopsy/casemodule/Case.java +++ b/Core/src/org/sleuthkit/autopsy/casemodule/Case.java @@ -159,6 +159,9 @@ public class Case { private static final Logger logger = Logger.getLogger(Case.class.getName()); private static final AutopsyEventPublisher eventPublisher = new AutopsyEventPublisher(); private static final Object caseActionSerializationLock = new Object(); + private static Future backgroundOpenFileSystemsFuture = null; + private static final ExecutorService startIngestJobsExecutor + = Executors.newSingleThreadExecutor(new ThreadFactoryBuilder().setNameFormat("Case-open-file-systems-%d").build()); private static volatile Frame mainFrame; private static volatile Case currentCase; private final CaseMetadata metadata; @@ -2001,48 +2004,71 @@ public class Case { throw ex; } } - - private static Future backgroundOpenFileSystemsFuture = null; - private static final ExecutorService startIngestJobsExecutor = - Executors.newSingleThreadExecutor(new ThreadFactoryBuilder().setNameFormat("Case-open-file-systems-%d").build()); - + /** - * Starts a background task that reads a sector from each file system of each image of a case to do an eager open of - * the filesystems in case. If this method is called before another background file system read has finished the earlier - * one will be cancelled. - * - * @throws CaseActionCancelledException Exception thrown if task is cancelled. + * Starts a background task that reads a sector from each file system of + * each image of a case to do an eager open of the filesystems in case. If + * this method is called before another background file system read has + * finished the earlier one will be cancelled. + * + * @throws CaseActionCancelledException Exception thrown if task is + * cancelled. */ @Messages({ "# {0} - case", "Case.openFileSystems.retrievingImages=Retrieving images for case: {0}...", "# {0} - image", "Case.openFileSystems.openingImage=Opening all filesystems for image: {0}..." }) private void openFileSystemsInBackground() throws CaseActionCancelledException { - if (backgroundOpenFileSystemsFuture != null && !backgroundOpenFileSystemsFuture.isDone()) + if (backgroundOpenFileSystemsFuture != null && !backgroundOpenFileSystemsFuture.isDone()) { backgroundOpenFileSystemsFuture.cancel(true); - + } + BackgroundOpenFileSystemsTask backgroundTask = new BackgroundOpenFileSystemsTask(this.caseDb, new LoggingProgressIndicator()); backgroundOpenFileSystemsFuture = startIngestJobsExecutor.submit(backgroundTask); } - - - + /** - * This task opens all the filesystems of all images in the case in the background. - * It also responds to cancellation events. + * This task opens all the filesystems of all images in the case in the + * background. It also responds to cancellation events. */ private static class BackgroundOpenFileSystemsTask implements Runnable { + private final SleuthkitCase tskCase; private final String caseName; private final ProgressIndicator progressIndicator; - + /** + * Main constructor for the BackgroundOpenFileSystemsTask. + * + * @param tskCase The case database to query for filesystems + * to open. + * @param progressIndicator The progress indicator for file systems + * opened. + */ BackgroundOpenFileSystemsTask(SleuthkitCase tskCase, ProgressIndicator progressIndicator) { this.tskCase = tskCase; this.progressIndicator = progressIndicator; caseName = (this.tskCase != null) ? this.tskCase.getDatabaseName() : ""; } - + + /** + * Checks if thread has been cancelled and throws an + * InterruptedException if it has. + * + * @throws InterruptedException The exception thrown if the operation + * has been cancelled. + */ + private void checkIfCancelled() throws InterruptedException { + if (Thread.interrupted()) { + throw new InterruptedException(); + } + } + + /** + * Retrieves all images present in the sleuthkit case. + * + * @return All images present in the sleuthkit case. + */ private List getImages() { progressIndicator.progress(Bundle.Case_openFileSystems_retrievingImages(caseName)); List images = null; @@ -2050,61 +2076,70 @@ public class Case { images = this.tskCase.getImages(); } catch (TskCoreException ex) { logger.log( - Level.SEVERE, - String.format("Could not obtain images while opening case: %s.", caseName), - ex); + Level.SEVERE, + String.format("Could not obtain images while opening case: %s.", caseName), + ex); return null; } return images; } - - private void openFileSystems(List images) throws CaseActionCancelledException { + + /** + * Opens all file systems in the list of images provided. + * + * @param images The images whose file systems will be opened. + * + * @throws CaseActionCancelledException The exception thrown in the + * event that the operation is + * cancelled prior to completion. + */ + private void openFileSystems(List images) throws InterruptedException { byte[] tempBuff = new byte[512]; - + for (Image image : images) { String imageStr = image.getName(); progressIndicator.progress(Bundle.Case_openFileSystems_openingImage(imageStr)); Collection fileSystems = this.tskCase.getFileSystems(image); - checkForCancellation(); + checkIfCancelled(); for (FileSystem fileSystem : fileSystems) { try { - fileSystem.read(tempBuff, 0, 512); - } - catch (TskCoreException ex) { + fileSystem.read(tempBuff, 0, 512); + } catch (TskCoreException ex) { String fileSysStr = fileSystem.getName(); logger.log( - Level.WARNING, - String.format("Could not open filesystem: %s in image: %s for case: %s.", fileSysStr, imageStr, caseName), - ex); + Level.WARNING, + String.format("Could not open filesystem: %s in image: %s for case: %s.", fileSysStr, imageStr, caseName), + ex); } - checkForCancellation(); + checkIfCancelled(); } } } - + @Override public void run() { try { - checkForCancellation(); + checkIfCancelled(); List images = getImages(); - if (images == null) + if (images == null) { return; + } - checkForCancellation(); + checkIfCancelled(); openFileSystems(images); - } - catch (CaseActionCancelledException ex) { - // EMPTY - // No action needs to be taken when this task is cancelled. + } catch (InterruptedException ex) { + logger.log( + Level.INFO, + String.format("Background operation opening all file systems in %s has been cancelled.", caseName)); } } - + } /** From 0e2520d5c0ea3dbd4839ab351d66ad573e52d39d Mon Sep 17 00:00:00 2001 From: Greg DiCristofaro Date: Tue, 14 Apr 2020 15:53:47 -0400 Subject: [PATCH 069/111] commenting --- Core/src/org/sleuthkit/autopsy/casemodule/Case.java | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/casemodule/Case.java b/Core/src/org/sleuthkit/autopsy/casemodule/Case.java index 248525ccab..917ddf6210 100644 --- a/Core/src/org/sleuthkit/autopsy/casemodule/Case.java +++ b/Core/src/org/sleuthkit/autopsy/casemodule/Case.java @@ -2071,9 +2071,8 @@ public class Case { */ private List getImages() { progressIndicator.progress(Bundle.Case_openFileSystems_retrievingImages(caseName)); - List images = null; try { - images = this.tskCase.getImages(); + return this.tskCase.getImages(); } catch (TskCoreException ex) { logger.log( Level.SEVERE, @@ -2082,7 +2081,6 @@ public class Case { return null; } - return images; } /** From 7639a6a5aa88f2c0c7751351d0c8b8c9124cb32b Mon Sep 17 00:00:00 2001 From: Greg DiCristofaro Date: Tue, 14 Apr 2020 16:04:24 -0400 Subject: [PATCH 070/111] fixing misspellings --- Core/src/org/sleuthkit/autopsy/core/Installer.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/core/Installer.java b/Core/src/org/sleuthkit/autopsy/core/Installer.java index 60cbf6daa6..1d554b062b 100644 --- a/Core/src/org/sleuthkit/autopsy/core/Installer.java +++ b/Core/src/org/sleuthkit/autopsy/core/Installer.java @@ -396,7 +396,7 @@ public class Installer extends ModuleInstall { /** - * Runs an initial load of the Jython modules to speed ub subsequent loads. + * Runs an initial load of the Jython modules to speed up subsequent loads. */ private void preloadJython() { Runnable loader = () -> { @@ -404,7 +404,7 @@ public class Installer extends ModuleInstall { JythonModuleLoader.getIngestModuleFactories(); } catch (Exception ex) { - logger.log(Level.SEVERE, "There was an error while pre-loading jython submodules.", ex); + logger.log(Level.SEVERE, "There was an error while doing an initial load of python plugins.", ex); } }; From b6bd2d3b63c5a6fd8be46c48592ab12625b60605 Mon Sep 17 00:00:00 2001 From: Dennis Date: Wed, 15 Apr 2020 11:30:33 +0200 Subject: [PATCH 071/111] Update modDev.dox Add a hint, that you can deploy changes without rebuilding while debugging. --- docs/doxygen/modDev.dox | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/doxygen/modDev.dox b/docs/doxygen/modDev.dox index a3195b74ed..ed2c3f34ea 100644 --- a/docs/doxygen/modDev.dox +++ b/docs/doxygen/modDev.dox @@ -81,7 +81,7 @@ As you will read in the later sections about the different module types, each Au \subsection mod_dev_aut_run1 Running Your Module During Development -When you are developing your Autopsy module, you can simply choose "Run" on the module and it will launch the Autopsy platform with the module enabled in it. This is also how you can debug the module. +When you are developing your Autopsy module, you can simply choose "Run" on the module and it will launch the Autopsy platform with the module enabled in it. This is also how you can debug the module. If you want to apply changes during debugging, you can use the "Apply Code Changes" function in NetBeans. \subsection mod_dev_aut_deploy Deploying Your Module From 76c198c4ab7c9c05b1680b44a9ae8219d65236ac Mon Sep 17 00:00:00 2001 From: William Schaefer Date: Wed, 15 Apr 2020 08:42:28 -0400 Subject: [PATCH 072/111] 6225 second attempt to fix screen shots 7 and 8 --- .../modules/filetypeid/AddFileTypeDialog.java | 40 ++++++---- .../modules/filetypeid/AddFileTypePanel.form | 4 +- .../modules/filetypeid/AddFileTypePanel.java | 6 +- .../AddFileTypeSignatureDialog.java | 80 ++++++++++--------- .../filetypeid/AddFileTypeSignaturePanel.form | 2 +- .../filetypeid/AddFileTypeSignaturePanel.java | 2 +- 6 files changed, 72 insertions(+), 62 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/modules/filetypeid/AddFileTypeDialog.java b/Core/src/org/sleuthkit/autopsy/modules/filetypeid/AddFileTypeDialog.java index 5b5b51329c..fb0b591c28 100644 --- a/Core/src/org/sleuthkit/autopsy/modules/filetypeid/AddFileTypeDialog.java +++ b/Core/src/org/sleuthkit/autopsy/modules/filetypeid/AddFileTypeDialog.java @@ -61,9 +61,10 @@ class AddFileTypeDialog extends JDialog { * Creates a dialog for creating a file type */ @Messages({"AddMimeTypedialog.title=File Type"}) - AddFileTypeDialog() { + AddFileTypeDialog() { super(WindowManager.getDefault().getMainWindow(), Bundle.AddMimeTypedialog_title(), true); addMimeTypePanel = new AddFileTypePanel(); + init(); } /** @@ -74,23 +75,18 @@ class AddFileTypeDialog extends JDialog { AddFileTypeDialog(FileType fileType) { super(WindowManager.getDefault().getMainWindow(), Bundle.AddMimeTypedialog_title(), true); addMimeTypePanel = new AddFileTypePanel(fileType); + init(); } /** - * Displays the add file type dialog. - * + * Do initialization of dialog components. */ - @NbBundle.Messages({ + @NbBundle.Messages({ "AddMimeTypeDialog.addButton.title=OK", "AddMimeTypeDialog.cancelButton.title=Cancel"}) - void display() { + private void init() { setLayout(new BorderLayout()); - /** - * Center the dialog. - */ - setLocationRelativeTo(WindowManager.getDefault().getMainWindow()); - /** * Get the default or saved ingest job settings for this context and use * them to create and add an ingest job settings panel. @@ -120,15 +116,15 @@ class AddFileTypeDialog extends JDialog { //setting both max and preffered size appears to be necessary to change the button size cancelButton.setMaximumSize(BUTTON_SIZE); cancelButton.setPreferredSize(BUTTON_SIZE); - + // Put the buttons in their own panel, under the settings panel. JPanel buttonPanel = new JPanel(); buttonPanel.setLayout(new BoxLayout(buttonPanel, BoxLayout.LINE_AXIS)); - buttonPanel.add(okButton); - buttonPanel.add(new javax.swing.Box.Filler(new Dimension(10, 10), new Dimension(10, 10), new Dimension(10, 10))); + buttonPanel.add(new javax.swing.Box.Filler(new Dimension(10, 35), new Dimension(10, 35), new Dimension(10, 35))); buttonPanel.add(cancelButton); - buttonPanel.add(new javax.swing.Box.Filler(new Dimension(10, 10), new Dimension(10, 10), new Dimension(10, 10))); + buttonPanel.add(new javax.swing.Box.Filler(new Dimension(10, 35), new Dimension(10, 35), new Dimension(10, 35))); + buttonPanel.validate(); add(buttonPanel, BorderLayout.LINE_END); /** @@ -150,13 +146,23 @@ class AddFileTypeDialog extends JDialog { } }); enableOkButton(); + setResizable(false); + pack(); + } + + /** + * Displays the add file type dialog. + * + */ + void display() { + /** + * Center the dialog. + */ + setLocationRelativeTo(WindowManager.getDefault().getMainWindow()); /** * Show the dialog. */ - pack(); - setResizable(false); setVisible(true); - } /** diff --git a/Core/src/org/sleuthkit/autopsy/modules/filetypeid/AddFileTypePanel.form b/Core/src/org/sleuthkit/autopsy/modules/filetypeid/AddFileTypePanel.form index 325270ea0b..7dce458862 100644 --- a/Core/src/org/sleuthkit/autopsy/modules/filetypeid/AddFileTypePanel.form +++ b/Core/src/org/sleuthkit/autopsy/modules/filetypeid/AddFileTypePanel.form @@ -47,7 +47,7 @@ - + @@ -85,7 +85,7 @@ - + diff --git a/Core/src/org/sleuthkit/autopsy/modules/filetypeid/AddFileTypePanel.java b/Core/src/org/sleuthkit/autopsy/modules/filetypeid/AddFileTypePanel.java index c00363bc56..fdf36d74c6 100644 --- a/Core/src/org/sleuthkit/autopsy/modules/filetypeid/AddFileTypePanel.java +++ b/Core/src/org/sleuthkit/autopsy/modules/filetypeid/AddFileTypePanel.java @@ -312,7 +312,7 @@ class AddFileTypePanel extends javax.swing.JPanel { .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jLabel1) .addComponent(postHitCheckBox)) - .addGap(0, 0, Short.MAX_VALUE)) + .addGap(0, 0, 0)) .addGroup(layout.createSequentialGroup() .addGap(71, 71, 71) .addComponent(mimeFormatLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))) @@ -342,7 +342,7 @@ class AddFileTypePanel extends javax.swing.JPanel { .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(setNameLabel) .addComponent(setNameTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + .addContainerGap()) ); }// //GEN-END:initComponents @@ -350,6 +350,7 @@ class AddFileTypePanel extends javax.swing.JPanel { if (evt.getSource().equals(this.editSigButton) && this.signatureList.getSelectedValue() != null) { int selected = this.signatureList.getSelectedIndex(); this.addSigDialog = new AddFileTypeSignatureDialog(this.signatureList.getSelectedValue()); + this.addSigDialog.display(false); if (addSigDialog.getResult() == BUTTON_PRESSED.OK) { signaturesListModel.removeElementAt(selected); this.signaturesListModel.add(selected, this.addSigDialog.getSignature()); @@ -370,6 +371,7 @@ class AddFileTypePanel extends javax.swing.JPanel { private void addSigButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_addSigButtonActionPerformed if (evt.getSource().equals(this.addSigButton)) { this.addSigDialog = new AddFileTypeSignatureDialog(); + this.addSigDialog.display(true); if (addSigDialog.getResult() == AddFileTypeSignatureDialog.BUTTON_PRESSED.OK) { signaturesListModel.addElement(this.addSigDialog.getSignature()); } diff --git a/Core/src/org/sleuthkit/autopsy/modules/filetypeid/AddFileTypeSignatureDialog.java b/Core/src/org/sleuthkit/autopsy/modules/filetypeid/AddFileTypeSignatureDialog.java index 4b64e13e94..27773ec821 100644 --- a/Core/src/org/sleuthkit/autopsy/modules/filetypeid/AddFileTypeSignatureDialog.java +++ b/Core/src/org/sleuthkit/autopsy/modules/filetypeid/AddFileTypeSignatureDialog.java @@ -63,7 +63,7 @@ final class AddFileTypeSignatureDialog extends JDialog { AddFileTypeSignatureDialog() { super(WindowManager.getDefault().getMainWindow(), TITLE, true); this.addFileTypeSigPanel = new AddFileTypeSignaturePanel(); - this.display(true); + init(); } /** @@ -74,43 +74,12 @@ final class AddFileTypeSignatureDialog extends JDialog { AddFileTypeSignatureDialog(Signature toEdit) { super(WindowManager.getDefault().getMainWindow(), TITLE, true); this.addFileTypeSigPanel = new AddFileTypeSignaturePanel(toEdit); - this.display(false); + init(); } - /** - * Gets the signature that was created by this dialog. - * - * @return the signature. - */ - public Signature getSignature() { - return signature; - } - - /** - * Gets which button was pressed (OK or Cancel). - * - * @return The result. - */ - public BUTTON_PRESSED getResult() { - return result; - } - - /** - * Displays the add signature dialog. - * - * @param add Whether or not this is an edit or a new window. - */ - @Messages({ - "AddFileTypeSignatureDialog.addButton.title=OK", - "AddFileTypeSignatureDialog.cancelButton.title=Cancel"}) - void display(boolean add) { + private void init() { setLayout(new BorderLayout()); - /** - * Center the dialog. - */ - setLocationRelativeTo(WindowManager.getDefault().getMainWindow()); - /** * Get the default or saved ingest job settings for this context and use * them to create and add an ingest job settings panel. @@ -141,14 +110,15 @@ final class AddFileTypeSignatureDialog extends JDialog { //setting both max and preffered size appears to be necessary to change the button size cancelButton.setMaximumSize(BUTTON_SIZE); cancelButton.setPreferredSize(BUTTON_SIZE); - + // Put the buttons in their own panel, under the settings panel. JPanel buttonPanel = new JPanel(); buttonPanel.setLayout(new BoxLayout(buttonPanel, BoxLayout.LINE_AXIS)); buttonPanel.add(okButton); - buttonPanel.add(new javax.swing.Box.Filler(new Dimension(10, 10), new Dimension(10, 10), new Dimension(10, 10))); + buttonPanel.add(new javax.swing.Box.Filler(new Dimension(10, 35), new Dimension(10, 35), new Dimension(10, 35))); buttonPanel.add(cancelButton); - buttonPanel.add(new javax.swing.Box.Filler(new Dimension(10, 10), new Dimension(10, 10), new Dimension(10, 10))); + buttonPanel.add(new javax.swing.Box.Filler(new Dimension(10, 35), new Dimension(10, 35), new Dimension(10, 35))); + buttonPanel.validate(); add(buttonPanel, BorderLayout.LINE_END); /** @@ -161,12 +131,44 @@ final class AddFileTypeSignatureDialog extends JDialog { doButtonAction(false); } }); + setResizable(false); + pack(); + } + /** + * Gets the signature that was created by this dialog. + * + * @return the signature. + */ + public Signature getSignature() { + return signature; + } + + /** + * Gets which button was pressed (OK or Cancel). + * + * @return The result. + */ + public BUTTON_PRESSED getResult() { + return result; + } + + /** + * Displays the add signature dialog. + * + * @param add Whether or not this is an edit or a new window. + */ + @Messages({ + "AddFileTypeSignatureDialog.addButton.title=OK", + "AddFileTypeSignatureDialog.cancelButton.title=Cancel"}) + void display(boolean add) { + /** + * Center the dialog. + */ + setLocationRelativeTo(WindowManager.getDefault().getMainWindow()); /** * Show the dialog. */ - pack(); - setResizable(false); setVisible(true); } diff --git a/Core/src/org/sleuthkit/autopsy/modules/filetypeid/AddFileTypeSignaturePanel.form b/Core/src/org/sleuthkit/autopsy/modules/filetypeid/AddFileTypeSignaturePanel.form index f61fb16aae..1dddd44b1d 100644 --- a/Core/src/org/sleuthkit/autopsy/modules/filetypeid/AddFileTypeSignaturePanel.form +++ b/Core/src/org/sleuthkit/autopsy/modules/filetypeid/AddFileTypeSignaturePanel.form @@ -72,7 +72,7 @@ - + diff --git a/Core/src/org/sleuthkit/autopsy/modules/filetypeid/AddFileTypeSignaturePanel.java b/Core/src/org/sleuthkit/autopsy/modules/filetypeid/AddFileTypeSignaturePanel.java index 6be6a71fe0..dd939dae25 100644 --- a/Core/src/org/sleuthkit/autopsy/modules/filetypeid/AddFileTypeSignaturePanel.java +++ b/Core/src/org/sleuthkit/autopsy/modules/filetypeid/AddFileTypeSignaturePanel.java @@ -283,7 +283,7 @@ class AddFileTypeSignaturePanel extends javax.swing.JPanel { .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(offsetRelativeToComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(offsetRelativeToLabel)) - .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + .addContainerGap()) ); }// //GEN-END:initComponents From 753ac8d45630e7105f5ed1efeb00dc278c93e358 Mon Sep 17 00:00:00 2001 From: William Schaefer Date: Wed, 15 Apr 2020 08:45:14 -0400 Subject: [PATCH 073/111] 6225 update dates --- .../sleuthkit/autopsy/modules/filetypeid/AddFileTypeDialog.java | 2 +- .../sleuthkit/autopsy/modules/filetypeid/AddFileTypePanel.java | 2 +- .../autopsy/modules/filetypeid/AddFileTypeSignatureDialog.java | 2 +- .../autopsy/modules/filetypeid/AddFileTypeSignaturePanel.java | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/modules/filetypeid/AddFileTypeDialog.java b/Core/src/org/sleuthkit/autopsy/modules/filetypeid/AddFileTypeDialog.java index fb0b591c28..b387ba7d40 100644 --- a/Core/src/org/sleuthkit/autopsy/modules/filetypeid/AddFileTypeDialog.java +++ b/Core/src/org/sleuthkit/autopsy/modules/filetypeid/AddFileTypeDialog.java @@ -1,7 +1,7 @@ /* * Autopsy Forensic Browser * - * Copyright 2011-2018 Basis Technology Corp. + * Copyright 2011-2020 Basis Technology Corp. * Contact: carrier sleuthkit org * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/Core/src/org/sleuthkit/autopsy/modules/filetypeid/AddFileTypePanel.java b/Core/src/org/sleuthkit/autopsy/modules/filetypeid/AddFileTypePanel.java index fdf36d74c6..f7f1da8755 100644 --- a/Core/src/org/sleuthkit/autopsy/modules/filetypeid/AddFileTypePanel.java +++ b/Core/src/org/sleuthkit/autopsy/modules/filetypeid/AddFileTypePanel.java @@ -1,7 +1,7 @@ /* * Autopsy Forensic Browser * - * Copyright 2011-2018 Basis Technology Corp. + * Copyright 2011-2020 Basis Technology Corp. * Contact: carrier sleuthkit org * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/Core/src/org/sleuthkit/autopsy/modules/filetypeid/AddFileTypeSignatureDialog.java b/Core/src/org/sleuthkit/autopsy/modules/filetypeid/AddFileTypeSignatureDialog.java index 27773ec821..c8f10e4e36 100644 --- a/Core/src/org/sleuthkit/autopsy/modules/filetypeid/AddFileTypeSignatureDialog.java +++ b/Core/src/org/sleuthkit/autopsy/modules/filetypeid/AddFileTypeSignatureDialog.java @@ -1,7 +1,7 @@ /* * Autopsy Forensic Browser * - * Copyright 2011-2018 Basis Technology Corp. + * Copyright 2011-2020 Basis Technology Corp. * Contact: carrier sleuthkit org * * Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/Core/src/org/sleuthkit/autopsy/modules/filetypeid/AddFileTypeSignaturePanel.java b/Core/src/org/sleuthkit/autopsy/modules/filetypeid/AddFileTypeSignaturePanel.java index dd939dae25..88c181c0fa 100644 --- a/Core/src/org/sleuthkit/autopsy/modules/filetypeid/AddFileTypeSignaturePanel.java +++ b/Core/src/org/sleuthkit/autopsy/modules/filetypeid/AddFileTypeSignaturePanel.java @@ -1,7 +1,7 @@ /* * Autopsy Forensic Browser * - * Copyright 2011-2018 Basis Technology Corp. + * Copyright 2011-2020 Basis Technology Corp. * Contact: carrier sleuthkit org * * Licensed under the Apache License, Version 2.0 (the "License"); From da7fe3b905bdd86e2235e169f912f2e661380c77 Mon Sep 17 00:00:00 2001 From: Greg DiCristofaro Date: Wed, 15 Apr 2020 09:01:50 -0400 Subject: [PATCH 074/111] updated locations where MessageAttachments should be parsed through BlackboardJsonAttrUtil --- .../relationships/AccountSummary.java | 146 ++++++++++++------ .../AttachmentThumbnailsChildren.java | 65 ++++++-- .../relationships/MessageNode.java | 53 +++---- .../contentviewers/MessageContentViewer.java | 95 ++++++++---- 4 files changed, 240 insertions(+), 119 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/communications/relationships/AccountSummary.java b/Core/src/org/sleuthkit/autopsy/communications/relationships/AccountSummary.java index 5401f1a839..d8f74fcc66 100755 --- a/Core/src/org/sleuthkit/autopsy/communications/relationships/AccountSummary.java +++ b/Core/src/org/sleuthkit/autopsy/communications/relationships/AccountSummary.java @@ -18,7 +18,6 @@ */ package org.sleuthkit.autopsy.communications.relationships; -import com.google.gson.Gson; import java.util.Collection; import java.util.List; import java.util.Set; @@ -34,9 +33,10 @@ import org.sleuthkit.datamodel.TskCoreException; import org.sleuthkit.datamodel.blackboardutils.attributes.MessageAttachments.FileAttachment; import org.sleuthkit.datamodel.blackboardutils.attributes.MessageAttachments; import org.sleuthkit.datamodel.CommunicationsUtils; +import org.sleuthkit.datamodel.blackboardutils.attributes.BlackboardJsonAttrUtil; /** - * + * * Class representing the Summary data for a given account. */ class AccountSummary { @@ -56,9 +56,9 @@ class AccountSummary { /** * Summary constructor. - * + * * @param selectedAccount Selected account object - * @param artifacts List of relationship source artifacts + * @param artifacts List of relationship source artifacts */ AccountSummary(Account selectedAccount, Set artifacts) { this.selectedAccount = selectedAccount; @@ -67,7 +67,8 @@ class AccountSummary { } /** - * Initialize the counts based on the selected account and the given artifacts. + * Initialize the counts based on the selected account and the given + * artifacts. */ private void initCounts() { for (BlackboardArtifact artifact : artifacts) { @@ -86,18 +87,18 @@ class AccountSummary { case TSK_CONTACT: if (selectedAccount.getAccountType() != Account.Type.DEVICE) { String typeSpecificID = selectedAccount.getTypeSpecificID(); - + List attributes = null; - - try{ + + try { attributes = artifact.getAttributes(); - } catch(TskCoreException ex) { + } catch (TskCoreException ex) { logger.log(Level.WARNING, String.format("Unable to getAttributes for artifact: %d", artifact.getArtifactID()), ex); break; } - + boolean isReference = false; - + for (BlackboardAttribute attribute : attributes) { String attributeTypeName = attribute.getAttributeType().getTypeName(); @@ -108,7 +109,7 @@ class AccountSummary { } else if (attributeTypeName.contains("EMAIL")) { attributeValue = CommunicationsUtils.normalizeEmailAddress(attributeValue); } - + if (typeSpecificID.equals(attributeValue)) { isReference = true; break; @@ -133,43 +134,89 @@ class AccountSummary { break; } } - try { - // count the attachments from the TSK_ATTACHMENTS attribute. - BlackboardAttribute attachmentsAttr = artifact.getAttribute(new BlackboardAttribute.Type(BlackboardAttribute.ATTRIBUTE_TYPE.TSK_ATTACHMENTS)); - if (attachmentsAttr != null) { - String jsonVal = attachmentsAttr.getValueString(); - MessageAttachments msgAttachments = new Gson().fromJson(jsonVal, MessageAttachments.class); + handleMessageAttachments(artifact); + } + } - Collection fileAttachments = msgAttachments.getFileAttachments(); - for (FileAttachment fileAttachment : fileAttachments) { - attachmentCnt++; - long attachedFileObjId = fileAttachment.getObjectId(); - if (attachedFileObjId >= 0) { - AbstractFile attachedFile = artifact.getSleuthkitCase().getAbstractFileById(attachedFileObjId); - if (ImageUtils.thumbnailSupported(attachedFile)) { - mediaCnt++; - } - } - } - } else { // backward compatibility - email message attachments are derived files, children of the message. - attachmentCnt += artifact.getChildrenCount(); - for (Content childContent : artifact.getChildren()) { - if (ImageUtils.thumbnailSupported(childContent)) { - mediaCnt++; - } - } + /** + * Handles incrementing attachmentCnt and mediaCnt variables based on the + * attachments and media present in an artifact. + * + * @param artifact The artifact whose MessageAttachments will be used for + * this tally. If no MessageAttachments object can be found, + * then the count of the children of the artifact will be + * used instead. + */ + private void handleMessageAttachments(BlackboardArtifact artifact) { + try { + // count the attachments from the TSK_ATTACHMENTS attribute. + BlackboardAttribute attachmentsAttr = artifact.getAttribute(new BlackboardAttribute.Type(BlackboardAttribute.ATTRIBUTE_TYPE.TSK_ATTACHMENTS)); + if (attachmentsAttr != null) { + try { + countFromMessageAttachments(attachmentsAttr, artifact); + } catch (BlackboardJsonAttrUtil.InvalidJsonException ex) { + logger.log(Level.WARNING, String.format("Unable to parse json for MessageAttachments object in artifact: %s", artifact.getName()), ex); + countFromArtifactChildren(artifact); + } + } else { + countFromArtifactChildren(artifact); + } + } catch (TskCoreException ex) { + logger.log(Level.WARNING, String.format("Exception thrown " + + "from getChildrenCount artifactID: %d", + artifact.getArtifactID()), ex); //NON-NLS + } + } + + /** + * Increments attachment and media counts based on the children of the + * BlackboardArtifact. + * + * @param artifact The artifact whose children will be counted. + * + * @throws TskCoreException + */ + private void countFromArtifactChildren(BlackboardArtifact artifact) throws TskCoreException { + // backward compatibility - email message attachments are derived files, children of the message. + attachmentCnt += artifact.getChildrenCount(); + for (Content childContent : artifact.getChildren()) { + if (ImageUtils.thumbnailSupported(childContent)) { + mediaCnt++; + } + } + } + + /** + * Increments attachment and media counts based on the file attachments in + * the parsed MessageAttachments object. + * + * @param attachmentsAttr The attribute representing the MessageAttachments + * object. + * @param artifact The artifact for this attribute. + * + * @throws TskCoreException + * @throws BlackboardJsonAttrUtil.InvalidJsonException + */ + private void countFromMessageAttachments(BlackboardAttribute attachmentsAttr, BlackboardArtifact artifact) + throws TskCoreException, BlackboardJsonAttrUtil.InvalidJsonException { + + MessageAttachments msgAttachments = BlackboardJsonAttrUtil.fromAttribute(attachmentsAttr, MessageAttachments.class); + Collection fileAttachments = msgAttachments.getFileAttachments(); + for (FileAttachment fileAttachment : fileAttachments) { + attachmentCnt++; + long attachedFileObjId = fileAttachment.getObjectId(); + if (attachedFileObjId >= 0) { + AbstractFile attachedFile = artifact.getSleuthkitCase().getAbstractFileById(attachedFileObjId); + if (ImageUtils.thumbnailSupported(attachedFile)) { + mediaCnt++; } - } catch (TskCoreException ex) { - logger.log(Level.WARNING, String.format("Exception thrown " - + "from getChildrenCount artifactID: %d", - artifact.getArtifactID()), ex); //NON-NLS } } } /** * Total number of attachments that this account is referenced. - * + * * @return Attachment count */ public int getAttachmentCnt() { @@ -178,7 +225,7 @@ class AccountSummary { /** * Total number of messages that this account is referenced. - * + * * @return Message count */ public int getMessagesCnt() { @@ -187,7 +234,7 @@ class AccountSummary { /** * Total number of Emails that this account is referenced. - * + * * @return Email count */ public int getEmailCnt() { @@ -196,7 +243,7 @@ class AccountSummary { /** * Total number of call logs that this account is referenced. - * + * * @return call log count */ public int getCallLogCnt() { @@ -205,7 +252,7 @@ class AccountSummary { /** * Total number of contacts in this accounts contact book. - * + * * @return contact count */ public int getContactsCnt() { @@ -213,17 +260,18 @@ class AccountSummary { } /** - * Total number of thumbnail\media attachments that this account is referenced. - * + * Total number of thumbnail\media attachments that this account is + * referenced. + * * @return Thumbnail count */ public int getThumbnailCnt() { return mediaCnt; } - + /** * Total number of contacts that this account is referenced. - * + * * @return Contact count */ public int getReferenceCnt() { diff --git a/Core/src/org/sleuthkit/autopsy/communications/relationships/AttachmentThumbnailsChildren.java b/Core/src/org/sleuthkit/autopsy/communications/relationships/AttachmentThumbnailsChildren.java index 74ee109b6f..c703d34d84 100755 --- a/Core/src/org/sleuthkit/autopsy/communications/relationships/AttachmentThumbnailsChildren.java +++ b/Core/src/org/sleuthkit/autopsy/communications/relationships/AttachmentThumbnailsChildren.java @@ -18,7 +18,6 @@ */ package org.sleuthkit.autopsy.communications.relationships; -import com.google.gson.Gson; import java.util.Arrays; import java.util.Collection; import java.util.HashSet; @@ -38,6 +37,7 @@ import org.sleuthkit.datamodel.BlackboardArtifact; import org.sleuthkit.datamodel.BlackboardAttribute; import org.sleuthkit.datamodel.Content; import org.sleuthkit.datamodel.TskCoreException; +import org.sleuthkit.datamodel.blackboardutils.attributes.BlackboardJsonAttrUtil; import org.sleuthkit.datamodel.blackboardutils.attributes.MessageAttachments.FileAttachment; import org.sleuthkit.datamodel.blackboardutils.attributes.MessageAttachments; @@ -69,6 +69,47 @@ final class AttachmentThumbnailsChildren extends Children.Keys { return new Node[]{new AttachementThumbnailNode(t)}; } + /** + * Adds thumbnails based on MessageAttachments parsed in the + * BlackboardAttribute. + * + * @param bba The pertinent BlackboardArtifact. + * @param attachmentsAttr The appropriate attribute for MessageAttachments. + * @param thumbnails Parsed thumbnails will be added to this set. + * + * @throws BlackboardJsonAttrUtil.InvalidJsonException + * @throws TskCoreException + */ + private static void addMessageAttachmentThumbnails(BlackboardArtifact bba, BlackboardAttribute attachmentsAttr, + Set thumbnails) throws BlackboardJsonAttrUtil.InvalidJsonException, TskCoreException { + + MessageAttachments msgAttachments = BlackboardJsonAttrUtil.fromAttribute(attachmentsAttr, MessageAttachments.class); + Collection fileAttachments = msgAttachments.getFileAttachments(); + for (FileAttachment fileAttachment : fileAttachments) { + long attachedFileObjId = fileAttachment.getObjectId(); + if (attachedFileObjId >= 0) { + AbstractFile attachedFile = bba.getSleuthkitCase().getAbstractFileById(attachedFileObjId); + thumbnails.add(attachedFile); + } + } + } + + /** + * Adds thumbnails based on children in the BlackboardArtifact. + * + * @param bba The BlackboardArtifact whose children will be used. + * @param thumbnails Thumbnails will be added to this set. + * + * @throws TskCoreException + */ + private static void addChildrenThumbnails(BlackboardArtifact bba, Set thumbnails) throws TskCoreException { + for (Content childContent : bba.getChildren()) { + if (childContent instanceof AbstractFile) { + thumbnails.add((AbstractFile) childContent); + } + } + } + @Override protected void addNotify() { super.addNotify(); @@ -89,24 +130,14 @@ final class AttachmentThumbnailsChildren extends Children.Keys { // Get the attachments from TSK_ATTACHMENTS attribute. BlackboardAttribute attachmentsAttr = bba.getAttribute(new BlackboardAttribute.Type(BlackboardAttribute.ATTRIBUTE_TYPE.TSK_ATTACHMENTS)); if (attachmentsAttr != null) { - - String jsonVal = attachmentsAttr.getValueString(); - MessageAttachments msgAttachments = new Gson().fromJson(jsonVal, MessageAttachments.class); - - Collection fileAttachments = msgAttachments.getFileAttachments(); - for (FileAttachment fileAttachment : fileAttachments) { - long attachedFileObjId = fileAttachment.getObjectId(); - if (attachedFileObjId >= 0) { - AbstractFile attachedFile = bba.getSleuthkitCase().getAbstractFileById(attachedFileObjId); - thumbnails.add(attachedFile); - } + try { + addMessageAttachmentThumbnails(bba, attachmentsAttr, thumbnails); + } catch (BlackboardJsonAttrUtil.InvalidJsonException ex) { + LOGGER.log(Level.WARNING, String.format("Unable to parse json for MessageAttachments object in artifact: %s", bba.getName()), ex); + addChildrenThumbnails(bba, thumbnails); } } else { // backward compatibility - email message attachments are derived files, children of the message. - for (Content childContent : bba.getChildren()) { - if (childContent instanceof AbstractFile) { - thumbnails.add((AbstractFile) childContent); - } - } + addChildrenThumbnails(bba, thumbnails); } } catch (TskCoreException ex) { diff --git a/Core/src/org/sleuthkit/autopsy/communications/relationships/MessageNode.java b/Core/src/org/sleuthkit/autopsy/communications/relationships/MessageNode.java index 038452dcd7..58c84406e0 100755 --- a/Core/src/org/sleuthkit/autopsy/communications/relationships/MessageNode.java +++ b/Core/src/org/sleuthkit/autopsy/communications/relationships/MessageNode.java @@ -18,7 +18,6 @@ */ package org.sleuthkit.autopsy.communications.relationships; -import com.google.gson.Gson; import java.util.logging.Level; import javax.swing.Action; import org.apache.commons.lang3.StringUtils; @@ -40,6 +39,7 @@ import org.sleuthkit.autopsy.datamodel.BlackboardArtifactNode; import static org.sleuthkit.datamodel.BlackboardArtifact.ARTIFACT_TYPE.TSK_EMAIL_MSG; import static org.sleuthkit.datamodel.BlackboardArtifact.ARTIFACT_TYPE.TSK_MESSAGE; import org.sleuthkit.datamodel.BlackboardAttribute; +import org.sleuthkit.datamodel.blackboardutils.attributes.BlackboardJsonAttrUtil; import org.sleuthkit.datamodel.blackboardutils.attributes.MessageAttachments; /** @@ -48,22 +48,22 @@ import org.sleuthkit.datamodel.blackboardutils.attributes.MessageAttachments; class MessageNode extends BlackboardArtifactNode { public static final String UNTHREADED_ID = ""; - + private static final Logger logger = Logger.getLogger(MessageNode.class.getName()); - + private final String threadID; - + private final Action preferredAction; - MessageNode(BlackboardArtifact artifact, String threadID, Action preferredAction) { + MessageNode(BlackboardArtifact artifact, String threadID, Action preferredAction) { super(artifact); - + this.preferredAction = preferredAction; final String stripEnd = StringUtils.stripEnd(artifact.getDisplayName(), "s"); // NON-NLS String removeEndIgnoreCase = StringUtils.removeEndIgnoreCase(stripEnd, "message"); // NON-NLS setDisplayName(removeEndIgnoreCase.isEmpty() ? stripEnd : removeEndIgnoreCase); - + this.threadID = threadID; } @@ -75,7 +75,7 @@ class MessageNode extends BlackboardArtifactNode { "MessageNode_Node_Property_Subject=Subject", "MessageNode_Node_Property_Attms=Attachments" }) - + @Override protected Sheet createSheet() { Sheet sheet = super.createSheet(); @@ -89,22 +89,22 @@ class MessageNode extends BlackboardArtifactNode { final BlackboardArtifact artifact = getArtifact(); BlackboardArtifact.ARTIFACT_TYPE fromID = BlackboardArtifact.ARTIFACT_TYPE.fromID(artifact.getArtifactTypeID()); - - if(fromID == null || - (fromID != TSK_EMAIL_MSG && - fromID != TSK_MESSAGE)) { + + if (fromID == null + || (fromID != TSK_EMAIL_MSG + && fromID != TSK_MESSAGE)) { return sheet; } - - sheetSet.put(new NodeProperty<>("ThreadID", "ThreadID","",threadID == null ? UNTHREADED_ID : threadID)); //NON-NLS + + sheetSet.put(new NodeProperty<>("ThreadID", "ThreadID", "", threadID == null ? UNTHREADED_ID : threadID)); //NON-NLS sheetSet.put(new NodeProperty<>("Subject", Bundle.MessageNode_Node_Property_Subject(), "", - getAttributeDisplayString(artifact, TSK_SUBJECT))); //NON-NLS + getAttributeDisplayString(artifact, TSK_SUBJECT))); //NON-NLS try { sheetSet.put(new NodeProperty<>("Attms", Bundle.MessageNode_Node_Property_Attms(), "", getAttachmentsCount())); //NON-NLS } catch (TskCoreException ex) { logger.log(Level.WARNING, "Error loading attachment count for " + artifact, ex); //NON-NLS } - + switch (fromID) { case TSK_EMAIL_MSG: sheetSet.put(new NodeProperty<>("From", Bundle.MessageNode_Node_Property_From(), "", @@ -138,30 +138,31 @@ class MessageNode extends BlackboardArtifactNode { public String getSourceName() { return getDisplayName(); } - + String getThreadID() { return threadID; } - + @Override public Action getPreferredAction() { return preferredAction; } - + private int getAttachmentsCount() throws TskCoreException { final BlackboardArtifact artifact = getArtifact(); - int attachmentsCount; // Attachments are specified in an attribute TSK_ATTACHMENTS as JSON attribute BlackboardAttribute attachmentsAttr = artifact.getAttribute(new BlackboardAttribute.Type(BlackboardAttribute.ATTRIBUTE_TYPE.TSK_ATTACHMENTS)); if (attachmentsAttr != null) { - String jsonVal = attachmentsAttr.getValueString(); - MessageAttachments msgAttachments = new Gson().fromJson(jsonVal, MessageAttachments.class); - attachmentsCount = msgAttachments.getAttachmentsCount(); - } else { // legacy attachments may be children of message artifact. - attachmentsCount = artifact.getChildrenCount(); + try { + MessageAttachments msgAttachments = BlackboardJsonAttrUtil.fromAttribute(attachmentsAttr, MessageAttachments.class); + return msgAttachments.getAttachmentsCount(); + } catch (BlackboardJsonAttrUtil.InvalidJsonException ex) { + logger.log(Level.WARNING, String.format("Unable to parse json for MessageAttachments object in artifact: %s", artifact.getName()), ex); + } } - return attachmentsCount; + // legacy attachments may be children of message artifact. + return artifact.getChildrenCount(); } } diff --git a/Core/src/org/sleuthkit/autopsy/contentviewers/MessageContentViewer.java b/Core/src/org/sleuthkit/autopsy/contentviewers/MessageContentViewer.java index 8ea3867470..64ec0f60c0 100644 --- a/Core/src/org/sleuthkit/autopsy/contentviewers/MessageContentViewer.java +++ b/Core/src/org/sleuthkit/autopsy/contentviewers/MessageContentViewer.java @@ -19,7 +19,6 @@ package org.sleuthkit.autopsy.contentviewers; import org.sleuthkit.autopsy.datamodel.AttachmentNode; -import com.google.gson.Gson; import java.awt.Color; import java.awt.Component; import java.awt.ComponentOrientation; @@ -33,6 +32,7 @@ import java.util.logging.Level; import javax.swing.JScrollPane; import javax.swing.text.JTextComponent; import org.apache.commons.lang3.StringUtils; +import static org.apache.poi.hwpf.model.FileInformationBlock.logger; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.openide.explorer.ExplorerManager; @@ -76,6 +76,7 @@ import static org.sleuthkit.datamodel.BlackboardAttribute.ATTRIBUTE_TYPE.TSK_TEX import org.sleuthkit.datamodel.Content; import org.sleuthkit.datamodel.SleuthkitCase; import org.sleuthkit.datamodel.TskCoreException; +import org.sleuthkit.datamodel.blackboardutils.attributes.BlackboardJsonAttrUtil; import org.sleuthkit.datamodel.blackboardutils.attributes.MessageAttachments; import org.sleuthkit.datamodel.blackboardutils.attributes.MessageAttachments.FileAttachment; import org.sleuthkit.datamodel.blackboardutils.attributes.MessageAttachments.Attachment; @@ -89,7 +90,8 @@ import org.sleuthkit.datamodel.blackboardutils.attributes.MessageAttachments.URL public class MessageContentViewer extends javax.swing.JPanel implements DataContentViewer { /** - * This is a text component viewer to be a child component to be placed in a {@link TranslatablePanel TranslatablePanel}. + * This is a text component viewer to be a child component to be placed in a + * {@link TranslatablePanel TranslatablePanel}. */ class TextComponent implements TranslatablePanel.ContentComponent { @@ -439,11 +441,11 @@ public class MessageContentViewer extends javax.swing.JPanel implements DataCont * Get the artifact associated with the given artifact, if there is one. * * @param artifact The artifact to get the associated artifact from. Must - * not be null + * not be null * * @throws TskCoreException If there is a critical error querying the DB. * @return An optional containing the artifact associated with the given - * artifact, if there is one. + * artifact, if there is one. */ private static Optional getAssociatedArtifact(final BlackboardArtifact artifact) throws TskCoreException { BlackboardAttribute attribute = artifact.getAttribute(TSK_ASSOCIATED_TYPE); @@ -523,10 +525,10 @@ public class MessageContentViewer extends javax.swing.JPanel implements DataCont * Is the given artifact one that can be shown in this viewer? * * @param nodeArtifact An artifact that might be a message. Must not be - * null. + * null. * * @return True if the given artifact can be shown as a message in this - * viewer. + * viewer. */ private static boolean isMessageArtifact(BlackboardArtifact nodeArtifact) { final int artifactTypeID = nodeArtifact.getArtifactTypeID(); @@ -543,6 +545,7 @@ public class MessageContentViewer extends javax.swing.JPanel implements DataCont * the file, that artifact is returned. * * @param node Node to check. + * * @return Blackboard artifact for the node, null if there isn't any. */ private BlackboardArtifact getNodeArtifact(Node node) { @@ -592,7 +595,7 @@ public class MessageContentViewer extends javax.swing.JPanel implements DataCont * Configure the text area at the given index to show the content of the * given type. * - * @param type The ATTRIBUT_TYPE to show in the indexed tab. + * @param type The ATTRIBUT_TYPE to show in the indexed tab. * @param index The index of the text area to configure. * * @throws TskCoreException @@ -628,33 +631,71 @@ public class MessageContentViewer extends javax.swing.JPanel implements DataCont datetimeText.setEnabled(true); } + /** + * Retrieves the set of attachments present in the children of the + * BlackboardArtifact. + * + * @param artifact The artifact whose children will be used for attachments. + * + * @return The attachments found in the BlackboardArtifact. + * + * @throws TskCoreException + */ + private static Set getAttachmentsFromChildren(BlackboardArtifact artifact) throws TskCoreException { + // For backward compatibility - email attachements are derived files and children of the email message artifact + Set attachments = new HashSet<>(); + for (Content child : artifact.getChildren()) { + if (child instanceof AbstractFile) { + attachments.add(new FileAttachment((AbstractFile) child)); + } + } + return attachments; + } + + /** + * Retrieves the set of attachments present in the MessageAttachments object + * parsed from the blackboard attribute. + * + * @param attachmentsAttr The blackboard attribute to be parsed to a + * MessageAttachments object. + * + * @return The set of attachments present in the MessageAttachments object. + * + * @throws BlackboardJsonAttrUtil.InvalidJsonException If the + * BlackboardAttribute + * cannot be parsed to a + * MessageAttachments + * object. + */ + private static Set getAttachmentsFromMessageAttachments(BlackboardAttribute attachmentsAttr) throws BlackboardJsonAttrUtil.InvalidJsonException { + Set attachments = new HashSet<>(); + MessageAttachments msgAttachments = BlackboardJsonAttrUtil.fromAttribute(attachmentsAttr, MessageAttachments.class); + Collection fileAttachments = msgAttachments.getFileAttachments(); + for (FileAttachment fileAttachment : fileAttachments) { + attachments.add(fileAttachment); + } + Collection urlAttachments = msgAttachments.getUrlAttachments(); + for (URLAttachment urlAttachment : urlAttachments) { + attachments.add(urlAttachment); + } + return attachments; + } + private void configureAttachments() throws TskCoreException { - final Set attachments; + Set attachments; // Attachments are specified in an attribute TSK_ATTACHMENTS as JSON attribute BlackboardAttribute attachmentsAttr = artifact.getAttribute(new BlackboardAttribute.Type(BlackboardAttribute.ATTRIBUTE_TYPE.TSK_ATTACHMENTS)); if (attachmentsAttr != null) { - - attachments = new HashSet<>(); - String jsonVal = attachmentsAttr.getValueString(); - MessageAttachments msgAttachments = new Gson().fromJson(jsonVal, MessageAttachments.class); - - Collection fileAttachments = msgAttachments.getFileAttachments(); - for (FileAttachment fileAttachment : fileAttachments) { - attachments.add(fileAttachment); - } - Collection urlAttachments = msgAttachments.getUrlAttachments(); - for (URLAttachment urlAttachment : urlAttachments) { - attachments.add(urlAttachment); - } - } else { // For backward compatibility - email attachements are derived files and children of the email message artifact - attachments = new HashSet<>(); - for (Content child : artifact.getChildren()) { - if (child instanceof AbstractFile) { - attachments.add(new FileAttachment((AbstractFile) child)); - } + try { + attachments = getAttachmentsFromMessageAttachments(attachmentsAttr); + } catch (BlackboardJsonAttrUtil.InvalidJsonException ex) { + LOGGER.log(Level.WARNING, String.format("Unable to parse json for MessageAttachments object in artifact: %s", artifact.getName()), ex); + attachments = getAttachmentsFromChildren(artifact); } + } else { + attachments = getAttachmentsFromChildren(artifact); } final int numberOfAttachments = attachments.size(); From ad808e0538a4566d1f4cf33ec36ce4711ffd23e8 Mon Sep 17 00:00:00 2001 From: William Schaefer Date: Wed, 15 Apr 2020 09:11:11 -0400 Subject: [PATCH 075/111] 6225 second attempt to fix screenshot 15 --- .../OptionalCasePropertiesPanel.form | 32 ++++++++--------- .../OptionalCasePropertiesPanel.java | 35 ++++++++++--------- 2 files changed, 35 insertions(+), 32 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/casemodule/OptionalCasePropertiesPanel.form b/Core/src/org/sleuthkit/autopsy/casemodule/OptionalCasePropertiesPanel.form index 86dd05cb80..0d49bf2241 100644 --- a/Core/src/org/sleuthkit/autopsy/casemodule/OptionalCasePropertiesPanel.form +++ b/Core/src/org/sleuthkit/autopsy/casemodule/OptionalCasePropertiesPanel.form @@ -320,18 +320,18 @@ - + - + - + @@ -359,18 +359,18 @@ - + - + - + @@ -383,13 +383,13 @@ - + - + @@ -404,14 +404,14 @@ - + - + @@ -421,13 +421,13 @@ - + - + @@ -442,25 +442,25 @@ - + - + - + - + diff --git a/Core/src/org/sleuthkit/autopsy/casemodule/OptionalCasePropertiesPanel.java b/Core/src/org/sleuthkit/autopsy/casemodule/OptionalCasePropertiesPanel.java index c863649973..287a86863f 100644 --- a/Core/src/org/sleuthkit/autopsy/casemodule/OptionalCasePropertiesPanel.java +++ b/Core/src/org/sleuthkit/autopsy/casemodule/OptionalCasePropertiesPanel.java @@ -382,12 +382,13 @@ final class OptionalCasePropertiesPanel extends javax.swing.JPanel { orgainizationPanel.setLayout(new java.awt.GridBagLayout()); org.openide.awt.Mnemonics.setLocalizedText(lbPointOfContactPhoneLabel, org.openide.util.NbBundle.getMessage(OptionalCasePropertiesPanel.class, "OptionalCasePropertiesPanel.lbPointOfContactPhoneLabel.text")); // NOI18N - lbPointOfContactPhoneLabel.setMaximumSize(new java.awt.Dimension(82, 14)); + lbPointOfContactPhoneLabel.setMaximumSize(new java.awt.Dimension(182, 14)); lbPointOfContactPhoneLabel.setMinimumSize(new java.awt.Dimension(82, 14)); - lbPointOfContactPhoneLabel.setPreferredSize(new java.awt.Dimension(82, 14)); + lbPointOfContactPhoneLabel.setPreferredSize(new java.awt.Dimension(120, 14)); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 2; + gridBagConstraints.gridwidth = 2; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; gridBagConstraints.insets = new java.awt.Insets(7, 12, 0, 0); @@ -407,12 +408,13 @@ final class OptionalCasePropertiesPanel extends javax.swing.JPanel { orgainizationPanel.add(comboBoxOrgName, gridBagConstraints); org.openide.awt.Mnemonics.setLocalizedText(lbPointOfContactNameLabel, org.openide.util.NbBundle.getMessage(OptionalCasePropertiesPanel.class, "OptionalCasePropertiesPanel.lbPointOfContactNameLabel.text")); // NOI18N - lbPointOfContactNameLabel.setMaximumSize(new java.awt.Dimension(82, 14)); + lbPointOfContactNameLabel.setMaximumSize(new java.awt.Dimension(182, 14)); lbPointOfContactNameLabel.setMinimumSize(new java.awt.Dimension(82, 14)); - lbPointOfContactNameLabel.setPreferredSize(new java.awt.Dimension(82, 14)); + lbPointOfContactNameLabel.setPreferredSize(new java.awt.Dimension(120, 14)); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 1; + gridBagConstraints.gridwidth = 2; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; gridBagConstraints.insets = new java.awt.Insets(13, 12, 0, 5); @@ -420,9 +422,9 @@ final class OptionalCasePropertiesPanel extends javax.swing.JPanel { org.openide.awt.Mnemonics.setLocalizedText(bnNewOrganization, org.openide.util.NbBundle.getMessage(OptionalCasePropertiesPanel.class, "OptionalCasePropertiesPanel.bnNewOrganization.text")); // NOI18N bnNewOrganization.setMargin(new java.awt.Insets(2, 6, 2, 6)); - bnNewOrganization.setMaximumSize(new java.awt.Dimension(123, 23)); + bnNewOrganization.setMaximumSize(new java.awt.Dimension(160, 23)); bnNewOrganization.setMinimumSize(new java.awt.Dimension(123, 23)); - bnNewOrganization.setPreferredSize(new java.awt.Dimension(123, 23)); + bnNewOrganization.setPreferredSize(new java.awt.Dimension(140, 23)); bnNewOrganization.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { bnNewOrganizationActionPerformed(evt); @@ -436,26 +438,26 @@ final class OptionalCasePropertiesPanel extends javax.swing.JPanel { gridBagConstraints.insets = new java.awt.Insets(8, 12, 0, 18); orgainizationPanel.add(bnNewOrganization, gridBagConstraints); gridBagConstraints = new java.awt.GridBagConstraints(); - gridBagConstraints.gridx = 1; + gridBagConstraints.gridx = 2; gridBagConstraints.gridy = 3; - gridBagConstraints.gridwidth = 3; + gridBagConstraints.gridwidth = 2; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; gridBagConstraints.insets = new java.awt.Insets(7, 4, 13, 18); orgainizationPanel.add(lbPointOfContactEmailText, gridBagConstraints); gridBagConstraints = new java.awt.GridBagConstraints(); - gridBagConstraints.gridx = 1; + gridBagConstraints.gridx = 2; gridBagConstraints.gridy = 1; - gridBagConstraints.gridwidth = 3; + gridBagConstraints.gridwidth = 2; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; gridBagConstraints.insets = new java.awt.Insets(13, 4, 0, 18); orgainizationPanel.add(lbPointOfContactNameText, gridBagConstraints); org.openide.awt.Mnemonics.setLocalizedText(lbOrganizationNameLabel, org.openide.util.NbBundle.getMessage(OptionalCasePropertiesPanel.class, "OptionalCasePropertiesPanel.lbOrganizationNameLabel.text")); // NOI18N - lbOrganizationNameLabel.setMaximumSize(new java.awt.Dimension(189, 14)); + lbOrganizationNameLabel.setMaximumSize(new java.awt.Dimension(300, 14)); lbOrganizationNameLabel.setMinimumSize(new java.awt.Dimension(189, 14)); - lbOrganizationNameLabel.setPreferredSize(new java.awt.Dimension(189, 14)); + lbOrganizationNameLabel.setPreferredSize(new java.awt.Dimension(220, 14)); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 0; @@ -466,20 +468,21 @@ final class OptionalCasePropertiesPanel extends javax.swing.JPanel { orgainizationPanel.add(lbOrganizationNameLabel, gridBagConstraints); org.openide.awt.Mnemonics.setLocalizedText(lbPointOfContactEmailLabel, org.openide.util.NbBundle.getMessage(OptionalCasePropertiesPanel.class, "OptionalCasePropertiesPanel.lbPointOfContactEmailLabel.text")); // NOI18N - lbPointOfContactEmailLabel.setMaximumSize(new java.awt.Dimension(82, 14)); + lbPointOfContactEmailLabel.setMaximumSize(new java.awt.Dimension(182, 14)); lbPointOfContactEmailLabel.setMinimumSize(new java.awt.Dimension(82, 14)); - lbPointOfContactEmailLabel.setPreferredSize(new java.awt.Dimension(82, 14)); + lbPointOfContactEmailLabel.setPreferredSize(new java.awt.Dimension(120, 14)); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 3; + gridBagConstraints.gridwidth = 2; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; gridBagConstraints.insets = new java.awt.Insets(7, 12, 13, 0); orgainizationPanel.add(lbPointOfContactEmailLabel, gridBagConstraints); gridBagConstraints = new java.awt.GridBagConstraints(); - gridBagConstraints.gridx = 1; + gridBagConstraints.gridx = 2; gridBagConstraints.gridy = 2; - gridBagConstraints.gridwidth = 3; + gridBagConstraints.gridwidth = 2; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; gridBagConstraints.insets = new java.awt.Insets(7, 4, 0, 18); From 89e17ec3e2f3767e6cbccf59738fcce6340600e6 Mon Sep 17 00:00:00 2001 From: William Schaefer Date: Wed, 15 Apr 2020 09:15:46 -0400 Subject: [PATCH 076/111] 6225 second try at screenshot 17 --- .../corecomponents/DataContentViewerArtifact.form | 10 ++++++++-- .../corecomponents/DataContentViewerArtifact.java | 6 ++++-- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/corecomponents/DataContentViewerArtifact.form b/Core/src/org/sleuthkit/autopsy/corecomponents/DataContentViewerArtifact.form index 1f01f76f6e..5827ce617f 100644 --- a/Core/src/org/sleuthkit/autopsy/corecomponents/DataContentViewerArtifact.form +++ b/Core/src/org/sleuthkit/autopsy/corecomponents/DataContentViewerArtifact.form @@ -82,6 +82,12 @@ + + + + + + @@ -107,13 +113,13 @@ - + - + diff --git a/Core/src/org/sleuthkit/autopsy/corecomponents/DataContentViewerArtifact.java b/Core/src/org/sleuthkit/autopsy/corecomponents/DataContentViewerArtifact.java index 6db644be4f..78ccd6e4ec 100644 --- a/Core/src/org/sleuthkit/autopsy/corecomponents/DataContentViewerArtifact.java +++ b/Core/src/org/sleuthkit/autopsy/corecomponents/DataContentViewerArtifact.java @@ -235,6 +235,8 @@ public class DataContentViewerArtifact extends javax.swing.JPanel implements Dat jPanel1.setLayout(new java.awt.GridBagLayout()); totalPageLabel.setText(org.openide.util.NbBundle.getMessage(DataContentViewerArtifact.class, "DataContentViewerArtifact.totalPageLabel.text")); // NOI18N + totalPageLabel.setMaximumSize(new java.awt.Dimension(40, 16)); + totalPageLabel.setPreferredSize(new java.awt.Dimension(25, 16)); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 3; gridBagConstraints.gridy = 0; @@ -253,9 +255,9 @@ public class DataContentViewerArtifact extends javax.swing.JPanel implements Dat jPanel1.add(ofLabel, gridBagConstraints); currentPageLabel.setText(org.openide.util.NbBundle.getMessage(DataContentViewerArtifact.class, "DataContentViewerArtifact.currentPageLabel.text")); // NOI18N - currentPageLabel.setMaximumSize(new java.awt.Dimension(18, 14)); + currentPageLabel.setMaximumSize(new java.awt.Dimension(38, 14)); currentPageLabel.setMinimumSize(new java.awt.Dimension(18, 14)); - currentPageLabel.setPreferredSize(new java.awt.Dimension(18, 14)); + currentPageLabel.setPreferredSize(new java.awt.Dimension(20, 14)); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 0; From f1735512784d15a4d6e21c88f48b55de92e11d01 Mon Sep 17 00:00:00 2001 From: Mark McKinnon Date: Wed, 15 Apr 2020 09:17:14 -0400 Subject: [PATCH 077/111] Update Running_Linux_OSX.txt Add Gatekeper troubleshooting tip --- Running_Linux_OSX.txt | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Running_Linux_OSX.txt b/Running_Linux_OSX.txt index a45553b246..60b81bc50a 100644 --- a/Running_Linux_OSX.txt +++ b/Running_Linux_OSX.txt @@ -80,6 +80,11 @@ Autopsy depends on a specific version of The Sleuth Kit. You need the Java libr (a) confirm that you have a version of Java 8 installed and (b) confirm that your JAVA_HOME environment variable is set correctly: % echo $JAVA_HOME + +- If you see something like "cannot be opened because the developer cannot be verified." it is an indication + that Gatekeeper is running and is stopping a file from being executed. To fix this open a new terminal window + and enter the following command "sudo spctl --master-disable", you will be required to enter your password. + This will allow any program to be be downloaded from anywhere and executed. * Limitations (Updated May 2018) * - Timeline does not work on OS X From 61d8a05b64f96a46b314f8d1aa0ace566ad10f02 Mon Sep 17 00:00:00 2001 From: Richard Cordovano Date: Wed, 15 Apr 2020 12:49:31 -0400 Subject: [PATCH 078/111] Get stack trace in TextFileExtractor.isSupported --- .../org/sleuthkit/autopsy/textextractors/TextFileExtractor.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Core/src/org/sleuthkit/autopsy/textextractors/TextFileExtractor.java b/Core/src/org/sleuthkit/autopsy/textextractors/TextFileExtractor.java index af31797b52..9c71b14ecc 100644 --- a/Core/src/org/sleuthkit/autopsy/textextractors/TextFileExtractor.java +++ b/Core/src/org/sleuthkit/autopsy/textextractors/TextFileExtractor.java @@ -86,7 +86,7 @@ public final class TextFileExtractor implements TextExtractor { try { fileTypeDetector = new FileTypeDetector(); } catch (FileTypeDetector.FileTypeDetectorInitException ex) { - logger.log(Level.SEVERE, "Unable to create file type detector for determining MIME type."); + logger.log(Level.SEVERE, "Unable to create file type detector for determining MIME type", ex); return false; } mimeType = fileTypeDetector.getMIMEType(file); From 02b2315ac0ef1f3234fdaaaa3a23f400ba0f9fc9 Mon Sep 17 00:00:00 2001 From: Mark McKinnon Date: Wed, 15 Apr 2020 09:17:14 -0400 Subject: [PATCH 079/111] Update Running_Linux_OSX.txt Add Gatekeper troubleshooting tip --- Running_Linux_OSX.txt | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Running_Linux_OSX.txt b/Running_Linux_OSX.txt index 521fa6e9f1..39ea10441c 100644 --- a/Running_Linux_OSX.txt +++ b/Running_Linux_OSX.txt @@ -80,6 +80,11 @@ Autopsy depends on a specific version of The Sleuth Kit. You need the Java libr (a) confirm that you have a version of Java 8 installed and (b) confirm that your JAVA_HOME environment variable is set correctly: % echo $JAVA_HOME + +- If you see something like "cannot be opened because the developer cannot be verified." it is an indication + that Gatekeeper is running and is stopping a file from being executed. To fix this open a new terminal window + and enter the following command "sudo spctl --master-disable", you will be required to enter your password. + This will allow any program to be be downloaded from anywhere and executed. * Limitations (Updated May 2018) * - Timeline does not work on OS X From 47d6f83f6f1ad3545f87f548221341ddbdb4dc98 Mon Sep 17 00:00:00 2001 From: Andrea Lazzarotto Date: Sun, 12 Apr 2020 15:15:06 +0200 Subject: [PATCH 080/111] Update installation instructions for macOS On macOS one has to install the liberica-jdk8-full package in order to have OpenJFX. --- Running_Linux_OSX.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Running_Linux_OSX.txt b/Running_Linux_OSX.txt index 39ea10441c..60b81bc50a 100644 --- a/Running_Linux_OSX.txt +++ b/Running_Linux_OSX.txt @@ -27,7 +27,7 @@ The following need to be done at least once. They do not need to be repeated for -- OS X: 1. Install BellSoft Java 8. % brew tap bell-sw/liberica - % brew cask install liberica-jdk8 + % brew cask install liberica-jdk8-full 2. Set JAVA_HOME environment variable to location of JRE installation. e.g. add the following to ~/.bashrc export JAVA_HOME=$(/usr/libexec/java_home -v 1.8) From 7640c0f54911eab1b47ac5778c1e3492dca8a2c0 Mon Sep 17 00:00:00 2001 From: Greg DiCristofaro Date: Wed, 15 Apr 2020 13:01:48 -0400 Subject: [PATCH 081/111] return nothing if json cannot be parsed --- .../communications/relationships/AccountSummary.java | 1 - .../relationships/AttachmentThumbnailsChildren.java | 1 - .../autopsy/communications/relationships/MessageNode.java | 8 +++++--- .../autopsy/contentviewers/MessageContentViewer.java | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/communications/relationships/AccountSummary.java b/Core/src/org/sleuthkit/autopsy/communications/relationships/AccountSummary.java index d8f74fcc66..719fad80ec 100755 --- a/Core/src/org/sleuthkit/autopsy/communications/relationships/AccountSummary.java +++ b/Core/src/org/sleuthkit/autopsy/communications/relationships/AccountSummary.java @@ -156,7 +156,6 @@ class AccountSummary { countFromMessageAttachments(attachmentsAttr, artifact); } catch (BlackboardJsonAttrUtil.InvalidJsonException ex) { logger.log(Level.WARNING, String.format("Unable to parse json for MessageAttachments object in artifact: %s", artifact.getName()), ex); - countFromArtifactChildren(artifact); } } else { countFromArtifactChildren(artifact); diff --git a/Core/src/org/sleuthkit/autopsy/communications/relationships/AttachmentThumbnailsChildren.java b/Core/src/org/sleuthkit/autopsy/communications/relationships/AttachmentThumbnailsChildren.java index c703d34d84..64225e4fc2 100755 --- a/Core/src/org/sleuthkit/autopsy/communications/relationships/AttachmentThumbnailsChildren.java +++ b/Core/src/org/sleuthkit/autopsy/communications/relationships/AttachmentThumbnailsChildren.java @@ -134,7 +134,6 @@ final class AttachmentThumbnailsChildren extends Children.Keys { addMessageAttachmentThumbnails(bba, attachmentsAttr, thumbnails); } catch (BlackboardJsonAttrUtil.InvalidJsonException ex) { LOGGER.log(Level.WARNING, String.format("Unable to parse json for MessageAttachments object in artifact: %s", bba.getName()), ex); - addChildrenThumbnails(bba, thumbnails); } } else { // backward compatibility - email message attachments are derived files, children of the message. addChildrenThumbnails(bba, thumbnails); diff --git a/Core/src/org/sleuthkit/autopsy/communications/relationships/MessageNode.java b/Core/src/org/sleuthkit/autopsy/communications/relationships/MessageNode.java index 58c84406e0..6d5d5785f6 100755 --- a/Core/src/org/sleuthkit/autopsy/communications/relationships/MessageNode.java +++ b/Core/src/org/sleuthkit/autopsy/communications/relationships/MessageNode.java @@ -159,10 +159,12 @@ class MessageNode extends BlackboardArtifactNode { return msgAttachments.getAttachmentsCount(); } catch (BlackboardJsonAttrUtil.InvalidJsonException ex) { logger.log(Level.WARNING, String.format("Unable to parse json for MessageAttachments object in artifact: %s", artifact.getName()), ex); + return 0; } } - - // legacy attachments may be children of message artifact. - return artifact.getChildrenCount(); + else { + // legacy attachments may be children of message artifact. + return artifact.getChildrenCount(); + } } } diff --git a/Core/src/org/sleuthkit/autopsy/contentviewers/MessageContentViewer.java b/Core/src/org/sleuthkit/autopsy/contentviewers/MessageContentViewer.java index 64ec0f60c0..032cb75e5f 100644 --- a/Core/src/org/sleuthkit/autopsy/contentviewers/MessageContentViewer.java +++ b/Core/src/org/sleuthkit/autopsy/contentviewers/MessageContentViewer.java @@ -692,7 +692,7 @@ public class MessageContentViewer extends javax.swing.JPanel implements DataCont attachments = getAttachmentsFromMessageAttachments(attachmentsAttr); } catch (BlackboardJsonAttrUtil.InvalidJsonException ex) { LOGGER.log(Level.WARNING, String.format("Unable to parse json for MessageAttachments object in artifact: %s", artifact.getName()), ex); - attachments = getAttachmentsFromChildren(artifact); + attachments = new HashSet<>(); } } else { attachments = getAttachmentsFromChildren(artifact); From 82f7324b30d7c5ebc8bba9b9d52baf5cbc472b40 Mon Sep 17 00:00:00 2001 From: Greg DiCristofaro Date: Wed, 15 Apr 2020 13:30:27 -0400 Subject: [PATCH 082/111] updated logic --- .../relationships/AccountSummary.java | 148 ++++++------------ .../AttachmentThumbnailsChildren.java | 60 ++----- .../relationships/MessageNode.java | 48 +++--- .../contentviewers/MessageContentViewer.java | 92 ++++------- 4 files changed, 120 insertions(+), 228 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/communications/relationships/AccountSummary.java b/Core/src/org/sleuthkit/autopsy/communications/relationships/AccountSummary.java index 719fad80ec..ff6607a84e 100755 --- a/Core/src/org/sleuthkit/autopsy/communications/relationships/AccountSummary.java +++ b/Core/src/org/sleuthkit/autopsy/communications/relationships/AccountSummary.java @@ -36,7 +36,7 @@ import org.sleuthkit.datamodel.CommunicationsUtils; import org.sleuthkit.datamodel.blackboardutils.attributes.BlackboardJsonAttrUtil; /** - * + * * Class representing the Summary data for a given account. */ class AccountSummary { @@ -56,9 +56,9 @@ class AccountSummary { /** * Summary constructor. - * + * * @param selectedAccount Selected account object - * @param artifacts List of relationship source artifacts + * @param artifacts List of relationship source artifacts */ AccountSummary(Account selectedAccount, Set artifacts) { this.selectedAccount = selectedAccount; @@ -67,8 +67,7 @@ class AccountSummary { } /** - * Initialize the counts based on the selected account and the given - * artifacts. + * Initialize the counts based on the selected account and the given artifacts. */ private void initCounts() { for (BlackboardArtifact artifact : artifacts) { @@ -87,18 +86,18 @@ class AccountSummary { case TSK_CONTACT: if (selectedAccount.getAccountType() != Account.Type.DEVICE) { String typeSpecificID = selectedAccount.getTypeSpecificID(); - + List attributes = null; - - try { + + try{ attributes = artifact.getAttributes(); - } catch (TskCoreException ex) { + } catch(TskCoreException ex) { logger.log(Level.WARNING, String.format("Unable to getAttributes for artifact: %d", artifact.getArtifactID()), ex); break; } - + boolean isReference = false; - + for (BlackboardAttribute attribute : attributes) { String attributeTypeName = attribute.getAttributeType().getTypeName(); @@ -109,7 +108,7 @@ class AccountSummary { } else if (attributeTypeName.contains("EMAIL")) { attributeValue = CommunicationsUtils.normalizeEmailAddress(attributeValue); } - + if (typeSpecificID.equals(attributeValue)) { isReference = true; break; @@ -134,88 +133,46 @@ class AccountSummary { break; } } - handleMessageAttachments(artifact); - } - } - - /** - * Handles incrementing attachmentCnt and mediaCnt variables based on the - * attachments and media present in an artifact. - * - * @param artifact The artifact whose MessageAttachments will be used for - * this tally. If no MessageAttachments object can be found, - * then the count of the children of the artifact will be - * used instead. - */ - private void handleMessageAttachments(BlackboardArtifact artifact) { - try { - // count the attachments from the TSK_ATTACHMENTS attribute. - BlackboardAttribute attachmentsAttr = artifact.getAttribute(new BlackboardAttribute.Type(BlackboardAttribute.ATTRIBUTE_TYPE.TSK_ATTACHMENTS)); - if (attachmentsAttr != null) { - try { - countFromMessageAttachments(attachmentsAttr, artifact); - } catch (BlackboardJsonAttrUtil.InvalidJsonException ex) { - logger.log(Level.WARNING, String.format("Unable to parse json for MessageAttachments object in artifact: %s", artifact.getName()), ex); - } - } else { - countFromArtifactChildren(artifact); - } - } catch (TskCoreException ex) { - logger.log(Level.WARNING, String.format("Exception thrown " - + "from getChildrenCount artifactID: %d", - artifact.getArtifactID()), ex); //NON-NLS - } - } - - /** - * Increments attachment and media counts based on the children of the - * BlackboardArtifact. - * - * @param artifact The artifact whose children will be counted. - * - * @throws TskCoreException - */ - private void countFromArtifactChildren(BlackboardArtifact artifact) throws TskCoreException { - // backward compatibility - email message attachments are derived files, children of the message. - attachmentCnt += artifact.getChildrenCount(); - for (Content childContent : artifact.getChildren()) { - if (ImageUtils.thumbnailSupported(childContent)) { - mediaCnt++; - } - } - } - - /** - * Increments attachment and media counts based on the file attachments in - * the parsed MessageAttachments object. - * - * @param attachmentsAttr The attribute representing the MessageAttachments - * object. - * @param artifact The artifact for this attribute. - * - * @throws TskCoreException - * @throws BlackboardJsonAttrUtil.InvalidJsonException - */ - private void countFromMessageAttachments(BlackboardAttribute attachmentsAttr, BlackboardArtifact artifact) - throws TskCoreException, BlackboardJsonAttrUtil.InvalidJsonException { - - MessageAttachments msgAttachments = BlackboardJsonAttrUtil.fromAttribute(attachmentsAttr, MessageAttachments.class); - Collection fileAttachments = msgAttachments.getFileAttachments(); - for (FileAttachment fileAttachment : fileAttachments) { - attachmentCnt++; - long attachedFileObjId = fileAttachment.getObjectId(); - if (attachedFileObjId >= 0) { - AbstractFile attachedFile = artifact.getSleuthkitCase().getAbstractFileById(attachedFileObjId); - if (ImageUtils.thumbnailSupported(attachedFile)) { - mediaCnt++; + try { + // count the attachments from the TSK_ATTACHMENTS attribute. + BlackboardAttribute attachmentsAttr = artifact.getAttribute(new BlackboardAttribute.Type(BlackboardAttribute.ATTRIBUTE_TYPE.TSK_ATTACHMENTS)); + if (attachmentsAttr != null) { + try { + MessageAttachments msgAttachments = BlackboardJsonAttrUtil.fromAttribute(attachmentsAttr, MessageAttachments.class); + Collection fileAttachments = msgAttachments.getFileAttachments(); + for (FileAttachment fileAttachment : fileAttachments) { + attachmentCnt++; + long attachedFileObjId = fileAttachment.getObjectId(); + if (attachedFileObjId >= 0) { + AbstractFile attachedFile = artifact.getSleuthkitCase().getAbstractFileById(attachedFileObjId); + if (ImageUtils.thumbnailSupported(attachedFile)) { + mediaCnt++; + } + } + } + } + catch (BlackboardJsonAttrUtil.InvalidJsonException ex) { + logger.log(Level.WARNING, String.format("Unable to parse json for MessageAttachments object in artifact: %s", artifact.getName()), ex); + } + } else { // backward compatibility - email message attachments are derived files, children of the message. + attachmentCnt += artifact.getChildrenCount(); + for (Content childContent : artifact.getChildren()) { + if (ImageUtils.thumbnailSupported(childContent)) { + mediaCnt++; + } + } } + } catch (TskCoreException ex) { + logger.log(Level.WARNING, String.format("Exception thrown " + + "from getChildrenCount artifactID: %d", + artifact.getArtifactID()), ex); //NON-NLS } } } /** * Total number of attachments that this account is referenced. - * + * * @return Attachment count */ public int getAttachmentCnt() { @@ -224,7 +181,7 @@ class AccountSummary { /** * Total number of messages that this account is referenced. - * + * * @return Message count */ public int getMessagesCnt() { @@ -233,7 +190,7 @@ class AccountSummary { /** * Total number of Emails that this account is referenced. - * + * * @return Email count */ public int getEmailCnt() { @@ -242,7 +199,7 @@ class AccountSummary { /** * Total number of call logs that this account is referenced. - * + * * @return call log count */ public int getCallLogCnt() { @@ -251,7 +208,7 @@ class AccountSummary { /** * Total number of contacts in this accounts contact book. - * + * * @return contact count */ public int getContactsCnt() { @@ -259,18 +216,17 @@ class AccountSummary { } /** - * Total number of thumbnail\media attachments that this account is - * referenced. - * + * Total number of thumbnail\media attachments that this account is referenced. + * * @return Thumbnail count */ public int getThumbnailCnt() { return mediaCnt; } - + /** * Total number of contacts that this account is referenced. - * + * * @return Contact count */ public int getReferenceCnt() { diff --git a/Core/src/org/sleuthkit/autopsy/communications/relationships/AttachmentThumbnailsChildren.java b/Core/src/org/sleuthkit/autopsy/communications/relationships/AttachmentThumbnailsChildren.java index 64225e4fc2..1daffda703 100755 --- a/Core/src/org/sleuthkit/autopsy/communications/relationships/AttachmentThumbnailsChildren.java +++ b/Core/src/org/sleuthkit/autopsy/communications/relationships/AttachmentThumbnailsChildren.java @@ -69,47 +69,6 @@ final class AttachmentThumbnailsChildren extends Children.Keys { return new Node[]{new AttachementThumbnailNode(t)}; } - /** - * Adds thumbnails based on MessageAttachments parsed in the - * BlackboardAttribute. - * - * @param bba The pertinent BlackboardArtifact. - * @param attachmentsAttr The appropriate attribute for MessageAttachments. - * @param thumbnails Parsed thumbnails will be added to this set. - * - * @throws BlackboardJsonAttrUtil.InvalidJsonException - * @throws TskCoreException - */ - private static void addMessageAttachmentThumbnails(BlackboardArtifact bba, BlackboardAttribute attachmentsAttr, - Set thumbnails) throws BlackboardJsonAttrUtil.InvalidJsonException, TskCoreException { - - MessageAttachments msgAttachments = BlackboardJsonAttrUtil.fromAttribute(attachmentsAttr, MessageAttachments.class); - Collection fileAttachments = msgAttachments.getFileAttachments(); - for (FileAttachment fileAttachment : fileAttachments) { - long attachedFileObjId = fileAttachment.getObjectId(); - if (attachedFileObjId >= 0) { - AbstractFile attachedFile = bba.getSleuthkitCase().getAbstractFileById(attachedFileObjId); - thumbnails.add(attachedFile); - } - } - } - - /** - * Adds thumbnails based on children in the BlackboardArtifact. - * - * @param bba The BlackboardArtifact whose children will be used. - * @param thumbnails Thumbnails will be added to this set. - * - * @throws TskCoreException - */ - private static void addChildrenThumbnails(BlackboardArtifact bba, Set thumbnails) throws TskCoreException { - for (Content childContent : bba.getChildren()) { - if (childContent instanceof AbstractFile) { - thumbnails.add((AbstractFile) childContent); - } - } - } - @Override protected void addNotify() { super.addNotify(); @@ -131,12 +90,25 @@ final class AttachmentThumbnailsChildren extends Children.Keys { BlackboardAttribute attachmentsAttr = bba.getAttribute(new BlackboardAttribute.Type(BlackboardAttribute.ATTRIBUTE_TYPE.TSK_ATTACHMENTS)); if (attachmentsAttr != null) { try { - addMessageAttachmentThumbnails(bba, attachmentsAttr, thumbnails); - } catch (BlackboardJsonAttrUtil.InvalidJsonException ex) { + MessageAttachments msgAttachments = BlackboardJsonAttrUtil.fromAttribute(attachmentsAttr, MessageAttachments.class); + Collection fileAttachments = msgAttachments.getFileAttachments(); + for (FileAttachment fileAttachment : fileAttachments) { + long attachedFileObjId = fileAttachment.getObjectId(); + if (attachedFileObjId >= 0) { + AbstractFile attachedFile = bba.getSleuthkitCase().getAbstractFileById(attachedFileObjId); + thumbnails.add(attachedFile); + } + } + } + catch (BlackboardJsonAttrUtil.InvalidJsonException ex) { LOGGER.log(Level.WARNING, String.format("Unable to parse json for MessageAttachments object in artifact: %s", bba.getName()), ex); } } else { // backward compatibility - email message attachments are derived files, children of the message. - addChildrenThumbnails(bba, thumbnails); + for (Content childContent : bba.getChildren()) { + if (childContent instanceof AbstractFile) { + thumbnails.add((AbstractFile) childContent); + } + } } } catch (TskCoreException ex) { diff --git a/Core/src/org/sleuthkit/autopsy/communications/relationships/MessageNode.java b/Core/src/org/sleuthkit/autopsy/communications/relationships/MessageNode.java index 6d5d5785f6..5070181e08 100755 --- a/Core/src/org/sleuthkit/autopsy/communications/relationships/MessageNode.java +++ b/Core/src/org/sleuthkit/autopsy/communications/relationships/MessageNode.java @@ -48,22 +48,22 @@ import org.sleuthkit.datamodel.blackboardutils.attributes.MessageAttachments; class MessageNode extends BlackboardArtifactNode { public static final String UNTHREADED_ID = ""; - + private static final Logger logger = Logger.getLogger(MessageNode.class.getName()); - + private final String threadID; - + private final Action preferredAction; - MessageNode(BlackboardArtifact artifact, String threadID, Action preferredAction) { + MessageNode(BlackboardArtifact artifact, String threadID, Action preferredAction) { super(artifact); - + this.preferredAction = preferredAction; final String stripEnd = StringUtils.stripEnd(artifact.getDisplayName(), "s"); // NON-NLS String removeEndIgnoreCase = StringUtils.removeEndIgnoreCase(stripEnd, "message"); // NON-NLS setDisplayName(removeEndIgnoreCase.isEmpty() ? stripEnd : removeEndIgnoreCase); - + this.threadID = threadID; } @@ -75,7 +75,7 @@ class MessageNode extends BlackboardArtifactNode { "MessageNode_Node_Property_Subject=Subject", "MessageNode_Node_Property_Attms=Attachments" }) - + @Override protected Sheet createSheet() { Sheet sheet = super.createSheet(); @@ -89,22 +89,22 @@ class MessageNode extends BlackboardArtifactNode { final BlackboardArtifact artifact = getArtifact(); BlackboardArtifact.ARTIFACT_TYPE fromID = BlackboardArtifact.ARTIFACT_TYPE.fromID(artifact.getArtifactTypeID()); - - if (fromID == null - || (fromID != TSK_EMAIL_MSG - && fromID != TSK_MESSAGE)) { + + if(fromID == null || + (fromID != TSK_EMAIL_MSG && + fromID != TSK_MESSAGE)) { return sheet; } - - sheetSet.put(new NodeProperty<>("ThreadID", "ThreadID", "", threadID == null ? UNTHREADED_ID : threadID)); //NON-NLS + + sheetSet.put(new NodeProperty<>("ThreadID", "ThreadID","",threadID == null ? UNTHREADED_ID : threadID)); //NON-NLS sheetSet.put(new NodeProperty<>("Subject", Bundle.MessageNode_Node_Property_Subject(), "", - getAttributeDisplayString(artifact, TSK_SUBJECT))); //NON-NLS + getAttributeDisplayString(artifact, TSK_SUBJECT))); //NON-NLS try { sheetSet.put(new NodeProperty<>("Attms", Bundle.MessageNode_Node_Property_Attms(), "", getAttachmentsCount())); //NON-NLS } catch (TskCoreException ex) { logger.log(Level.WARNING, "Error loading attachment count for " + artifact, ex); //NON-NLS } - + switch (fromID) { case TSK_EMAIL_MSG: sheetSet.put(new NodeProperty<>("From", Bundle.MessageNode_Node_Property_From(), "", @@ -138,18 +138,19 @@ class MessageNode extends BlackboardArtifactNode { public String getSourceName() { return getDisplayName(); } - + String getThreadID() { return threadID; } - + @Override public Action getPreferredAction() { return preferredAction; } - + private int getAttachmentsCount() throws TskCoreException { final BlackboardArtifact artifact = getArtifact(); + int attachmentsCount; // Attachments are specified in an attribute TSK_ATTACHMENTS as JSON attribute BlackboardAttribute attachmentsAttr = artifact.getAttribute(new BlackboardAttribute.Type(BlackboardAttribute.ATTRIBUTE_TYPE.TSK_ATTACHMENTS)); @@ -157,14 +158,15 @@ class MessageNode extends BlackboardArtifactNode { try { MessageAttachments msgAttachments = BlackboardJsonAttrUtil.fromAttribute(attachmentsAttr, MessageAttachments.class); return msgAttachments.getAttachmentsCount(); - } catch (BlackboardJsonAttrUtil.InvalidJsonException ex) { + } + catch (BlackboardJsonAttrUtil.InvalidJsonException ex) { logger.log(Level.WARNING, String.format("Unable to parse json for MessageAttachments object in artifact: %s", artifact.getName()), ex); return 0; } + } else { // legacy attachments may be children of message artifact. + attachmentsCount = artifact.getChildrenCount(); } - else { - // legacy attachments may be children of message artifact. - return artifact.getChildrenCount(); - } + + return attachmentsCount; } } diff --git a/Core/src/org/sleuthkit/autopsy/contentviewers/MessageContentViewer.java b/Core/src/org/sleuthkit/autopsy/contentviewers/MessageContentViewer.java index 032cb75e5f..d314201f23 100644 --- a/Core/src/org/sleuthkit/autopsy/contentviewers/MessageContentViewer.java +++ b/Core/src/org/sleuthkit/autopsy/contentviewers/MessageContentViewer.java @@ -32,7 +32,6 @@ import java.util.logging.Level; import javax.swing.JScrollPane; import javax.swing.text.JTextComponent; import org.apache.commons.lang3.StringUtils; -import static org.apache.poi.hwpf.model.FileInformationBlock.logger; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.openide.explorer.ExplorerManager; @@ -90,8 +89,7 @@ import org.sleuthkit.datamodel.blackboardutils.attributes.MessageAttachments.URL public class MessageContentViewer extends javax.swing.JPanel implements DataContentViewer { /** - * This is a text component viewer to be a child component to be placed in a - * {@link TranslatablePanel TranslatablePanel}. + * This is a text component viewer to be a child component to be placed in a {@link TranslatablePanel TranslatablePanel}. */ class TextComponent implements TranslatablePanel.ContentComponent { @@ -441,11 +439,11 @@ public class MessageContentViewer extends javax.swing.JPanel implements DataCont * Get the artifact associated with the given artifact, if there is one. * * @param artifact The artifact to get the associated artifact from. Must - * not be null + * not be null * * @throws TskCoreException If there is a critical error querying the DB. * @return An optional containing the artifact associated with the given - * artifact, if there is one. + * artifact, if there is one. */ private static Optional getAssociatedArtifact(final BlackboardArtifact artifact) throws TskCoreException { BlackboardAttribute attribute = artifact.getAttribute(TSK_ASSOCIATED_TYPE); @@ -525,10 +523,10 @@ public class MessageContentViewer extends javax.swing.JPanel implements DataCont * Is the given artifact one that can be shown in this viewer? * * @param nodeArtifact An artifact that might be a message. Must not be - * null. + * null. * * @return True if the given artifact can be shown as a message in this - * viewer. + * viewer. */ private static boolean isMessageArtifact(BlackboardArtifact nodeArtifact) { final int artifactTypeID = nodeArtifact.getArtifactTypeID(); @@ -545,7 +543,6 @@ public class MessageContentViewer extends javax.swing.JPanel implements DataCont * the file, that artifact is returned. * * @param node Node to check. - * * @return Blackboard artifact for the node, null if there isn't any. */ private BlackboardArtifact getNodeArtifact(Node node) { @@ -595,7 +592,7 @@ public class MessageContentViewer extends javax.swing.JPanel implements DataCont * Configure the text area at the given index to show the content of the * given type. * - * @param type The ATTRIBUT_TYPE to show in the indexed tab. + * @param type The ATTRIBUT_TYPE to show in the indexed tab. * @param index The index of the text area to configure. * * @throws TskCoreException @@ -631,71 +628,36 @@ public class MessageContentViewer extends javax.swing.JPanel implements DataCont datetimeText.setEnabled(true); } - /** - * Retrieves the set of attachments present in the children of the - * BlackboardArtifact. - * - * @param artifact The artifact whose children will be used for attachments. - * - * @return The attachments found in the BlackboardArtifact. - * - * @throws TskCoreException - */ - private static Set getAttachmentsFromChildren(BlackboardArtifact artifact) throws TskCoreException { - // For backward compatibility - email attachements are derived files and children of the email message artifact - Set attachments = new HashSet<>(); - for (Content child : artifact.getChildren()) { - if (child instanceof AbstractFile) { - attachments.add(new FileAttachment((AbstractFile) child)); - } - } - return attachments; - } - - /** - * Retrieves the set of attachments present in the MessageAttachments object - * parsed from the blackboard attribute. - * - * @param attachmentsAttr The blackboard attribute to be parsed to a - * MessageAttachments object. - * - * @return The set of attachments present in the MessageAttachments object. - * - * @throws BlackboardJsonAttrUtil.InvalidJsonException If the - * BlackboardAttribute - * cannot be parsed to a - * MessageAttachments - * object. - */ - private static Set getAttachmentsFromMessageAttachments(BlackboardAttribute attachmentsAttr) throws BlackboardJsonAttrUtil.InvalidJsonException { - Set attachments = new HashSet<>(); - MessageAttachments msgAttachments = BlackboardJsonAttrUtil.fromAttribute(attachmentsAttr, MessageAttachments.class); - Collection fileAttachments = msgAttachments.getFileAttachments(); - for (FileAttachment fileAttachment : fileAttachments) { - attachments.add(fileAttachment); - } - Collection urlAttachments = msgAttachments.getUrlAttachments(); - for (URLAttachment urlAttachment : urlAttachments) { - attachments.add(urlAttachment); - } - return attachments; - } - private void configureAttachments() throws TskCoreException { - Set attachments; + final Set attachments; // Attachments are specified in an attribute TSK_ATTACHMENTS as JSON attribute BlackboardAttribute attachmentsAttr = artifact.getAttribute(new BlackboardAttribute.Type(BlackboardAttribute.ATTRIBUTE_TYPE.TSK_ATTACHMENTS)); if (attachmentsAttr != null) { + + attachments = new HashSet<>(); try { - attachments = getAttachmentsFromMessageAttachments(attachmentsAttr); - } catch (BlackboardJsonAttrUtil.InvalidJsonException ex) { + MessageAttachments msgAttachments = BlackboardJsonAttrUtil.fromAttribute(attachmentsAttr, MessageAttachments.class); + Collection fileAttachments = msgAttachments.getFileAttachments(); + for (FileAttachment fileAttachment : fileAttachments) { + attachments.add(fileAttachment); + } + Collection urlAttachments = msgAttachments.getUrlAttachments(); + for (URLAttachment urlAttachment : urlAttachments) { + attachments.add(urlAttachment); + } + } + catch (BlackboardJsonAttrUtil.InvalidJsonException ex) { LOGGER.log(Level.WARNING, String.format("Unable to parse json for MessageAttachments object in artifact: %s", artifact.getName()), ex); - attachments = new HashSet<>(); } - } else { - attachments = getAttachmentsFromChildren(artifact); + } else { // For backward compatibility - email attachements are derived files and children of the email message artifact + attachments = new HashSet<>(); + for (Content child : artifact.getChildren()) { + if (child instanceof AbstractFile) { + attachments.add(new FileAttachment((AbstractFile) child)); + } + } } final int numberOfAttachments = attachments.size(); From 52ded97f8db4ce0c0b030b4175c1f6e9432bea44 Mon Sep 17 00:00:00 2001 From: Greg DiCristofaro Date: Wed, 15 Apr 2020 15:49:00 -0400 Subject: [PATCH 083/111] beginnings of gpx file ingest --- .../GPX_Module/GPX_Parser_Module.py | 268 ++++++++++-------- 1 file changed, 145 insertions(+), 123 deletions(-) diff --git a/InternalPythonModules/GPX_Module/GPX_Parser_Module.py b/InternalPythonModules/GPX_Module/GPX_Parser_Module.py index 3d202a963b..73952a341d 100644 --- a/InternalPythonModules/GPX_Module/GPX_Parser_Module.py +++ b/InternalPythonModules/GPX_Module/GPX_Parser_Module.py @@ -60,12 +60,17 @@ import gpxpy import gpxpy.gpx import gpxpy.parser +# to get a random filename to prevent race conditions +import uuid + # Factory that defines the name and details of the module and allows Autopsy # to create instances of the modules that will do the analysis. + + class GPXParserDataSourceIngestModuleFactory(IngestModuleFactoryAdapter): moduleName = "GPX Parser" - + def getModuleDisplayName(self): return self.moduleName @@ -75,158 +80,175 @@ class GPXParserDataSourceIngestModuleFactory(IngestModuleFactoryAdapter): def getModuleVersionNumber(self): return "1.2" - def isDataSourceIngestModuleFactory(self): + def isFileIngestModuleFactory(self): return True - def createDataSourceIngestModule(self, ingestOptions): + def createFileIngestModule(self, ingestOptions): return GPXParserDataSourceIngestModule() - -# Data Source-level ingest module. One gets created per data source. -class GPXParserDataSourceIngestModule(DataSourceIngestModule): - logger = Logger.getLogger(GPXParserDataSourceIngestModuleFactory.moduleName) +# Data Source-level ingest module. One gets created per data source. +class GPXParserDataSourceIngestModule(FileIngestModule): + + logger = Logger.getLogger( + GPXParserDataSourceIngestModuleFactory.moduleName) writeDebugMsgs = False def log(self, level, msg): - self.logger.logp(level, self.__class__.__name__, inspect.stack()[1][3], msg) + self.logger.logp(level, self.__class__.__name__, + inspect.stack()[1][3], msg) def __init__(self): self.context = None - - # Where any setup and configuration is done. - def startUp(self, context): - self.context = context - - # Where the analysis is done. - def process(self, dataSource, progressBar): - - # We don't know how much work there is yet. - progressBar.switchToIndeterminate() - - # Get the case database and its blackboard. - skCase = Case.getCurrentCase().getSleuthkitCase() - blackboard = skCase.getBlackboard() - - # Get any files with a .gpx extension. - # It would perhaps be better to get these files by MIME type instead. - # RC: It would also be better if this were a file level ingest module so it could process files extracted from archives. - fileManager = Case.getCurrentCase().getServices().getFileManager() - files = fileManager.findFiles(dataSource, "%.gpx") - - # Update the progress bar now that we know how much work there is to do. - numFiles = len(files) - if self.writeDebugMsgs: self.log(Level.INFO, "Found " + str(numFiles) + " GPX files") - progressBar.switchToDeterminate(numFiles) + self.fileCount = 0 # Get the module name, it will be needed for adding attributes - moduleName = GPXParserDataSourceIngestModuleFactory.moduleName + self.moduleName = GPXParserDataSourceIngestModuleFactory.moduleName - # Check if a folder for this module is present in the case Temp directory. + # Check if a folder for this module is present in the case Temp directory. # If not, create it. - dirName = os.path.join(Case.getCurrentCase().getTempDirectory(), "GPX_Parser_Module") + self.dirName = os.path.join( + Case.getCurrentCase().getTempDirectory(), "GPX_Parser_Module") try: - os.stat(dirName) + os.stat(self.dirName) except: - os.mkdir(dirName) + os.mkdir(self.dirName) - # Create a temp file name. It appears that we cannot close and delete + # Where any setup and configuration is done. + + def startUp(self, context): + self.context = context + self.fileFound = 0 + + # Where the file analysis is done. + def process(self, file): + if not file.getName().lower().endswith(".gpx"): + return IngestModule.ProcessResult.OK + + # Create a temp file name. It appears that we cannot close and delete # this file, but we can overwrite it for each file we need to process. - fileName = os.path.join(dirName, "tmp.gpx") - - fileCount = 0; - for file in files: + fileName = os.path.join(self.dirName, uuid.uuid4().hex + ".gpx") - # Create a GeoArtifactsHelper for this file. - geoArtifactHelper = GeoArtifactsHelper(skCase, moduleName, None, file) - - # Check if the user pressed cancel while we were busy. - if self.context.isJobCancelled(): - return IngestModule.ProcessResult.OK + # Create a GeoArtifactsHelper for this file. + geoArtifactHelper = GeoArtifactsHelper(skCase, moduleName, None, file) - if self.writeDebugMsgs: self.log(Level.INFO, "Processing " + file.getUniquePath() + " (objID = " + str(file.getId()) + ")") - fileCount += 1 + if self.writeDebugMsgs: + self.log(Level.INFO, "Processing " + file.getUniquePath() + + " (objID = " + str(file.getId()) + ")") - # Write the file so that it can be parsed by gpxpy. - localFile = File(fileName) - ContentUtils.writeToFile(file, localFile) + self.fileCount += 1 - # Send the file to gpxpy for parsing. - gpxfile = open(fileName) - try: - gpx = gpxpy.parse(gpxfile) - if self.writeDebugMsgs: self.log(Level.INFO, "Parsed " + file.getUniquePath() + " (objID = " + str(file.getId()) + ")") - except Exception as e: - self.log(Level.WARNING, "Error parsing file " + file.getUniquePath() + " (objID = " + str(file.getId()) + "):" + str(e)) - continue - - if gpx: - if self.writeDebugMsgs: self.log(Level.INFO, "Processing tracks from " + file.getUniquePath() + " (objID = " + str(file.getId()) + ")") - for track in gpx.tracks: - for segment in track.segments: - geoPointList = GeoTrackPoints() - for point in segment.points: + # Write the file so that it can be parsed by gpxpy. + localFile = File(fileName) + ContentUtils.writeToFile(file, localFile) - elevation = 0 - if point.elevation != None: - elevation = point.elevation - - timeStamp = 0 - try: - if (point.time != None): - timeStamp = long(time.mktime(point.time.timetuple())) - except Exception as e: - self.log(Level.WARNING, "Error getting track timestamp from " + file.getUniquePath() + " (objID = " + str(file.getId()) + "):" + str(e)) + # Send the file to gpxpy for parsing. + gpxfile = open(fileName) + try: + gpx = gpxpy.parse(gpxfile) + if self.writeDebugMsgs: + self.log(Level.INFO, "Parsed " + file.getUniquePath() + + " (objID = " + str(file.getId()) + ")") + except Exception as e: + self.log(Level.WARNING, "Error parsing file " + file.getUniquePath() + + " (objID = " + str(file.getId()) + "):" + str(e)) + continue - geoPointList.addPoint(TrackPoint(point.latitude, point.longitude, elevation, None, 0, 0, 0, timeStamp)) - + if gpx: + if self.writeDebugMsgs: + self.log(Level.INFO, "Processing tracks from " + + file.getUniquePath() + " (objID = " + str(file.getId()) + ")") + + for track in gpx.tracks: + for segment in track.segments: + geoPointList = GeoTrackPoints() + for point in segment.points: + + elevation = 0 + if point.elevation != None: + elevation = point.elevation + + timeStamp = 0 try: - geoArtifactHelper.addTrack("Track", geoPointList, None) - except Blackboard.BlackboardException as e: - self.log(Level.SEVERE, "Error posting GPS track artifact for " + file.getUniquePath() + " (objID = " + str(file.getId()) + "):" + e.getMessage()) - except TskCoreException as e: - self.log(Level.SEVERE, "Error creating GPS track artifact for " + file.getUniquePath() + " (objID = " + str(file.getId()) + "):" + e.getMessage()) - - if self.writeDebugMsgs: self.log(Level.INFO, "Processing waypoints from " + file.getUniquePath() + " (objID = " + str(file.getId()) + ")") - for waypoint in gpx.waypoints: - + if (point.time != None): + timeStamp = long(time.mktime( + point.time.timetuple())) + except Exception as e: + self.log(Level.WARNING, "Error getting track timestamp from " + + file.getUniquePath() + " (objID = " + str(file.getId()) + "):" + str(e)) + + geoPointList.addPoint(TrackPoint( + point.latitude, point.longitude, elevation, None, 0, 0, 0, timeStamp)) + try: - art = file.newArtifact(BlackboardArtifact.ARTIFACT_TYPE.TSK_GPS_BOOKMARK) - - attributes = ArrayList() - attributes.add(BlackboardAttribute(BlackboardAttribute.ATTRIBUTE_TYPE.TSK_GEO_LATITUDE.getTypeID(), moduleName, waypoint.latitude)) - attributes.add(BlackboardAttribute(BlackboardAttribute.ATTRIBUTE_TYPE.TSK_GEO_LONGITUDE.getTypeID(), moduleName, waypoint.longitude)) - attributes.add(BlackboardAttribute(BlackboardAttribute.ATTRIBUTE_TYPE.TSK_FLAG.getTypeID(), moduleName, "Waypoint")) - attributes.add(BlackboardAttribute(BlackboardAttribute.ATTRIBUTE_TYPE.TSK_NAME.getTypeID(), moduleName, waypoint.name)) - attributes.add(BlackboardAttribute(BlackboardAttribute.ATTRIBUTE_TYPE.TSK_PROG_NAME.getTypeID(), moduleName, "GPXParser")) - art.addAttributes(attributes) - - blackboard.postArtifact(art, moduleName) - + geoArtifactHelper.addTrack("Track", geoPointList, None) except Blackboard.BlackboardException as e: - self.log(Level.SEVERE, "Error posting GPS bookmark artifact for " + file.getUniquePath() + " (objID = " + str(file.getId()) + "):" + e.getMessage()) + self.log(Level.SEVERE, "Error posting GPS track artifact for " + + file.getUniquePath() + " (objID = " + str(file.getId()) + "):" + e.getMessage()) except TskCoreException as e: - self.log(Level.SEVERE, "Error creating GPS bookmark artifact for " + file.getUniquePath() + " (objID = " + str(file.getId()) + "):" + e.getMessage()) + self.log(Level.SEVERE, "Error creating GPS track artifact for " + + file.getUniquePath() + " (objID = " + str(file.getId()) + "):" + e.getMessage()) - if self.writeDebugMsgs: self.log(Level.INFO, "Processing routes from " + file.getUniquePath() + " (objID = " + str(file.getId()) + ")") - for route in gpx.routes: + if self.writeDebugMsgs: + self.log(Level.INFO, "Processing waypoints from " + + file.getUniquePath() + " (objID = " + str(file.getId()) + ")") - geoWaypoints = GeoWaypoints() + for waypoint in gpx.waypoints: - for point in route.points: - geoWaypoints.addPoint(Waypoint(point.latitude, point.longitude, point.elevation, point.name)) - - try: - geoArtifactHelper.addRoute(None, None, geoWaypoints, None) - except Blackboard.BlackboardException as e: - self.log("Error posting GPS route artifact for " + file.getUniquePath() + " (objID = " + str(file.getId()) + "):" + e.getMessage()) - except TskCoreException as e: - self.log(Level.SEVERE, "Error creating GPS route artifact for " + file.getUniquePath() + " (objID = " + str(file.getId()) + "):" + e.getMessage()) - - # Update the progress bar. - progressBar.progress(fileCount) + try: + art = file.newArtifact( + BlackboardArtifact.ARTIFACT_TYPE.TSK_GPS_BOOKMARK) - # Post a message to the ingest messages inbox. - message = IngestMessage.createMessage(IngestMessage.MessageType.DATA, moduleName, "Processed %d files" % fileCount) - IngestServices.getInstance().postMessage(message) - return IngestModule.ProcessResult.OK; + attributes = ArrayList() + attributes.add(BlackboardAttribute( + BlackboardAttribute.ATTRIBUTE_TYPE.TSK_GEO_LATITUDE.getTypeID(), moduleName, waypoint.latitude)) + attributes.add(BlackboardAttribute( + BlackboardAttribute.ATTRIBUTE_TYPE.TSK_GEO_LONGITUDE.getTypeID(), moduleName, waypoint.longitude)) + attributes.add(BlackboardAttribute( + BlackboardAttribute.ATTRIBUTE_TYPE.TSK_FLAG.getTypeID(), moduleName, "Waypoint")) + attributes.add(BlackboardAttribute( + BlackboardAttribute.ATTRIBUTE_TYPE.TSK_NAME.getTypeID(), moduleName, waypoint.name)) + attributes.add(BlackboardAttribute( + BlackboardAttribute.ATTRIBUTE_TYPE.TSK_PROG_NAME.getTypeID(), moduleName, "GPXParser")) + art.addAttributes(attributes) + + blackboard.postArtifact(art, moduleName) + + except Blackboard.BlackboardException as e: + self.log(Level.SEVERE, "Error posting GPS bookmark artifact for " + + file.getUniquePath() + " (objID = " + str(file.getId()) + "):" + e.getMessage()) + except TskCoreException as e: + self.log(Level.SEVERE, "Error creating GPS bookmark artifact for " + + file.getUniquePath() + " (objID = " + str(file.getId()) + "):" + e.getMessage()) + + if self.writeDebugMsgs: + self.log(Level.INFO, "Processing routes from " + + file.getUniquePath() + " (objID = " + str(file.getId()) + ")") + + for route in gpx.routes: + + geoWaypoints = GeoWaypoints() + + for point in route.points: + geoWaypoints.addPoint( + Waypoint(point.latitude, point.longitude, point.elevation, point.name)) + + try: + geoArtifactHelper.addRoute(None, None, geoWaypoints, None) + except Blackboard.BlackboardException as e: + self.log("Error posting GPS route artifact for " + file.getUniquePath() + + " (objID = " + str(file.getId()) + "):" + e.getMessage()) + except TskCoreException as e: + self.log(Level.SEVERE, "Error creating GPS route artifact for " + + file.getUniquePath() + " (objID = " + str(file.getId()) + "):" + e.getMessage()) + + return IngestModule.ProcessResult.OK + + # Where any shutdown code is run and resources are freed. + + def shutDown(self): + # As a final part of this example, we'll send a message to the ingest inbox with the number of files found (in this thread) + message = IngestMessage.createMessage( + IngestMessage.MessageType.DATA, SampleJythonFileIngestModuleFactory.moduleName, + str(self.filesFound) + " files found") + ingestServices = IngestServices.getInstance().postMessage(message) From f6be62c09097fb0e7b9d62a6212d1c78e204bb42 Mon Sep 17 00:00:00 2001 From: Greg DiCristofaro Date: Wed, 15 Apr 2020 16:27:03 -0400 Subject: [PATCH 084/111] syntax updates --- InternalPythonModules/GPX_Module/GPX_Parser_Module.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/InternalPythonModules/GPX_Module/GPX_Parser_Module.py b/InternalPythonModules/GPX_Module/GPX_Parser_Module.py index 73952a341d..f4a83c1995 100644 --- a/InternalPythonModules/GPX_Module/GPX_Parser_Module.py +++ b/InternalPythonModules/GPX_Module/GPX_Parser_Module.py @@ -92,7 +92,7 @@ class GPXParserDataSourceIngestModule(FileIngestModule): logger = Logger.getLogger( GPXParserDataSourceIngestModuleFactory.moduleName) - writeDebugMsgs = False + writeDebugMsgs = True def log(self, level, msg): self.logger.logp(level, self.__class__.__name__, @@ -136,8 +136,6 @@ class GPXParserDataSourceIngestModule(FileIngestModule): self.log(Level.INFO, "Processing " + file.getUniquePath() + " (objID = " + str(file.getId()) + ")") - self.fileCount += 1 - # Write the file so that it can be parsed by gpxpy. localFile = File(fileName) ContentUtils.writeToFile(file, localFile) @@ -152,7 +150,7 @@ class GPXParserDataSourceIngestModule(FileIngestModule): except Exception as e: self.log(Level.WARNING, "Error parsing file " + file.getUniquePath() + " (objID = " + str(file.getId()) + "):" + str(e)) - continue + return IngestModule.ProcessResult.ERROR if gpx: if self.writeDebugMsgs: @@ -242,6 +240,7 @@ class GPXParserDataSourceIngestModule(FileIngestModule): self.log(Level.SEVERE, "Error creating GPS route artifact for " + file.getUniquePath() + " (objID = " + str(file.getId()) + "):" + e.getMessage()) + self.fileCount += 1 return IngestModule.ProcessResult.OK # Where any shutdown code is run and resources are freed. From a3eb2062ac44c8e86eee082da740f053a7e030f2 Mon Sep 17 00:00:00 2001 From: Dennis Date: Thu, 16 Apr 2020 08:31:46 +0200 Subject: [PATCH 085/111] Update modDev.dox Add hint for unchanged method signatures. --- docs/doxygen/modDev.dox | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/doxygen/modDev.dox b/docs/doxygen/modDev.dox index ed2c3f34ea..2d8f1d313d 100644 --- a/docs/doxygen/modDev.dox +++ b/docs/doxygen/modDev.dox @@ -81,7 +81,7 @@ As you will read in the later sections about the different module types, each Au \subsection mod_dev_aut_run1 Running Your Module During Development -When you are developing your Autopsy module, you can simply choose "Run" on the module and it will launch the Autopsy platform with the module enabled in it. This is also how you can debug the module. If you want to apply changes during debugging, you can use the "Apply Code Changes" function in NetBeans. +When you are developing your Autopsy module, you can simply choose "Run" on the module and it will launch the Autopsy platform with the module enabled in it. This is also how you can debug the module. If you want to apply changes during debugging and have not changed any method signatures, you can use the "Apply Code Changes" function in NetBeans. \subsection mod_dev_aut_deploy Deploying Your Module From 9a423825adf55ca6f70878387b42d2f3ec91bd81 Mon Sep 17 00:00:00 2001 From: Greg DiCristofaro Date: Thu, 16 Apr 2020 07:47:32 -0400 Subject: [PATCH 086/111] updated hgap to horizontalGap and vgap to verticalGap --- .../autopsy/guiutils/WrapLayout.java | 89 ++++++++++--------- 1 file changed, 45 insertions(+), 44 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/guiutils/WrapLayout.java b/Core/src/org/sleuthkit/autopsy/guiutils/WrapLayout.java index b4208faa6c..8cf4d208ce 100644 --- a/Core/src/org/sleuthkit/autopsy/guiutils/WrapLayout.java +++ b/Core/src/org/sleuthkit/autopsy/guiutils/WrapLayout.java @@ -54,21 +54,19 @@ public class WrapLayout implements LayoutManager, java.io.Serializable { * subcomponents as well as the spacing between subcomponents and the * borders of the target component. * - * @serial - * @see #getHgap() - * @see #setHgap(int) + * @see #getHorizontalGap() + * @see #setHorizontalGap(int) */ - private int hgap = 0; + private int horizontalGap = 0; /** * The vertical gap between neighboring rows as well as the spacing between * rows and the borders of the target component. * - * @serial - * @see #getVgap() - * @see #setVgap(int) + * @see #getVerticalGap() + * @see #setVerticalGap(int) */ - private int vgap = 0; + private int verticalGap = 0; /** * If true, subcomponents will be aligned on their bottom edge. Otherwise, @@ -94,15 +92,16 @@ public class WrapLayout implements LayoutManager, java.io.Serializable { /** * Constructs a new WrapLayout. * - * @param vgap The vertical gap spacing between rows of subcomponents as - * well as the spacing between the target component and rows. - * @param hgap The horizontal gap spacing between neighboring subcomponents - * as well as the spacing between the subcomponents and the - * target component's border. + * @param verticalGap The vertical gap spacing between rows of + * subcomponents as well as the spacing between the + * target component and rows. + * @param horizontalGap The horizontal gap spacing between neighboring + * subcomponents as well as the spacing between the + * subcomponents and the target component's border. */ - public WrapLayout(int vgap, int hgap) { - this.vgap = vgap; - this.hgap = hgap; + public WrapLayout(int verticalGap, int horizontalGap) { + this.verticalGap = verticalGap; + this.horizontalGap = horizontalGap; } /** @@ -137,19 +136,20 @@ public class WrapLayout implements LayoutManager, java.io.Serializable { * @return The horizontal gap between components and between the components * and the borders of the Container. */ - public int getHgap() { - return hgap; + public int getHorizontalGap() { + return horizontalGap; } /** * Sets the horizontal gap between neighboring subcomponents as well as the * spacing between subcomponents and the borders of the target component. * - * @param hgap The horizontal gap between components and between the - * components and the borders of the Container. + * @param horizontalGap The horizontal gap between components and between + * the components and the borders of the + * Container. */ - public void setHgap(int hgap) { - this.hgap = hgap; + public void setHorizontalGap(int horizontalGap) { + this.horizontalGap = horizontalGap; } /** @@ -159,19 +159,20 @@ public class WrapLayout implements LayoutManager, java.io.Serializable { * @return The vertical gap between components and between the components * and the borders of the Container. */ - public int getVgap() { - return vgap; + public int getVerticalGap() { + return verticalGap; } /** * Sets the vertical gap between neighboring rows as well as the spacing * between rows and the borders of the target component. * - * @param vgap The vertical gap between components and between the - * components and the borders of the Container. + * @param verticalGap The vertical gap between components and between the + * components and the borders of the + * Container. */ - public void setVgap(int vgap) { - this.vgap = vgap; + public void setVerticalGap(int verticalGap) { + this.verticalGap = verticalGap; } /** @@ -296,9 +297,9 @@ public class WrapLayout implements LayoutManager, java.io.Serializable { boolean ltr = target.getComponentOrientation().isLeftToRight(); boolean useBaseline = getAlignOnBaseline(); - int rowY = targetDims.getInsets().top + getVgap(); - int leftX = targetDims.getInsets().left + getHgap(); - int rightX = targetDims.getOuterWidth() - targetDims.getInsets().right - getHgap(); + int rowY = targetDims.getInsets().top + getVerticalGap(); + int leftX = targetDims.getInsets().left + getHorizontalGap(); + int rightX = targetDims.getOuterWidth() - targetDims.getInsets().right - getHorizontalGap(); for (WrapLayoutRow row : rows) { int rowHeight = row.getHeight(); @@ -306,7 +307,7 @@ public class WrapLayout implements LayoutManager, java.io.Serializable { int curX = 0; if (row.getComponents() != null) { for (Component origComp : row.getComponents()) { - curX += setComponentDims(origComp, useBaseline, ltr, rowY, rowHeight, leftX, rightX, curX) + getHgap(); + curX += setComponentDims(origComp, useBaseline, ltr, rowY, rowHeight, leftX, rightX, curX) + getHorizontalGap(); } } @@ -315,11 +316,11 @@ public class WrapLayout implements LayoutManager, java.io.Serializable { // reverse opposite aligned for layout purposes since flipping ltr Collections.reverse(row.getOppositeAligned()); for (Component oppAlignedComp : row.getOppositeAligned()) { - curX += setComponentDims(oppAlignedComp, useBaseline, !ltr, rowY, rowHeight, leftX, rightX, curX) + getHgap(); + curX += setComponentDims(oppAlignedComp, useBaseline, !ltr, rowY, rowHeight, leftX, rightX, curX) + getHorizontalGap(); } } - rowY += rowHeight + getVgap(); + rowY += rowHeight + getVerticalGap(); } } @@ -331,7 +332,7 @@ public class WrapLayout implements LayoutManager, java.io.Serializable { @Override public Dimension minimumLayoutSize(Container target) { Dimension minimum = layoutSize(target, false); - minimum.width -= (getHgap() + 1); + minimum.width -= (getHorizontalGap() + 1); return minimum; } @@ -408,7 +409,7 @@ public class WrapLayout implements LayoutManager, java.io.Serializable { } Insets insets = container.getInsets(); - int horizontalInsetsAndGap = insets.left + insets.right + (getHgap() * 2); + int horizontalInsetsAndGap = insets.left + insets.right + (getHorizontalGap() * 2); int maxWidth = targetWidth - horizontalInsetsAndGap; return new ParentDimensions(targetWidth, maxWidth, insets); @@ -431,13 +432,13 @@ public class WrapLayout implements LayoutManager, java.io.Serializable { Integer containerHeight = rows.stream().map((r) -> r.getHeight()).reduce(0, Integer::sum); // add in vertical gap between rows if (rows.size() > 1) { - containerHeight += (rows.size() - 1) * getVgap(); + containerHeight += (rows.size() - 1) * getVerticalGap(); } containerHeight += targetDims.getInsets().top + targetDims.getInsets().bottom; Integer containerWidth = rows.stream().map((r) -> r.getWidth()).reduce(0, Math::max); - containerWidth += targetDims.getInsets().left + targetDims.getInsets().right + (getHgap() * 2); + containerWidth += targetDims.getInsets().left + targetDims.getInsets().right + (getHorizontalGap() * 2); // When using a scroll pane or the DecoratedLookAndFeel we need to // make sure the preferred size is less than the size of the @@ -446,7 +447,7 @@ public class WrapLayout implements LayoutManager, java.io.Serializable { Container scrollPane = SwingUtilities.getAncestorOfClass(JScrollPane.class, target); if (scrollPane != null && target.isValid()) { - containerWidth -= (getHgap() + 1); + containerWidth -= (getHorizontalGap() + 1); } return new Dimension(containerWidth, containerHeight); @@ -473,7 +474,7 @@ public class WrapLayout implements LayoutManager, java.io.Serializable { * @param height The maximum height of the row. * @param width The total width of the row. */ - WrapLayoutRow(List components, List oppositeAligned, + WrapLayoutRow(List components, List oppositeAligned, int height, int width) { this.components = components; this.oppositeAligned = oppositeAligned; @@ -537,7 +538,7 @@ public class WrapLayout implements LayoutManager, java.io.Serializable { * * @return The list of rows ordered from top to bottom. */ - private List getAllRows(List components, + private List getAllRows(List components, boolean preferred, int maxWidth) { List originalComp = components @@ -572,7 +573,7 @@ public class WrapLayout implements LayoutManager, java.io.Serializable { WrapLayoutRow lastOrig = originalRowSet.get(originalRowSet.size() - 1); WrapLayoutRow firstOpp = oppositeRowSet.get(0); - int proposedRowWidth = lastOrig.getWidth() + firstOpp.getWidth() + getHgap(); + int proposedRowWidth = lastOrig.getWidth() + firstOpp.getWidth() + getHorizontalGap(); if (proposedRowWidth <= maxWidth) { WrapLayoutRow middleRow = new WrapLayoutRow(lastOrig.getComponents(), firstOpp.getOppositeAligned(), Math.max(lastOrig.getHeight(), firstOpp.getHeight()), proposedRowWidth); @@ -601,7 +602,7 @@ public class WrapLayout implements LayoutManager, java.io.Serializable { * * @return The list of rows determined. */ - private List getRowSet(List components, + private List getRowSet(List components, boolean preferred, int maxWidth) { List rows = new ArrayList<>(); @@ -623,7 +624,7 @@ public class WrapLayout implements LayoutManager, java.io.Serializable { // Add a horizontal gap for all components after the first if (rowWidth != 0) { - rowWidth += getHgap(); + rowWidth += getHorizontalGap(); } rowComponents.add(m); From 70050f275ae3e5d857c7bc6c98cfdd868fbf48d2 Mon Sep 17 00:00:00 2001 From: Greg DiCristofaro Date: Thu, 16 Apr 2020 07:54:30 -0400 Subject: [PATCH 087/111] preload reports modules as well --- Core/src/org/sleuthkit/autopsy/core/Installer.java | 1 + Core/src/org/sleuthkit/autopsy/python/JythonModuleLoader.java | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/Core/src/org/sleuthkit/autopsy/core/Installer.java b/Core/src/org/sleuthkit/autopsy/core/Installer.java index 1d554b062b..8131539e6d 100644 --- a/Core/src/org/sleuthkit/autopsy/core/Installer.java +++ b/Core/src/org/sleuthkit/autopsy/core/Installer.java @@ -402,6 +402,7 @@ public class Installer extends ModuleInstall { Runnable loader = () -> { try { JythonModuleLoader.getIngestModuleFactories(); + JythonModuleLoader.getGeneralReportModules(); } catch (Exception ex) { logger.log(Level.SEVERE, "There was an error while doing an initial load of python plugins.", ex); diff --git a/Core/src/org/sleuthkit/autopsy/python/JythonModuleLoader.java b/Core/src/org/sleuthkit/autopsy/python/JythonModuleLoader.java index e16e98d62c..f58adbfc0d 100644 --- a/Core/src/org/sleuthkit/autopsy/python/JythonModuleLoader.java +++ b/Core/src/org/sleuthkit/autopsy/python/JythonModuleLoader.java @@ -66,7 +66,7 @@ public final class JythonModuleLoader { * @return A list of objects that implement the GeneralReportModule * interface. */ - public static List getGeneralReportModules() { + public static synchronized List getGeneralReportModules() { return getInterfaceImplementations(new GeneralReportModuleDefFilter(), GeneralReportModule.class); } @Messages({"JythonModuleLoader.pythonInterpreterError.title=Python Modules", From 43152e56f3fc768827ed6cecb174c4cfda2f1d8f Mon Sep 17 00:00:00 2001 From: Greg DiCristofaro Date: Thu, 16 Apr 2020 09:16:22 -0400 Subject: [PATCH 088/111] bug fixes --- .../GPX_Module/GPX_Parser_Module.py | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/InternalPythonModules/GPX_Module/GPX_Parser_Module.py b/InternalPythonModules/GPX_Module/GPX_Parser_Module.py index f4a83c1995..d73a55555e 100644 --- a/InternalPythonModules/GPX_Module/GPX_Parser_Module.py +++ b/InternalPythonModules/GPX_Module/GPX_Parser_Module.py @@ -105,6 +105,10 @@ class GPXParserDataSourceIngestModule(FileIngestModule): # Get the module name, it will be needed for adding attributes self.moduleName = GPXParserDataSourceIngestModuleFactory.moduleName + # Get the case database and its blackboard. + self.skCase = Case.getCurrentCase().getSleuthkitCase() + self.blackboard = self.skCase.getBlackboard() + # Check if a folder for this module is present in the case Temp directory. # If not, create it. self.dirName = os.path.join( @@ -118,7 +122,7 @@ class GPXParserDataSourceIngestModule(FileIngestModule): def startUp(self, context): self.context = context - self.fileFound = 0 + self.fileCount = 0 # Where the file analysis is done. def process(self, file): @@ -130,7 +134,7 @@ class GPXParserDataSourceIngestModule(FileIngestModule): fileName = os.path.join(self.dirName, uuid.uuid4().hex + ".gpx") # Create a GeoArtifactsHelper for this file. - geoArtifactHelper = GeoArtifactsHelper(skCase, moduleName, None, file) + geoArtifactHelper = GeoArtifactsHelper(self.skCase, self.moduleName, None, file) if self.writeDebugMsgs: self.log(Level.INFO, "Processing " + file.getUniquePath() + @@ -210,7 +214,7 @@ class GPXParserDataSourceIngestModule(FileIngestModule): BlackboardAttribute.ATTRIBUTE_TYPE.TSK_PROG_NAME.getTypeID(), moduleName, "GPXParser")) art.addAttributes(attributes) - blackboard.postArtifact(art, moduleName) + self.blackboard.postArtifact(art, self.moduleName) except Blackboard.BlackboardException as e: self.log(Level.SEVERE, "Error posting GPS bookmark artifact for " + @@ -248,6 +252,6 @@ class GPXParserDataSourceIngestModule(FileIngestModule): def shutDown(self): # As a final part of this example, we'll send a message to the ingest inbox with the number of files found (in this thread) message = IngestMessage.createMessage( - IngestMessage.MessageType.DATA, SampleJythonFileIngestModuleFactory.moduleName, - str(self.filesFound) + " files found") + IngestMessage.MessageType.DATA, GPXParserDataSourceIngestModuleFactory.moduleName, + str(self.fileCount) + " files found") ingestServices = IngestServices.getInstance().postMessage(message) From 1d5b9d4089fa9cd7df00e91c12c9d0c1a77b266e Mon Sep 17 00:00:00 2001 From: Greg DiCristofaro Date: Thu, 16 Apr 2020 09:17:38 -0400 Subject: [PATCH 089/111] turn off debug --- InternalPythonModules/GPX_Module/GPX_Parser_Module.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/InternalPythonModules/GPX_Module/GPX_Parser_Module.py b/InternalPythonModules/GPX_Module/GPX_Parser_Module.py index d73a55555e..f8e3f04522 100644 --- a/InternalPythonModules/GPX_Module/GPX_Parser_Module.py +++ b/InternalPythonModules/GPX_Module/GPX_Parser_Module.py @@ -92,7 +92,7 @@ class GPXParserDataSourceIngestModule(FileIngestModule): logger = Logger.getLogger( GPXParserDataSourceIngestModuleFactory.moduleName) - writeDebugMsgs = True + writeDebugMsgs = False def log(self, level, msg): self.logger.logp(level, self.__class__.__name__, From 7e35e479f986e7bcb2745f87c2aac0e42b78ac47 Mon Sep 17 00:00:00 2001 From: Greg DiCristofaro Date: Thu, 16 Apr 2020 09:34:28 -0400 Subject: [PATCH 090/111] more bug fixes --- InternalPythonModules/GPX_Module/GPX_Parser_Module.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/InternalPythonModules/GPX_Module/GPX_Parser_Module.py b/InternalPythonModules/GPX_Module/GPX_Parser_Module.py index f8e3f04522..35b18847d1 100644 --- a/InternalPythonModules/GPX_Module/GPX_Parser_Module.py +++ b/InternalPythonModules/GPX_Module/GPX_Parser_Module.py @@ -203,15 +203,15 @@ class GPXParserDataSourceIngestModule(FileIngestModule): attributes = ArrayList() attributes.add(BlackboardAttribute( - BlackboardAttribute.ATTRIBUTE_TYPE.TSK_GEO_LATITUDE.getTypeID(), moduleName, waypoint.latitude)) + BlackboardAttribute.ATTRIBUTE_TYPE.TSK_GEO_LATITUDE.getTypeID(), self.moduleName, waypoint.latitude)) attributes.add(BlackboardAttribute( - BlackboardAttribute.ATTRIBUTE_TYPE.TSK_GEO_LONGITUDE.getTypeID(), moduleName, waypoint.longitude)) + BlackboardAttribute.ATTRIBUTE_TYPE.TSK_GEO_LONGITUDE.getTypeID(), self.moduleName, waypoint.longitude)) attributes.add(BlackboardAttribute( - BlackboardAttribute.ATTRIBUTE_TYPE.TSK_FLAG.getTypeID(), moduleName, "Waypoint")) + BlackboardAttribute.ATTRIBUTE_TYPE.TSK_FLAG.getTypeID(), self.moduleName, "Waypoint")) attributes.add(BlackboardAttribute( - BlackboardAttribute.ATTRIBUTE_TYPE.TSK_NAME.getTypeID(), moduleName, waypoint.name)) + BlackboardAttribute.ATTRIBUTE_TYPE.TSK_NAME.getTypeID(), self.moduleName, waypoint.name)) attributes.add(BlackboardAttribute( - BlackboardAttribute.ATTRIBUTE_TYPE.TSK_PROG_NAME.getTypeID(), moduleName, "GPXParser")) + BlackboardAttribute.ATTRIBUTE_TYPE.TSK_PROG_NAME.getTypeID(), self.moduleName, "GPXParser")) art.addAttributes(attributes) self.blackboard.postArtifact(art, self.moduleName) From 2c3465269346999d1bc8eeca6fd4680bd683c05b Mon Sep 17 00:00:00 2001 From: Greg DiCristofaro Date: Thu, 16 Apr 2020 09:36:15 -0400 Subject: [PATCH 091/111] isAlignOnBaseline method change --- Core/src/org/sleuthkit/autopsy/guiutils/WrapLayout.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/guiutils/WrapLayout.java b/Core/src/org/sleuthkit/autopsy/guiutils/WrapLayout.java index 8cf4d208ce..d43df6a39e 100644 --- a/Core/src/org/sleuthkit/autopsy/guiutils/WrapLayout.java +++ b/Core/src/org/sleuthkit/autopsy/guiutils/WrapLayout.java @@ -195,7 +195,7 @@ public class WrapLayout implements LayoutManager, java.io.Serializable { * @return If components are to be vertically aligned along their bottom * edge. */ - public boolean getAlignOnBaseline() { + public boolean isAlignOnBaseline() { return alignOnBaseline; } @@ -295,7 +295,7 @@ public class WrapLayout implements LayoutManager, java.io.Serializable { List rows = getAllRows(components, true, targetDims.getInnerWidth()); boolean ltr = target.getComponentOrientation().isLeftToRight(); - boolean useBaseline = getAlignOnBaseline(); + boolean useBaseline = isAlignOnBaseline(); int rowY = targetDims.getInsets().top + getVerticalGap(); int leftX = targetDims.getInsets().left + getHorizontalGap(); From 6609f458983165f90e8e9cdf4ed1ec782e7768c8 Mon Sep 17 00:00:00 2001 From: Greg DiCristofaro Date: Thu, 16 Apr 2020 10:37:16 -0400 Subject: [PATCH 092/111] adding comment for exception firewall --- Core/src/org/sleuthkit/autopsy/core/Installer.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Core/src/org/sleuthkit/autopsy/core/Installer.java b/Core/src/org/sleuthkit/autopsy/core/Installer.java index 8131539e6d..2d2357374a 100644 --- a/Core/src/org/sleuthkit/autopsy/core/Installer.java +++ b/Core/src/org/sleuthkit/autopsy/core/Installer.java @@ -405,6 +405,8 @@ public class Installer extends ModuleInstall { JythonModuleLoader.getGeneralReportModules(); } catch (Exception ex) { + // This is a firewall exception to ensure that any possible exception caused + // by this initial load of the Jython modules are caught and logged. logger.log(Level.SEVERE, "There was an error while doing an initial load of python plugins.", ex); } From 65bd10afe12623e7014c9c560682d106ae15f4cf Mon Sep 17 00:00:00 2001 From: Ethan Roseman Date: Thu, 16 Apr 2020 10:43:41 -0400 Subject: [PATCH 093/111] 6160 track rendering --- .../geolocation/AbstractWaypointFetcher.java | 50 ++++--- .../geolocation/GeolocationTopComponent.java | 9 +- .../autopsy/geolocation/MapPanel.java | 122 ++++++++++++++---- .../autopsy/geolocation/MapWaypoint.java | 2 +- .../datamodel/WaypointBuilder.java | 10 +- 5 files changed, 144 insertions(+), 49 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/geolocation/AbstractWaypointFetcher.java b/Core/src/org/sleuthkit/autopsy/geolocation/AbstractWaypointFetcher.java index bc56968f99..e923d6dbd6 100755 --- a/Core/src/org/sleuthkit/autopsy/geolocation/AbstractWaypointFetcher.java +++ b/Core/src/org/sleuthkit/autopsy/geolocation/AbstractWaypointFetcher.java @@ -22,6 +22,7 @@ import java.util.ArrayList; import java.util.List; import java.util.Set; import java.util.logging.Level; +import javafx.util.Pair; import org.sleuthkit.autopsy.casemodule.Case; import org.sleuthkit.autopsy.coreutils.Logger; import org.sleuthkit.autopsy.geolocation.datamodel.GeoLocationDataException; @@ -75,11 +76,11 @@ abstract class AbstractWaypointFetcher implements WaypointBuilder.WaypointFilter * * @param mapWaypoints List of filtered MapWaypoints. */ - abstract void handleFilteredWaypointSet(Set mapWaypoints); + abstract void handleFilteredWaypointSet(Set mapWaypoints, List> tracks); @Override public void process(List waypoints) { - List tracks = null; + List tracks = new ArrayList<>(); if (filters.getArtifactTypes().contains(ARTIFACT_TYPE.TSK_GPS_TRACK)) { try { tracks = Track.getTracks(Case.getCurrentCase().getSleuthkitCase(), filters.getDataSources()); @@ -87,11 +88,15 @@ abstract class AbstractWaypointFetcher implements WaypointBuilder.WaypointFilter logger.log(Level.WARNING, "Exception thrown while retrieving list of Tracks", ex); } } + Pair, List>> waypointsAndTracks = createWaypointList(waypoints, tracks); + + final Set pointSet = MapWaypoint.getWaypoints(waypointsAndTracks.getKey()); + final List> trackSets = new ArrayList<>(); + for (List t : waypointsAndTracks.getValue()) { + trackSets.add(MapWaypoint.getWaypoints(t)); + } - List completeList = createWaypointList(waypoints, tracks); - final Set pointSet = MapWaypoint.getWaypoints(completeList); - - handleFilteredWaypointSet(pointSet); + handleFilteredWaypointSet(pointSet, trackSets); } /** @@ -104,8 +109,9 @@ abstract class AbstractWaypointFetcher implements WaypointBuilder.WaypointFilter * @return A list of waypoints including the tracks based on the current * filters. */ - private List createWaypointList(List waypoints, List tracks) { + private Pair, List>> createWaypointList(List waypoints, List tracks) { final List completeList = new ArrayList<>(); + List> filteredTracks = new ArrayList<>(); if (tracks != null) { Long timeRangeEnd; @@ -117,19 +123,22 @@ abstract class AbstractWaypointFetcher implements WaypointBuilder.WaypointFilter timeRangeStart = timeRangeEnd - (86400 * filters.getMostRecentNumDays()); completeList.addAll(getWaypointsInRange(timeRangeStart, timeRangeEnd, waypoints)); - completeList.addAll(getTracksInRange(timeRangeStart, timeRangeEnd, tracks)); - + + filteredTracks = getTracksInRange(timeRangeStart, timeRangeEnd, tracks); + for (List filteredTrack : filteredTracks) { + completeList.addAll(filteredTrack); + } } else { completeList.addAll(waypoints); for (Track track : tracks) { completeList.addAll(track.getPath()); + filteredTracks.add(track.getPath()); } } } else { completeList.addAll(waypoints); } - - return completeList; + return new Pair<>(completeList, filteredTracks); } /** @@ -158,31 +167,30 @@ abstract class AbstractWaypointFetcher implements WaypointBuilder.WaypointFilter } /** - * Return a list of waypoints from the given tracks that fall into for - * tracks that fall into the given time range. The track start time will - * used for determining if the whole track falls into the range. + * Return a list of lists of waypoints from the given tracks that fall into + * the given time range. The track start time will used for determining if + * the whole track falls into the range. * * @param timeRangeStart start timestamp of range (seconds from java epoch) * @param timeRangeEnd start timestamp of range (seconds from java epoch) * @param tracks Track list. * - * @return A list of waypoints that that belong to tracks that fall into the - * time range. + * @return A list of lists of waypoints corresponding to belong to tracks + * that exist within the time range. */ - private List getTracksInRange(Long timeRangeStart, Long timeRangeEnd, List tracks) { - List completeList = new ArrayList<>(); + private List> getTracksInRange(Long timeRangeStart, Long timeRangeEnd, List tracks) { + List> ret = new ArrayList<>(); if (tracks != null) { for (Track track : tracks) { Long trackTime = track.getStartTime(); if ((trackTime == null && filters.showWaypointsWithoutTimeStamp()) || (trackTime != null && (trackTime >= timeRangeStart && trackTime <= timeRangeEnd))) { - - completeList.addAll(track.getPath()); + ret.add(track.getPath()); } } } - return completeList; + return ret; } /** diff --git a/Core/src/org/sleuthkit/autopsy/geolocation/GeolocationTopComponent.java b/Core/src/org/sleuthkit/autopsy/geolocation/GeolocationTopComponent.java index da8e14a65b..7973218de9 100755 --- a/Core/src/org/sleuthkit/autopsy/geolocation/GeolocationTopComponent.java +++ b/Core/src/org/sleuthkit/autopsy/geolocation/GeolocationTopComponent.java @@ -50,6 +50,7 @@ import org.sleuthkit.autopsy.coreutils.MessageNotifyUtil; import org.sleuthkit.autopsy.coreutils.ThreadConfined; import org.sleuthkit.autopsy.geolocation.GeoFilterPanel.GeoFilter; import org.sleuthkit.autopsy.geolocation.datamodel.GeoLocationDataException; +import org.sleuthkit.autopsy.geolocation.datamodel.Track; import org.sleuthkit.autopsy.ingest.IngestManager; import static org.sleuthkit.autopsy.ingest.IngestManager.IngestModuleEvent.DATA_ADDED; import org.sleuthkit.autopsy.ingest.ModuleDataEvent; @@ -330,7 +331,7 @@ public final class GeolocationTopComponent extends TopComponent { * * @param waypointList */ - void addWaypointsToMap(Set waypointList) { + void addWaypointsToMap(Set waypointList, List> tracks) { SwingUtilities.invokeLater(new Runnable() { @Override public void run() { @@ -347,6 +348,8 @@ public final class GeolocationTopComponent extends TopComponent { } mapPanel.clearWaypoints(); mapPanel.setWaypoints(waypointList); + mapPanel.setTracks(tracks); + mapPanel.initializePainter(); setWaypointLoading(false); geoFilterPanel.setEnabled(true); } @@ -499,8 +502,8 @@ public final class GeolocationTopComponent extends TopComponent { } @Override - void handleFilteredWaypointSet(Set mapWaypoints) { - addWaypointsToMap(mapWaypoints); + void handleFilteredWaypointSet(Set mapWaypoints, List> tracks) { + addWaypointsToMap(mapWaypoints, tracks); } } } diff --git a/Core/src/org/sleuthkit/autopsy/geolocation/MapPanel.java b/Core/src/org/sleuthkit/autopsy/geolocation/MapPanel.java index 4134e09190..3fe66cbd66 100755 --- a/Core/src/org/sleuthkit/autopsy/geolocation/MapPanel.java +++ b/Core/src/org/sleuthkit/autopsy/geolocation/MapPanel.java @@ -73,6 +73,9 @@ import org.sleuthkit.autopsy.geolocation.datamodel.GeoLocationDataException; import org.sleuthkit.datamodel.TskCoreException; import javax.imageio.ImageIO; import javax.swing.SwingUtilities; +import org.jxmapviewer.painter.CompoundPainter; +import org.jxmapviewer.painter.Painter; +import org.sleuthkit.autopsy.geolocation.datamodel.Waypoint; import org.sleuthkit.datamodel.BlackboardArtifact.ARTIFACT_TYPE; /** @@ -87,6 +90,7 @@ final public class MapPanel extends javax.swing.JPanel { private boolean zoomChanging; private KdTree waypointTree; private Set waypointSet; + private List> tracks = new ArrayList<>(); private Popup currentPopup; private final PopupFactory popupFactory; @@ -207,6 +211,10 @@ final public class MapPanel extends javax.swing.JPanel { mapViewer.setCenterPosition(new GeoPosition(0, 0)); + initializePainter(); + } + + void initializePainter() { // Basic painters for the way points. WaypointPainter waypointPainter = new WaypointPainter() { @Override @@ -219,8 +227,13 @@ final public class MapPanel extends javax.swing.JPanel { } }; waypointPainter.setRenderer(new MapWaypointRenderer()); - - mapViewer.setOverlayPainter(waypointPainter); + + ArrayList> painters = new ArrayList<>(); + painters.add(new MapTrackRenderer(tracks)); + painters.add(waypointPainter); + + CompoundPainter compoundPainter = new CompoundPainter<>(painters); + mapViewer.setOverlayPainter(compoundPainter); } /** @@ -308,6 +321,14 @@ final public class MapPanel extends javax.swing.JPanel { } mapViewer.repaint(); } + + /** + * Stores the given List of tracks from which to draw paths later + * @param tracks + */ + void setTracks(List> tracks) { + this.tracks = tracks; + } /** * Set the current zoom level. @@ -739,7 +760,7 @@ final public class MapPanel extends javax.swing.JPanel { /** * Creates a waypoint image with the specified color * - * @param color the color of the new waypoint image + * @param color the color of the new image * @return the new waypoint image */ private BufferedImage createWaypointImage(Color color) { @@ -749,6 +770,7 @@ final public class MapPanel extends javax.swing.JPanel { BufferedImage ret = new BufferedImage(w, h, BufferedImage.TYPE_INT_ARGB); Graphics2D g = ret.createGraphics(); + g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); g.drawImage(whiteWaypointImage, 0, 0, null); g.setComposite(AlphaComposite.SrcIn); g.setColor(color); @@ -760,31 +782,87 @@ final public class MapPanel extends javax.swing.JPanel { } @Override - public void paintWaypoint(Graphics2D gd, JXMapViewer jxmv, MapWaypoint waypoint) { + public void paintWaypoint(Graphics2D g, JXMapViewer map, MapWaypoint waypoint) { Color color = getColor(waypoint, currentlySelectedWaypoint); BufferedImage image; int artifactType = waypoint.getArtifactTypeID(); - - if (artifactType == ARTIFACT_TYPE.TSK_GPS_TRACKPOINT.getTypeID() || - artifactType == ARTIFACT_TYPE.TSK_GPS_TRACK.getTypeID()) { - image = dotImageCache.computeIfAbsent(color, k -> { - return createTrackDotImage(color); - }); - } else { - // Store computed images in cache for later use - image = waypointImageCache.computeIfAbsent(color, k -> { - return createWaypointImage(color); - }); - } - - Point2D point = jxmv.getTileFactory().geoToPixel(waypoint.getPosition(), jxmv.getZoom()); - + Point2D point = map.getTileFactory().geoToPixel(waypoint.getPosition(), map.getZoom()); int x = (int) point.getX(); int y = (int) point.getY(); - gd = (Graphics2D) gd.create(); - gd.drawImage(image, x - image.getWidth() / 2, y - image.getHeight(), null); - gd.dispose(); + if (artifactType == ARTIFACT_TYPE.TSK_GPS_TRACKPOINT.getTypeID() || + artifactType == ARTIFACT_TYPE.TSK_GPS_TRACK.getTypeID() || + artifactType == ARTIFACT_TYPE.TSK_GPS_ROUTE.getTypeID()) { + image = dotImageCache.computeIfAbsent(color, k -> { + return createTrackDotImage(color); + }); + // Center the dot on the GPS coordinate + y -= image.getHeight() / 2; + } else { + image = waypointImageCache.computeIfAbsent(color, k -> { + return createWaypointImage(color); + }); + // Align the bottom of the pin with the GPS coordinate + y -= image.getHeight(); + } + // Center image horizontally on image + x -= image.getWidth() / 2; + + g = (Graphics2D) g.create(); + g.drawImage(image, x, y, null); + g.dispose(); + } + } + + /** + * Renderer for map track routes + */ + private class MapTrackRenderer implements Painter { + private final List> tracks; + + MapTrackRenderer(List> tracks) { + this.tracks = tracks; + } + + private void drawRoute(Set track, Graphics2D g, JXMapViewer map) { + int lastX = 0; + int lastY = 0; + + boolean first = true; + + for (MapWaypoint wp : track) { + Point2D p = map.getTileFactory().geoToPixel(wp.getPosition(), map.getZoom()); + int thisX = (int) p.getX(); + int thisY = (int) p.getY(); + + if (first) { + first = false; + } else { + g.drawLine(lastX, lastY, thisX, thisY); + } + + lastX = thisX; + lastY = thisY; + } + } + + @Override + public void paint(Graphics2D g, JXMapViewer map, int w, int h) { + g = (Graphics2D) g.create(); + + Rectangle bounds = map.getViewportBounds(); + g.translate(-bounds.x, -bounds.y); + + g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); + + g.setColor(Color.BLACK); + g.setStroke(new BasicStroke(2)); + + for (Set track : tracks) { + drawRoute(track, g, map); + } + + g.dispose(); } } } diff --git a/Core/src/org/sleuthkit/autopsy/geolocation/MapWaypoint.java b/Core/src/org/sleuthkit/autopsy/geolocation/MapWaypoint.java index 1bf9e1be0c..f7673338b1 100755 --- a/Core/src/org/sleuthkit/autopsy/geolocation/MapWaypoint.java +++ b/Core/src/org/sleuthkit/autopsy/geolocation/MapWaypoint.java @@ -84,7 +84,7 @@ final class MapWaypoint extends KdTree.XYZPoint implements org.jxmapviewer.viewe private final GeoPosition position; /** - * Returns a list of of MapWaypoint objects for the given list of + * Returns a list of MapWaypoint objects for the given list of * datamodel.Waypoint objects. * * @param dmWaypoints diff --git a/Core/src/org/sleuthkit/autopsy/geolocation/datamodel/WaypointBuilder.java b/Core/src/org/sleuthkit/autopsy/geolocation/datamodel/WaypointBuilder.java index 1f8f25452e..39bf0f8b2f 100755 --- a/Core/src/org/sleuthkit/autopsy/geolocation/datamodel/WaypointBuilder.java +++ b/Core/src/org/sleuthkit/autopsy/geolocation/datamodel/WaypointBuilder.java @@ -98,7 +98,7 @@ public final class WaypointBuilder { * * @param wwaypoints This of waypoints. */ - void process(List wwaypoints); + void process(List waypoints); } /** @@ -479,6 +479,7 @@ public final class WaypointBuilder { @Override public void process(ResultSet rs) { List waypoints = new ArrayList<>(); + //List> tracks = new ArrayList<>(); try { while (rs.next()) { int artifact_type_id = rs.getInt("artifact_type_id"); //NON-NLS @@ -486,7 +487,12 @@ public final class WaypointBuilder { ARTIFACT_TYPE type = ARTIFACT_TYPE.fromID(artifact_type_id); if (artifactTypes.contains(type)) { - waypoints.addAll(getWaypointForArtifact(skCase.getBlackboardArtifact(artifact_id), type)); + List curWaypoints = getWaypointForArtifact(skCase.getBlackboardArtifact(artifact_id), type); + /*if (type == ARTIFACT_TYPE.TSK_GPS_TRACKPOINT || + type == ARTIFACT_TYPE.TSK_GPS_TRACK) { + //tracks.add(curWaypoints); + }*/ + waypoints.addAll(curWaypoints); } } From cb66620dba9972b62b409cb0a6af6aa81e3d808a Mon Sep 17 00:00:00 2001 From: Greg DiCristofaro Date: Thu, 16 Apr 2020 13:04:38 -0400 Subject: [PATCH 094/111] updates to remove datasource mentions --- .../GPX_Module/GPX_Parser_Module.py | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/InternalPythonModules/GPX_Module/GPX_Parser_Module.py b/InternalPythonModules/GPX_Module/GPX_Parser_Module.py index 35b18847d1..d77b9e6278 100644 --- a/InternalPythonModules/GPX_Module/GPX_Parser_Module.py +++ b/InternalPythonModules/GPX_Module/GPX_Parser_Module.py @@ -44,7 +44,6 @@ from org.sleuthkit.datamodel.blackboardutils.attributes.GeoTrackPoints import Tr from org.sleuthkit.autopsy.datamodel import ContentUtils from org.sleuthkit.autopsy.ingest import IngestModule from org.sleuthkit.autopsy.ingest.IngestModule import IngestModuleException -from org.sleuthkit.autopsy.ingest import DataSourceIngestModule from org.sleuthkit.autopsy.ingest import FileIngestModule from org.sleuthkit.autopsy.ingest import IngestModuleFactoryAdapter from org.sleuthkit.autopsy.ingest import IngestMessage @@ -65,9 +64,7 @@ import uuid # Factory that defines the name and details of the module and allows Autopsy # to create instances of the modules that will do the analysis. - - -class GPXParserDataSourceIngestModuleFactory(IngestModuleFactoryAdapter): +class GPXParserFileIngestModuleFactory(IngestModuleFactoryAdapter): moduleName = "GPX Parser" @@ -84,14 +81,14 @@ class GPXParserDataSourceIngestModuleFactory(IngestModuleFactoryAdapter): return True def createFileIngestModule(self, ingestOptions): - return GPXParserDataSourceIngestModule() + return GPXParserFileIngestModule() -# Data Source-level ingest module. One gets created per data source. -class GPXParserDataSourceIngestModule(FileIngestModule): +# File level ingest module. +class GPXParserFileIngestModule(FileIngestModule): logger = Logger.getLogger( - GPXParserDataSourceIngestModuleFactory.moduleName) + GPXParserFileIngestModuleFactory.moduleName) writeDebugMsgs = False def log(self, level, msg): @@ -103,7 +100,7 @@ class GPXParserDataSourceIngestModule(FileIngestModule): self.fileCount = 0 # Get the module name, it will be needed for adding attributes - self.moduleName = GPXParserDataSourceIngestModuleFactory.moduleName + self.moduleName = GPXParserFileIngestModuleFactory.moduleName # Get the case database and its blackboard. self.skCase = Case.getCurrentCase().getSleuthkitCase() @@ -247,11 +244,9 @@ class GPXParserDataSourceIngestModule(FileIngestModule): self.fileCount += 1 return IngestModule.ProcessResult.OK - # Where any shutdown code is run and resources are freed. def shutDown(self): - # As a final part of this example, we'll send a message to the ingest inbox with the number of files found (in this thread) message = IngestMessage.createMessage( - IngestMessage.MessageType.DATA, GPXParserDataSourceIngestModuleFactory.moduleName, + IngestMessage.MessageType.DATA, GPXParserFileIngestModuleFactory.moduleName, str(self.fileCount) + " files found") ingestServices = IngestServices.getInstance().postMessage(message) From 846881136cc0a9c7e4aaf20534b3ae7f0c2b375b Mon Sep 17 00:00:00 2001 From: Greg DiCristofaro Date: Thu, 16 Apr 2020 13:05:10 -0400 Subject: [PATCH 095/111] formatting --- InternalPythonModules/GPX_Module/GPX_Parser_Module.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/InternalPythonModules/GPX_Module/GPX_Parser_Module.py b/InternalPythonModules/GPX_Module/GPX_Parser_Module.py index d77b9e6278..0e4face2bc 100644 --- a/InternalPythonModules/GPX_Module/GPX_Parser_Module.py +++ b/InternalPythonModules/GPX_Module/GPX_Parser_Module.py @@ -64,6 +64,8 @@ import uuid # Factory that defines the name and details of the module and allows Autopsy # to create instances of the modules that will do the analysis. + + class GPXParserFileIngestModuleFactory(IngestModuleFactoryAdapter): moduleName = "GPX Parser" @@ -131,7 +133,8 @@ class GPXParserFileIngestModule(FileIngestModule): fileName = os.path.join(self.dirName, uuid.uuid4().hex + ".gpx") # Create a GeoArtifactsHelper for this file. - geoArtifactHelper = GeoArtifactsHelper(self.skCase, self.moduleName, None, file) + geoArtifactHelper = GeoArtifactsHelper( + self.skCase, self.moduleName, None, file) if self.writeDebugMsgs: self.log(Level.INFO, "Processing " + file.getUniquePath() + @@ -244,7 +247,6 @@ class GPXParserFileIngestModule(FileIngestModule): self.fileCount += 1 return IngestModule.ProcessResult.OK - def shutDown(self): message = IngestMessage.createMessage( IngestMessage.MessageType.DATA, GPXParserFileIngestModuleFactory.moduleName, From 7def5251e09a8bad3bd31276fbed8e5cb400f6eb Mon Sep 17 00:00:00 2001 From: Greg DiCristofaro Date: Thu, 16 Apr 2020 14:20:31 -0400 Subject: [PATCH 096/111] fixes based on review --- Core/src/org/sleuthkit/autopsy/casemodule/Case.java | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/casemodule/Case.java b/Core/src/org/sleuthkit/autopsy/casemodule/Case.java index 917ddf6210..dbfabb7a3e 100644 --- a/Core/src/org/sleuthkit/autopsy/casemodule/Case.java +++ b/Core/src/org/sleuthkit/autopsy/casemodule/Case.java @@ -61,7 +61,6 @@ import javax.annotation.concurrent.GuardedBy; import javax.annotation.concurrent.ThreadSafe; import javax.swing.JOptionPane; import javax.swing.SwingUtilities; -import org.openide.util.Exceptions; import org.openide.util.Lookup; import org.openide.util.NbBundle; import org.openide.util.NbBundle.Messages; @@ -160,7 +159,7 @@ public class Case { private static final AutopsyEventPublisher eventPublisher = new AutopsyEventPublisher(); private static final Object caseActionSerializationLock = new Object(); private static Future backgroundOpenFileSystemsFuture = null; - private static final ExecutorService startIngestJobsExecutor + private static final ExecutorService backgroundOpenFileSystemsExecutor = Executors.newSingleThreadExecutor(new ThreadFactoryBuilder().setNameFormat("Case-open-file-systems-%d").build()); private static volatile Frame mainFrame; private static volatile Case currentCase; @@ -2007,8 +2006,8 @@ public class Case { /** * Starts a background task that reads a sector from each file system of - * each image of a case to do an eager open of the filesystems in case. If - * this method is called before another background file system read has + * each image of a case to do an eager open of the filesystems in the case. + * If this method is called before another background file system read has * finished the earlier one will be cancelled. * * @throws CaseActionCancelledException Exception thrown if task is @@ -2018,13 +2017,13 @@ public class Case { "# {0} - case", "Case.openFileSystems.retrievingImages=Retrieving images for case: {0}...", "# {0} - image", "Case.openFileSystems.openingImage=Opening all filesystems for image: {0}..." }) - private void openFileSystemsInBackground() throws CaseActionCancelledException { + private void openFileSystemsInBackground() { if (backgroundOpenFileSystemsFuture != null && !backgroundOpenFileSystemsFuture.isDone()) { backgroundOpenFileSystemsFuture.cancel(true); } BackgroundOpenFileSystemsTask backgroundTask = new BackgroundOpenFileSystemsTask(this.caseDb, new LoggingProgressIndicator()); - backgroundOpenFileSystemsFuture = startIngestJobsExecutor.submit(backgroundTask); + backgroundOpenFileSystemsFuture = backgroundOpenFileSystemsExecutor.submit(backgroundTask); } /** From 5fb341f51451bd85cc331662113306e6ee5e27cf Mon Sep 17 00:00:00 2001 From: Greg DiCristofaro Date: Thu, 16 Apr 2020 14:49:55 -0400 Subject: [PATCH 097/111] rename of executor service --- Core/src/org/sleuthkit/autopsy/casemodule/Case.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/casemodule/Case.java b/Core/src/org/sleuthkit/autopsy/casemodule/Case.java index dbfabb7a3e..5a703a4ea9 100644 --- a/Core/src/org/sleuthkit/autopsy/casemodule/Case.java +++ b/Core/src/org/sleuthkit/autopsy/casemodule/Case.java @@ -159,8 +159,8 @@ public class Case { private static final AutopsyEventPublisher eventPublisher = new AutopsyEventPublisher(); private static final Object caseActionSerializationLock = new Object(); private static Future backgroundOpenFileSystemsFuture = null; - private static final ExecutorService backgroundOpenFileSystemsExecutor - = Executors.newSingleThreadExecutor(new ThreadFactoryBuilder().setNameFormat("Case-open-file-systems-%d").build()); + private static final ExecutorService openFileSystemsExecutor + = Executors.newSingleThreadExecutor(new ThreadFactoryBuilder().setNameFormat("case-open-file-systems-%d").build()); private static volatile Frame mainFrame; private static volatile Case currentCase; private final CaseMetadata metadata; @@ -2023,7 +2023,7 @@ public class Case { } BackgroundOpenFileSystemsTask backgroundTask = new BackgroundOpenFileSystemsTask(this.caseDb, new LoggingProgressIndicator()); - backgroundOpenFileSystemsFuture = backgroundOpenFileSystemsExecutor.submit(backgroundTask); + backgroundOpenFileSystemsFuture = openFileSystemsExecutor.submit(backgroundTask); } /** From 2915429b5c226cb14c676cf4f8c199bc8ba8d60f Mon Sep 17 00:00:00 2001 From: Greg DiCristofaro Date: Thu, 16 Apr 2020 16:28:14 -0400 Subject: [PATCH 098/111] children need to receive updates from event bus --- .../autopsy/datamodel/accounts/Accounts.java | 111 ++++++++++++++---- 1 file changed, 89 insertions(+), 22 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/accounts/Accounts.java b/Core/src/org/sleuthkit/autopsy/datamodel/accounts/Accounts.java index 48c488c213..04fca36809 100644 --- a/Core/src/org/sleuthkit/autopsy/datamodel/accounts/Accounts.java +++ b/Core/src/org/sleuthkit/autopsy/datamodel/accounts/Accounts.java @@ -33,8 +33,10 @@ import java.util.Arrays; import java.util.Collection; import java.util.Collections; import java.util.EnumSet; +import java.util.HashMap; import java.util.HashSet; import java.util.List; +import java.util.Map; import java.util.Objects; import java.util.Optional; import java.util.Set; @@ -107,6 +109,9 @@ final public class Accounts implements AutopsyVisitableItem { private final RejectAccounts rejectActionInstance; private final ApproveAccounts approveActionInstance; + + // tracks the number of each account type found + private final AccountTypeResults accountTypeResults; /** * Constructor @@ -126,9 +131,10 @@ final public class Accounts implements AutopsyVisitableItem { public Accounts(SleuthkitCase skCase, long objId) { this.skCase = skCase; this.filteringDSObjId = objId; - + this.rejectActionInstance = new RejectAccounts(); this.approveActionInstance = new ApproveAccounts(); + this.accountTypeResults = new AccountTypeResults(); } @Override @@ -249,12 +255,69 @@ final public class Accounts implements AutopsyVisitableItem { return getClass().getName(); } } + + /** + * Tracks the account types and the number of account types found. + */ + private class AccountTypeResults { + private Map counts = new HashMap<>(); + + AccountTypeResults() { + update(); + } + + /** + * Given the type name of the Account.Type, provides the count of those type. + * @param accountType The type name of the Account.Type. + * @return The number of results found for the given account type. + */ + Long getCount(String accountType) { + return counts.get(accountType); + } + + /** + * Retrieves an alphabetically organized list of all the account types. + * @return An alphabetically organized list of all the account types. + */ + List getTypes() { + List types = new ArrayList(counts.keySet()); + Collections.sort(types); + return types; + } + + /** + * Queries the database and updates the counts for each account type. + */ + private void update() { + String accountTypesInUseQuery + = "SELECT blackboard_attributes.value_text as account_type, COUNT(*) as count " + + " FROM blackboard_artifacts " //NON-NLS + + " JOIN blackboard_attributes ON blackboard_artifacts.artifact_id = blackboard_attributes.artifact_id " //NON-NLS + + " WHERE blackboard_artifacts.artifact_type_id = " + BlackboardArtifact.ARTIFACT_TYPE.TSK_ACCOUNT.getTypeID() //NON-NLS + + " AND blackboard_attributes.attribute_type_id = " + BlackboardAttribute.ATTRIBUTE_TYPE.TSK_ACCOUNT_TYPE.getTypeID() //NON-NLS + + getFilterByDataSourceClause() + + " GROUP BY blackboard_attributes.value_text "; + + try (SleuthkitCase.CaseDbQuery executeQuery = skCase.executeQuery(accountTypesInUseQuery); + ResultSet resultSet = executeQuery.getResultSet()) { + + counts.clear(); + while (resultSet.next()) { + String accountType = resultSet.getString("account_type"); + Long count = resultSet.getLong("count"); + counts.put(accountType, count); + } + } catch (TskCoreException | SQLException ex) { + LOGGER.log(Level.SEVERE, "Error querying for account_types", ex); + } + } + } /** * Creates child nodes for each account type in the db. */ private class AccountTypeFactory extends ObservingChildren { - + /* * The pcl is in this class because it has the easiest mechanisms to add * and remove itself during its life cycles. @@ -281,6 +344,7 @@ final public class Accounts implements AutopsyVisitableItem { ModuleDataEvent eventData = (ModuleDataEvent) evt.getOldValue(); if (null != eventData && eventData.getBlackboardArtifactType().getTypeID() == ARTIFACT_TYPE.TSK_ACCOUNT.getTypeID()) { + accountTypeResults.update(); reviewStatusBus.post(eventData); } } catch (NoCurrentCaseException notUsed) { @@ -324,24 +388,7 @@ final public class Accounts implements AutopsyVisitableItem { @Override protected boolean createKeys(List list) { - String accountTypesInUseQuery - = "SELECT DISTINCT blackboard_attributes.value_text as account_type " - + " FROM blackboard_artifacts " //NON-NLS - + " JOIN blackboard_attributes ON blackboard_artifacts.artifact_id = blackboard_attributes.artifact_id " //NON-NLS - + " WHERE blackboard_artifacts.artifact_type_id = " + BlackboardArtifact.ARTIFACT_TYPE.TSK_ACCOUNT.getTypeID() //NON-NLS - + " AND blackboard_attributes.attribute_type_id = " + BlackboardAttribute.ATTRIBUTE_TYPE.TSK_ACCOUNT_TYPE.getTypeID() //NON-NLS - + getFilterByDataSourceClause(); - - try (SleuthkitCase.CaseDbQuery executeQuery = skCase.executeQuery(accountTypesInUseQuery); - ResultSet resultSet = executeQuery.getResultSet()) { - while (resultSet.next()) { - String accountType = resultSet.getString("account_type"); - list.add(accountType); - } - } catch (TskCoreException | SQLException ex) { - LOGGER.log(Level.SEVERE, "Error querying for account_types", ex); - } - + list.addAll(accountTypeResults.getTypes()); return true; } @@ -509,11 +556,13 @@ final public class Accounts implements AutopsyVisitableItem { * no special behavior. */ final public class DefaultAccountTypeNode extends DisplayableItemNode { - + private final Account.Type accountType; + private DefaultAccountTypeNode(Account.Type accountType) { super(Children.create(new DefaultAccountFactory(accountType), true), Lookups.singleton(accountType)); - setName(accountType.getDisplayName()); this.setIconBaseWithExtension(getIconFilePath(accountType)); //NON-NLS + this.accountType = accountType; + updateName(); } @Override @@ -530,6 +579,15 @@ final public class Accounts implements AutopsyVisitableItem { public String getItemType() { return getClass().getName(); } + + /** + * Subscribes to the event bus to get the latest counts for the account type and + * then update the name. + */ + @Subscribe + public void updateName() { + setName(String.format("%s (%d)", accountType.getDisplayName(), accountTypeResults.getCount(accountType.getTypeName()))); + } } /** @@ -659,6 +717,15 @@ final public class Accounts implements AutopsyVisitableItem { setName(Account.Type.CREDIT_CARD.getDisplayName()); this.setIconBaseWithExtension("org/sleuthkit/autopsy/images/credit-cards.png"); //NON-NLS } + + /** + * Subscribes to the event bus to get the latest counts for the account type and + * then update the name. + */ + @Subscribe + public void updateName() { + setName(String.format("%s (%d)", Account.Type.CREDIT_CARD.getDisplayName(), accountTypeResults.getCount(Account.Type.CREDIT_CARD.getTypeName()))); + } @Override public boolean isLeafTypeNode() { From 4aeb5b9d6a2eea17b5675a74b418dac942834733 Mon Sep 17 00:00:00 2001 From: apriestman Date: Thu, 16 Apr 2020 16:31:47 -0400 Subject: [PATCH 099/111] Central repo should only subscribe to events it processes --- .../eventlisteners/CaseEventListener.java | 28 +++++++++++++++++++ .../eventlisteners/Installer.java | 4 +-- 2 files changed, 30 insertions(+), 2 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/centralrepository/eventlisteners/CaseEventListener.java b/Core/src/org/sleuthkit/autopsy/centralrepository/eventlisteners/CaseEventListener.java index 8f648a9945..d8bd1c43c3 100644 --- a/Core/src/org/sleuthkit/autopsy/centralrepository/eventlisteners/CaseEventListener.java +++ b/Core/src/org/sleuthkit/autopsy/centralrepository/eventlisteners/CaseEventListener.java @@ -21,7 +21,9 @@ package org.sleuthkit.autopsy.centralrepository.eventlisteners; import com.google.common.util.concurrent.ThreadFactoryBuilder; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; +import java.util.EnumSet; import java.util.List; +import java.util.Set; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.logging.Level; @@ -64,6 +66,15 @@ final class CaseEventListener implements PropertyChangeListener { private static final Logger LOGGER = Logger.getLogger(CaseEventListener.class.getName()); private final ExecutorService jobProcessingExecutor; private static final String CASE_EVENT_THREAD_NAME = "Case-Event-Listener-%d"; + + private static final Set CASE_EVENTS_OF_INTEREST = EnumSet.of( + Case.Events.CONTENT_TAG_ADDED, Case.Events.CONTENT_TAG_DELETED, + Case.Events.BLACKBOARD_ARTIFACT_TAG_DELETED, Case.Events.BLACKBOARD_ARTIFACT_TAG_ADDED, + Case.Events.CONTENT_TAG_ADDED, Case.Events.CONTENT_TAG_DELETED, + Case.Events.DATA_SOURCE_ADDED, + Case.Events.TAG_DEFINITION_CHANGED, + Case.Events.CURRENT_CASE, + Case.Events.DATA_SOURCE_NAME_CHANGED); CaseEventListener() { jobProcessingExecutor = Executors.newSingleThreadExecutor(new ThreadFactoryBuilder().setNameFormat(CASE_EVENT_THREAD_NAME).build()); @@ -82,6 +93,9 @@ final class CaseEventListener implements PropertyChangeListener { LOGGER.log(Level.SEVERE, "Failed to get instance of db manager.", ex); return; } + + // If any changes are made to which event types are handled the change + // must also be made to CASE_EVENTS_OF_INTEREST. switch (Case.Events.valueOf(evt.getPropertyName())) { case CONTENT_TAG_ADDED: case CONTENT_TAG_DELETED: { @@ -113,6 +127,20 @@ final class CaseEventListener implements PropertyChangeListener { break; } } + + /* + * Add all of our Case Event Listeners to the case. + */ + void installListeners() { + Case.addEventTypeSubscriber(CASE_EVENTS_OF_INTEREST, this); + } + + /* + * Remove all of our Case Event Listeners from the case. + */ + void uninstallListeners() { + Case.removeEventTypeSubscriber(CASE_EVENTS_OF_INTEREST, this); + } private final class ContentTagTask implements Runnable { diff --git a/Core/src/org/sleuthkit/autopsy/centralrepository/eventlisteners/Installer.java b/Core/src/org/sleuthkit/autopsy/centralrepository/eventlisteners/Installer.java index da58e8936b..d4f0253cd2 100644 --- a/Core/src/org/sleuthkit/autopsy/centralrepository/eventlisteners/Installer.java +++ b/Core/src/org/sleuthkit/autopsy/centralrepository/eventlisteners/Installer.java @@ -101,7 +101,7 @@ public class Installer extends ModuleInstall { * central repository. */ private void addApplicationEventListeners() { - Case.addPropertyChangeListener(caseEventListener); + caseEventListener.installListeners(); ingestEventListener.installListeners(); } @@ -226,7 +226,7 @@ public class Installer extends ModuleInstall { * * THIS CODE IS NEVER EXECUTED. */ - Case.removePropertyChangeListener(caseEventListener); + caseEventListener.uninstallListeners(); caseEventListener.shutdown(); ingestEventListener.shutdown(); ingestEventListener.uninstallListeners(); From 9e14a5264590db5d3954999cc93b72b52db307f1 Mon Sep 17 00:00:00 2001 From: Ethan Roseman Date: Thu, 16 Apr 2020 17:31:13 -0400 Subject: [PATCH 100/111] 6160 Full track highlighting --- .../autopsy/geolocation/MapPanel.java | 20 ++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/geolocation/MapPanel.java b/Core/src/org/sleuthkit/autopsy/geolocation/MapPanel.java index 3fe66cbd66..a573483b86 100755 --- a/Core/src/org/sleuthkit/autopsy/geolocation/MapPanel.java +++ b/Core/src/org/sleuthkit/autopsy/geolocation/MapPanel.java @@ -103,6 +103,7 @@ final public class MapPanel extends javax.swing.JPanel { private BufferedImage transparentWaypointImage; private MapWaypoint currentlySelectedWaypoint; + private Set currentlySelectedTrack; /** * Creates new form MapPanel @@ -348,6 +349,7 @@ final public class MapPanel extends javax.swing.JPanel { void clearWaypoints() { waypointTree = null; currentlySelectedWaypoint = null; + currentlySelectedTrack = null; if (currentPopup != null) { currentPopup.hide(); } @@ -685,9 +687,17 @@ final public class MapPanel extends javax.swing.JPanel { if (!evt.isPopupTrigger() && SwingUtilities.isLeftMouseButton(evt)) { List waypoints = findClosestWaypoint(evt.getPoint()); if (waypoints.size() > 0) { - currentlySelectedWaypoint = waypoints.get(0); + MapWaypoint selection = waypoints.get(0); + currentlySelectedWaypoint = selection; + for (Set track : tracks) { + if (track.contains(selection)) { + currentlySelectedTrack = track; + break; + } + } } else { currentlySelectedWaypoint = null; + currentlySelectedTrack = null; } showDetailsPopup(); } @@ -721,13 +731,13 @@ final public class MapPanel extends javax.swing.JPanel { /** * * @param waypoint the waypoint for which to get the color - * @param currentlySelectedWaypoint the waypoint that is currently * selected * @return the color that this waypoint should be rendered */ - private Color getColor(MapWaypoint waypoint, MapWaypoint currentlySelectedWaypoint) { + private Color getColor(MapWaypoint waypoint) { Color baseColor = waypoint.getColor(); - if (waypoint.equals(currentlySelectedWaypoint)) { + if (waypoint.equals(currentlySelectedWaypoint) || + (currentlySelectedTrack != null && currentlySelectedTrack.contains(waypoint))) { // Highlight this waypoint since it is selected return Color.YELLOW; } else { @@ -783,7 +793,7 @@ final public class MapPanel extends javax.swing.JPanel { @Override public void paintWaypoint(Graphics2D g, JXMapViewer map, MapWaypoint waypoint) { - Color color = getColor(waypoint, currentlySelectedWaypoint); + Color color = getColor(waypoint); BufferedImage image; int artifactType = waypoint.getArtifactTypeID(); Point2D point = map.getTileFactory().geoToPixel(waypoint.getPosition(), map.getZoom()); From 94deee76d9ff8ab2a3fd2aae7b894afcc41cdcd6 Mon Sep 17 00:00:00 2001 From: Ethan Roseman Date: Thu, 16 Apr 2020 17:33:21 -0400 Subject: [PATCH 101/111] 6160 Restore WaypointBuilder --- .../autopsy/geolocation/datamodel/WaypointBuilder.java | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/geolocation/datamodel/WaypointBuilder.java b/Core/src/org/sleuthkit/autopsy/geolocation/datamodel/WaypointBuilder.java index 39bf0f8b2f..11ff0107dd 100755 --- a/Core/src/org/sleuthkit/autopsy/geolocation/datamodel/WaypointBuilder.java +++ b/Core/src/org/sleuthkit/autopsy/geolocation/datamodel/WaypointBuilder.java @@ -479,7 +479,6 @@ public final class WaypointBuilder { @Override public void process(ResultSet rs) { List waypoints = new ArrayList<>(); - //List> tracks = new ArrayList<>(); try { while (rs.next()) { int artifact_type_id = rs.getInt("artifact_type_id"); //NON-NLS @@ -487,12 +486,7 @@ public final class WaypointBuilder { ARTIFACT_TYPE type = ARTIFACT_TYPE.fromID(artifact_type_id); if (artifactTypes.contains(type)) { - List curWaypoints = getWaypointForArtifact(skCase.getBlackboardArtifact(artifact_id), type); - /*if (type == ARTIFACT_TYPE.TSK_GPS_TRACKPOINT || - type == ARTIFACT_TYPE.TSK_GPS_TRACK) { - //tracks.add(curWaypoints); - }*/ - waypoints.addAll(curWaypoints); + waypoints.addAll(getWaypointForArtifact(skCase.getBlackboardArtifact(artifact_id), type)); } } From d5b17eceee1464d68331c5f14d007a4b58954cc4 Mon Sep 17 00:00:00 2001 From: Greg DiCristofaro Date: Fri, 17 Apr 2020 07:44:34 -0400 Subject: [PATCH 102/111] updates to subscribe to event bus --- .../autopsy/datamodel/accounts/Accounts.java | 46 +++++++++++++++---- 1 file changed, 37 insertions(+), 9 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/accounts/Accounts.java b/Core/src/org/sleuthkit/autopsy/datamodel/accounts/Accounts.java index 04fca36809..230d55ab9c 100644 --- a/Core/src/org/sleuthkit/autopsy/datamodel/accounts/Accounts.java +++ b/Core/src/org/sleuthkit/autopsy/datamodel/accounts/Accounts.java @@ -391,17 +391,28 @@ final public class Accounts implements AutopsyVisitableItem { list.addAll(accountTypeResults.getTypes()); return true; } + + /** + * Registers the given node with the reviewStatusBus and returns + * the node wrapped in an array. + * @param node The node to be wrapped. + * @return The array containing this node. + */ + private Node[] getNodeArr(Node node) { + reviewStatusBus.register(node); + return new Node[]{node}; + } @Override protected Node[] createNodesForKey(String acountTypeName) { if (Account.Type.CREDIT_CARD.getTypeName().equals(acountTypeName)) { - return new Node[]{new CreditCardNumberAccountTypeNode()}; + return getNodeArr(new CreditCardNumberAccountTypeNode()); } else { try { Account.Type accountType = skCase.getCommunicationsManager().getAccountType(acountTypeName); - return new Node[]{new DefaultAccountTypeNode(accountType)}; + return getNodeArr(new DefaultAccountTypeNode(accountType)); } catch (TskCoreException ex) { LOGGER.log(Level.SEVERE, "Error getting display name for account type. ", ex); } @@ -580,11 +591,20 @@ final public class Accounts implements AutopsyVisitableItem { return getClass().getName(); } - /** - * Subscribes to the event bus to get the latest counts for the account type and - * then update the name. - */ + @Subscribe + void handleReviewStatusChange(ReviewStatusChangeEvent event) { + updateName(); + } + + @Subscribe + void handleDataAdded(ModuleDataEvent event) { + updateName(); + } + + /** + * Gets the latest counts for the account type and then updates the name. + */ public void updateName() { setName(String.format("%s (%d)", accountType.getDisplayName(), accountTypeResults.getCount(accountType.getTypeName()))); } @@ -719,13 +739,21 @@ final public class Accounts implements AutopsyVisitableItem { } /** - * Subscribes to the event bus to get the latest counts for the account type and - * then update the name. + * Gets the latest counts for the account type and then updates the name. */ - @Subscribe public void updateName() { setName(String.format("%s (%d)", Account.Type.CREDIT_CARD.getDisplayName(), accountTypeResults.getCount(Account.Type.CREDIT_CARD.getTypeName()))); } + + @Subscribe + void handleReviewStatusChange(ReviewStatusChangeEvent event) { + updateName(); + } + + @Subscribe + void handleDataAdded(ModuleDataEvent event) { + updateName(); + } @Override public boolean isLeafTypeNode() { From 9e85240ad420c76102130f22678c6c96ed3244c1 Mon Sep 17 00:00:00 2001 From: Greg DiCristofaro Date: Fri, 17 Apr 2020 07:57:09 -0400 Subject: [PATCH 103/111] addressing codacy issue --- Core/src/org/sleuthkit/autopsy/datamodel/accounts/Accounts.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/accounts/Accounts.java b/Core/src/org/sleuthkit/autopsy/datamodel/accounts/Accounts.java index 230d55ab9c..54947019e3 100644 --- a/Core/src/org/sleuthkit/autopsy/datamodel/accounts/Accounts.java +++ b/Core/src/org/sleuthkit/autopsy/datamodel/accounts/Accounts.java @@ -260,7 +260,7 @@ final public class Accounts implements AutopsyVisitableItem { * Tracks the account types and the number of account types found. */ private class AccountTypeResults { - private Map counts = new HashMap<>(); + private final Map counts = new HashMap<>(); AccountTypeResults() { update(); From eb19caf7ff958515419a8211b20fbcc5f0b1925d Mon Sep 17 00:00:00 2001 From: Greg DiCristofaro Date: Fri, 17 Apr 2020 10:56:35 -0400 Subject: [PATCH 104/111] open ide loaded paths do not have leading slash --- .../autopsy/communications/AccountDeviceInstanceNode.java | 3 ++- .../autopsy/communications/PinAccountsAction.java | 2 +- .../autopsy/communications/ResetAndPinAccountsAction.java | 2 +- .../autopsy/communications/UnpinAccountsAction.java | 2 +- .../autopsy/datamodel/BlackboardArtifactNode.java | 2 +- .../org/sleuthkit/autopsy/datamodel/accounts/Accounts.java | 3 ++- .../org/sleuthkit/autopsy/datamodel/utils/IconsUtil.java | 7 ++++++- .../org/sleuthkit/autopsy/filequery/DiscoveryUiUtils.java | 4 ++-- 8 files changed, 16 insertions(+), 9 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/communications/AccountDeviceInstanceNode.java b/Core/src/org/sleuthkit/autopsy/communications/AccountDeviceInstanceNode.java index 25d7bf5519..ee5f2283ae 100644 --- a/Core/src/org/sleuthkit/autopsy/communications/AccountDeviceInstanceNode.java +++ b/Core/src/org/sleuthkit/autopsy/communications/AccountDeviceInstanceNode.java @@ -48,7 +48,8 @@ final class AccountDeviceInstanceNode extends AbstractNode { this.account = accountDeviceInstanceKey.getAccountDeviceInstance().getAccount(); setName(account.getTypeSpecificID()); setDisplayName(getName()); - setIconBaseWithExtension(Utils.getIconFilePath(account.getAccountType())); + String iconPath = Utils.getIconFilePath(account.getAccountType()); + this.setIconBaseWithExtension(iconPath != null && iconPath.startsWith("/") ? iconPath.substring(1) : iconPath); } AccountDeviceInstance getAccountDeviceInstance() { diff --git a/Core/src/org/sleuthkit/autopsy/communications/PinAccountsAction.java b/Core/src/org/sleuthkit/autopsy/communications/PinAccountsAction.java index 52136d1b1a..34e6339b68 100644 --- a/Core/src/org/sleuthkit/autopsy/communications/PinAccountsAction.java +++ b/Core/src/org/sleuthkit/autopsy/communications/PinAccountsAction.java @@ -32,7 +32,7 @@ import org.openide.util.NbBundle; final class PinAccountsAction extends AbstractCVTAction { static private final ImageIcon ICON = ImageUtilities.loadImageIcon( - "/org/sleuthkit/autopsy/communications/images/marker--plus.png", false); + "org/sleuthkit/autopsy/communications/images/marker--plus.png", false); private static final String SINGULAR_TEXT = Bundle.PinAccountsAction_singularText(); private static final String PLURAL_TEXT = Bundle.PinAccountsAction_pluralText(); diff --git a/Core/src/org/sleuthkit/autopsy/communications/ResetAndPinAccountsAction.java b/Core/src/org/sleuthkit/autopsy/communications/ResetAndPinAccountsAction.java index 385ac3348b..ee71508162 100644 --- a/Core/src/org/sleuthkit/autopsy/communications/ResetAndPinAccountsAction.java +++ b/Core/src/org/sleuthkit/autopsy/communications/ResetAndPinAccountsAction.java @@ -32,7 +32,7 @@ import org.openide.util.NbBundle; final class ResetAndPinAccountsAction extends AbstractCVTAction { private static final ImageIcon ICON = ImageUtilities.loadImageIcon( - "/org/sleuthkit/autopsy/communications/images/marker--pin.png", false); + "org/sleuthkit/autopsy/communications/images/marker--pin.png", false); private static final String SINGULAR_TEXT = Bundle.ResetAndPinAccountsAction_singularText(); private static final String PLURAL_TEXT = Bundle.ResetAndPinAccountsAction_pluralText(); diff --git a/Core/src/org/sleuthkit/autopsy/communications/UnpinAccountsAction.java b/Core/src/org/sleuthkit/autopsy/communications/UnpinAccountsAction.java index 58ace503d9..0342d90310 100644 --- a/Core/src/org/sleuthkit/autopsy/communications/UnpinAccountsAction.java +++ b/Core/src/org/sleuthkit/autopsy/communications/UnpinAccountsAction.java @@ -32,7 +32,7 @@ import org.openide.util.NbBundle; final class UnpinAccountsAction extends AbstractCVTAction { static final private ImageIcon ICON = ImageUtilities.loadImageIcon( - "/org/sleuthkit/autopsy/communications/images/marker--minus.png", false); + "org/sleuthkit/autopsy/communications/images/marker--minus.png", false); private static final String SINGULAR_TEXT = Bundle.UnpinAccountsAction_singularText(); private static final String PLURAL_TEXT = Bundle.UnpinAccountsAction_pluralText(); diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/BlackboardArtifactNode.java b/Core/src/org/sleuthkit/autopsy/datamodel/BlackboardArtifactNode.java index 15bc46a8da..c57282ab9f 100644 --- a/Core/src/org/sleuthkit/autopsy/datamodel/BlackboardArtifactNode.java +++ b/Core/src/org/sleuthkit/autopsy/datamodel/BlackboardArtifactNode.java @@ -260,7 +260,7 @@ public class BlackboardArtifactNode extends AbstractContentNode Date: Fri, 17 Apr 2020 11:04:52 -0400 Subject: [PATCH 105/111] reverted IconsUtil and pushed logic to ExtractedContent --- .../org/sleuthkit/autopsy/datamodel/ExtractedContent.java | 3 ++- .../org/sleuthkit/autopsy/datamodel/utils/IconsUtil.java | 7 +------ 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/ExtractedContent.java b/Core/src/org/sleuthkit/autopsy/datamodel/ExtractedContent.java index 2aac379ceb..e4cf58d8e1 100644 --- a/Core/src/org/sleuthkit/autopsy/datamodel/ExtractedContent.java +++ b/Core/src/org/sleuthkit/autopsy/datamodel/ExtractedContent.java @@ -290,7 +290,8 @@ public class ExtractedContent implements AutopsyVisitableItem { super(Children.create(new ArtifactFactory(type), true), Lookups.singleton(type.getDisplayName())); super.setName(type.getTypeName()); this.type = type; - this.setIconBaseWithExtension(IconsUtil.getIconFilePath(type.getTypeID())); //NON-NLS + String iconPath = IconsUtil.getIconFilePath(type.getTypeID()); + setIconBaseWithExtension(iconPath != null && iconPath.startsWith("/") ? iconPath.substring(1) : iconPath); updateDisplayName(); } diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/utils/IconsUtil.java b/Core/src/org/sleuthkit/autopsy/datamodel/utils/IconsUtil.java index d8dc3046b6..e4fbb55ce2 100755 --- a/Core/src/org/sleuthkit/autopsy/datamodel/utils/IconsUtil.java +++ b/Core/src/org/sleuthkit/autopsy/datamodel/utils/IconsUtil.java @@ -24,11 +24,6 @@ import org.sleuthkit.datamodel.BlackboardArtifact.ARTIFACT_TYPE; * Utility methods for handling icons */ public final class IconsUtil { - /** - * The base path for images. - */ - private static final String BASE_PATH = "org/sleuthkit/autopsy/images/"; - private IconsUtil() { } @@ -111,6 +106,6 @@ public final class IconsUtil { } else { imageFile = "artifact-icon.png"; //NON-NLS } - return BASE_PATH + imageFile; + return "/org/sleuthkit/autopsy/images/" + imageFile; } } From 65bfce374b0ab1acc2fce4b269511204a6619584 Mon Sep 17 00:00:00 2001 From: Greg DiCristofaro Date: Fri, 17 Apr 2020 11:53:03 -0400 Subject: [PATCH 106/111] update from codacy --- .../autopsy/communications/AccountDeviceInstanceNode.java | 2 +- .../org/sleuthkit/autopsy/datamodel/BlackboardArtifactNode.java | 2 +- Core/src/org/sleuthkit/autopsy/datamodel/ExtractedContent.java | 2 +- Core/src/org/sleuthkit/autopsy/datamodel/accounts/Accounts.java | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/communications/AccountDeviceInstanceNode.java b/Core/src/org/sleuthkit/autopsy/communications/AccountDeviceInstanceNode.java index ee5f2283ae..8bf29e70ac 100644 --- a/Core/src/org/sleuthkit/autopsy/communications/AccountDeviceInstanceNode.java +++ b/Core/src/org/sleuthkit/autopsy/communications/AccountDeviceInstanceNode.java @@ -49,7 +49,7 @@ final class AccountDeviceInstanceNode extends AbstractNode { setName(account.getTypeSpecificID()); setDisplayName(getName()); String iconPath = Utils.getIconFilePath(account.getAccountType()); - this.setIconBaseWithExtension(iconPath != null && iconPath.startsWith("/") ? iconPath.substring(1) : iconPath); + this.setIconBaseWithExtension(iconPath != null && iconPath.charAt(0) == '/' ? iconPath.substring(1) : iconPath); } AccountDeviceInstance getAccountDeviceInstance() { diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/BlackboardArtifactNode.java b/Core/src/org/sleuthkit/autopsy/datamodel/BlackboardArtifactNode.java index c57282ab9f..c7ccf32099 100644 --- a/Core/src/org/sleuthkit/autopsy/datamodel/BlackboardArtifactNode.java +++ b/Core/src/org/sleuthkit/autopsy/datamodel/BlackboardArtifactNode.java @@ -260,7 +260,7 @@ public class BlackboardArtifactNode extends AbstractContentNode Date: Fri, 17 Apr 2020 12:11:26 -0400 Subject: [PATCH 107/111] 6160 codacy --- .../geolocation/GeolocationTopComponent.java | 1 - .../autopsy/geolocation/MapPanel.java | 72 +++++++++---------- 2 files changed, 36 insertions(+), 37 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/geolocation/GeolocationTopComponent.java b/Core/src/org/sleuthkit/autopsy/geolocation/GeolocationTopComponent.java index 7973218de9..ae387c7847 100755 --- a/Core/src/org/sleuthkit/autopsy/geolocation/GeolocationTopComponent.java +++ b/Core/src/org/sleuthkit/autopsy/geolocation/GeolocationTopComponent.java @@ -50,7 +50,6 @@ import org.sleuthkit.autopsy.coreutils.MessageNotifyUtil; import org.sleuthkit.autopsy.coreutils.ThreadConfined; import org.sleuthkit.autopsy.geolocation.GeoFilterPanel.GeoFilter; import org.sleuthkit.autopsy.geolocation.datamodel.GeoLocationDataException; -import org.sleuthkit.autopsy.geolocation.datamodel.Track; import org.sleuthkit.autopsy.ingest.IngestManager; import static org.sleuthkit.autopsy.ingest.IngestManager.IngestModuleEvent.DATA_ADDED; import org.sleuthkit.autopsy.ingest.ModuleDataEvent; diff --git a/Core/src/org/sleuthkit/autopsy/geolocation/MapPanel.java b/Core/src/org/sleuthkit/autopsy/geolocation/MapPanel.java index a573483b86..44de21ff81 100755 --- a/Core/src/org/sleuthkit/autopsy/geolocation/MapPanel.java +++ b/Core/src/org/sleuthkit/autopsy/geolocation/MapPanel.java @@ -75,7 +75,6 @@ import javax.imageio.ImageIO; import javax.swing.SwingUtilities; import org.jxmapviewer.painter.CompoundPainter; import org.jxmapviewer.painter.Painter; -import org.sleuthkit.autopsy.geolocation.datamodel.Waypoint; import org.sleuthkit.datamodel.BlackboardArtifact.ARTIFACT_TYPE; /** @@ -214,7 +213,7 @@ final public class MapPanel extends javax.swing.JPanel { initializePainter(); } - + void initializePainter() { // Basic painters for the way points. WaypointPainter waypointPainter = new WaypointPainter() { @@ -228,11 +227,11 @@ final public class MapPanel extends javax.swing.JPanel { } }; waypointPainter.setRenderer(new MapWaypointRenderer()); - + ArrayList> painters = new ArrayList<>(); painters.add(new MapTrackRenderer(tracks)); painters.add(waypointPainter); - + CompoundPainter compoundPainter = new CompoundPainter<>(painters); mapViewer.setOverlayPainter(compoundPainter); } @@ -322,10 +321,11 @@ final public class MapPanel extends javax.swing.JPanel { } mapViewer.repaint(); } - + /** * Stores the given List of tracks from which to draw paths later - * @param tracks + * + * @param tracks */ void setTracks(List> tracks) { this.tracks = tracks; @@ -730,14 +730,13 @@ final public class MapPanel extends javax.swing.JPanel { /** * - * @param waypoint the waypoint for which to get the color - * selected + * @param waypoint the waypoint for which to get the color selected * @return the color that this waypoint should be rendered */ private Color getColor(MapWaypoint waypoint) { Color baseColor = waypoint.getColor(); - if (waypoint.equals(currentlySelectedWaypoint) || - (currentlySelectedTrack != null && currentlySelectedTrack.contains(waypoint))) { + if (waypoint.equals(currentlySelectedWaypoint) + || (currentlySelectedTrack != null && currentlySelectedTrack.contains(waypoint))) { // Highlight this waypoint since it is selected return Color.YELLOW; } else { @@ -800,9 +799,9 @@ final public class MapPanel extends javax.swing.JPanel { int x = (int) point.getX(); int y = (int) point.getY(); - if (artifactType == ARTIFACT_TYPE.TSK_GPS_TRACKPOINT.getTypeID() || - artifactType == ARTIFACT_TYPE.TSK_GPS_TRACK.getTypeID() || - artifactType == ARTIFACT_TYPE.TSK_GPS_ROUTE.getTypeID()) { + if (artifactType == ARTIFACT_TYPE.TSK_GPS_TRACKPOINT.getTypeID() + || artifactType == ARTIFACT_TYPE.TSK_GPS_TRACK.getTypeID() + || artifactType == ARTIFACT_TYPE.TSK_GPS_ROUTE.getTypeID()) { image = dotImageCache.computeIfAbsent(color, k -> { return createTrackDotImage(color); }); @@ -818,61 +817,62 @@ final public class MapPanel extends javax.swing.JPanel { // Center image horizontally on image x -= image.getWidth() / 2; - g = (Graphics2D) g.create(); - g.drawImage(image, x, y, null); - g.dispose(); + Graphics2D g2d = (Graphics2D) g.create(); + g2d.drawImage(image, x, y, null); + g2d.dispose(); } } - + /** * Renderer for map track routes */ private class MapTrackRenderer implements Painter { + private final List> tracks; - + MapTrackRenderer(List> tracks) { this.tracks = tracks; } - + private void drawRoute(Set track, Graphics2D g, JXMapViewer map) { int lastX = 0; int lastY = 0; - + boolean first = true; - + for (MapWaypoint wp : track) { Point2D p = map.getTileFactory().geoToPixel(wp.getPosition(), map.getZoom()); int thisX = (int) p.getX(); int thisY = (int) p.getY(); - + if (first) { first = false; } else { g.drawLine(lastX, lastY, thisX, thisY); } - + lastX = thisX; lastY = thisY; } } - + @Override public void paint(Graphics2D g, JXMapViewer map, int w, int h) { - g = (Graphics2D) g.create(); - + Graphics2D g2d = (Graphics2D) g.create(); + Rectangle bounds = map.getViewportBounds(); - g.translate(-bounds.x, -bounds.y); - - g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); - - g.setColor(Color.BLACK); - g.setStroke(new BasicStroke(2)); - + g2d.translate(-bounds.x, -bounds.y); + + g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); + + g2d.setColor(Color.BLACK); + g2d.setStroke(new BasicStroke(2)); + for (Set track : tracks) { - drawRoute(track, g, map); + drawRoute(track, g2d, map); } - - g.dispose(); + + g2d.dispose(); } } } From f0fdcca1ab72f177efd4e2e4119dbbb69993ca11 Mon Sep 17 00:00:00 2001 From: "U-BASIS\\dsmyda" Date: Mon, 20 Apr 2020 15:12:11 -0400 Subject: [PATCH 108/111] Implemented a PDF content viewer using IcePDF --- Core/build.xml | 3 + Core/nbproject/project.properties | 16 +- Core/nbproject/project.xml | 76 +++++-- .../contentviewers/Bundle.properties-MERGED | 2 + .../autopsy/contentviewers/FileViewer.java | 3 +- .../autopsy/contentviewers/PDFViewer.java | 193 ++++++++++++++++++ .../IcePDF 6.2.2/batik-awt-util-1.6.jar | Bin 0 -> 369001 bytes thirdparty/IcePDF 6.2.2/batik-dom-1.6.jar | Bin 0 -> 87407 bytes thirdparty/IcePDF 6.2.2/batik-svg-dom-1.6.jar | Bin 0 -> 426464 bytes thirdparty/IcePDF 6.2.2/batik-svggen-1.6.jar | Bin 0 -> 164659 bytes thirdparty/IcePDF 6.2.2/batik-util-1.6.jar | Bin 0 -> 81508 bytes thirdparty/IcePDF 6.2.2/batik-xml-1.6.jar | Bin 0 -> 20305 bytes .../IcePDF 6.2.2/bcpkix-jdk15on-1.54.jar | Bin 0 -> 673715 bytes .../IcePDF 6.2.2/bcprov-ext-jdk15on-1.54.jar | Bin 0 -> 3344961 bytes .../IcePDF 6.2.2/bcprov-jdk15on-1.54.jar | Bin 0 -> 3277268 bytes thirdparty/IcePDF 6.2.2/icepdf-core-6.2.2.jar | Bin 0 -> 1438773 bytes .../IcePDF 6.2.2/icepdf-viewer-6.2.2.jar | Bin 0 -> 910460 bytes thirdparty/IcePDF 6.2.2/jai_core-1.1.3.jar | Bin 0 -> 1900631 bytes thirdparty/IcePDF 6.2.2/jai_imageio-1.1.jar | Bin 0 -> 1140632 bytes 19 files changed, 274 insertions(+), 19 deletions(-) create mode 100755 Core/src/org/sleuthkit/autopsy/contentviewers/PDFViewer.java create mode 100755 thirdparty/IcePDF 6.2.2/batik-awt-util-1.6.jar create mode 100755 thirdparty/IcePDF 6.2.2/batik-dom-1.6.jar create mode 100755 thirdparty/IcePDF 6.2.2/batik-svg-dom-1.6.jar create mode 100755 thirdparty/IcePDF 6.2.2/batik-svggen-1.6.jar create mode 100755 thirdparty/IcePDF 6.2.2/batik-util-1.6.jar create mode 100755 thirdparty/IcePDF 6.2.2/batik-xml-1.6.jar create mode 100755 thirdparty/IcePDF 6.2.2/bcpkix-jdk15on-1.54.jar create mode 100755 thirdparty/IcePDF 6.2.2/bcprov-ext-jdk15on-1.54.jar create mode 100755 thirdparty/IcePDF 6.2.2/bcprov-jdk15on-1.54.jar create mode 100755 thirdparty/IcePDF 6.2.2/icepdf-core-6.2.2.jar create mode 100755 thirdparty/IcePDF 6.2.2/icepdf-viewer-6.2.2.jar create mode 100755 thirdparty/IcePDF 6.2.2/jai_core-1.1.3.jar create mode 100755 thirdparty/IcePDF 6.2.2/jai_imageio-1.1.jar diff --git a/Core/build.xml b/Core/build.xml index 5d91ade7e1..df747ff257 100644 --- a/Core/build.xml +++ b/Core/build.xml @@ -72,6 +72,9 @@ + + + diff --git a/Core/nbproject/project.properties b/Core/nbproject/project.properties index 22af0f87c8..9db5951f69 100644 --- a/Core/nbproject/project.properties +++ b/Core/nbproject/project.properties @@ -2,8 +2,15 @@ file.reference.activemq-all-5.11.1.jar=release/modules/ext/activemq-all-5.11.1.j file.reference.apache-mime4j-core-0.8.2.jar=release\\modules\\ext\\apache-mime4j-core-0.8.2.jar file.reference.apache-mime4j-dom-0.8.2.jar=release\\modules\\ext\\apache-mime4j-dom-0.8.2.jar file.reference.asm-7.0.jar=release\\modules\\ext\\asm-7.0.jar +file.reference.batik-awt-util-1.6.jar=release/modules/ext/batik-awt-util-1.6.jar +file.reference.batik-dom-1.6.jar=release/modules/ext/batik-dom-1.6.jar +file.reference.batik-svg-dom-1.6.jar=release/modules/ext/batik-svg-dom-1.6.jar +file.reference.batik-svggen-1.6.jar=release/modules/ext/batik-svggen-1.6.jar +file.reference.batik-util-1.6.jar=release/modules/ext/batik-util-1.6.jar +file.reference.batik-xml-1.6.jar=release/modules/ext/batik-xml-1.6.jar file.reference.bcmail-jdk15on-1.60.jar=release\\modules\\ext\\bcmail-jdk15on-1.60.jar file.reference.bcpkix-jdk15on-1.60.jar=release\\modules\\ext\\bcpkix-jdk15on-1.60.jar +file.reference.bcprov-ext-jdk15on-1.54.jar=release/modules/ext/bcprov-ext-jdk15on-1.54.jar file.reference.bcprov-jdk15on-1.60.jar=release\\modules\\ext\\bcprov-jdk15on-1.60.jar file.reference.boilerpipe-1.1.0.jar=release\\modules\\ext\\boilerpipe-1.1.0.jar file.reference.c3p0-0.9.5.jar=release/modules/ext/c3p0-0.9.5.jar @@ -17,14 +24,17 @@ file.reference.commons-io-2.6.jar=release\\modules\\ext\\commons-io-2.6.jar file.reference.commons-lang3-3.8.1.jar=release\\modules\\ext\\commons-lang3-3.8.1.jar file.reference.commons-pool2-2.4.2.jar=release/modules/ext/commons-pool2-2.4.2.jar file.reference.cxf-rt-rs-client-3.3.0.jar=release\\modules\\ext\\cxf-rt-rs-client-3.3.0.jar +file.reference.DatCon.jar=release/modules/ext/DatCon.jar file.reference.dec-0.1.2.jar=release\\modules\\ext\\dec-0.1.2.jar -file.reference.decodetect-core-0.3.jar=release\\modules\\ext\\decodetect-core-0.3.jar +file.reference.decodetect-core-0.3.jar=release/modules/ext/decodetect-core-0.3.jar file.reference.fontbox-2.0.13.jar=release\\modules\\ext\\fontbox-2.0.13.jar file.reference.geoapi-3.0.1.jar=release\\modules\\ext\\geoapi-3.0.1.jar file.reference.grib-4.5.5.jar=release\\modules\\ext\\grib-4.5.5.jar file.reference.httpclient-4.5.6.jar=release\\modules\\ext\\httpclient-4.5.6.jar file.reference.httpmime-4.5.6.jar=release\\modules\\ext\\httpmime-4.5.6.jar file.reference.httpservices-4.5.5.jar=release\\modules\\ext\\httpservices-4.5.5.jar +file.reference.icepdf-core-6.2.2.jar=release/modules/ext/icepdf-core-6.2.2.jar +file.reference.icepdf-viewer-6.2.2.jar=release/modules/ext/icepdf-viewer-6.2.2.jar file.reference.isoparser-1.1.22.jar=release\\modules\\ext\\isoparser-1.1.22.jar file.reference.jackcess-2.2.0.jar=release\\modules\\ext\\jackcess-2.2.0.jar file.reference.jackcess-encrypt-2.1.4.jar=release\\modules\\ext\\jackcess-encrypt-2.1.4.jar @@ -32,6 +42,8 @@ file.reference.jackson-annotations-2.9.7.jar=release\\modules\\ext\\jackson-anno file.reference.jackson-core-2.9.7.jar=release\\modules\\ext\\jackson-core-2.9.7.jar file.reference.jackson-databind-2.9.7.jar=release\\modules\\ext\\jackson-databind-2.9.7.jar file.reference.jai-imageio-core-1.4.0.jar=release\\modules\\ext\\jai-imageio-core-1.4.0.jar +file.reference.jai_core-1.1.3.jar=release/modules/ext/jai_core-1.1.3.jar +file.reference.jai_imageio-1.1.jar=release/modules/ext/jai_imageio-1.1.jar file.reference.java-libpst-0.8.1.jar=release\\modules\\ext\\java-libpst-0.8.1.jar file.reference.javax.activation-1.2.0.jar=release\\modules\\ext\\javax.activation-1.2.0.jar file.reference.javax.annotation-api-1.3.2.jar=release\\modules\\ext\\javax.annotation-api-1.3.2.jar @@ -50,7 +62,7 @@ file.reference.jsoup-1.11.3.jar=release\\modules\\ext\\jsoup-1.11.3.jar file.reference.jul-to-slf4j-1.7.25.jar=release\\modules\\ext\\jul-to-slf4j-1.7.25.jar file.reference.juniversalchardet-1.0.3.jar=release\\modules\\ext\\juniversalchardet-1.0.3.jar file.reference.junrar-2.0.0.jar=release\\modules\\ext\\junrar-2.0.0.jar -file.reference.jutf7-1.0.0.jar=release\\modules\\ext\\jutf7-1.0.0.jar +file.reference.jutf7-1.0.0.jar=release/modules/ext/jutf7-1.0.0.jar file.reference.jxmapviewer2-2.4.jar=release/modules/ext/jxmapviewer2-2.4.jar file.reference.jython-standalone-2.7.0.jar=release/modules/ext/jython-standalone-2.7.0.jar file.reference.libphonenumber-3.5.jar=release/modules/ext/libphonenumber-3.5.jar diff --git a/Core/nbproject/project.xml b/Core/nbproject/project.xml index 79c518eeaa..bf917fc039 100644 --- a/Core/nbproject/project.xml +++ b/Core/nbproject/project.xml @@ -355,6 +355,14 @@ ext/commons-lang3-3.8.1.jar release\modules\ext\commons-lang3-3.8.1.jar + + ext/batik-xml-1.6.jar + release/modules/ext/batik-xml-1.6.jar + + + ext/jai_core-1.1.3.jar + release/modules/ext/jai_core-1.1.3.jar + ext/gax-grpc-1.44.0.jar release/modules/ext/gax-grpc-1.44.0.jar @@ -371,6 +379,10 @@ ext/opencensus-api-0.19.2.jar release/modules/ext/opencensus-api-0.19.2.jar + + ext/batik-svg-dom-1.6.jar + release/modules/ext/batik-svg-dom-1.6.jar + ext/gax-httpjson-0.61.0.jar release/modules/ext/gax-httpjson-0.61.0.jar @@ -479,6 +491,10 @@ ext/xmpcore-5.1.3.jar release/modules/ext/xmpcore-5.1.3.jar + + ext/batik-util-1.6.jar + release/modules/ext/batik-util-1.6.jar + ext/javax.activation-1.2.0.jar release\modules\ext\javax.activation-1.2.0.jar @@ -499,6 +515,10 @@ ext/jgraphx-4.1.0.jar release/modules/ext/jgraphx-4.1.0.jar + + ext/DatCon.jar + release/modules/ext/DatCon.jar + ext/java-libpst-0.8.1.jar release\modules\ext\java-libpst-0.8.1.jar @@ -535,10 +555,6 @@ ext/google-http-client-1.29.0.jar release/modules/ext/google-http-client-1.29.0.jar - - ext/sleuthkit-postgresql-4.9.0.jar - release/modules/ext/sleuthkit-postgresql-4.9.0.jar - ext/bcpkix-jdk15on-1.60.jar release\modules\ext\bcpkix-jdk15on-1.60.jar @@ -551,6 +567,10 @@ ext/slf4j-api-1.7.25.jar release\modules\ext\slf4j-api-1.7.25.jar + + ext/bcprov-ext-jdk15on-1.54.jar + release/modules/ext/bcprov-ext-jdk15on-1.54.jar + ext/google-cloud-core-1.70.0.jar release/modules/ext/google-cloud-core-1.70.0.jar @@ -619,6 +639,14 @@ ext/commons-validator-1.6.jar release/modules/ext/commons-validator-1.6.jar + + ext/sleuthkit-postgresql-4.9.0.jar + release/modules/ext/sleuthkit-postgresql-4.9.0.jar + + + ext/decodetect-core-0.3.jar + release/modules/ext/decodetect-core-0.3.jar + ext/jbig2-imageio-3.0.2.jar release\modules\ext\jbig2-imageio-3.0.2.jar @@ -667,6 +695,10 @@ ext/SparseBitSet-1.1.jar release/modules/ext/SparseBitSet-1.1.jar + + ext/batik-svggen-1.6.jar + release/modules/ext/batik-svggen-1.6.jar + ext/c3p0-0.9.5.jar release/modules/ext/c3p0-0.9.5.jar @@ -735,6 +767,10 @@ ext/postgresql-9.4.1211.jre7.jar release/modules/ext/postgresql-9.4.1211.jre7.jar + + ext/jai_imageio-1.1.jar + release/modules/ext/jai_imageio-1.1.jar + ext/httpclient-4.5.6.jar release\modules\ext\httpclient-4.5.6.jar @@ -747,6 +783,10 @@ ext/fontbox-2.0.13.jar release\modules\ext\fontbox-2.0.13.jar + + ext/icepdf-core-6.2.2.jar + release/modules/ext/icepdf-core-6.2.2.jar + ext/activemq-all-5.11.1.jar release/modules/ext/activemq-all-5.11.1.jar @@ -763,6 +803,10 @@ ext/dec-0.1.2.jar release\modules\ext\dec-0.1.2.jar + + ext/batik-dom-1.6.jar + release/modules/ext/batik-dom-1.6.jar + ext/google-http-client-jackson2-1.29.0.jar release/modules/ext/google-http-client-jackson2-1.29.0.jar @@ -779,6 +823,14 @@ ext/sevenzipjbinding-AllPlatforms.jar release/modules/ext/sevenzipjbinding-AllPlatforms.jar + + ext/jutf7-1.0.0.jar + release/modules/ext/jutf7-1.0.0.jar + + + ext/batik-awt-util-1.6.jar + release/modules/ext/batik-awt-util-1.6.jar + ext/google-api-services-translate-v2-rev20170525-1.27.0.jar release/modules/ext/google-api-services-translate-v2-rev20170525-1.27.0.jar @@ -787,6 +839,10 @@ ext/webp-imageio-sejda-0.1.0.jar release/modules/ext/webp-imageio-sejda-0.1.0.jar + + ext/icepdf-viewer-6.2.2.jar + release/modules/ext/icepdf-viewer-6.2.2.jar + ext/bcmail-jdk15on-1.60.jar release\modules\ext\bcmail-jdk15on-1.60.jar @@ -795,18 +851,6 @@ ext/vorbis-java-tika-0.8.jar release\modules\ext\vorbis-java-tika-0.8.jar - - ext/decodetect-core-0.3.jar - release/modules/ext/decodetect-core-0.3.jar - - - ext/jutf7-1.0.0.jar - release/modules/ext/jutf7-1.0.0.jar - - - ext/DatCon.jar - release/modules/ext/DatCon.jar - diff --git a/Core/src/org/sleuthkit/autopsy/contentviewers/Bundle.properties-MERGED b/Core/src/org/sleuthkit/autopsy/contentviewers/Bundle.properties-MERGED index c0a6f73aaf..b9465a7e58 100755 --- a/Core/src/org/sleuthkit/autopsy/contentviewers/Bundle.properties-MERGED +++ b/Core/src/org/sleuthkit/autopsy/contentviewers/Bundle.properties-MERGED @@ -112,6 +112,8 @@ MessageContentViewer.attachmentsPanel.TabConstraints.tabTitle=Attachments MessageContentViewer.viewInNewWindowButton.text=View in New Window JPEGViewerDummy.jLabel1.text=You are looking at a JPEG file: JPEGViewerDummy.jTextField1.text=jTextField1 +PDFViewer.encryptedDialog=This document is password protected. +PDFViewer.errorDialog=Error occurred while opening this PDF document. Check the logs for more information. You may continue to use this feature on other PDF documents. PListNode.KeyCol=Key PListNode.TypeCol=Type PListNode.ValueCol=Value diff --git a/Core/src/org/sleuthkit/autopsy/contentviewers/FileViewer.java b/Core/src/org/sleuthkit/autopsy/contentviewers/FileViewer.java index 1b0d048f35..0a50fb0ec9 100644 --- a/Core/src/org/sleuthkit/autopsy/contentviewers/FileViewer.java +++ b/Core/src/org/sleuthkit/autopsy/contentviewers/FileViewer.java @@ -50,7 +50,8 @@ public class FileViewer extends javax.swing.JPanel implements DataContentViewer new PListViewer(), new MediaFileViewer(), new HtmlViewer(), - new WindowsRegistryViewer() + new WindowsRegistryViewer(), + new PDFViewer() }; private FileTypeViewer lastViewer; diff --git a/Core/src/org/sleuthkit/autopsy/contentviewers/PDFViewer.java b/Core/src/org/sleuthkit/autopsy/contentviewers/PDFViewer.java new file mode 100755 index 0000000000..9d42d0f251 --- /dev/null +++ b/Core/src/org/sleuthkit/autopsy/contentviewers/PDFViewer.java @@ -0,0 +1,193 @@ +/* + * Autopsy Forensic Browser + * + * Copyright 2020 Basis Technology Corp. + * Contact: carrier sleuthkit org + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.sleuthkit.autopsy.contentviewers; + +import java.awt.BorderLayout; +import java.awt.Component; +import java.io.IOException; +import java.util.Arrays; +import java.util.List; +import java.util.Properties; +import java.util.ResourceBundle; +import java.util.concurrent.ExecutionException; +import java.util.logging.Level; +import javax.swing.JPanel; +import javax.swing.SwingWorker; + +import org.openide.util.NbBundle; + +import org.sleuthkit.datamodel.AbstractFile; +import org.sleuthkit.datamodel.ReadContentInputStream; +import org.sleuthkit.autopsy.coreutils.Logger; +import org.sleuthkit.autopsy.coreutils.MessageNotifyUtil; + +import org.icepdf.core.exceptions.PDFException; +import org.icepdf.core.exceptions.PDFSecurityException; +import org.icepdf.core.pobjects.Document; + +import org.icepdf.ri.common.ComponentKeyBinding; +import org.icepdf.ri.common.SwingController; +import org.icepdf.ri.common.SwingViewBuilder; +import org.icepdf.ri.common.views.DocumentViewControllerImpl; +import org.icepdf.ri.common.views.DocumentViewModelImpl; +import org.icepdf.ri.util.PropertiesManager; + +/** + * Application content viewer for PDF files. + */ +public class PDFViewer implements FileTypeViewer { + + private static final Logger logger = Logger.getLogger(PDFViewer.class.getName()); + + private JPanel container; + private final PropertiesManager propsManager; + private final ResourceBundle defaultMessageBundle; + + public PDFViewer() { + container = createNewContainer(); + propsManager = getCustomProperties(); + defaultMessageBundle = ResourceBundle.getBundle(PropertiesManager.DEFAULT_MESSAGE_BUNDLE); + } + + @Override + public List getSupportedMIMETypes() { + return Arrays.asList("application/pdf"); + } + + @Override + public void setFile(AbstractFile file) { + // The 'C' in IcePDFs MVC set up. + SwingController controller = new SwingController(); + + // Builder for the 'V' in IcePDFs MVC set up + SwingViewBuilder viewBuilder = new SwingViewBuilder(controller, propsManager); + + // The 'V' in IcePDFs MVC set up. + JPanel icePdfPanel = viewBuilder.buildViewerPanel(); + + // This connects keyboard commands performed on the view to the controller. + // The only keyboard commands that the controller supports is Ctrl-C for + // copying selected text. + ComponentKeyBinding.install(controller, icePdfPanel); + + // Ensure the preferredSize is in sync with the parent container. + icePdfPanel.setPreferredSize(this.container.getPreferredSize()); + + // Add the IcePDF view to the center of our container. + this.container.add(icePdfPanel, BorderLayout.CENTER); + + // Document is the 'M' in IcePDFs MVC set up. Read the data needed to + // populate the model in the background. + new SwingWorker() { + @Override + protected Document doInBackground() throws PDFException, PDFSecurityException, IOException { + ReadContentInputStream stream = new ReadContentInputStream(file); + Document doc = new Document(); + // This will read the stream into memory. + doc.setInputStream(stream, null); + return doc; + } + + @Override + protected void done() { + // Customize the view selection modes on the EDT. Each of these + // will cause UI widgets to be updated. + try { + Document doc = get(); + controller.openDocument(doc, null); + // This makes the PDF viewer appear as one continuous + // document, which is the default for most popular PDF viewers. + controller.setPageViewMode(DocumentViewControllerImpl.ONE_COLUMN_VIEW, true); + // This makes it possible to select text by left clicking and dragging. + controller.setDisplayTool(DocumentViewModelImpl.DISPLAY_TOOL_TEXT_SELECTION); + } catch (InterruptedException ex) { + // Do nothing. + } catch (ExecutionException ex) { + Throwable exCause = ex.getCause(); + if (exCause instanceof PDFSecurityException) { + showEncryptionDialog(); + } else { + logger.log(Level.WARNING, String.format("PDF content viewer " + + "was unable to open document with id %d and name %s", + file.getId(), file.getName()), ex); + showErrorDialog(); + } + } + } + }.execute(); + } + + @Override + public Component getComponent() { + return container; + } + + @Override + public void resetComponent() { + container = createNewContainer(); + } + + // The container should have a BorderLayout otherwise the IcePDF panel may + // not be visible. + private JPanel createNewContainer() { + return new JPanel(new BorderLayout()); + } + + @Override + public boolean isSupported(AbstractFile file) { + return getSupportedMIMETypes().contains(file.getMIMEType()); + } + + /** + * Sets property values that will control how the view will be constructed + * in IcePDFs MVC set up. + */ + private PropertiesManager getCustomProperties() { + Properties props = new Properties(); + + // See link for available properties. https://www.icesoft.org/wiki/display/PDF/Customizing+the+Viewer + props.setProperty(PropertiesManager.PROPERTY_SHOW_UTILITY_SAVE, "false"); + props.setProperty(PropertiesManager.PROPERTY_SHOW_UTILITY_OPEN, "false"); + props.setProperty(PropertiesManager.PROPERTY_SHOW_UTILITY_PRINT, "false"); + props.setProperty(PropertiesManager.PROPERTY_SHOW_TOOLBAR_ANNOTATION, "false"); + props.setProperty(PropertiesManager.PROPERTY_SHOW_UTILITYPANE_ANNOTATION, "false"); + + // This suppresses a pop-up, from IcePDF, that asks if you'd like to + // save configuration changes to disk. + props.setProperty("application.showLocalStorageDialogs", "false"); + + return new PropertiesManager(System.getProperties(), props, defaultMessageBundle); + } + + @NbBundle.Messages({ + "PDFViewer.errorDialog=An error occurred while opening this PDF document. " + + "Check the logs for more information. You may continue to use " + + "this feature on other PDF documents." + }) + private void showErrorDialog() { + MessageNotifyUtil.Message.error(Bundle.PDFViewer_errorDialog()); + } + + @NbBundle.Messages({ + "PDFViewer.encryptedDialog=This document is password protected." + }) + private void showEncryptionDialog() { + MessageNotifyUtil.Message.error(Bundle.PDFViewer_encryptedDialog()); + } +} diff --git a/thirdparty/IcePDF 6.2.2/batik-awt-util-1.6.jar b/thirdparty/IcePDF 6.2.2/batik-awt-util-1.6.jar new file mode 100755 index 0000000000000000000000000000000000000000..b62ac15866e1511e1580c9819b081bcb4814becf GIT binary patch literal 369001 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%0Akn?B+eMpfR%(0Jbbw~7MG1WW5d}E z2&A$St$abZX;pOq*dk+55xNotg=)30X|=7fxWh`zbJMMGlbzXaD((j#Oqcg%$ED}T zrPrm;rHuPSA$c|kIE^6>-ZG5Y#x#5v*$p;P7wOG6qAv0qa3VjF8*(B)vKw?FKhhg^ zB0usQc%l!I8+xJ-vKxG&57HYxB6>tla;B?p7$eoe?};91L6AgF;p6)OY4*v3d7%>H zv`jJJ2i+QR9y|;&ni_`tc&a^AJT?B$!|U{QRADM!IU&y^s>DnKz&7@1#72!oB-|y6 zplBlf%vw!J-2$WWgLs(&lHkgVRUMF~J1gG_#Be z9?BtQmRP~w#V_U6E~g*fs{-uRKBn!(;DON$ELb)cd+LeHRlWYq~>hY3SoEEoHh>N)nWg zlnqJ9j2K~osS{y}?y}L8t<1Gp6kSf7uel~0Y2=pCBxk4ecw%$S$Xe7GRgkwTj(uQP zGu%R5T1>vi=x_KbhM$z?PJ_7_LJ;q1rac6!qSDVe&mGkANHHRTlXwUQke^0`lC7yc z|BCt>Nsk`jUK;sWCeMkF3EH`cd8{=W(id*Ml;f&5Mzu~r<5xrAx&7w|)-q%Ey8@z9HFAIcj)`u|| z#|I`Y+P+vVlqI>VA}MUpV{PiTpT0{Od-P9^w6vhb%2jynRcq(=utkhx&sT`A?4Si9 z4j#ZBGb7^V>OdX=T7beqwe}=*hh0(a4}UU`HY=EAQ4@0=nk@}8M&Z1cwl%i_m4Qdk z#4)p90|S<~54so1A62i-M$i^F8@H2Iq_`Pk-rh+d&sA;qcnZ$hRtz`c{En{U0i%XC zhCJnLHf6?o^C}fhLBy)4hFhP2#5@q9-u3j2h)HA1N zBdtVJ5p8B&CJ6hLiWa6ypTw|V3AsLLDLrl(f&pbMUC@HM3I?XPM@>u3eOBs!QFabd zq6A&GF59+k8@FuRwq140wr$(CZQHi(cmM95zFw9Bi{{fZ({ODH4dRQyD7QO_a$= z5{x4%C=)p{oG#eN>0CGNWLlr*-t5Uss~7qX{>PUp6YCBhU#V0^KauGt@r?V& zs8)p_FsN#FT$=k!YwntZYSK$Ep)tygvpiCy+B8(4G>tyx^X9%>J>c=7&?zNz zJUvMPJK^1^Oy2S`mgex&%a`sAy|Rn zF~SAnd-86kQ5v+=Y`+yi$mvVhs}VbwpAqRXW)vS_v3*kkiRyUB=InI!L8#A zP!5DUS!0(3v_c_&xunPHLjQV(x5oZWtkVm*EO!IG*OlvLNAMutA{m@s z>I@#s4BwLM+9Zfk^SJk>9@N@%#k}#`6lu{mC2R@kpDK`I32-~>v8RfcJhWXvg4v+o z!^$>81xT+pt`u(3G`+S*4@^csnDCOWZ9`Bxbl{_Il_LrdLQ_Hxp}#daZ%{<@p_!r-Scs32*-Oqd(;2tM zy^Px@*wTZtDuB{!%IS*CiUv-1|f6 zD?w>hKEZhE;-m+mrOxvSvc?#qS0b=X%~FGx4YGZKxQs0LcxO1tQ#@YK$GU7^ zl&RkKEy!D@AK@q4w#f&+UCBRr?~D|k=w7Az{VNrba)NgtG(3S_C&c1|P7xQ$1*{;wzFlQ15@B?*(e;IHbA{4K_}!mn^QKRZ>Qe!*p5C{5PYmaKU+Tt?;F zsn3dKEp76!wfs`m%Ro*FlZkxi0+Q0$WJd|i)3l3qN0jQ4mo$4^_>-D^anqf^JV|c3 z&Ku1exc1y9ws3919^zS#@og6%MTXhP<;tgm7f#FJOJObxCntWMSSb#*@B>0At7yd2pjlsvKC%K{YNqv_2m&gVx zPWZC}PHc4*oK-V8Ra7|*^c$s9T`BFm^y`L|Cu==0di8^7WY(-(qiXwBY-^SrEzg|R z1~J!{FKYuMR{o#gA+#-6G1r+d7HVzpk1Z!q?7u1A8&;G}TsMcCEf%$h`7XzTmB;zs zqkJrn$AjNKt7ux;;Wlhu@I7|nr+M%ndWD)OtB3g;_NcB{cjJvgAEPwi=na`IBaY

S9uKPdAr!m$Kn1(gGXT0Edh3!p7>uFJRJ;dc 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

e5yZ0Oy&GJ+=+kYxlJaRy;?a;z!ZYZ4J4 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"yKA4;|#b%82M4$r+{A>4Ln&Z_2g=&tuYNC!yL>x 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 z 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 BE!O}5 literal 0 HcmV?d00001 diff --git a/thirdparty/IcePDF 6.2.2/batik-dom-1.6.jar b/thirdparty/IcePDF 6.2.2/batik-dom-1.6.jar new file mode 100755 index 0000000000000000000000000000000000000000..bf144ab070ce2acf381894bb8f301837a8c4c63f GIT binary patch literal 87407 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

G`NcEqyLcE}n^2$5fw}}R?h0*s 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

70) zgtZFu^!6Y@m;~8}vo;Uy1i7X_Qv7wgiW}p;OnhiKGCo8ND}xkOkWIacjN#&md{kN& zqEj6#@8qXYgN->Bf3keYPCpf66~)D0Dx(}^6RD5=reLZSdc?7G85eN1|(6S%0FgGfa#=_ti40?W>=c32)VIkQ!Cf{kFd#D*E7cg{cc>>>Ysy`JkZU;%EIMe;AQ8Ct&S<$JjuqgQp!3%kFaR#-3Zxr z@2^{o!8}6!g7*7%@A{Uu4zbQ8#T+|badqatEKXpuGn+jM<4P#4Z+MQd)%e(I!^6$j z__t0bNQ^{@vC2I(;%Dfo1vB*bt25~lhnKm;JCM<62s7$naGeg~x zNKmoazjN`kg5(MStQE`o+PD349hOA7TAcuGyVwHa(S@oC?K+Q@4@am`#d#?JT)FQ;Ul$H(nM+d+uRbGkH=3k_J`N`!T~Dlz z&KyOCyP}?+M5#!*Byj z=O8vv8vne&3RJXd6W&n~TAD-8;a7HC=Uk&TNeq=9+H2LI0c)n3(9SLpU6ZrA2QCe5 zP$IV<4y!F5q!69mvJGwu&Q|b}6Y#1CCR5XhdMqiPxl3Xe-@q}Pe&z)n0R>i)tSP<- zDb9YVCk?q$Cmw(rXoPVf!~LYP2qRed zHltX0H{+CAvj`vIojF(gSxE|~Z=8dU4ZfxK#xvd%p5ma=76fkO|9mGqb(TOlz9CrO z)9f7n5}Gtm0@kaZM8p^V4Cx!6R-P71VUyelK~Vseh51hIxqr5r3g_d>xM;Yyuw^zO}s>zeZwH>=y!^ZcqsRnjHrHM_>7O6$6OE@HYY}Spcovtp9SAYV{t7 z+Jos&@_umMT7T-@#(+MFKE6*iqV#~G6i32ClWue6u*|f>Cq;2Akt>*c^({@GDJmZ) z3~oou8`iTgEbCu)7he;6AvS>3>Rox|;WtYZqPZSrV~LZfOxp)^qqhvP>SZ8b0g%jD zm1SEOo-j%-M@0dgzrU0*8xHS1^abM!=8oY~pwc(tQu`(j8xXI&{khMc(~`r{VkNDh zcc`#@$$t1l@5EgJiXs+@oC!6DVrO7@=X$Pt-#{lrW|~3Ra{uWNWc^j1|ECCSeGIi; zBuY>Rdn~34;=^K*PVu4BoI~hP&S}>TGCp|=yA!xhgw1wQuhSl2ncR6!G`_vZ`|5X3 zi$h#fF+7AyLqXp3|GA1N^Y63H|Mr%ZY+T)FAYG-Z%74A}U(bKN`J9xMUsdM8Pc|ru zqdKPr2AYj>j%u*db%@D!a?44JiwOS9z#)$hYe}a;_XLrS2~aW=v-~(e8Mc>B@S||4 znufuGR)Lo}4LR&9Z$Etsct^6mc%Bb)({XOrAN}C9AqiE8OnyHZ!dZ#k$VN%g8=+Ha zE$on4r_EW(SH6)LGK5-PUzQat4=Oh=){7_?uF%H)kj-@6{K2o7l=}wxgOZ0Ca|*{* zJ(Kh+#+VQmI(LmhqK*s<5DRj-T@g<$Nt=OjI+D>_CY%v2FKs68p2=!0xHY3Sh3d|Q z{{Knqb}EzkOwKE8KNDCGo5ttRB9><6u+Ff2cCSQK z3qhar&_WzTWJ>|Csdf+Pkn$CGjFCU#xG`z7Q`R=o7U^XKv)A~CAn7<-W_ifEvUD@J zN>V!=E1kAeEQI5G-SJ81{9b-ENzFG36*kE4O}3`VBeNMRE9m6&oj=iAKUiP1HE=Q% z1UPMue$hYk@kpgsUJ^=cIvGRz$f9K0KT44Gt;dr7gjI{@V=`R=rBm^4c~2V(+HRdt zF*j<1^6FGS`(Cz9k^9Ypg_o1$O)`HaT1#}Ev$BTgL;Q3kY})!7TYuQ$V7@>1Lvr**={n)!fisU-!OP|(M)t6Ann zGeJ?AJ`@rn4X20U6P03ua7H&!*rg6y>_(G(`qQaZ+F0XRfO0+T$2IZSz?JIh9KA? zgLXnF)76_%#!+nizR+g^K52f|#^Odgb$!~=^#)p}E>>f^3KjW}tWm`kbv!h6RrwS! z#PH6_eF;2;)2mVjeTYDgs_dl|;~jI0RRZmXZyz)&8ML$sL0Jd(Zw$V&Ma4FIJL}}` zZA6dx&~;(P^ZORlZ%2mqm++u&w}oh-+3A!hw^>V|t|^}=od%^wm~;#*>WR}&XezE~ zQR+MHF?CrVTg#=1f*&R%z=>x51NYbSk~1qlo*{l(E7dMTO%Y(91!;;5$e;pt+|Zr8 z7Z*H7-59(gANkLD&bs6I#%+*3%f9xF(>HgVnSqSn{5%v(&0$s#QXJGoqcm#+)p6q1 z2xESI9eTN6gB0Ry!#Kfz06;24qxGm&`f5tN9Ww^NYhjHJ7<$e8DF%l4; zfBM6NT>N1Q{ci$8T_VwIeLUvgJqq z#-D!Uh`(#?V;#gN4*yu6`R8b@;_hJjpTzdTaas-c`P7&>`E+x2F`M0KMtrGCh{9LU z0%JE>7FuB|K5X5Dei9D({tYW9(aNk;AkX)BE-=d4%NW|m1JTYs@R{G<>chvtpHH`N z1o(-`oKXn`)QHjIkTu|_C|uRAuEhJOiQ>OY4Pt|lzj7l@hgG8+8TAEqjMSO#9=D%j5H-dk|pw!{=v2O>Rw{Rz?);qvDOS_e6(*gybHLKV%=1ud7 z!YoHi569Pv>rp_Lu4%HikLF7N6Ld-)s_R$W?v$>ePK`UM3LbV{cOXMcFdE!;ON}w~ zd*nyc^xnqMH^@fROePvV_)WCO3=t-8dP(4Xe=*xFRBi{5TeW=_ZNQY!J2663`1R5z zjmqF3@S(jS+&y(pJB$|f?d73}3l2aUyJFH>j+l=bfL0hVeI%T4bN366KB_nM{a=I# z9xQil`8-2;)-s%hQ}(SvDp@~(HCAnGx`{#3pY~ec)8v?gOax~akPKhx*mkY_Vz#A+ zk!mdq2;9p*2BK0`EQZ5v;#CgC+Qz>LTM(8kqI1nQQvUL8AhRT#kopP7$y7MEqV4%Ht{cN>(cG%l=e5Z zEx`GU+Tv^F>9UlkgMI&#+LFHcMQw*gqXp?L)5(8R+uVCQ_EzDv-P*sYZT-OY@fV1* zK>ZOw{yFLT%US-Dbp7Y^-=r(~cQY60Ykt@?SE{2LCLSwbSprL{rvUIuayqqt&}e_o zL%1pWB-O37?2}x_J6H~%{Phe7pjb8OGXNr5vW_#jAI5ygPdhSxlP;9^5YmO?2_apx z(d{jJl2B&kt2g<0+qQIN4Td+MNPP`M*rXes7A zcsgGe=qeLC7Ph)D+Metd9*hlYa{-BIm7@$Q^hTl-dh5(%da|C4M?w-nDhkmco6lCL zu055C%I1Wt%sbh}`%}yz>oq{yh4mv-Sz?R#CW7fI_IB-hjb#}{RLr1^_)cK@@(2(m z$L)Cf%+kHxv{2?)D#OQG&FCk)#hyO#oWD2aLR0~b(l7_1$fz(o;t>@~AzmdFa4w4T z3d^qs4g^&E+)~7%pVDj8J4qp;s$wqS!#Ok+2E-tD78&e7Kp}-8G$(BLW6vHGsM&@e z!s!>l$GY5L9O4$)(*ek5n-Nh%7OwB;^a=G%Yk3M7Pvq{R=ImMCme@p%D5y8Em~bi? z>QI9}noG~nGV;`T!llHP)GiahlbyX`b^G9cB(2))(#WX42WZM_El&xRj`6xPeb2IJ zU)VWNUxTLs%LU6eC-VJ`YF7_Q1%T-b$Jc&R8Sf>-tp!8v1h~9WZ@T&tSIB_q+j2oy($Y|_n~f8PP|7wJFx%ReVv z|Il%EQHi zZNVPwcg4A%-US|ss?v0R!8BxCDyqPjI!}HGi87WuI8eL)660Rr)n<$I*-M2Jw%;2w znY)SA9_0MQZVyt?le5GAXjGqLC=0ze4ri}2$5_rM{XrA22}GhZ>4euwd_P%h@;cMR zre;&9&tybMZ{VGz%VBdf zB_E*-1^Ht$w0DGnx}r@a>*N^%)`z#7wN;=YephhG+obN8qP+1|K!FnN+?EhZLxl7M#Dm*6*z7{P=2W;2>kQRbTo z+_zcFr$FE4Ap$2baq3F;r&mzgqRQA=|Ae}mTnN&4A47EJ zynq>$?eC&CAr)Vu^pi#7B=UJHyZTD}YU-yd)huE4(=_veQ2ta1D15;;m!{-q4pA4g}|qL&td&-WL2tUkY&=Qf0-q*$Z_B- z?7gPK*(K@JtUdUlqB}tV2AXT6>Y9b5fjQM7zi5#j?`~4doJ@$58jSTybZF91atUx5 zF}>a#(W-D*^R)OiH6<#4;=WDgIKuBy5XfCJ7gnm}Qsk2AYaAJV<4_*EMaM72wS^lX zY$b5LOf)QJz9dd^HyoI_#&1)4lh(>mcgUx@q>S9-B;b;y%wg=Bh|R?WL^*v7Gp6wa z5HYHun#2`A(uPy@)gc%(3`QB}MB|HNtkTMkK~`~Rq%_9e#5}LiP!P=kG`R*#g>j@Q z(Kaq)m0Fc)tnq;#0)b0C)5xXEU}IQz-!QIWGt0V8HP^~6UvPkJtmYIxnk8bS0Q`Aq zin!(Y0!i>-mgLI_Fz~asvZwKdADxh`ep~i7!1e=ib1~?XR~K9L+(Gu!Tw70tAR`T8 z&ahJRJt<4GuB6t;4$`i$SK&MTI3i7PbCkyZw+$y1PKNV8n?v(TE%aM?nUeMd(mH4m zn^rWh6K_jj3EdImTu{#;yza_(X=td(RXqi9u$)nI5lg3a1iik(k>l}*sPUKG(Telr zHRHM%;UyG(z3@V0`}+a4*Ns6APkUwi;UT=in&&O4ji;gz$oY*B`=^o$`_&Xag6h^Q z(w^MNr`L|$sK*1Z3e)nWTd7cZ8FibDC6GG9^T=#IP#Y}5Jq2wZv-y2@6im61yOy2k zf_VxJHiGek<+I~2c~G_3Mz9j%9XEgUj(>L<;y>lVe|g8hQgHoWGSxE( zzsXP=h%C{mcDfQ)Pqp5HsQp?JQ1*hhr`g7nA^L>PCe8Md@flgUiY944i|(0WI|Gm( zhClLZY#4l*bGEuWmiy^zV0So!QQ5u}PXxNsNMG`hsJ9Yh3q^Nh6ut=Jh6z-B(T@)y z^h`WspL2EbT+`p2Yxexg#3u-a_?nIA=8c>kJvEB9J=V=8waH|^rE-bn5_rQ)n@ed6 zm~(6a*&HtX!OM7-NxnaXXIvUAyAt@!hC9->869^Bg=JaLC!$152C`zcKsC4I>`vT$ zIgPCcJNER->BfV~-^YYr{3;sPCxU}Ji@!c?Co=?>kM;qu@Mu5pr!HT%~iDfc*eI5kj3>h}@C#;`6hyx|Z`Y zel6oY&Y{_Nz>;iI1nrKsL$+$6Q{@|}aHL6Ok>Tridz>^pmddl*>i`G2QG{uh-a$-X zeQHyRJuI47K#4KeqPRykbR-kC0!JBcOOGLY%yx z5DK-82UR%wlAHUlh~G}#lbj4tR&`u3L}usR2I-X%5~Wn*$$0RU+@jRSv>b~8@qH5sLj>4aTXK0W1dbHCjknwWUIAwfzc z2JbWw4pnpSgr*T-Foeb)65z#A&BZ@wHyDrEYm0v%i_6IyUAbCCfW!{uyc(%6f!iar zY>2g_&3CZz(V|hv_}S2^bPIh3r)DHLXnr09b^?}dEO(|+oY$=j>gT( z*l6r?;WdqR=}w;5=ETf8a?PE+6nkc`Z-`U5Hmih!z&#Km=l;oJlH} zZo>URk7|~`J>ryT28%-aj__iOZ-{L5dW(EWV4Pbix2q>3vkXPU#h_a{PMSvWl=?tA z$_xoZAXV!;VH=B1a2hgxdw^K-kYxzJ(e;OjolX+vxo1diR*7}ZJP$L*!}QC_+4orQ@A|1dpOJuI=ajUAtQA z(uWu|{?ISDue#UEy+7jc!0$(aVIF=rb_p}1UzS3=;^2?q@z2#NwclRxFX*sS#etMz z(^A5Z4@fqOo61Ge=F!}qc-#QkfS&U0)zA2WVRYKq@>jpHV-@f^ zPi_r^d#QB~vH*;`{Zl|7qnGTG%t6zgYt+=Ubh@8fuLC zy6_zeA`VWU>-5EdbU|^~u>?ygbFc4BWKt#I&6aMYou{^olNdOydvV}4XM$6ZqP(-t zT&(mL1<6O6n@Dhv0kn>#uElkqbDR#Kgk_mtu}5H=3>--l5MX+1;W2>E?z;(pGeSd}mDYtyKuFqf zcR!)MqD1qt2h$MMV1#%g+Ua9JSZGFtMF9T^DXoZ>D}T>S7t6U?OL(IIMxW`jd)O$4 zC0I>vW?1kJZ9osnpp_QSxrEWwtlWe4BOS81bPGI)(`p0R2kmOJA~?VTl-vqBLUrA1 zYHBi~KjU+8*-8E((zoG^WoIFl4ENz`9jiSb)ep4!W@&G!-=503MBS1pQHd#%9v+^f z%%rDVLrsN@sIOmwb9A3~BgQdaiaY&K1nAfz- z;qzrsk}K;@1pSr0;XU4|d|Gm1(I;_wy~!|OKc?0@xX&~8c3q!N%L{o`C2Q{T^+ez^ z5rGNHlPe4djY$-ZKf0^FGwD@DGEvQ&%D2>yN5WqZJAl#Mdnd$G=C!WRw`H#zV}#@sH-N^Up!R#lqFX#lu3})d{ly z7x1gA=Wj&#-~aHJQxt0&I$}evX!QZxkK3db?W!F<7L<)jw9~yJd}kxU%t;5QB=0p@ zYLU^ct@HU5_nJWWtNrwRKZ5^_EYVq&u^jT?Y{s$Q8u#9MhOZ?g$-YNJZrUK6{7^t0 zNg|}}Jkw1)zhg}usSgh{)952ZyCK|_9*VDzCyaV{syk_cSvYbkJwX0hJ#%=IZN2Dm z7)$U`f$`k8W~2HIWxSWbw_@vVQRmm)0g2+ZfrwJ!C|{{ZtO7Qo$v|XBVgjyc@b0x= zw@_`^zrp$%RVIJ+^?N-ZWU^3kM$sm@aM1Q*DsmEId4L~B@#8LKBA%-=>KVE3ha-7( zWM9s$0vc<_OSyBRD`sybbHivQ)8VR2d=m9FEDP}fVkfyHiwmNiY;j*7I36^*M_QA%+*-D zl~vjOx!_|xz2gx=dcf7$&Y?SBbw*4rnLJ`D2Z%GdXvi70x0H$ za)40+&la=`uR%tI=s{O37LuJvy12xwFQrekGOJ&T<8d6b8+$yXM!qL3R=3$!ooU$s5HI8f zDcQT>wRBU>RDAHR)>53+bBieC;g1P^G59LQ1`|w(RRaHbB~a}D#w!1oKmQkN?-bwp zwrr1f*s*Qfww;b`+qTuQZ5tiiPCB-2J01PgYwf$wS^M6z*7@9fAM%p7`TN$aSvAI} zQGf7hXxzz>PL7Ex{6dOF3XL!&VGssj(nN!S?2J(0-lq$vWY+65+C^OhI=P{I1fkxy z0lcG6YgX-G*i?6YUNfr>6SwvE9nwZ= zG<(}Tlyk*UZ7WK5WTDh#n8IAwJP--!$BUudpznGg7fbH?DIn2r2$fFBRgFElD~&@4M6nt|k%XGPo;a1TqyttdLoqp`53*%U8lVmyDe5m?)(=R{ zr9E!2sN7tscDGSR;!m}HgnzY z(^{L@7!Wg#S~L_|st4tOAz~}lrv$~gw<=v^_s)<@-n>tUWnluBYM|XmRz)dhrpl+@ zlNW5FI#UzD9{gk1`j#`QhSKxiA$IZm30;Ix{&c8IOL9w4=x*>XIJtyqYO7-l)Z37m zLy*;qNy>HVb_>Qxz(hae0@|2{oUra@PDne`Lifh6y~X0SGUbsxk= z1>^V-r~S$@b#RO1yEBtfbhyY1dUfd_-I+qjS-HjyNS-6(eJ z6U$-lp-HXBXV2Fu=yBwPuXD|Jb`2^>5f5E14jatmkZPON`Bq5+Q*i3x7wo}p+vAYF zUVxTdt7MC{O;>TB_S`CW`XHN=NKcGGQNG7{L8?M*txZOc#at&J!w8YgDzs;dhG3;k(S5L^gQV1FduL_X1Kkisg(_}1C3ToIXdqpm(OVg5^YY}-F|xr*7;w&lQ#|(w z$<3Eh5Gn*2a+U8K{Pgq{PY74Z|sk2S0!7kc+a=NYjSD&LfF*xt8xhX>uOD_S_zDXEDNHmI|9G4>nfEyceN1 zP-Pg|8uMW?5*8CAUCPtLun*P4cf?n3?%vWaO$P4E*?=Qb)tW5gJ<^xNaQbAd5+*Ip zIn~?CQi0>3`>04a8-o_Y(*;PQGT+`ZtVyj*h(2OVBUo;3A!9Qaf8&usRHpM*v9)PP z!P~M=OzC>v2n@t#N^42I?~r|BNA(PvTWGylqP(E(uHE#}A=+F!Xah#UBeyRZRbgp# z#6!rM`>K5YyYvX!MC>Tnfd=B#S@v9gY@!fjpF~xmv!?E&|3kh3zPWQTo(`kbv}&n& z5;0ZqGGlyUSdyh_E734`AZ0;2gNq*ndVAh7Qt@|n+8VCX6tGK19#_}0E ztq*ZS~v>XB6 zhf!<9?%=du8b>QTzlbu5P_jn)4Fj~oY+*!8;r4VK9u2=nU9{$7+B))X|0rCiK1LhF zJ_gLJqp%u}W%+93aK!FUi})6_aWK<``WB`gjIxhGY%X6b-5ZF|3fsdulPB6-5BUz> zx2)x=&udR{L2z%f$m8cr-m2?juI%JL_yv2PQP<}WpdQx*>h(7i3IDek3;X}OOY+}K znBS5hN=jkv1Qp>B=_3eLr_L)94tVGhTX4KjzjzDU{G|rN^FK?Ncp-$hqEOyZ*Nc>` zUXodFHd5|Ku1|`Jz3J`x_7+u$E?|hlJtl0I3+j`eN=-5rNlSMwu`fLhJp3YjhM^Wy>jo2BwD)xGhu zK8IkO6g+G&dl6P zQ)OfK2tv%@sNUu%Vh8#Vmdk00l*p5w?rwG@6jn0;L)*5E;xg6`ui?l=s;OUd_n^T} z-JU6C9**C7w%Y&6Q9T8I^%tTex>t<+CAGp~Y)PQ0&yb~1p|`^YC5gU@!qQi;@nv#K z9MV}TZ^3hQ*^bDzidy$pUaNMlmFyR?o<*}i2sA2vjvkyKMsOi|`~d>RC$P;!3O+t^Rb%KFAa zfR5*fJLk>}!hy0~rRLKmAz!;+CU;v{?$aS?dG@t8SXlxn!O{?3cB)zNa=BN78$kwDp(9|;V2O8Slpl)wmI3yZv{QwaR}fv#k~pEBXWLAf?Bc0S%-|9E?N ze}w@0x>VjHAQ(~SQ%QBv6*9q(_)&i`4*%l5y`K~grqCw2bv zIWiTjWajwbyn`RA_A7ivk&%$(5;n+Lj)vM&H2cwZus!iw0;4_7i|Q zYRq?IBZq!D{p>}AlmV}jHAjMlNnDdQKn^E*ClCehN{=Ma@kHtQdJG#F#`~LJ{Y3Z)e@#>y=_y{8tk8nRCou14l|9 zb;nOc>o6u92x5=au)4V(C}VKik93df59_AI)Pi=Y0-E$1JK`RWHx7#(9FPu8r=U^> z$E{p`S37i&_~k`XNSfDCr?d@c9s>Aa)LyX5F;MTybP?S0*K3ZggPXbv4Tu~Fg{DlK z6VI8XCFL}ODb^!lcRUcTNuS`J1#=z`p24}6fbi9zKFc1~lfgwSCcCeYAZ#kW2QDdx zM+6rrCE=x54KlLJxcTk}db=Az&CE&Fi#y;IUJg(%qBvnCJX+On{gI69Pk%V_2*2}` zjekZ<@89}IasF>3=HF%9e+13yZ^K}21NB;!T2fUly9P3CNt_xoX>E1ySzgDoa#?)YbuJ7 zF;&b5Ue~__g}&Ti=A` z@rG@MJ$y;AT21n>qEmesqQv|pAiPaj;Jjw_eG`^mY@Kln0heyC8RQRnw;Hw2In{@r zz8t(`E$Nyze$Ba)9KTz4bvz~^3}S&1l@_s~>N+kvTbSEGQBs^PZr9HH+Q+Y_YE(|w zf%gi_3nUj;h2@WJXKh9Gn&Yi7T=ig&9|J-Og|oA(UCCMpnWpo1EMeNA)21hpSNh6_ z9~Q;T-4s3pFkmLnYSXBYpRu#ad&%ThNN874Pnsh$72s$h;p*oDACN!a>0#sFvI~rg zIvV&K_c>h~4Pv@OfFfBV=YL?5GIWGMlUNeo0@wg6x15^eo}jmTGq;AZx@d3=w-Ckd z_f{A~V7`!cU(M!V`1MbKyXiv^2(m|jCLj^W32{-@jGB8F7xqGdQ=+PTEjvJn9IaF#6eB|7PpXQ%T?#fS zq^eL;r7OsvluK%m65KWlH?#8swGCZ9jLx8b(cxWDJld)zao*CXmo&pZMpJlKrp>lf zD!9(fQxK+1+~9oF+^B6^r`%I+J1Yg5_>SOm+bU&OH!hr{Cm+5D%tMWA?leIUerfY5 z;uTC-@~E0l%Kqp8i1<^+C!Ujn%a2%El zKCb>I@wEWyTa_F~g;l6$V7hQNhE)gHX!BBc=$MrP?WO(D%^9GJ^Rwt=ja#gqa%Um) zY{?M~ZIy;{>M4np)py4_7$Y`Wat?azA7g{`p3a)uBe8;6 z+Ijh*ILA?wx$>bw*8ya~^aQ1Jg898M=uRsl#3?PO9z6!v@os= zUjLlkDOd*up+edc^3Y1p1cW^T)#5B(wJ!N0s;)aW>;MUhy|9r;y&g%q6r~R{iQN93 zASzjoNH_&m51<+irI592dvW5lb$hPOC)${X=E`jryIMxpifMRM-ffJybcD$_H5}u} zweYdse7@FffHlo?DTvQuD?R=tn=wagPA-eHYPY(xqCs4{S$4IaXfLRi9c+kB%qRDA zN$VXx)!?UEaC-F%H#&D4VzKTf9uFXnRkz@s3uaz%oY+KmUb(bxbJPz|y+B<#+-JY3 z)t)QzRv%_IRyvyfJ76|MY&HpBM)3?9aM62qRtqV{Z_}*78uAas-6$X^9*+g`<9g9KyN4m zl&i29jv`CW=`9n}Nnicjv~Yf1_(cRvRWs)=xjdtzVozGxp=Y$7mmDr=c%eJsHxb%x z+zO~E(70{J{}j8rz`2ao$klYS9@2%IZ`LP^t!SrZ71m$w!aK5U!U5%`>2RKf^jb#0 zSxg|T+(aLrYFm@6rRJiSomR)GrY|irqmT#wafFbH=!pBGzoUR-q^Rf%r8fR0_bcOj>J&>7PHz zX$jx9hTsu{4QcpAX7~kO`DhCLq)o*=mS5F6iD;&eV6Q~cWpW9PnZj9*J6aAu4RxK7OE~Qow3cD3-}FcqA0OrYS>=mI-b=rv3gv08w9Xuw{J@xdwBOm)DBS zPkvYA5B!)XqBnv-uQBM;6epsdOJ8h0oeaJ51rLV(2t#egQF2BcM7Y8h`T@O1pPyII zCG8z8RJu@>t9@`3dJBL>u-pAfTS7cr;1H!z@Q_8Hu~=D`{25aJhPD5Y3?25GOvtE) zL9moJ$FVAR0-gegR_FqeM^)oGTlHM5G;lgr;W0v*st{cVKE1qG=QkhIQA90{@R^0S z|2E|Q+3n;Hn-f`k8)LKo$VHh-RtlI(NZv`7waGO>HNFD^^U4)`V2}gJH~Po`^elYD zC_xJ+#&txH>FZ2w_(!Zh!Cl?x`vJ6!bSvmx9J|r>T#v?x3aUDEj4qcBm+XhXqma1k z<9e+6J3bI^Xu9f7b`#nKLwjaFr|Lnr3%W9zGP~w!kB6$vj+Y@i&(<4vFjgOEA4#7w zE9fV-5h8w)jAThlAISCL*?;A$7qV>-EQ98Z{(y$Vz@`6`u>He-63LTBZwkymO{?Uq z@A!k_ z;=0tIIu}eBVXB|(@fJfxO3;>*_sD1nNMY79l-`hLOiflT!r`Ju>%KSeLHi?nqA7dV zT*aLddU7{nDTU*-`CA?^$g%L?OUU723}&6i?26~pb+;6QR}dpNO=){B3r#G_uKjPu z#1>IX@aiTsg@h`FWjo-eh*ik}IjuRTks=1I^sGPKtS86EkA{$k?w!E70jaR!OF|Gt zXx%3#CMQpG*>N81uY?mvWuBZ1NAHu~Y8Ub9P!pa9DIE(=1#$up54iH5s)c!%Cag7H zP^==KRi>Lbns^-}6-}CF?VK#~y_Se0-gY}I81I~McBDA2UGgrj2Fj707(Lz`G;cpb zDSz#lPZEi!Y%z>DjrNL@wah)Y97xt0usM0NPQ*{aa3pC!jP4K*&rG=sBzN;Z&R8PD zP{nIkbH7s<4iFk6g`c+*uf1d=2!;A%-kog*1}2wA-f)8O1&wb4rJ)zg@!licUym?~ z@%nxcy~_t40Q@2ildJw#R6H>?Z=WK>;dlhOYoLDiGQ~E}0wYhwS}QIdF9UDmW=I!F zvrR8F;wZQIlY6FEj7epxbYzcB(26Ba`Z%WzTfA6k_UCp(%td)kBL{n(g5%*#7d}mP zfscrM@8BG{dne+wM>|)~7X$<``E-fiN98i*W_C$1d07iqa(O%Vb zdjXaM783x+UXxq|`WN(eB=`g_%qb6Yp{$&^Fwgsh`K>cTv2dg9&v8h?3RiV6C_tUp zGIBj4GUdhfYE~mG1QVaTovX7o7e$)puiQsXL#~8l=O@==GMN`e@cx0R>e$uVkbRO4 zXyAW`X9)dccPeOOWou(?WbOE8e`;he;$&^`f5SEs6D&R_F42ZQoRYJ&gvjjS;Zwsb zfigI%>88O0Op6$uY1BORTF>dqE!rGSz&1xE0YgQ+E<+f2OwuhS0+tM|CfU0VKQtGA zdmRVBN-jYe0E)Y5=&C~LVM*HC2@8j9o1^h-8Z^^1%|NlDSu?EZH&^b!^l1ef1tSMT z^>Kf?-#jXD$;K+dktb#EYbVw|qq1xD9F4tV8mx*jL$zhi1X--yBZKrrn5FA0`O#*P zkzZA_Ggsju@{S*1H)S!TiQF^GC_(9UO3h*Dp+Z(p-{>TS31b8S;fgR zWF0MaNUCtUTBP4eq^qsgL-km&r$=ZaI9P@miKU?@g3_W#ve=M|VOhP^TPZcCvugN9 zprfBci*jUgMxmz)jqJrzH*4%mO=}rf8uuYtsRe*hJ8()36;&Vwnkp@=nA^FVq?+d| zG>}c`t8W;W*!v?y?LZafxqfE`QFw#kv03e{ceNJf$kRmrHmLt&SzoWChU>*-M&3$` zKZjT$lpqB9#_Aye3jGZXofnMu=uRK=z0C%KuRx7(9I359v=6yk)Q#uj3Yoro$&`>abS*z>4Lmx zp5Dt%!7Z=oux){83{rUUpe{Vsg*mU9OYQ>#n)?)bd#Y48@}N8qu#cqFTOop2fW2B$ z1Z>6BMGp8i`XmgApqjDmvr=bf>4G&1~G(I{_Y^RMasNcmOi)lWDF zlaq=bW>NMcxgJkI-7xe9Q~*yM4uKUO9DF09jsYbUb=f-qT>)1;6bzh*CkI!F{?zh| z9isQul7sOCJ7e3&yUu2BH=r@KZN$Ona4J@9ifpxb6nXd#*$|UxZ0=(CE)Xk%-c1L| z2@)Epi{Tz;WObH8qLXNGGP*0=rPyR8eGOu8R3aW!oDyh0lTW{{^>CT4DrMo%i=fj? z@WVMN|JwwkHzsL+uJtV6kh~ws95h^Jvdc!8ZjKI~_1EBxEcP{)jy=Yz?slzD#g~dvjSns( zlg@7fBB3Sb+k)gH^Sy0JwdgJ07GVP>_m1D9z~1nXCM*aBScTPR4~z(r1Z8~h#&DOA2S zfoT|BJvB|xjs3f>L$?PX{PEdJsQqnS_rK^ao$MX{!@n+5=|g2!8R>&7Jx&!+pv1tT z`ItqMTrA9z!}Kutdz4yF!)SjCZS+IsPs?~3w;wfKX1vXAQLYE zH0&+3k6srYm)=s^Z!eRQM7Hppc z)i^`t)~4(jg-?;OHw);3oq#qmnvHTwnpZ(tpe!+(4YoLeh=GiNT%6Wse+JAMdj`?zD22?3+m`AydAD`m*RBQtW(iPx`7e|33)1q3LS@9o>%TD z($)CVv$kzAP8Of8+~1X|J_DXPM0Q&*50u&-ZLif|2&8gH-dNg_s!f_0$6^*W ziJkKbHWNrZe$X#Gv~)W?2s>qJL7LCAwW!4jwfO`OY8xqoE^kD{fwhlRgk%xALZWEP zpin_I+78^Hd$br>`JG$MS%H&tX#s<8uTQ@6pl0&L9USvW?T2ErWl6T~*6VCQ7MP-t zPsA*eIo3@CWI>eZf7fo`2`~!Jpn-mdu2dnQ4^Q{2N zdPDm>MaKeco&*YYlY(M@cM{6vRK79Es%_nRvI+GtF;uceb7I4aWv$y7?V_FPQr

+`VLTW8ct3JmZ|xPwpxCorjtc7LID=t9wl8QWNde-7_T02me5x5u+SD!9JVdn7}ZY+l5D*aN+v|g0uAv>8M5$YLTjFo z>7c`-MRz2g<)A}@ZAH{ZgY9jaj6MNi4K{vOx`a$GnA=I1s%-=mLQg9B#rMJCc(6C9 zY*EuRM`ZK%?xP1DX>2jH<~7P55@J5Ba$35^%1eV+a*^Q#BYKNo3En=lfr3hx3h~o* zo(t~NZ@7=0%))E@URSukZ~O&GwO{<_ZFd9vyW;7e$)Hb@WHW2C-_??Wy}@4)1TQ%) znO-_1ZX*Lhp*_h>FFKe6s%g>hq42wqJ3!!}(S_v>9O{e|uhd@Zd7-~aAj?A{5`-69 z8=J|N;?KhYVZ5UN)|u zR-)0RU~fMp2;d)r8Nj`Mi7jJ47Ap$FdgGbAFFRHtjLz}Z7Netyvt8 zOq#Ghydo3c4w3CqmR_28sSLi)@M9@k&IQmQGt@nXevk^=VFmi*eV&899{z1ydGq=A zKQnZ+|M)(Cew4p%)ANe``P;fWXp+ec!D9YhDA~WQUa8i0nc#b(wYe4;Nb;=VxBO@F z;Cxej##x6;5WN85E>m@8=5ur& z_9^bsKg0}mO6P#^hf0U?!K1~0I&*aGqm2tykPfhcklo*xs(de-^~OeNR9qs_=xo+t zaD1ic<3T#p|@=*|eVhn|yJRUxO8UnZU^ zSLN(bV^T7ZaQw-X@=lSZuW#5zjk3xPNrRsyJ~kvhC^9*np@fu~<;ycwsvI@3m+1iW z{Lxwv2hsxkwys|L|NJ2w{^L@_PX2b48tk%~DH<$!D;Dk1&}d+HwS?~vOIC#y=-Fja z+c8g1FqG1flmP(2?G8aOF-Y*=!7+Ar_P#wIx_B8H!-T>zm=uAA#!hppr>eI~F;zWM zT{0?(G$fiQ512leLLa|ngM-Sia+zejm~caCWu=IfW4qfSa(s?^ap}#pBgS3B({47Y zQzTwf*pd&N$GuNuTP3KN*ryQQXSOEfS}bpaC76^hq5ytD+OUA(K0!v`+Ac}kVz-4vN97(f_*Guw!)Noky9xi zfW5=ygj#UC;ZfvqxlVMs9%Hnwhk0W6@%Hi2@%H}M<+1nUD~Z5H;A?*EUvRuUP{# zhCGD1x?f3%G=skidnyV5!-hVk1forn68F2kHU~nx(tVft{zPPPM-HEzR0D1zl#yr) zf`f964z7Xr>wBOw4lku1Cr%aN)uE85cJKU?0Gy6tWoN&+r&_-X5e79-*JyOL_!CDb z{!ThUC-KfI;EDT+!n%jY%8CM@KxRk+p#(ws5m0DC>f)WBGQjN$REI7_Ym3YXiV~nv zWPRMcweqhz^RkpNbTw^y|aD!(qr+38-u8G1=D9jBj{6> z%nHH-%B(NYCrT@4U0T~XKpoT)UBsCMZH#D~K<4Y`2$jS88bO5>##T7WQH(bL2zg6V zw9IpJpx~?}mripr$C6rKU`x&FoI0{`3m@{$n1^;C4Yz#FFQ&gGb&#DwR+9?JjL6&v z-7M?lGE>EWH!h|xG39tpIEL=CY&u7&N!v^CD6|bUeLOGX{VE_}5&E3~kFQb3(gT>O zl|wp6jOLpl6`0Id)eT7nG^vJy9(Ue`;^RGYf*nr4q@_J;O_%*dfb_{S2uTX~0<8e4 zHc@VKl1f80)^f|i#-s#mM$p5udLZJJ7{NA&p)722d&mKGK2K**BiEhUwF7&v4Kalc z`1XJaozA10(1phiMnz@Cp*@4k23(ne zuGA&6gyMy!w;(CUB`iMbEA({>kh&~RWPs|qga+6g(KYvq8AO#+3T4WQIS*~c^IDLB zkGE!UPENxU1H#D9W96E6Ga}Z_f~?S#P&mG{kr{IHni`?fJFUk!Ba&F<%zdSj*zQ%P zaX-o!#10kuU4%VlL};zy;Ib^9QQ(M8*MbMBO*8I76_`U0=l$iz6^aHj{ng;Ez0i5P zVTE7C2BWVLlO9SUPOq5&Vx|L#s?Sib70_9Cjv2E2OdwPlmBQPYD6KrOCJGTG=5ram z7m;9PB}Sgmy=it(8N5R^j9wwae2uLV2-angqx*Q{JBFz^Yvkw&1H_lVn1yejYOeVmKqqieteHe#)EJdC0B$m zF)21keIlk~$%TfNovXEN4J-BJC7`xLC$)K^ru01HyZ3G5i1Ua|gF#$@f8xxqx}+lh zS=+?Uxy54T(OBz3i^^&0!*)~3vrVYyyOUeS6M(`L=3=q^8{?D<@0m;Wd_H}1=5@u} z*8BUNpAqaqo1+P0Ph8!QVy|}y+izG`-bCQTn$1z~bTU$nbCMIK+?=o;nDr0_Dih}B zADVB^AC7Ss;59O$v+Qk*VJY!)+=bpS<;R@w9E#heM?%obIgsM5FRcLT<%9IrWk=lI zQi;s+ZT!3RH1AB>-zevf;e~O3=Joq=&{af42!8*TQ%0+ZjV`DQ#k^a>4ML9qktMJ$ zeihwKohG;>5IE0N6(wY_8)HmbST%vKCE~6;y#yB;mCs|3+kb>+h$omZFSx6PXnKY@2i~~h3Ug3*fd;f#H{15?eLgXUcEjEgQzWgNr#ISl0Gv zG(~5+Zcd2b@8H=^M#uBF_>$PT3c>q-t&BdSGZppS*503_p#l)b>Bz zant73pyqCJo1Pqk#ByAlc96QG!cY?$N2d2XPvSD!mY_}6xDp5%gHYcUToKdjGDlD$ z)gbT`a&a}&4n*bTv2nK7Gn?ZGFp*X8B5;J3T6w~vX5R+hLet)f*Wg?~Pu?-gT2uFi z;5=W0*xGMyNH|t8uC71e%q&O8@k((v5*Kd){$$<`>iUP?0M2_81@{wJM?wAX zt;m0F@}>O8R^%@&VS~!E4(1~K2aTBe4{aR=Sp)Mn5<3D(UA;D`h#WI0&=BAngXN{I z`g;OueQf-ZnNhy#JKIY_QJJ>KR2(x&bqxu@csA~D=^Kw;n_YJ@rkr&laHhn2o@=nU z50x9~&)$bW(^FYr#(i*n5blqap0?Q0OJ9a8`GVCeiyC~6F-=VN4e?Kbmn!g)-bl6i|AdP1#GEHdnxIvZ``PD8x zybk70^$3~rf{0;N>zHAMMS?^KVG%gB{bD1t`NYg`ECBcKTKRyQUZp7%IYT zc)%4ipEVR8FW}6XrHh>%u?UdPRl)(4ZloGI)0Sq6OV5&JBo=a65Mq)|904XST0kh` zzj5|NpVwlRgH|rAl?}D<09WyetEI@l0!X-$n(KEd^Q4fU4@9U%p1_umxAQ9N_xCWb z-BO39Gi#ZMnbdeqq3Fs0xY^_Br|9`PH3=QH-@k(3$4 zM%x?G0z9ct`CdKh3Mez`3ZWvzMZIhB)ar{_?8uD`6J%^`>^yn4`ZGsyO2DJF_2H9J zc*CsQ+PaH&_v;fruQ$=|P{ofz&u|Y;PR>-hV1Mv3vj?e0 zPO~*SOywk80L*G@VkXx;b};q&G@+uQp4an}~FBKl5YVvuy3St^0K;Fw83(0H2jYcL;@`zss$Y8pD?^lNPb-XmMs^SrZia@<*{o?s;amttHg0^ThXlV_Qbgsg~>Mn zqL?k%fiwx46A|e8M7mT9ewv)M0hXVtZG2h7Q=HJGi0DuRBy6cy%d1qbSv-1orly^7 z);Tb>dBzv1TZYSQNKzE^iWTd+Hr759O@P{-G8D>|BtrymIO-8hL{s6{0hsHk*jT>r z%g_2r9(oqWvt&IuSV>mxI!-8pojCHItEecR!d*(LC(PSm60jBnUE9Si!BI(4x@+xn z(mYl)Za=9N-BmqWrXsVf@dI<$z`<;OD+#$zb0#1vj;JL4=LhwD!x5g}KXGIG73@qBz-jB_Yx}z5uM&u;1Wn3CsmiAoItXCB7Iy_R%d3KNfRDp-{nx0h_fS zh?(K>Iq(AA9UVr1j9}{*n=6QdXS_)e)Q=aNo+9*tP>L{%Z^Fy`*M`%ta<%@MjwV|O z3)%zjIG(3BsxqT~TrA_a2BrX*L$1WIxK=$bD^9JxQhnzKio3zKI8scTu6f+i#_0wX z!#_6cM?-i&fVj$inNL*O#q9KXXIt)&8ocC6Ze00KM|0cDDto4X4!T(pjTo8*qA zko2oE>7HMM8_Bt$8D+ZFR~j_O>kPc@sBpkYzrNWL4%&pm?~L02%pj%`gsTg1xI;`8 zPwNi(B=<)js2l&%`i^%00?1k~9=22!pfz+G`k+-$vsH>25oOOAZLcG;UN5q4$zzl5 z3K{QG<GtF{(0I}*z!}+=3w-f(jzkN50!cFN94JCI2$$PNRtykgl#Ac0&d0sCNoolDc> zp6|@Xm%N>x0YO%lsCGc7zuda7KOI+wb_rOnK9{==F-B1g6@^z4NT|BVImnr)E``R4 zbr{x|-xGp*u%1f>XR1F2u)%v%#ZB=lswD)TTc-teqJ`?>y=BQxi*{whyh+Q1RVfFopAxF3&d|?l2IJ z?3~otXC??)RD;k`3B8EiCiw!R5uMgIjL+MzHqSiERDJ7c% zL|KBSJMwDdwh$z~F^C0;U3EU1laqJvUJsM&8Y7a3(WpoqLTcd%TnimgMpm)Hj6x<#-LiD zI5cy`ZD{5)lpq@Wo*dBLd%|qp3DDGSXQaegXR9O5m-JGNpc=X7cmz ze`W-z|M|SG21d5OS(-m3zyEb+n$I&&OmzP~_J181uL%AuK2bHPBs)GOxe8ZPJ|Q*P zy7IsM2EE;*!#P?1&%Xia9NZs2L2QP)Y+P#g&@dj5yqa}JM8y}HpE<+bz>dIRbb$C% zrg$Tud*DFA{5xmrGaRevXsrH;biWVz70iDC^fm4CNNs<6=zq=wBEkZeM%MqAMB!gz zXN6Deo!>4ajqAA;fRGeBKys9YzLZ<(Wu@}a;sEiHM3}rO=g!oWZFPp6e6K1z2;xk? zfL`SWIjzjh&0@rz5A7z|A169oyg#1bAu&*{n8NAz<}Oi&phS7X)sWZ@*bctN4*0KZ zF6bGV#n0M>7{nTc8l>*h3~@)jaNr!d4%5|lwy1kIDV4R8uRJF6+#444s81A^+Ge0~K z=nNwl>d$$pg>tj5*%HcQPEI~JNtH1F7>*%qL*P|?NK1?K60qu^2*tB6)H%hcqCcuv zwEoH=3(&!4jk%ZoF_~87?8>E8+!;XgH z0@Z8a6OIe}ZnlLrfl0Ol-sibV)zG)1>7!x~B76TaeAb@@r zjC)+MP25RqD(4W7-7wXc(@8ylvh0%qntK<&C=Lh0u=Hqk3^7xZNaR*=A>P$Pw@w<` z@#8@HVWvk)-s!zkYY4GVy=#KQ*}l~~<-~qY>6pf5Ucv43_S3+j3Ard2hw>iDD_M#3 z%a&LvOkR9=J!WC*Ntoj{+!^DXZdudH0loVp#!q)W>vuRHQD4b|1wg2#=d@BUbIj^3 z^Hnx!O`|;!R?gnnc*~u+L5WT<1%Pb##uiy6WkV@XAWx44aebEr+><=ZWo#PfY_`f{W?O6h(2H@N=gT}xE_GoA%CoHfF_<>BCi%EUCfA)fjvluLpO zxO(;D2Vsp@s%lzcYcoN9hjY5v+~ubSVP>sjAgEoO*Z7*lMN9R1c2}pjDA=qkiXb53 zO_F@9a%`v`f&xWR{`cLaHACbzWqL$Gq|Y&5eMg?$t*Edzii^_b>K(tZ5Qqb0F8!kw zs%lj2l@))b&p}w`ArZik1!K zn2W2^>acP%-KLR6Rpw8XlippWAA8DPtG4}w$HbjR-}5x~7bu!WGzb!{DWyt`OoH_? z&SsuBG#ifVIwebH!rKj2G|?JR`0;xWUa)Uc*wf`~$xx#89kKI-LzQ=uZ068sOb}JP z+Vow8>u3rx49+T9#$wre;);P~9hAz|I@p43#W!de9lPjJw8rk0*@8MIr}Q`=?CrQf zk=d!pUfDhu+C+hH8KJ!^Btvh)7g-@aln+KlWa#0gev7iIqOSZI-5@VkSSX#P*J#D* z@429yg&HL+R|B<-8N3m1rTc}s7e-&{RP#xZRf4_s922w3wDVED(~4uQ6eHbwV`cdO z3i3mim0HjBG|Mc#ca7PxCllk*+>M_DS!Y=KTfLd!OU}^bg86oEshH2?H_2$dmUW?Q z4)#r~C>%r%7W1JwibHveTmF*|`b8isp&4SLz>UXsYLcX@G&FWu5Xm z5+3-eTs9k+Oj+vP7i2GXIz6UWsX{AS&(pD1YUZvs{p)^G7N)NM4|mQ?SD3TL&$|)v zw_-G&e|*}0-;MteaQ@|nM9MEq0MR3HAJ0vwo-RbayyMN4LG6Ug%7tMHXz`IhrA+i= zoEwfZEo{!9LPB`^;u4dbt4^UX!-BV%w6r`PyzTBogD(6?2?WuwF+drl{zgO}N{%=y zPNbWjLQgLlvvlA;h7CyACQtDF5(I~EX#&N@EPz9af?^^Fs-G_sX-oLph# z5{vdKQ=o-L@MQF@yW=r6#_c?=j7|+oQ=Pl8^V3U}a^0DtK_5FD+TSS1;xG3uUUrpmIF|sCS-QuY>!)>==FB-Q1Eino%40n)H2=YxyWm45kxl0@L zWS_~UZK?7s?@JBR|HIo?cGa0~*#-~p7Tn$4-QAtAad)>Q$j05BjcW+*5Zv9JKybGp z3FPjiPTwANZg*9U(LL^m_ZQ4}t!K$xb29X})RcQly>K8hmW!Bw$R`mc*=f5uPE~JK z^S~gQ;1bKt$DQGb*p7b60`gC+AM0b*vh<<>DSDlYcxDI9pko^pxvUwgVXFz{hVo{X zEc+9*yWU3YW?e=0YhhYueNg%J%A2C3ZzO|DIh?;N<^Eo=`(OCG*|`6?;!jEW{>vg| zsM{jWSlUBX6kW|9#QM1hh-w~$2@4sFUO^cplI~bpSl6iF#q*=ypEBP17WEQr3DNH1 zCJwb+bpLJhhHuJm_2udLjK)7*nmU9`a)7mubqo!WES3)_gA~_}K8RTxILgYhZ-s=2 z1P?r5$C03n8PzrQ?uj?|9{Du>sW(2cmflQBoVPw{RjF(8v};YFWUGi1{@H1c-^BC%k;p`qHhPWH&UI`dv)@p*r8K#5q6M9&ORp0+v&eI2cj7UpGBw`mN!-PU#Xl${B`2CK>}_}D3OJpHVs*aUA0 z+n!u$y{9UO$v&zy9dE}ppVU$?u3w3&zA@8QKp_Rmg&)ILg*XIyx^~SYnEt5VF63e4 zT__HTl#4{0+4XZ>&qPN^vD=RfDo0*{SUv7mJs!@F1~40Rlze=n3oUBJb$;{f4CA%+ zLXE8e{@8cli_VmK+jMaAR$Fy1Vmx_|56e)TS`mG2yx|*vT5nDIX9=yM_Y8)T>vqcS z?s5kJfMpyXXN1Uo(ceRMA6l%o%2f(ymiwTE6G}WGxxl;6W8crwOv=;~W@PhA>masB zrDlmPFWi@RseHUdIdAKQn8g;yNznX>4#~8WOM`w&I_SJb1w^w(LqNaAWv!drC?Gaj zFNUR~6Z62tKIRiwLCm<6Ojf4ci7-5tq!vmTdxtJka;P&sT3(qk=M_>vbm)MAgt{h` zM`LU_*LjV4YY|XUVexF+or+u*$V8wC*HBf3VyjnTJX6;xc31HYyGqaR$8Ubh&xg~1 zWpM8F{!2NLzdy|W6+4cePWGM_|3zt$qy4P&Mh2^s;xJaWLX54PEv6(Bk{V=_$*q-z z1yc%~%y;s5m2t!F=;Z_Yk*`cGoQnIa3d`7e?(cTv5w0q zo6VJIMOI=rexlj&Sy(h4jI!j*9oBJBU|N=|S7ku#%T3Y_q5_mo1Xa|OThwu5MEJH* z&qun%0Wuehub#h$0w-*9R9E&wKq*=VSZg5=i3Jd=iK=#qODK*94!skyQ&U!w--;~69vmf&eM z>O^OE)E%5n_}=#;tlzdkzSS$Nd+iJP&yYDM43+k?*fhu1 zaddvZ+QOE2;JsnnZmxS(QBi6+se|a$Lf9&wGiLB&xG9(^z7Ofab^1lp^OYBIro|Zc zN|KvYlY5sw-cgxiC0FAB{8*D@DTqj3d%+G%WgoK5+n3)V88Yj5m1RvV)VxIBP>+16 zOh@Dg360bnvgStF16~#0d)5`u8OhC;YVQ{H8^!be)+Sfbx^#VdkyjoaJ=)wYK^hap zXNw058Bm6;myI&=u!` z{G2fsO^5j!5AhLodQH3|$`56S-j^Vpl^mAa(wL_Z)5``ikm*!+^4~zpxHVE5R>?2 z;(KQJ%tLVO^a>8rpjhG%3b}VHeC&n8Q=0k_8bM(=GUDQPZhJT(5na4zvj1wy@}=LK zgIEMZ*IHq9F8TKLl3SQ}WyH3weO}q?FMC#okH|c(UDJ}(2dGMxuAQK)48ymFXX7lY znFp_b{vPVQPv9N10Cz|jNPjit5c~&~prnnZrH7k^qK%ccJ6P!M&vl@N!7qK$7hv&5 zXu<1Z<4b+)y@C}y%(vE@MYtNl*5b4MLjbSk*t&L0ul#okZ{`1Br3z}`NJgdxq>qe0 zGFwgY-P|lSldxW5#V~TKE{-W7HZ!hI?x39Ox0K#HAl@qp4wDDhMTAk)Bb^Aa#~)J# zt5p-R6?sYMu%2qJkvxX4K@od<>PWF)W}dNL+rMN84E3J7P>HNK9R}$UdJn3CT5v>s&a-U>Da4679bsk<Y>Ni})Z*byE$zK*=B>7ay zeM#ir((_>$xw`p$ZNk#}$fHSaY0XGC*ZoZY^FHg#sOD1l8t08UuOYYOfupwFbH_|k zrJJ;qHaowrh2|%vI5Vhu)mPNBzOaYMr5YbRrN8S3AbrDrGV|q6yrk|Fkw`j@p)o5e zc@G&0PnvfbQ*cEE?^uuwtO zmr=ElfL2Mqkm>x?8Or|>?q;0`^uGKq~ZhTSkzalGFN8iqca0LTN~?hMmyBFfWz(M zaL=MD%WWEp*12|k1608CqCMSB4WOvKZ5CNNGp-`gyb3#uu6-b+tCXPKlDx)maYzzm zC|`7qJ+*-BRBV5mrZ{AP!RR`3%WfgjT<;sPTu@uy1cGloA7@icG>Ru-#?zV{g#a}z zsmE%~3e``4Wu5wLQ-I#-^U=w(JDJDmIwpQ>?e^n2Z%K7Vla04U8d+dd^RcQD^Mbyo zf21K|=-2eH72CN2C3DlXb?@0vl|rd5@P#{EgRBpmhPCv5O^)dWb_7qv5@~y~-qaMK z2kwNaw49pgTBEXNp@3}-4QKp5yabSGN_3t9yMeu*Nnk`4L8Yw*Y=uz{y3P%N?fnOb z8Qns$m0GO6Yrfmmvy5|wC3?MF4-?zmb1e7f`0H@C?u!g;;1PHA&v)8MRzsD$(nsma z3Z=wJfXtF0!L_8oU)GX;FHI*cB?-201^klx2WQ_u$4BCr za<3>B@Fz%iYydIbyPHYz6_-&$2JW^fBDnG0WXt)`8g$>;vk*%->qhgZVMS4dbj z)~BY*R+C;YZW%s40scUsL)8$Plr&R4>^{!~QYRt99jTu0!rf>h4Nt-Bz7a;6yc$)y|M#$8y7K!nB&nU_BA8Yr!Ry z22q|0fT;J4X|u{XZGLuTU4;*br#4_PbT$mz2g^p^GZDM6aQfxwA~6fc+V2e@mFg7QBR4F&1?%k_+@TpNo!9zIo_eYflNwAct1jFtYG8y zfg?h5I~$}qia$}W$@}uYmW*8pBf_5)P&C3NI{W$#eHZ@82X*lM=ieD}iJD~&@A=blh#@C zxXsscwA1vls0~H<9mI;xdT%MQlZBfKcPwIuanUSP&v+6h0#$!=&B`)unST=^7y8 ze#o(b(6dRxdruWLNlxrMl67jR{$*yELC)jLYNt7J(1LJ4Kuz5@zZ7Dg()~LR>P~s+ zq34(7xZ!vE(OP%HjA%%Zc%temS~={;oF6?43Lm+LDQ;zMJ9ckFe7%6H6F&wm2_jTX zpbNn!R3|Z2S7T7Vc|M$zJe*`u7LR#!kAs(Qnqyou?7GQykgPy|D=?2w*+Cvc%Lh3ChXe}$4T3l6W zuaFA)PC*46-oMrSUx!i6%w-3rmKz@e9g}ejtL5m43+>Y z3dDanXVqO1YJ!t!(NFvHQBo5&3~`K}ipx~Tib&eC zC+wU*-D?e#&L4hUn@-31Jh!r1;_?5S^P@MUl^Z_^AKO!uEHQwS4}{n3{x1I%h$5D< z$pOU1!*E#<^i_s6JAWVe_vk``8CD!f^m5OfB$n_#Qy;N4iIBphsAuglJgQ z3$IE)px?x6L6Wt>E?A&z=Nzml+&Qa8`n)JA)irjo-j02qezLupQ#LJx&*J_Y7mNSE zMbyWi`|E$=asv2`%hU3|aA{IprasoZO`8?4uzoo*ttH=>dEArg#=Y_70F1M`zm$4u z@#-X|FQKPJm4_=fqa^>pC=0w#xqT)KqVKeVHOI)$aj@4&DXfsqP*djNHi=`6%0Q%Y z&UhIrIORmiA}A7u_c^5u=`7l!*F$BqHscZIG=V9{8yD{DS|NSz`7H43Wh5TRH2vSh zMdlyi(ogFAzZWkRe;+S?+MtZ)yWjmJ+WLfHDIAM-Y~z8K1x8p{|mmyok> z@T*=c1tP+QrbQBtgw{MI8%FD*^#)e@9+m1InJ_eH&f}qV=MP3R(K7pnrQ!zuheuF@ZG5%;=p)+viHPAb9ir_(AlWwwykg9et z9_U1X98AEZy+1!+UVYH=x@yODAFU{W`3%ykd@SeA*+s2zj%m(K_S4bQ^a16PU7vw) zllhutZ1F&wl$0!ebDOUm{SzvL19wI_rs8)!A)4dOiftuB{+P}Jq)6(E6p$u$dbc*& z4-8554g$7t%~xfwN9oW?1$H-RVGGe~72SWX;n|wCWJ#gzrXRwrE+OB(QWGOOf{pz7>;H#t z@KMhI*H%4$xzYS5^_83h!0ON2tQ;+Pw>fF77aV~ZX>@2TD4|&j2iY7Aco0*QhV^R* z!|Xy&Ik}6*P8Ut{k(95zXEn!c66x%7B-11dM+OGmKw9Q`j>Y4%`_1MH!{_Izymw?D zV3Iu)w=;eHhp!T1<6MknVD(}Nhbm%KoFzth_=Fc~fd&-3Q69+69{M#l%hPN?0YWdn zbC<6vxA;Q=v5-U5LpVd+LnuQBZzA8wBhjG)yNn!x>=&ybCc^KyM;y8^Q#E=8Wb|;e z^ik7+=31R?*o2E!jd;O?eU}wV*T_IgU&}PI)^jbYKHIj-LSC#?iuFt_a*5{Ds8VAF zI1mf{7l)eJDh2T36sM57FGvS{GPMlTfL_QgF;qkpeZn>gfI6 zd_(dNtwHuL9G967G?3|QhV^*zg54YxK)NY~m6luG?5LmlX4RKa!GMQjOovKeae=?d zfAoE!xR@%+-xVtAcqMRzSWTE%O-RL7BN@LEncx8eyy=)#0*dg^9)J1#k%!P%4i?Th z%0!Q)a@B5rMyZ0`#@n$6v%%v=WT%nnxQJ-$qXt@79Tq|}{SRA~miGYmk}PAzB(B3` zxB-8)bA`8U*m}0yZ*o;|R&L#tFxd8t9rH^}W3r?6Yy?%D|D{l>_@dtGB(}GHs-?3ch+`fkh6prqpd*^9HIrsRDh^}I) zE%?jJ&uCs|xb&i$QE2PHLlMv*_WKV-Z7kLYLW#`Nqt-;3La^VFkB8=!FnV@x)fA>H zCMG9Hb`^C12s-4UwZp;y>cE)KHvY~*Kj0IMcsJ_L!ou1vkt``5F!+3d+5wA%+>Nb6 z+Z($FrgYM6ST|Q#z9IvVIA*lc0$6gox{=#A=-EGrq;ZV~7hWr&cZxr1WN!!zw#LE^ z$+Pr;k8IwE0mx4J2A$;|DZoprzZSH0)sva;(0PIZ% z@VTYR!F;=W^QZzV z{F_9WLQt(O3~s0%|FWt2C-j2f=qNjx|2ZMYsE_@UR1lhLP^y}-jk$npL9^8=XsLQV zfGb{!2-OzsXsgZNhI>%k$)QGAB%d^O+~0JYTz8|nAYpN0{q&(2l9AUp z>(^{U|J`JIIuj}CP=9uW5AcUFDOBT_NwQ8B(n@C;6Q1Yj9Yf&M1`4?KE!h!$TJXjC z&fNWFv)I|d5N63y0AWM_M0;Re<9mV^E<$;Q{=m1;3K`;y?92H1?CWDEzP3!&A=fBC z=&}9}z}kt;<|bx^k7knCaEkRiOhr0kW#4DM0HmDiRaz5WCkmuK+yXMwx0IKPqz;TG z2>`eJh}+(|!7n{LC;1c&B**7Yqbi1Zp<=#n=HE*jGYh8MH0F=4@_T-c{;)FCEwO6) z%nD5!Rz-}GW6vL>Va{)G6eJ|ZQZkg9N^^M6Mw^+^c*o5C_PrXGhA7(}0o5)WQ|z6j z#|+s=W_@h!QDKTS(mL9Nb6oNyQsV@Xi(W;v2k2h`cXgMS;sl2C*R=A#@00&teNtLV z$;s8(+R5I@%I8nj<^Ltqk+dh1Pp5`GA7C9c8X7pgkVB@V%jU!meN~@T0lxQhgBUg7!U{Wa^USML^ z=gOvdh7_j^ROmS_wvwe5;l4|Wiq>1SCD7052rXcfu@SGvM?}&vPn*2Q8FR=JXb++9 zkj3{k!t9u(x3?$I14T#n>S4HY- zo?%u#gf_~>&{s;eJJWw+i)3q!)}Y$F_L#G^&*G|oN&w05fO-E3{g~wGp3H$rX8my% zRjkn@IP^=LA;t$ss1}>?HmuPh6bZ844DFf7B>R{#a@D1ii>91|pSG9z1Wrz$Zf*hL zM{m-M%<%+QSYcVcTNaon zg+7SBFeEF#{GrWHauktY1`dRee_3q)z51`Tl!~RLo5jBk?2~?bF#@*$pmu+2rsBYD z8HW^vc}ug7q8YTc%r`~UN}1k#rzr0Fo{Nl7)j#E({&QPeCC=!_R$qU>cOl?5c{=rW zEAVqK4mZbefi>_u3Nf#DdJjbvzqkE97u*SVu6exl%%BDV6)@DHyeM$MB!xi+X@m#F zg4Z+_gDJf2m{u9T01MTNSaY!-6M|#j|6@(y1`9`M#{M*@Ft|W2lIntXl8nW21jPNrNQk zz6b}HT+PKYrS(8F=U=_&48=3y9MxkJ73|qg!zm$7Pe8yYD3O8l;)8;%IYB_@I8i0l z5f^;#*G`eJ@sX7a;2nU>(ylK_LXI!X1h=E=ws$jJW5@4PStAt(2pIfOYA^q@Im20s zetc^oN0;q%>iBs+?UCPe!FoQGLHc5!eKo6eNw-iS2WCU?6?bAuVS|3r0>(u2zNW|P zZ`k{Qk|h`Kj6i}hN-dr|)C4>zh2f#krrAz=)hsT~_@TVI`G%P86^wZuqPB`v+n$P5 z)0RjH)TU&95Ps3?84hsf9|AiIALf;SL3i`Kx2^!_hr{{JMA z{&uzfuNFQw3SgNV;1<_HQKNC==Dl3CJer7h$PSEpC29DRL)J&ORmxe%&cKvF@Z$(x zg+|mnbOhrKPo7WSOiqrUkDcsta59?m1M!{~SWQf(KgVaH5a6+~R+uruLOt^jdML6s zRPp9g=-@ZZuR}?HYdJOJ21f4fkp6{p)uxo^U7!pEFe zkY3XUqlR)>2;{Sz7II0cImrA0(rM4&-Lck?fU|HT|K>lG#5W|If^^CsE2lW~75HKR zES~NS;`H?5<`G^XpaMk}75!ZFcdjQ(356vrs_RP2PMI$g*HVvI11w$HS>1>P^h0k1 zA|X}3a+lQ1vtCfHWUh<0cWZ<7M7?8M==r>%e0WE#`=d!y(Ei76OGylsE(h~GsTv$r7 znYS*wCGIIXRP9iAR!0hQe~i<-Oh66ssR7Gbt>Bk*aJ+c-r* z?kmcO(q+!t;$05RDJ65{4q5UDWGEKouXs3KMn@H1NLPk0;bgT3JTQHZAD>e0TQ>IV zES9vkN43k3;h3_#THNSQVRg=V+K>D^ThS}t3mgYuxC@bK$$8c4i)#ghHQTKhI%XIK zwh_r;9*cHa4yzmSi1_Uy`2vN+i2@iEmUiViheEK>k2khM1PYWV24cqbm+Zpdr&ngK zper{|1Pi?dMk;vl89Z)Y6;JC)MAomGAY?FXcr=-RK~aBd?2Q*jrwCkd$f2(rL31nq z&=CsRWP|Y~3+bdzeVHz!(c7~%45uTuG z5ScOsU_Ldmt;3p-gLHzG$K3Tn!?es;PbMNDl9DuP`kL9$7!6K@wEeywE^D>#hih4{xEj%pq|L(2aP&VU4xY& zd&jF!f2x$$O5bxJ(j&hjlGAdEM8Mj!Hs@s49x~a=CobVfFG0NJptPQ^AjmRf%!XoU zL5Ey%en+17@P^uHM?2jRRH(_WW$|dfFMuBB* zf;(0#NtF5R>uXY+85XTXZ&`{O7nhSvaRk3637%~-&wgLr%W^#r z>G5rTvH5u8>k>$Vh%Yk_f#=b^l37$(SHp}9U!RTqlh70R%I!Pozi@4`+Oyb`G2Gvc z1+H1ICa}h^`ahvEQ83N!Y7VN8ec+ujgb_s6&-}P{W;bJ2#(Zd7B73$aRbm(lyt@}I z3B^Ofeg4=wECGyezU3ukWrWfd-;7RHrsA)jnN)0GgKQ6aOvm?34U~_YEZA_g?CFsdTdw}}Y4~od* z^d^EIvy1<6Kd9;9YU%;L6*T*|9$)J}cwHFsXtby>Vr7v{Fx8Pxs#U5D`gED2%U8ik zB?>W3bR`D!?}~Y$IM|Q9-X-sDV93Lgb8}2kdrfs(-G5y_`|UFHUcnoE@b$;xH7)EV ztnrE#VreuU&2>!|hUm4H!kv$V2b$wvAd>s9V*%KR*Lxp=G}8we5Qr;uHEWB=t4;L= zC}85S&GBGw{i(Yj9+ZTWlun!$)mPGNatdndFQSzw^w>^a)p27j(hl(2ZbBE_5$E`v zR#IE0(833n@PeWmF|5+#h$hAtvt4JGS;w0N^*BTBg!L-4lFChuc!6}Oww8sX4s0}) z))vflU|XOnJn)erUetG{qC8d982-1O4`Hy)6H_&KC9mmygeNm6uJ4rOb^Vg-sw>F6 zZHm>HT!&biKTk`rL4H*P*kAMah3?u}*!PT0m?BUeXQ$yQ57PkPZyYu&hTlZ&+7&sh zHb|Jx+czt}+`yjc);-sE%?;WVj1`0D-IhZn;RTF0yXS4ttFEAee+kM zfJ{~ND(~1Ifs|%=QPPD;kL&7=*Wr=1Emiklc@@cUtX{7%)nW-Q#1C+=i{^w(e+nYx zD-I+L1X(}&{TpGdFRF=09Wwq9Lns0 z#t;iAuBOZF(KqY*}^|}@;Ssww6rX+naf<{aL`w_frO-KCsnU;85s^4%NjY-e6 z4TG@&wt1#e1=}g*O1yVt?Qk=UlJ!hnnQT798hWN_8gq3pB49q6rNRp_0IrPm*}=$D zEts-Ovb_C}<&?B8Of|tC-Y@L(x^4au3My38T$KfyLc*5}3xBa2G(;doS6E8B+FZ)= zhf|RXAtIP|`RWz*|In#O+Q#19;?LW^9PLLPOdYJ3LFj$-!BF%i(+>#TVlF|R3B^tM zW##CM=$s3S%84@UndANAA@4W9Dna+}dKTS^N^_gK@8gb-0!ApKS@Y9LuJ@D@<1LA)sRWL82>Obk!2TL3leI<>!lJLx)kiQ0OE!ea}?ptBH_a_o28Nw z^jdz!Ljp388A=ITb_z1@@lj`ZiZ3a;KksBTnlxtTCS4een4RbFaTw)O1zZ@a4`^;7 zYa7ET0u`Ld=iwXjW^U{&NzIJ0@!m6gR2g>rYKxesKQmtQ+YuJyM$IV`3h zUD|V9cqvi_4t!h2$n336mrZ0`q`z8eA6%2wg`2?3qaoIq!c5U(E^ZYXs7Z;zm|Exh z%r-XaW>myXIqOc%Tpevwb2=ugoG zou1N%=u;Sa zF|{NK@CXG9GTaZ>S3f<92g*t^?Fztb?ZUx`L>@8i1Yj3#qoF7)ciZO3iX~auvVrAQ zcy}Q_S1T_ zvzA#7g{tFo64R4<*scc3%GTl~-!w}wMPH9a8}JjQFpX(3Llni=O(?)8q{z9gQu}A6 zwDrzSrfYF?K)(m^!}MsIm3gBhsy@4x5{unQU*VQK#do z6&B;oSrT(#=6a~HW^?I?Yp%I_7&0$5?Y-g)5B_9XD{Se>J&EdG2T|Lx!{4kHoP z+T1nG;hO2C@X2|r0Y+miHWK)vRBFmxu#G<;??)g*L6-1rf%`h#CkUc~X9&(&Be7j> z=z&J@O$zhI8QB~NrGTjTz~BeDonDs>gChbC(ZcoSpP$LO=OHBUJR!0+9wE4#`#fT| z;g?!5m9$D{Y07)HX6D@yCp_lW-X<%S<-^@k=DMm07-}+r(pSYbLHyS9xbqcF&_ela zZ{rIbZ`p}%U>wwWd^2Lr)?pk<*I%n1a&yxxFhyB^9~#Kkg(>u9rEwVzhUa885K70( zHC8JVnKnk<KSZJ4<;rgr-{-@Gv~^>=tAta6PHbKf;SwPlMG}xI;4nw1wG`GRHJHqQ z{I-eRYcLN3fQO1k$bU6um-_n=!SDR7>T2TvmIwE=&;V0|%>l0FV(#D@c2f^`3%CCe zWLN>)e_{zW*Y4W9NzD`oRlz{&=@UXbm5ZXcV@WQ^!cZDhUkwvG6Mj`xf6}>}l^48( z@W(RkC}U65It^>(@R}4lVBQ5A#=eNdta+>U;oJ9*X#wq!mh4(SWFa-=v^1T<| zg{qtP+oKliiTXXGh_hs7z#9FPbCHyHwf?9G;RL9<_VPTOtt>uwb0(Z z`hyJQ+{Jt2y znc%4>K^t5kwN?y94u8`pC2xIQXX?lEGX;EF^fPH!@)W~x&<<#fqPfN$qp%f&L;Qdf z2;xV2phaVWMCXaUY{{>~Adi`w69jEd2mENhqhSnDk%D6Rf}fh@Y%CBnZqrRyY-D*k zNPYbDh&c)Q$)x{6G*A1^M$2G!(ViqYko0B8PN2Oj|7X5D;rzKhkr^FKyl0KYdyjOv zAM#nJkq+rHtld`mQK9)24tRXi#p3Z6^@4N0WY#N|J|$xB&_Vto zeE@7jeVhju=jeagjs3lrxwMnxzs;uA$CM$#_uLlm#U#~wcrshq-e>Bygrq-+@;tnz zq+}jbb#b?Lq0N6+%n(ftKIgWucVShFUzQ@d7j(RE*b*_`G%$Rni=$?`xVf$Y){>|d34szTSy1Xc%wkc_AN)H ze6gF|f@I%nO;eGKgAe7YXRu4g9CIyyk`w@Jn#P@Mz@CHOL?KJ3{l%C)PNTVBzu;`8 zO3T#CVaSXtNU3<1uD#t;M5D5>Atfo`oU_cl5sJ)Ey7iik?ArMX;S!OfhR6myGWn$#z*Sc6nl=IXZ7tWM#beUa1a-P4y-`PL14 z1eFn%*}^;t0;Jsjsg&GvxY0wY*5_CeC{a(Lg`$L&qV9D}0 z7>w`EUp8O=VE+KdR~md*^QT2zK!OUGIF2`%SGBRaQ2t$`li~GR!|k?<1e%BOvEXZ{ zIK8EX}NGXBIlGov4c3#p*PZ8om)c97CpZlZD_FI79*z^Z`Id(D+TYCO#Jgb-6Pvmr99`UGvO%kq9=r(E{{{FJNAa7Q(tCnPk>e-KU3_qBJ60CQA89`dvaZzL3v(|HfDG3=H_i<@F zc!#DnkqEY{^A4PhoRzF<_0x4=N&& z+A}kMA+3`XcVVRqihy9%o_$_Cqr!0*Y6jUN)p=mrKw#2e40#Y&Crudpq5t0P=~40U z3m(c#&C{3G?jgGE#>C~)rKAi4^5O`56UGy#TBR)>AJ{4nc9TWrGyIemrL z@>|ew1~7oqGM+bs8Yr2|lSyyvLCL}27{;@(N8cj(|2}SPbUyIm1jF*}FQNGdyOw`J zqYQBPw^;d4V8VyfHifKTIlS4e1q0(<{s%C{+DD6@5x~@Yr9Wou^^I>ZBmB}=GVb>$ z#{X~>;9X`e49Vp7AV5Z(U{{=HY+$r!OZH8Oo@Wc5IY+`DpEGB~^L6+c%hDpS$L?OU zz?cX+psAnULltbnJ`b-v+$5r@^<&Sh1OuaoAvh>buTrTg4*Eg4JqHmdSG{olBgO1f zkuFNzZ(wA^s4MD?VYn9?^sLI1G0L;yQ9~#=M*33v#&Ib{I$GLJF*{Z4H-7rl-aw1Eqi_bXmx;=Mds!GK);B`E)3B>gW?{$KBt{|J@= zgi)Eh^B!nbb<8*_YUu%m0kHSUkcFNtw*K75%jR3jKdwx(tM^P;&jFTJTUpIco+90w z!Y27q0R&X@?qz8+pQalC1(rRvpN3SAL)FSA@uIc;`b~`cF-NBD9#Q>!Ht^#hy~+|< z5d=k)A=5-$Tv#^PbiNb{L>!zy@@m239<$?2x#81+F@Y@qp?kUVeoAh_rjch4uS%8~ zZpGtQu#}QxE|eO>SlAzZno!LdOgL6D~DSo+}7231QzxC3LyVzslH~) z`=fi0$H{>*jOWf-G)@;18De^J-nhK3yh6h=IVuNxnc>#dH%vzAedZqWyJ$$u=-3wPxfl{Xp}(l6{S6ZO2ie4XScW z{_VOXCiux8^|r)!UI0!Pxe0XN2pcjHAb&&nYwzv zOD2=Dn-J9qmS%MMCC!+=5uKzfWCrHrgDHnTt4T;%jgug-G~-)JP|E7?T$N>Z+nW?~VU~VRwLa~!<3o{J@@#$N>01Ek$4CV{!F{9>PU{{GHXfAIxjPGrPb{F zE?TI>ee2&j3#-ga{b-@&El7^uoffD`W1cj;^lwKi*SzAx%3#R-`o<);{bqlm;drcT z-jS7)MSgX(UkwYc&&`)YLo!-}`)^>e86fqHM zeK03IMG-?x8>-3TP z)n<931OqnXQ?Ic~dB{{*>hLM>_l_^+;uZN2j-b`i)6blAATdnj8 z<>3gHl68;w4#6n2(r8tMUy&l(u$Lf$ECo8ZT%mnO7k6!QC}r>NY;+?=KU(#CPDNUS zrX=TmaeG&b5sCS8f3;gaol}(cA@1YF`0&oVHSzEA}0^DuvSj?RqSlm3VSTwX{RFq`w zeVqSn4<3*(1-|G7`xq66YFCZs9WQt@^zW*37whXoB8D{2Vn$Gd z4W%sB%NOFU*ZamN$DO*L>%RX&0m_P(zAywKv?3-m)EA$c9>)+7?4j+MEO{K%bNL1e z_J*EF4%oC5fTqx6mJrfWW2uJmwBe59%7)#edks>Zp&%*74CKqM%y>QT@rIF_T@CEq z4bt4;L~~J5Y{)#}3LIn8jWE2cJ9$ldx8M^Wp}yp0ViwlREWsANG{+`!qk?)N>vWc2UawtwF){f0u_!tzfqTTTk1#+o$R&`+x|*<}P&0D^AhgZAb)Au}) zpW=9K&V?->Wc+otF7>eNbmL5+Y=rIUy{k+ZBB!n>Baxc0PicqgA578u9@GaNlfP2n zx6(>qr395Ce8cjeXtYB3hV5UtZ2+@H_h8(EiV&E5m4p;b=ICwQnds!bpK5eP57c@b zsNy)pFEyTx$yB4w^4+|o5A&TVKR#EJdyCB|%Z5~?Df@01O+ufjeAI6y&?Vc(h>>*E!ulTSL z37*H$C0_Rn?ULWDUf7D{Tmq!zi=HJw<~Ffi z$}~;v$L1wHgi7payQ*p)wBS8WCRZ6n)X+q>K&tX^YnI3dwC7d?~I59sU!b~wX+PXGuyUw5&{HwclY3K z!QI{6-Q8j1?jGFT-60U%-GjS(dM8zNpFX#5SM_=N{N@+?d)Krz)|eKXls;1|Zj;P_ zW21>Onq&96r3{KMe?)4c`XJ5@wcmrU$5Ff;~ z+l0y3HkC`6zwf3}b4sN-w=+zHOWv-07(&+NG&$Ths90KIM!b z)-Jj|ac=rtVpa9jRMe&sNPk?YMduKyK30Nc$!=GP>d!0Ip^dfHQXAj)9_|+PN;+!G z??Cy$hC{9jt_4kXctJl@!~G$V*^0eAB9A%mEX|Lw9iq5I zN#hIF7&&U&B_r2k_Eh*?K>7_#^Lv2HLF)D^m@YJ;jY;h)fmH%A5k@Ne`)8b&A=fk$Gr>ObvSH5z^xw5iw0e4wEL?q^EkSp85lNEMv6V zs=&8<^deOOV(^xs6M8U?_oGupu{&Jct?*>`o2Y?oY7rX!ukTn9HuZPQ;m?o*y1@EL zJmKNVKypVit+NR!1HH)u2ge0?5%~?0`FT+Js@;)cDRp&8J+ zQMH0=&ixnNAc3UpboYPc?rj>yGF3O(y@ixHcYNrw4E2SccRtiTI4E!7ohH2@C4 z2BXv98@=bmh2kI_G%v$TfA#kZ#(m<^XP&$0dE#=~@g(Oa(;g!+h` zM4B8kq*3J$m<_JUFlnLdtmJyZU>GRGgp<9e#?H2QQKR_Qz@DNKubq}0HGtN%uCmTCL45`&W+_+i z&^}7k_rEGFkf-e~I>W52IIM;RhCY}EZZ67LfLomJ{5Q6-?(%!j5u6R@NF);a^WsNTLQK{~S z`0WC*=GVgf)U?xdlq@dli&9w$eoHpga2T5+mFerg%u+Nw6zY6UostG(NMU-?y!@}w z@z%KuxlR6d2rDWV@Zb#8pwY5&7xdf2tDMo2R|TwyV&UN{#Cli!%OTi@bS@*EI++Xg z?j1Zz*_nvQaD_!h4Siuo9{K%=gVB!y(+9rht5I30>FG0=dZ4hSh`sMwcDst>PCByG zO4M(Nb`vu>f^fR1!zdKUW{a-^ZBG&mCQ%N3+G2^n^vFScih*f_7QV{nNP$C91g~J1A=RjX;GxCA%5IjP+vv&C z?-2{>k=|L$s-8q=d?hOaL?OI!c5`)G`nCkwg5*VrnV%!dOyR$EU8vqA zAGLicGnpM9O@9IDC0I}z$5AY-v(rkKdjxY^=w3G9F4M85-%$k{JNHa>w(C9%ccUrV zQMTWERQ(27ySg0-an8-XQ06U~^R49W;rERY78z0q5payJ_qQ?VpUX&52_t*!e+fXq zq2e!{u-6K)RD|3!LPr=lL1Yp(SK+7JT-|c;oK3s*&t{f9#9Av|1x3F8z$LLHXM^OR z1Kgu0qaN3LHNUG!P_L5|(_9jPl`kS93xQ!tuo^=wd=Bs?^t`098S5cmxW~vMbT>cV zJMwh|8ppbP4`&O1!KWpR=9#n|X{Y~jIhwv(;=+)1?GJdNhQm`xvePM5McCoPoi-Fz z_^Xy5OzQhx%m0x3RmQ1e)Dwx?ayGES zUHgz+2BlcP&Rl#_IPXKGO0f$`JuTQDJ4w+v2)4+9739+YXEFajye<9HzRE(OHi58J z@xsq$N%WSn_UwyK zQqRZM0)%GviHznnfKjL?=tA%4HTz7dx)?fi7FZlL8T!i+USO2Xa{!2?Hw`baj6)Rs zQPTS6ON^Yj#JA~1HSYk`dxamqf|NHRPhJv>-Cvj?4%uc9Tn}NJokKYU;oqF5K}$#I z-DI;M=Zox5o(q+%wegrFCzs%qNtDF70`{SU%f#Jg08^GMLuv5_J?2PDmh-Ar3mJf( z$r*;i1+jnyXn~cb9RπZH+-+6p#Y@Ul>j5J|TvYNTU_(v{Qik@}p% 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%0D<>@zgei&rhYhM_Z1MIQvzl;n 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≻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%0AFNa~Wtk>;hCxdoZ2#c^1TvT6 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 literal 0 HcmV?d00001 diff --git a/thirdparty/IcePDF 6.2.2/batik-util-1.6.jar b/thirdparty/IcePDF 6.2.2/batik-util-1.6.jar new file mode 100755 index 0000000000000000000000000000000000000000..7550b4802ed080fddf1118e6d66506a70909ea12 GIT binary patch literal 81508 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 CNhK8k literal 0 HcmV?d00001 diff --git a/thirdparty/IcePDF 6.2.2/batik-xml-1.6.jar b/thirdparty/IcePDF 6.2.2/batik-xml-1.6.jar new file mode 100755 index 0000000000000000000000000000000000000000..1b915a05038a8dc992fb0f012d9081be2d9dbd0f GIT binary patch literal 20305 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�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⁢6CCWvKE|EdC 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 My3mwlZ#;OC(GAP&>UgM@P-X`ij(@uy3bY zk2KIYx+U?!OV@6l8TYM;ffiX0ch~f!xgpDV#MJrymt(u}0*y9@(&2zGa*GZcJoky< zJJYW=sOuGgEqATrLA8ZOoNjPFW@L%ELhw{Ji`O|S#qPRx+L{e;2}oIYa?2`KMITZ z2XW!NTPp}bg$3E$S)wEyQTX6^uPs}H{a}SW8DoU#iy1KnFb|9L=V(BY;@6=z5EK$S z0TZEi*y832b2M|FnT})kL>BJrhc;7lys`5e@J$)iQb^LE&?YC_q>_cUqJBK(F*4b6 zbRhWdzc{vf9o`WQ*Wq}cW9~6V@V#LWEeS<6MrH`fntKe&{D*Ti3E-YIa=&YkQXqbY z+>3LpOeF5YzB_$42YmR8Vh^A73r@sco>mNG+Fl-iJM$rdzZUAN$(|INbM<4zZ~iUa z&QSXN{L?~Px(QrGhH5Gfw{YKFib!%zv5{!w4&$H1bCghcBLL*vH?FVy;y>?u=Krtz z{(l|$K}BCn6n;eS^#LtU9ZM^XrlyZl6=_8yI0_0R!e}%>FqlDw&kZZK2jBtQ`GxqU z=7}y6*iS!viH$CB`3`iV2-l5`$tlk_lS7woufNZLU%0N2(2J8l0_OG^;2%%|SgS$j z^V3e*6@t0e(bPMr4R9X?@*q`W``^q<=v(<%TT@)}<21!K5qDi?5<{~#3DHuOI5j|kOMkw%tGg_FM;!A*VxVh7blo+ z(-{vXyYXU9k-|LDsmaAq2(mW$^?AuGtR$zWlgvYK%y)9PJMO6u3`c!WcF8+F4}*!y zEa%&W@aZ_v#>|C1#hJ_=@ZgerT(|%@)1~OidCbeZd4e!4G+cJG5maoF#x$cq{~0RP zwFXN8?9-f4=T8Ui>Ofng*U!T8Pr^q>dXNdd*>nj%kYo^4d%|9T)-7YKvL&5n!(l-b z8vc=eaPG=)ZT=nK90%q|e(soH3t<}ZAo~=pfnUP;;=~iHKq~`y6Xwmm}wutv{(Dq48h8|1CA!D8*o}Z8>COcygF( zGrjyWH+zQrg@g?{%6ua3C{sJyq$jcgFeYLzJvXiTnNl-ZOU8lVgO)HV z-T-PwR?72bWuiq20+jen_b@>;i}ysU61OwcWv@fLeLU&W#k?;n4&%fx{?4mDUwtf) zHVXxtK@j~xiO2Y3gtIaJP%{HE?-1(?IXXEi^}5!*GF^sMPP&9v3b5Qvbcp@6T)d^d zF)(e?Ea9!<*gNp+E27QRgLpLSVQmtm5O**{WpP|DjK7K!olxAb=O+HfQ z{Vtg{Jxw2tT^}D19p&lcWx9xO1DZ;pvzpfG>|vk(g3DADaAv51zMUXw5cKz_|NrIN z{q5azLPZ-C1F-n!iodiE%Gi__i%nA`4!WWU=MoX8>6x3)d{guW0zp(OXYy%4x|JL< zNg9u<9tpoB&J{>1W0lnwI5;PspFC!VnU_;r*9;%jtdWhk#so7E!83JWP5V=aPhoAj z<2mA9Mf=aUb&y;642mhhPkmf_N>v+wKil^YOiQ98B_&@dDTsZH<$|3MRHSdr(?3lf z>;euujo3UHu^qw4)$$PfD7E|BiQQx<%22pxH9vVTZqmvOi4>R{?|&=axDRtEa6bFI z_jN#M(SL9IW6zr5u`@XqY#=rM0!?!G^(e(*B)QNJPS~t+gmhD1Nr8~MOV|R`nMq>> zth~$?XjbJ;tvW&~Ll6QqG3j~SyMS)R3QGL0a{J!)1`XdVKO|CO7}fYeO=G$KU4M&c^RwB<#AahE za4T2Z*?+fsu{1>BgpL>f60dIJ;UCRAlyU!6F@gpB8vX-LArrH!`~mmzfZycHl_04P(mtz zEQ&O+)hIVBP}dAa<$k*;YI3b}jpC_-l)Tw;ilQ;Qkzo6JTZM+!6G+&NNQR)KSV$1! zVR!g=$oLod4}p<1D0C3VPZT<-QaxjOvT3So|DmZPK0l5f(=7SkG_S->ngPVJS$jFE zGp=j0(3wD^Z=UCT9IQnv=IZz>HFi1z38^{8&sI+-`9ggXmT%|zX=!&ob?`9JSR5-l z(GTS~qhE_PeZV{yKM+K-DZDNg1}{wGl#0W{3wXx0AKaTcH|fGN4>U}fC=YI z?B5c(2&^-|Lqc4@p=T-X2v6Af|LUZvHMocW;VCuwM{832qeFun^AGm#Uqwu`QjaZY zq1|VV)a3-nJR?XscUu`o9>?gQ*FRrc(eVQryd|u1OiTlFHC~NL4V5?YPd$`yN&BA# zNJbRs$W&p;4-=LT=N%jk0=~Y#A#(v0VYqNy1rON<&)+fKZ@wY8V%>c0RYBy&=9R&z?9ndc0JSlwO+rMYtdJQ{jNqmiqeWQ!SI1*f`lx?GnG@SIknGEs?!H=Zc1gUP-Bl zUP(QTren0sx|-UM_Sl(&&}ulp>i6(t>MPcHg_oa$%|R$G z9%|~=)ZX7{1f`|BL?Ul-{2#b&XCs~IX2^*cdGl1li3>DKW3P{hNzm$|)*4PZ3NuQc zoCBoo?4mm53;2Z#n1p}By2g-~K9EyB4!U)`#@?v03@t*M2hjlmz1V9@g)NbbKps7Ph)j|cH(7P7Gc zq*_aCa(7O2f&dDVLg-4=q=gs+#A@a4tK7JI)Ys~#Y|2~Dhy)%G;V9t|Ai~?(Dat6T z65c{VVrvVtL8r;_^t#`B`)gQ&s2C!v<+d!e{I}i;H7r;$cTHDpB3(bf6HlM}zx3XE z2{WPT=Cx;>GA^SCbyJNgF7I8o@@;on{n*? zyy)g`ZD)+YC68EGjy-Ove#2+s%o3fOTQ$Hn-(;TpVn#iJ5KEKwD^}~*uOr_^uFRdX zgB!85=7P4Q-|6F*W2;U&;4>G!qmClWv=%ttzYfTRlK}&N-?kG=U*buzFc`4w&Y%Ty zQM@B6Eu7QNwq}VzYSc^mo5T;?54U6E7m@AP;o;MeJ8H5y08A2l*T`X7P4dIkLS!W# zz^U&zB?RmvY|C9wlq~A88ESL8~`Pb9JT~jOKujqF#tW5DerIsV2nL$K-IpdKG1=rho#X_yX@y1&2bA^r+Q|LV$hc|Hgf!hDtqe6? zcolrgSTi6=T$#KS0IYPb-Zl7}Nvo4Ok#lk*{pyB~p{4Z~)ii^2Jq`vay+V6w z&L)7V(W&8wv~Atk-eX`}HD*sb3?$8jjkv{}_%qlTc_c)eo^c)LcT}bp8M2KQz<_#J ze3iF^rt%bdy0$pq8kEAyqFmp`j=M|A$gXivhID^1tz8rLUh@&}5DJ7`bm9W6?uA>W zFs>A|v7FMr&=AZ?fIp^wh`Hh*5q78vxG^u;URYF#N#n4)_+SIGd6U|p6LWUz4EY`e z_Bpd&5^@4^3UVGffnWX7FS5JXOU}W4A5JuSMVu7%x0q>VCrWi48ZTBIuOc?@A-!5T*6)n+RKpYybw=N5^MbM)|`ya}Dy zwoojI4G-0Bm>xL6(xW`^Gv^8VJ&a1-!p5oE?iej5h7E|>uRpYtI(O8+lh9(-p=%Yr zg4_V=i;NvGY&5jTs=%fT*l1F}+F35TE1*7l|4tI6CL;X!{j^T#{!-sBIc3v9REDfv zcrXm+2U0Ya+RVqC2+#R)b75eFX;j&AXalwD4mvuNz5IX@(Fro@u3FtyMp|?QXBYq- z$jLA-h3>^zl>e~?)~jARFdJccPtHkw;ag{hE+#pS`DcUNeY5bm`@1_ z7REDP@d`y2f}#gKt2aM@9}6Zw3^rbQI<^HJ?sFB=F+4^T2l(g1kY*~y!6)#4UueQg1x4+<72=Z@ ziWcB}>D#s@aJzlFGYiWRl*3R0(i0*@?Z=ZDBNAy4bZ@4a65}IoC-I`|Pkw{9J$5J$tI`^ZtV*?z$IT|vh&Lof8%(yUe3c~fMnMytr<$GCQGfvw8GV*w0 z#*DmDRKkv%k3BKA7zQ777}RTJ59eZjVi|VU$F-f|TDsXc z;4hduDf3#0IqfnLC8=(Q$?|}&EZC_?WEo`WGHpK?gsQ3u>iY16s(}ojX5+QvrsXPw z6-ic#pJ8r&HjI;_*#cSQeeWVXx@A7rcrXcOMQ1GCHg%KULHi#0Os+UlVK#2go(qba zK5LIRJkXN!a!toNPb}iAXpa#x238_wHw;G{q@{P)_kEDinVP?`-NvE_xp2y~XuFiP zyv40ZnR zwj)hEYdQQ(-hJ}@fKgy_>jC$Ka5WVFVamp=GhI^ov6d(cym?DMFR(qkS+SyYl z9C>!ULQV6Ad8N`8*PjjxrMMbF?{S@krjc<&%e;zvMEM|mf8ONSG*DGAeddr)K>*og zOxNMf`OaVIxEk8cDwq+E({t05>0%HrFCD~W>(Ri3Z8wIM;-E6f!@Qa7AOp!HVcY?N z^kKJ{M2%u4Ui(LJ0#9z#BB<$zHlRCBh~n;|-3__UkjEBI+T)vlS!uhRi=6qplW6D| z*07RSH+vR`J!_{1Pp}DI@)*o6~e_S`qlgjIu?r*2j7+IiJN*igB z79OL04>j`m<%ebA;RAZB;vT}=7y~mkWW3rn28JqWZ7FdC6t%H8QMU}W=T%Vz$5kz^TOILm zd4NMDRa$A>Pynym6;YRZ?hXxv+m&dXjgTvvXYmBSD#*EeVQf zlJkJwp{`u!U&jfGm&27r?P9y*s#ClPPszyIJxZ0>>qjeO?R>#CMA z53o0gKjk2n9X)^xR0!7K2O1Q39ks?J#zqmb{IERg4WlPj3BYmwo@o*%Y^mbV_Hpq8P>R8)#Q5uhwvU9}c zP|L{E7&LF&V44jvJG+)C6Xhhpu$i5oLf^O-iyI^c! zEl)6r85`hg>wPlMI%jonHV-w8mvjFT%FC9mn-&$N&5UErI%=LULtCIGo*Ctejn8Z= zgQe9aB{PSj)wF%{ZbadxxZWmXn1#z!7r1Itm?Nhny&F=q2Qws8=!*ZPQlNAr3Qd91 zSxm*me~6*Vz|YWGxn#+ZC!{4YhT>QccTK$O3c1QV?cnyl=DxACG>hT7W5eN0!Fr4~ zNk9z-b94L-eoe^%vyZx5F)tq>BSN0Y7+h`sb74M)K^;&2E&>7Q|BBMV(yQn)MMk|y zB3|X`U;xC1@ZEM@z-E9ualaFUk9&D8Aqx!Tm28+4ksc*hf2Hup;-K8>PfR>i^lvMP z4#)3AFaSw&jG_c`6)kE=bWIYP@DCQ(={5{);08ftCtNJgaJ8GPv&~#km zp|Q2Er}@9lM|}A+WH;OnG@{$U7LQ>S;UAAHM$OQ^ubHDe+faH(Es#`tLyT@CCxF>L z8jv{$X;Qx8J3(lnuso!zYmsSL32!l`_MM94?viw3^tR7R4=N4vSf1k>}s;EVqa67aR<0WAE8Kh`A7cJd7Lu6?o=u+v-s407^Hu zGs!t!Flrt6Pv>CNx}VOo()GgWW-Twu7bWJy>in;8d75F;2#-$gXs%oF)U(P>IgQ#( zDTPD;$btySRS8B+Vnxv+i^(zVsE$dE2xP=chH8)nS~^5gz0VFP0Gf~w;*E4Ti+5pl zZfVwYb-J+82{2u_Y-qxhxm5}?(Zku2it@i`nmG5kGz6A(*f+nhYFM) z-(NIseJ04*F0BmdfrbLTw()WNeKX+ku3P6cM9fi zT1ZO07Rzo+PvXzX1Uz1hY1_#zgTpk@01=H+R;Y29_(@ups3V2UU6g*o;mM z-@}ohsr>$K>e}}G4qpx6?eL>s~|kZHs!Q5-tM7Kj(aG--Ar zL8={^6!~iXp2!^G%b#~mKgw;W148pc z!D&WxZR%2;-jGDmnR(4s{n}xTdwcJ)Fum&|tk{{U#V?C0D#JbLJ`TDghxiGUdJhrK zjZ85DlaDm0h&6gd{GkmtHP!gTT|M^$kP>ANqt6JRwSCC6nJ~3Q%jCqs*OlsvBJQor zyyfW$`skpU8ifqLmKvr_j4+46-R^wV93HVr8?41f>7!L;;j9bI!!QW3s!PoaL=A!N zTUZ{l$A4fM7fiYh!9El=(FBj)!2ux&c5Fi+rm@+HCu^}l%o12T+n?Zot*LpCk1XT; zpRyi5i|`Q`UhNo!aJd`fxNgr_EJqKKI`0AGv*Wji3;=xYLc$CLsYr|?$nu+swZVif z+a>_*>y99PUNQq*z5RW3z}j_l5b#N`_uO4ZSU_)Y-$j0Nd%rYD*F8K@gA8sP9}u`c z{dqIh9x8i(UoISvn|w#UV{9Z8CBVHJ$8G0}Jc63Ypu_@J?_3sMzCfqT|X_X(gZK#Dk+rv5|l*knbX0W7Ad>T#cH)|xlE}{q~q%SP6R|foUd=q=831dlPca1eUBfc&- z=abqw2$rcUrr}!FSIO>u#9aU0vIP{Q4%c^W%S?FsKEx6t0A5*vHH2}qzuz|6HcI=X zYAP`K2)?oiI()t9I7H!g2~UmH#Ni5(J(sLV4L!htqSs~Wh{3~t1H5!JZEU|Xb!+V~ z4JoV81I<{oUb?9u4LPHy=yp5LpXp~hiC%C&QhI2;2Nf~@#U;U&_sgIRlm#b|{wWjw zy-viROYi@X3IC(P*r^fjhr59MwwTf}>FLDf5C99|B%WfO^x-2)sNxz^-3jViT|sMH zby0MESqF`J1*yD+#n?(_vm#}%Fhg#U1X#E#3A6-5^(IHB_V$!HPlMKJSW~_6(}KWz zSBu?d3n)cSjL&u5u;HzuZ3#rFH7LKKBE-MbW& zXc$eIWggbmii{Lj!AQy!>aXY{t`%*T)DFI}v{d0i<)~{cMxsB51Jjc*O3Lt*cH>pE z^l+4k!7^^=9O#N^)JI88HYL|3XDQ1h=u`}Nr0VSj=aO4fRA1D{$}_;!8K6Vvjg`ZZ z^<&U^b2(0o%E`WdGH~NHP0MhxXGc?Wan0CDHP2Is#ZpRMx6BPcN0PaP(U>zPH6c@8 zY&9t#t+eT-zES1IV)Jr0s#Kg$@M!=jW5)56N%n6C1Hv>j2*%ciE#$vw@h;nBjIQUVkiL}%uu_;a_*HJ~^=Y5c(XcqU zB*tVqx{*a!a1^QX2}gKec(|EbK36ErMC{M_ zE7H5%^mLRGbLBwzi#0+&W3IQm+%^+SyhLZs%8WJuf#^jdB|HxEthC(tY+7f7=xo=w znd^;5Y$QUV(h`JcY|fD<{lGR#b3HCG4=8aLo)_fF2PHc@|#4|130-N(LHreG$U^X_zv45Cz zeOG*gNO**H!Bi7X41*Qbq1+`##*Azg1%a9QL7G&r#9+kSqRt@ga8bp6Q)F#X9r9gA zWR0+8X)kQrDx;HDOm*{V=Vfo`{*%&iYALV$oC7OD+NDVIvH?uT#R!}PI(^!M7n9DK zwCqT#8IC6mne#|Bi9kW3>v3h%vxhx83(XUOf$=RLeI=1C(>e{t+3rmV={%v#sJ*vx3ymxEDJdLa$S26{=Ds=nNx zjpz)S+w2tw5kjo6T$y#oYQZw1+;-xk;Ge!l+4g^7rzwC6iCU1nx+BM4`#Rc+BZaNe zlTe3GrN=pL9~tHH6c%ObtvV>~9c9u|Er`{^v_5GM)dxiRbqxWMj|%w1>kt_$gEid4 z2O`g59G=_3Tc^b^K?gr*%2-(33UzaQrCRt>)A$d#pZi`E}`MtdgWow5pysSe6g?NRZ zASV{*aPL{!e|7rD!1=m?y$(h7AsEr%gnep!VR`Zwi0rY4oXYA=3?4$g<3#3fFJKAG z$>|+|KwlDeQ?(}Db75tFR@gQE9GzP7I)p!~_7n$u+yrKU&VLlAg+D7z%!i#eq<^BA zYtzRR>ROEtwMuh3YDkJVy#1Y3kIKGX2l(RP-`JOYmk4%@qcN)hTL`Q!Oob_=acB_H z`WYwcw~dxPimJZbXR>R*JI+}-fJet{^TWyYlke`UwjksWlLm`dbIQn>T7hYyxf13l z5y&aTm*)@f?%te{W%d}KoSSbaTr7-v<~YSfa1`c#)#Q+Tnz$kngn;U>D9IB1K4}`8 z!t#RX*6_oPMO(jVh5Ld|UeQ&B+=8HbSoXjZ5{u?EQ|yn$ z9gnl(cUC>%=z%SM3y#F`gn3ZvAh^Wp3|op{BRBDo6y6z7MIYkkwJ%)O#nINu)OAyi90dDRz-F?iOC zVZ*fiyE9jXiV~9Oxhevf1&fHgtz)ODwUde6U-lIgftZ=Wta_3pb0=~na;JW%adT}* zUB0ujz$UHV?^?p|0+^>m|GN0TcigXsf~cdO{!x+ppLe>KeL z1Q~_3KP3LJ0QsoQD|$KoAcW5oOzjUgtk|aKgUEgBUJQ5hP$3C43tdqQW@SM?Dd5CF z-5M!sqY&l+U2L!3%R(UqGg+XNm)Wcm90WHWKp+_o*39s8D}!*V-$?larK<;nw8+m; z5|jfO`h?mE0au>$Kt(ByF`IXwLjeCfHB@5yiApUe=Z@!-9rMwP@C;s+M4`xi-Pe8S z1F;>^r6@luW%c;%s*2rtB@0@3G&nT)G{{4EO}M7M64~~lT3ZeTi5KV~?t>g&j&_D* z*V4PKP9!sh0|FPTWd)M^hL+;7x9>8_)e1#ZTjv)ym&V-0ab6hN1_QltX%L?(Fm5y( z7$Y$;97{FRM2f;pI#`tkX;5L^Z48m^P7@u^nG#>O_;LnSZN`2NcRE`J&Y% z+DuzS?_%GW-r{IaETXeBd_z|7VLs&Y5clo!2%jKw4XO1rRlFcn^np95%MeP2qn68E zMOrheW<{A(sWVWGBk5}~ll1N$|K+6_{hX&ZId{ffeciNhIub_h*6D$sSB ziIL{^j~_Fp_@*`<>3?6}o^pIJ;Ux{*hqZ&=jfG#c&q310)#~SbBM>FUJ5<3J-u1kCIp){1XtX&+clA@*j@vDuIC}ozRQ%! zN80o*6NYn~rzBZ~Gut?D)iMj4b_$8gusj!1zjzwGI9zxJ9qfLmro8e<^?2y0GJYZ^ zrP)sifToYM6!H%cgJ4cU8waEhEP&I0rXUG7!KPYIVv1d3o;6Gxq$6?*+7CtxLNhV0 z6-L^yyky#cx+8t(K)IMI@IZgG>dk@jZtU*^_?1NPRbsqIa(L$I=lX)Zerae$j*IkO zg!7|VxKxbD$t%}g-=gz{6U1JU_;xCy*wgeuM|>Wt0dE|-Hda;Se8(2^fJlI2_GuF- zYJ0Ss^U#iZO`>>a$XldaH_21;)L@Sz_Ai8ub&W<1EvPrg_V3=@|BNog{d;NxLjXgdxPy-AERpkBhWBipn%@$Q=?w7KRcdyC71KS>p0!ENU2%w451kA*u^fG=!S@hoT>Np-jwf zM~*u`s|3M_l&(JTqK%GzmPC$Nm^|}s81VJ&^!uHpd%q~UVg45 zAKdNc_{)UBrhwko2fVL>(1@@qPb9**#!d4Yy29- zTto_T`JT2m3c~NEcFhZ0{0w%Cl!=#9h-0zq-%8vD=o9v*G z<(D@N+M#?7m0UuyDj1;^|8$NOBoBqWOD}AVq?O(|y?h`weEE6OK0+;!EpMo4z;?K6 zq%-xR^DE1Se%?Fyyddhv<#ew2x6eM}?{#|r!tEM~s1RL%3~Kg|2BrGv;P%I$|AjSe zQn670&G3Bbot=})I{>nR70@X?lqy07L86DOSb8XWvRB&2^bN-A^yk2B#H*I8bO!BR zl;0Pz%-OEi#Bc|Za-Q-|7fv}ZSwGj`o}TYB8|ZWN2h|5S!Gk zK(tTznk!ZJ9NH#C8zjC4L(2lLXVNXhNU3_AY9TZAwU3eOaoIvXY_yNWcEUf}V|+Aj z+BB%!RF9}_%UY{;V9YEt8vYp7ePPrNS*=~lq}^6GDA9%C|3T;GeUZPzWc=W-Erh~Mq^s(=L~?|g>hUF%3Odaqt4`o@p1R4zwh?I z4P1?KYAJ3xv)s_uhx<#@FMh?iQS*BZ5ZN_ls_YR{Z1I_wrm@CLPW zepRp^w~up`coW?)S}9vfK6<(svm{MZ)e_6Lo+)37Qm!pXd0;FIQ87=@L9{uwtkgtDzTV-=~^S@ zn`=MzAwBF&U+L?NYy6SZ_1ty&`v*vJsQOZyz|R+Y7&Md)BS&XF#^uU|lr_U+RAVuvIgQMmX-(&im!$dasftxzzSiYEU>Z{mL69NfiF~0IkKDpHAg-Dj=JN(%pwOLxwC`+pVdY-!gj_21e zi?xpjakKfybht%nPW}?y4N*^SKnIY0{aY>o_xfDOt>2pO~k@rp%&2LllzPB7LQ7; zAp^LvwXGxla?P|K$|!;A7;6bLLFyCHkrhl4XD3|Wj#pM6EW(kWIKVK+5!k-#O1fGfK2=)y z+VW*ZR9+U=w$qq4_&&~*t@u9p@s8`0z=rzE2u?dd$qRUeEv*qjPkK4 zu!AYff%CfB(um}Y$Z1K8ROoej{cObSVat@e*u>T74!|(8h-KPcPvj|-8KQiZApL#} zWNk5P)H>aMc;YruUhRGa6qjhtGOmCQ{cGaeMf^Jju|vx}O5VYv5i~-UK?b^}rG`C)<%4$SD~U zxHYnlLrpbv+?+NK7tcpa&1#^tQrs?*eib2Np>N})GqcVea;+QQrwev%ZjYn;p7)5s zOo2NJ`5eJXnsX%6<49p^HschK=w|Cx$2uavvY7vK?7L@`(d5n#=U9s8)5GpVz3xVf zbG*!YhMj!R7;DY;GP0?fynN(Zb{h?n`Rl&UQScmNABU^2>(ue{vGLWzrSk0=H%}a= z+|C38DOMbZ{!=a%Uz%FKYu*>X2){k_XJp>GfP@0YKE(u4?ppJs)Ck5khj$Q@xmJg5y3NLHdCiSoaqW57B{X<@ zB~GwGZiKl>YXsONHlo_3-g8`^jA|Lt3~w20MY)V~fY_wkWA2a{q+Tc5vs@pEa~snP zdK}gK_IQ2wn>l6g6EnshX)OQnzKAS8tw@iAapP`M6t{N=7!=dMK0Udc#t>t$i6m8Z(1^=|CD6dSMh+DOGyxfOqQRnr<*mAf$6D7)x($i3xznFu;R zY$Xk^-^yN?-F!&AWPZ*I+Iz|m0;$uI3nbXn*zthyaM!|F299=QdO?J+_Rsg9JNGLn zp`H+}%LG)4d~N!N&p8rd!8@=HN{1NBKSM`81EY~ME=SU!%-`0dJmL=9Sq`a9pbt=@ ztvG>4+VJ5du_$>Vrb4aI5bN8(9y_zE)Ut~&c=({6&YZMz@`D82lP)5B6BAG`EcgL0jtQx{4h18~;h2BWgSHi-e zu^A8|#MI=@=4aq~EVDrb6yUW$;)rhJsN9JS*!hVj<3#6FvU(~(YouW_v6OQMMPARn zl4g0kv zH0J3NoIs&Wib^Z=krS|>fTDA^u{*rYM_cfHBxPnz7BqH{a#B`Zpl#gAsJD3C&01RG zrBltS$B_0QN{&1*USYD7sXR7{Dc&m_lG{ovD4S5btamxj^DnBbs_Yt9Zt4C-ekH1` z4~TTbAhe^&8KCQvn-ez4)MQvp>jA;!rB# zEx)yVf-Tahte#AT(1ZnZ*+u&@14DX>?aLtjp~5Y8UdH6-xB^Tbhy*QS z{at;)>qS&;EqKXU>#UePae;m8j9*&?UZf@PsNF`&FJqM2kr(jiLKwK~?3Mud@WBtn z1oHP6LZSc5{pG)QQ~tB^`_I0iCcqnQ0sH-j@d#-mz#lxnjPfH_g7w#rb(VsxL1EgC zLc+q((iE8^^{wf;uBQHXjiG!tRh>esA5s$AIcTAG;K&oUTXy54ZymMVj=AI$P6bJHGx2RUi4j+M-h4yFT1CJ2y82 z(BPXve1yETpHZ7boLNv{U?^G5d2B7)kfD#kU_sx^bhb2gQg}lKKwP^LF4oyC*)5@A zA|V6?Og^FTYZ(`#_1K~T7M57*9=a4tZnSf2X;ld-w8vBc!A1&8>x3&9n2$=iB$JbJIffy=cUsr-NtDU z0={g*(8_0?)LEdjrbf`s${N)ehQE##-%0Zk~`Bs;`_F;X4cJo#Q2 z01cTAwLx;w0?MMKCQY86aA1%)z!o5fvM8m=&_iMn7!-}dF4ZdAYYIq}ajzDXYgc=c zP`iyY^Xj(4+@^EJJfG7C&nUN=(*6FO7S+T9Awst`yp9NpL?e$R-jgD}arYpXPlL~K zn!kYH}tMO%BXvk_}Q5HMOj;8yDA-k6K;T)4H3kKTO0SpePkzSyp4 zN1t;-*4o(vIRz~C>+is|73l&a@1ks3xU@P z|H4%~4x4yWGW+7QiTm}*281IB0mEBXPOYPMMg^}vr^)1i@u%Cj`plZ5tA+$|i1hK4 z@7O<}e%c(^zbVXqJ@t;p&(KJx99G?40YtC(eNLn^dSJh{37(fS2tr?~S zp`Az5ib4c20Zn6{Cn*FUfv(eS4~U_RL)w7|>@g0bZbgznryXF@?obv&x82#Pz|tGL;syy)dWLADpY`LS zxr3xAmv-49mRNKGIjENX*H#8I(N(wUXdl!e*6c$APOtPJY}^TX?%tTsdcv8Xu82Yq zS-gXG3g8Hho;dp`{tUUPLKMc9gQrH!hs=zf8J#J%lcF|SCBzZs$BqV;OwI-ZnSa>} z^l=#9?Tx{K@CxyFt3jZbVn zyk(_7IZI%E5veXC9Cev*J7#Z*>6L8YarYCuA01GR30Kk{3KD0-L1}hb6lv&(;nQi7 zBJz;iZ02qf2Wo3PT-a`+Aqcd>A4VMMPUNwdpQ7u#-f6u-wIf}M$_7rqOVIda*MdH^ zKLnn@pSr8dUa`m@1!D+w$-#(>j9XoG?HDTlZo`m@dcKZ5JkQG=9sxMRDMfL3J@f6_ zyp`%v@94u=H_q9?N#M*;vj=;5R($7+agut*=on1Vmk5DqqEWv2Sv$6sL0%HxzX|^i&XtVR5>9a*6WxM>vl54Dx9n#Zzv&6li-DI;0^x$%Sw;0%9mn$c$b0 zh>-On5#JLu->rD(S}KE^S5n)8i%agMfvZrd;rZ8VI7p8O&xvY4R9tv#TqY*cOSlwm zc@sBN-d#?2J;1zUf?_Yf@q3}GkPQHyASOJ*w_bqrtJ2hvs0ZG=QA=&Wf|7I+TRRH) z5?lapN9g_NDUkgEMHb6l>TP`^%m8my?1X*Zg6>k;+(O!6+)_E)z*Lutc@1ZQ zYQ8k?dbZI+=D8&1%Kt^#J4Q#=uIs|x zVaK*Qww;b`+p5@3haKBi$F|+EZQHi-)q2-n-#Gj1v)*;i7*#*($DFgCYu>o<5vO-g zN4{H@OO!kS%P4w;0xs7av4QdHarUoeHW-4_?=0XIEdam&zB*<5`)d}lF>-LX1M>P+ z4Xm62|Ggwt)lk9_L;O(vR)H8^^L16h%5d2}M3!D3#Y!NjZ5PE zNH*?-LgHqenj%2{o64{j{!JP|oKK8oQ@t-g6QhcJKRYvz9>MJTkF-A@@8_;xbe^UW z`lHGCCM1es#12T^dSeR&pzgN|1ax2AjK9hRjl_HRvShrnOxJ1{6o#~AursmfPP5L| zXT&f#QPlDqu92$PmlqXUy!#_Ga~2eXG^JOh>jQ zCpob)t*J{%FEO)!kkWx<$Q;@6!%G;KqHKovxMeCg9-C_azF~>nPp(TiJk|3Y6&Hfa zaXJnBv{cLr4(mgxxjX?}Tv;#cL`6pNU6aJ1#C_drtHcvcn{RCkga~Fz7x_dtCwF+Y zQi(X6R-F%2HXDpgHuDb1d*ufY5%i}6Ye(vk*2LYH>aPGxm-0c!JXdPA{m6HeIa_&P zF(QCvJJL+FTM88N*bX<75tHn;M&K}Q{8PfmW!z4kWBHZ-JD8r)*^LQ?pz{&PS~*aI))!^xVbd+V?M>zB*-; zQah-)a;wnFrdQOWAw;U2&~m0)mn+7VLHi@f)MTNBv*I9ncb)iAFM3q<@%Ad4{MZtI zqc|;DbVMBWTvW&IaWWaO6T{8A!_iVU5u)e5_&ag@*Ya>B1TP`lr^3u^H# zP;iW^96ty*G#2Li99@BgoUgp#O_&?L<=@8;gY~*eVJSiwGX}H$RAH%`Ly*8}F;(oa z5KzIcV&EbeBbcRGw&=*P3NZ^o<*ylgwZCM#VQ0IJ!S;H7S#P&*gO!5S{Nj4W;ftRS z;)YQ7_0Eu!Up0%tvnLyJYEX4!5SZ9tkb@-QIdbJr{Nlb4J&Ds&h}V_U-I#zD?OGhl6rfVV^ zt{y$mSc4pCON=LDC3IGY!zfH+0x6aCtI&+)ff`z5FWjwDCHI~GQcM@ zDpeyhq*IuyGyIY}MLMQT+7NQmTU2aD>v&X1)^7vURDj+iK2BG4qrV9`?w&=5l3q`I zsh=I6=4^Yyu%S7GKA!jCyV}oUBZM1xHXQ^e5B+@|PniP%<*})wlfFM3%UO;o;}P5f zq?Z8a5ds^kf$cPsmOa|y(bKG(0MyZsB#4u%up4*DeGjN>@`-E2)qXX6tNsz^Zl8Z( zzvLg0(|n*}&zeX;QIMvbo!avbyz(`pJS$e=#%-5<|0aW@+}3cGj*m)z0Sku7ZxC2y zaS1WLzSDKXU4N~jPE1i6LV$q&57__rkpKU9sSb|+y3|adHwI9+{Q&_28gHJ%zM?)= zPc;sX%`g8=o%AboQu-QA?t%eRmp&8oM8=nE)ytPXge$czO*YEfB(GC{zL9-iWGdNlp(RkB9rSF}}}_dv>5F#)>b**M``mIA4B}*0`Ibdf(O|$uP&$=aJ`oq1K$b zA0R6;VFoEQR+No-fy`+Z7&L`|9;`shVTP}0qcaf^Us`Ci6l>jOx&m2O$7tyy?u($M zaT=`)zGoZg7`+{R;}Ba_5Xz+Ab9iJy2Jdjxc;?O|gQcE4NUfmcl;bwwkY=0 zWzNvSm=cHm8PS$(##g`@Ra@x}Y15m?GHozjod8=B8S}bFVy_)foOM|!V~=|^;Oq}& zwyxZm5MV<_WsmD{HuKBP(8Nh>o~AH8$k!w}T_xhaZ|tP7uvUm>W*+Y5@I*nCs>+lZ z``PX^)p*+OCJC^TaEm2Xhh~#KG9xpqD_5T8E<{@#)?2G7XdiLWH*};eX$l#X`|*8# zqJos-SXX4U#P)IU;?5b4WF~F=j#Wnm^Xu-QFI6bYBb0g|4tqxk(TCY$;N9Asx{7$H zQg(1h=6*r_WTAkLG&WC>8Lmx8TUvLW&C7tkW){u%gRlxp1D^juY8GvB>I&Z(eG%^s zcKG*uRZgy0%((-NuWC;dl+NbDl*R6DFlRpDkB_EN$DCp^zCYpf61idXi9$+7MV2{)6!1ISej6)I2l{kQHtR<_qv($)vK$4*CRV9}=7_93EkXe3Mp0z!2?c;lx0 zNug}FIs;UkaA@oc?~@Sc5TqkRWJ`z(CLdi}B5!n) zBX9IeBKkiugfv}iAiDA^vBj`4zwPJU6di0ql-x~8sl$0uGG0VE2wCEp^%-RxO*&cF zBl)6IcZc;85WYe_1sffVq?`s67c`Xkg*tN!PJk|4ogwab5rN#fZ9Oji9zwtFR|0#S zZqgR~2pwFm-09<4NZzRER>pi?pXYq)lz!GUX^>7$K^moIGaFGx@J z^ok7xLi+c=g>XN;fX^Y-EYc}Nt`6}^bJt(_1kV^1}$}*%A+3E z^BD$=9wf(JXyoPjo?VwZK^T|QMChjQfa$;*OZ*!ZUGJWAGy{CP>ry{n8=PFtYq#sM zxzTeW8&056VZKMJ-zez??Nj&ZJakdtP|Q4ncG|MUe)g=Co~3uoj-pLEStYwLtoP5N`iD@@%+()mWqB7D(XP`K zVEkcs<4F?4S=c}4v2lYA!Y*W$L)1b*kS-en|Mlpuf}97_F~&n@c1kIhFta-G%UT(3 z{hlUkLC1s4I$@n9v0INxZLiVvBIVw98U_S+mDqSSYwQx3e+pG?pgKrh#*?j?a<<;jn*#i%zS1u0zg7xxj$f1^d ziv%-f_LJ9If&ycCWas&>P?V^YT$q*2Yx-`P+i*ebSR00zCYT1z{a0+g)L~JyXdZzKwq@~_Qc^$5KJBVseF?&_D0^h zU;8+DxJ4fyS}L##6Z`!8x+0oiv==aD*-RxO8AftpDW0taDkR;D*vbOC^DD@n^5rTv zXz{A%j(5%uD%{~gJ&YV1;wlui1^;D<_q@AJ{iHj1NJ>GTF>q2jzoy)91*1&Ss<=6r zUZve%2JO;7B+QvItHg~!uHd^fx?XWg?;#bFLn7?LQIbg}(K|%PobgQ)=eyiooyUb? zfQzh9H{?-|^POOUyU2!#bd2|H2Cqb`i|n6poH&Fu1YkCb@t)C8oRfH)WC}d?yfPfH zO!poP*W2?D*Z@NZktT?Qj;tZ(_Q7%sZR=VkaBEZiv)y0v3f;lc`2(qWcg73$_V9~+ zWYi9^%`Amd^8xXLt^qrreMBZfw;>NNQ|YiX(C&Xq9BTu6RzJC?Aa zeh+^u#n<3@z>Xg^6FK;HyuP%B#%A6xh zp%nGEW;rQt^b&oLtxi09WZY?O;qd}k1#19@mv1o(KC=|vdw{dvN%PsWOx|`w%Y4Ha zfAbgvXclw%de_q65G>l*z;0N3uXa`c8JbcGG`dmD$3;|4dyTj0_dH{ihPqt_z7Xta0R>YXG2sv+G`%Q?)khfm|C(F0)WfW z?N95zp1{ul9ICd|C0~EZkRdzYl9#N0zb>oh@+mZ{;YXPpTSYgi28T+rw?@(x-g!Xb zI4K!rI|&RmyF_3DOG_s1Tyy%~0i6_=GCh@SNs6+)W`9Ch9o0lhimJVCe>&BMqP;-> zD%FO-Ang+h4Qn(K53VFHVlF$`bOzHS z4Eu&K_rc)ih3^IPjQD050Uc2-e6kh52aiE+Qt>Ukv`Z!d9&YjzcQx{#Xo=4}Ru9$h zu#et7dy&Ef%=eT9!I6Ky#Z)|Aoii)@5SA*5D?&&R<^F+hZjkfl)yAJ<`jf-e6nx3V z2TCZ~FOwFV!hMf&$3hZx;Suoa&C?cK!L#;>rEpDE+|b>K07{e_(43e>yQT;hJFP=(JG2dq%1&}2vW%x*`zieZzeI2nLsncUbt_& zam$jaRyec?>-J}+(F?Gq0D}MyZfTfFXl^hds$L3>=v`q8b#yBkb`NR;904{(tD{lW z+lr~L5@l!2g+A)bRQ9Xvzf&?`m5i4T#Ar#sm46FVuVzYS5JOq%(7b*0Os)$Hpq5)^ zE=-Tg;<|C4abBKIe~{O2O3_(x4U=mT7(0|p`X)l7#5zkAy3XggR;%k|(P(eXFxk{R z!Tlo#C$ThZ;z09*+^Qo7o_=AM{qEP{>W z1Mgq3kAvYWDGV^`#gmUI{V;wMX6Y8~vs&}N#d=A}p7tIg+~-gSUSL{JnSj0oH>%IS zEI$xz?d?r}eacFF7g}_m2t(gQ<$P+Tu|{O z>EraIEY~YZ8Gy@KNA(jNe$osKTV-wz+JiNG5)H8p6o-mcMI3Myw4!=aHdE8u@gQtO zGaI4`*{bxTxS-stDbPpbqnL_K?T5aYGD>oh+|kJ?)r=CuOW6O&5vs~)1t?h-(zZG^ zi?tiogRVcOWUD1aK?Vr!*maAW!i#c|YmobY(h6cogd1>QX@m_#)ez`#4(K}FV?O4= zaYwKrO|V~WVYdAddLxOAXxt@gkzko%&DsCtr+XoPz@})o0^RJsXS;I1!L%@BC8*dn z72L4hN`}AT?ldEwoTZ3~4_G=+ISkPs&B)<5V$mhP{m^rx+4*LS2U*oMaLqIukY&3A zRHHiylDTGA|`{BuR%e!7)k14M(! zZ+}-B(Ei_}!9T}CnQE^-C@Scmva?Pz2GHOJHT9BHx#lZe6>Z z#jiTqF@?s5*0**3e$`zMeg#o>^5TnWfKnHJ7vUrLME1Fnlb=lG)?CR)xOpCHIm~)} z-*CL-Jlsh2ynQc9{(84F`UM+AouDi7Ydxf05t!c9#P?x&v9Wj~ zjY(_JCM$B%6G}x$=LaBm%m6iTpf%f1(?fPn{C>GOK|?019zTD6%Qt1}krg+a!xQ_> zIFpK%=1OF$X}qd`loVU%q=w57PjrghWF_$fxe-gL$Bp6uTFiC49#7`bik(V&v_2j= zEv_eu?u)H7^rIvNC;4iOO^l)c?E-5v85a*15scdPE(M)BYC%WL%V(f zNA@WCD6L>sg4RTXs6-2iJXH#674JI+mZ+pz7G$J!1|r0D<3##SrBKfC;S%&Aw4Eo} zX;?zQcot2u*Uj!smuYRUpRwH_%2tNQ-> zRlZ&58Q1*Gd^Ukq1{2toY*H2;%SVgYCp+8z{)rV#ddB_+spd+qi>|KN?F@iKbID6{ z?1)+3yHH+hUQxg(yhkah%=$uux-o}hgdUB+S2l8)?I~WH5?P6K@`l(Yo-%Uj%aazJ zaP?sp5l1T4$rwaUL56@`i=gXzcslX>@lk%UOZ+flYWE9u(%OzDO=Wb04z5W$ zZgnZWh+!Ly)=aQILhFx=oF>W%mg@T<9q@c-QVRIk~JmwbZjU9~+4wTx{n?Ug?nRl3}rrej7fDK}wpY z6pEiF&QlwxVDhHgHDz)cUZUM)1LiZX(dEeruIiuf)~X3EZZQ>f76*On?0{%jz7F^{ z&reh7?)Na~yHF~gyVjaeD=2|z?pSPOcika$K$}yb>g`iMeQG=`UP2Y>V(s22f`I~e zo}Ytei_v4=;HS)b(q0$^Fx9mqw~w$eOop<;u>F}R7QfY2dZu3>e8uac2R`Z1;(FWW zNy(nMotNyw^3z^7_V%i04_&C0UA131tzD9oMhQf0G2suO8niK1_6Q~E%8$9x!EVG- z{hW~68wsmnL96cjLYOIi{M~wks_vNuE*>$gn_XHD; zq0wIcJ&Ld9DP52^3vexm{;9|i^oP0`gTB0%$1SU$?5ZZ`E#_)P3>g75u+X?|jS8kDZ-BWD%dH8_nw^Q&WJHhb);J33194?y+HpL4k4-9smM8#-(B)a%~st3}>H0dRwbo@`cC_-Ku$F z)y@?E@aBmj`q7Qo?~mp$+ioZj#y8zCnn6>BHz?hAXc+?=$^?vwScd~e{g5=Z&VirM zZ(D9(FYA6}u*7Dc!ZJc9G-H-`;TY-0z)IxaZcXXl@wPUf(<*ecWNK zEsUJwOu4-}hQx-mvp?Us6|qJ)u}kD%ahy8mA6}zF7H6<=DHiB(i%P)AzuGN=kHO6j z@J;OIb-rAT(%vT%w4)x~y1r_@bzY2OT-iwRlx%!)HoIAbdiVJ`q1R{1J2q(L3X0J9 zM8Bhm_wqK$_Euf6eTT5w@btRJ84(%$Lu(I&SEqjd;0qg}*2;;f1*ye5w*u#lUd*0) zguB<3*x`F#s9Qf{Qu*+B9;HLSNs66RuW85 z$);1+n5_kqSEit=M-`^{{vFnz-n==1f$%t=a+Ll?#k3v|AiDXk5Or9n#1AzjG|_RG zahdg+N&2{WdCB)B!jKu35mtl00(lh?QQmM>;;R7Q$MF1Af&tcr)XhY`n#BB#yUBSB zpB9U>rid*7Uc+gYj^S(OnYyX_Vs!;Yos-94wZk;1OfAKfN@IORR1Tp}6MWY14RwicD#`H74pg+51OUpp>H`$$phB@U!q>^=FpB zX%^0{oWqFYL|J%;{-~O38Jv(yrk3ztg{ow8zh{wOWxEnVjbq{65m`W=$V*Pcb z0ENqOO>%F}!sJ1)@qLk>2icSp?i1m7IRzY+TVumtJmn$SJ+^2)|D7=Po&ChRj9W;gl!j-U;s|WNn)pXV|BTijS7*(~M z7)1RYKKZ)MoPlaB-@>TzfdEIjO8Hystt@%Vji5GJ`fxwwb&Fno;Su*$d^By0xbC?3 z{l&AYOAptZ{svO=wspz7F0;Axg!E2dQIOt*Of-j(}8ZAZq)8LCE-F+H=2Y^d3)kbt;|Es`_B zGIJIi(3fVO{(-l%PHP)G(yC+AL?X?UocsqNMMQMGtNvS@2eB&@BhBD0a^+PK#3iuR zENZsqpq;fT;u;fAbz#2(N_J-syt^&bG~dmyyAHF!0t*4%hXHc2iZwjHmm%DxV^jg6 zzm@j023G>Ihyl!3!{+O*oTuU`WcdTy3){S|9i5NXCg8$JGSMbvEuGbq-ukV_M~UM% z-{qm|K=1zGPd@60FI#)nwM@e4_4Fqr)=;$UWPee^YpP(+>|%q5J$Oc6Of{`KQtrt; zer!QT&y^4@Dq9Sj&pRR=izaN%)ahu{rA^Q^cA-ssygRsGK85(Oo7R8|*5#0!+CX~*IMi{Z5?MyForILFa0AwR8r~cB3ANv0y+XaKF-Aj3 zpvS6u@uuD}9`QmwM~gbZu5#kq!O{rDbGA7MV&lZZQZr*`cSl&US)fDS7qsKBQ#S5 z#L6%#6M4m&kQIgYh<5xqa5PDQ?A(3BE!O)dPQX#E^le34= zHra*xXsgg0y`Y4h%2!|63a@y1QF0}#R6{qu{e+3K!9$?bbW7Fc2o=nMHD?oW#3G12 zi(wOc0gIG8K#XRV`eSg2kv;e)pzTh~&RaNw##i=0?TjYSEO2Xb3f6!Zb;u#4Lz@Qc z74Pn8e`nauMHIRQXQ#}VTX>h8W)FF?ru7zgIaA1!hZ$*S)tIP{7+c6QUK%&|J(=NC z7Q~%hu-bI#GgUC9Xv_XFntK)RBb`q!y< z{2!T@G2N1&jEF&>OXrmfrCt%|l;_?4ZWd~Rxl;W?^gIQ-PU~@Gq{EV4tO)-gpNUe4 zAb}m;eBNF&GXoRcPH}t*Wx;1Wc`qghL4v2x&afzDB2|A?orHNI9$iS3h-Wt`PD)w; zs5o`XQw)ikD&t^QF@F;7`TM2fQFYA1;Z~lgIdQf{+-og}n zDpf`P6G#UpYnUv2E<6+V5>LYMByXw3xet!p+Y5a z(=lgE#=>c;A~8iI3sfMz1qfb1Ur=6FCK6h$O}1ze-W6a?tx?)gL@?7*Gjz_qfyIip z%i?F}+aaefZ0GMTsGw0hEUJH*S|%7wZ~fnENRgY*;1q$9}R;!o6Sm z9LrlDwU+L1-kW96ztexfqR?JAY@%iuH1>;3n7en<;-919tf9Hg9`N?ESSJY8;Djw| zVpk}iCs~F~k&izQ9z+*zr`U{AaKYQA%BsW+?~|i%qBR~eWgHQY+z+l1u^Cmi2(?OZ z9u=-mx%RdiX<5FRQ>snT&N}ntEb?57S2^-*8OCm-Oxj{O(>qlZC1HIF#xdD4iC7&? zch_>LTSv!=fYA7moh?qF1`MbB?gbmzn^{d4Twx&xqZ$XbK?jb{Wd4ewZ~ywjza)$5 z&s$n6n!3c48B^sHzNf%w(@*)7wMfHGt&4c|{X4qXhx;;OZAvo2u}7QEs%W<(xQY&y zM7|{WvGB%S@s9s|PExj?GQ6sExIvt1=^7~kbQHClT(<;x5o(62ooIK2p9c6PHHQ?Z zcJ%PioXu(tA{@x`B65%VY4XLYHHOw>N4DbGZ)u_as=cxv_(H-DH^n$iDz5BkG1yJO@EaF zMF1M!ta{+LCTStP<)+`kiGDiz4cpN+l7QlFP*xxWUv#@N*&eVZipl5tebcLX zRBTjz`qcFaqo3S<b|COwKr-vEQ8o0 zk43g<2Bw71?orN)x7PyUNhg@IHGAYAPqc(6g8jr$u2tO0*JtY`RpJWvFfD%)BD{tB1+cUCq=?ZAnE6uW}< zZACV!q%xuvj0EhH1Y5ejM%%=Q3F@1gE)vZX=$pb$>e&`6+(oeCMAl=f>%`c_`ujMo zFH_4eQY(?s-i-z=@e(vlIbpBw0bSmp~s)6O!2(| zsl~dnIc6hku$QfOEu9n|p+Fb;8x{nwPzj{+yb)gy6jmk?-ElnxET{x1C8#+lC~Uaa zy6Kz7tByC%26XS@=N3J@takU>&sLUo6}_EwjkB8VRy)6>^*c^ZntPJA2$QtSw2Gyn zY=UQ4-r|^UaR^2RG-yg=#@HSPGL@&4f$zKpi~&Fs8_B7il!Axvm<~t1`ApfHR_gBZ zvhsXE_F=boY?8tR`%cH$bp?UcV;KTGVU%Vj(AV(srwpGA^>ucUEv9C;M%d$uCJDQT zDZKL*er%z08LB7+Qa}%zxQx`KTRbF&iR)*O+1MZWz;`L+w=q}J+ydb1fDHII`1kMD zzj5dKM@9WtXDST%i`8uF@V~XFKkjW8c_APmgdpfdA-eD8;;Q>HW|WiXfI?uuxHlqE zh+pM>wZiWieeF(OpZVo;d&r^?k#D(9@A+>t?Rz78eLHa(%I|w~xybK(xoa$5hu`(s z7sK}E{Nl#mxJ4m|xg`~>9puKPXeGgzmatNQpJgm{Osp3cPlh{k^h2x@wG?dilOG59 zhZuk)Qi&nT3bAH&XAA0C03dC-zbf^8Six^6;#!V*Bi zUEBT~4lNWhPGh>wQswFMeEnfj;N=`=A)a>hnVrfLQMHhQRbVdG{&u?>+IaPj7jf$| zRRfIc2D~*?5yj`4Evz!?hDJ}p>jUU&>9Y4c)x1Tn#Ud49q|TCyF!9| zJ?*ABrwemA)F_gG8E5x_+JfIDScNFXTAPctlyDpf)MC`}l3jUj-H|m+6YhCyd%gP6 zqt2TTfn1f=dR=@B5A>F(Z=p&HkJ^#HUQaH}g^nzbnP$5OiCc+YygvT?Vl}7-^NGg3 zcmPqh|BT-ergO&Zby!qFl$vwI3FfRlP_4#AchXFRWAe$Q4->D*#%ZC_&*w&>Q-pYa`Gp2W)rpRtV z^GfSy&Qtw2iEAMwv@fa203lY?WqB@-r>F3CtC8o4XrRZrNoV|S$a-rnZ$$x1 z-7RLGiDY;qr++UGO@+_nvXIOQ=bMnp7a4b0f5hjBmt>`&xS7JvbI`F%kCh4T#Rp5d z)%dRpqn~IEg38A6sj!mruz{p0JW!HZW_4fOHDyZN4efc86=h6fO5 zK#rnhzp|EpAX~ubm&B0*+8{)$kp{R55Gwe1P%N&od}b8rjmt;&WP}HVtI|qj?FGPn zKcr7gG~Ht=zxWW~mj<=R!^ZOi@8+_{@A&7}O+6pTsc_qN4$^F@C2uuf@}*7=s%)-i zj*;=Sva}q|MewJdX*b)=E=6OOT2t5uJWQ{5wOUbY65QXXlP5FkES;!$;kpxP8%yde z87l9k{iwl#_bRh98GA3~hLopc21zms%bP@+RKql1iyozC?NYYSJo*E$m~BLJg=5y` zsJZ$Zm`0f@`29*u1esMqN4#(NsggU=XR4UUn<{;|n2dtXDS}2qcr=(xdvQn9pN~DpVg4X1Rowyiy->3=F4Y>@4Ujsa8}Z z7>&I0w8(F*YspDmnc!|1!6)ii=jjuEC3jYm*jxN)H?J5OHCd5wQto$gBBO4crVien z?U*&!!9b)!7Ixo3yH*{9@tt=S14KH+ zylCKcn)Zj3xi9VRF$^B!3h`u;r7}K#>=n5za!8EZoaYGSF!~Q*=3p1nWrMGtz`_#O9TaLlalqpb)s>@*F6v$qcQwM z6})g(!JV|FO;+FYLHywqjhq;|g@j2^5}q+@SAta{e7glrLMI!Fr-D7dn-$1p)N0oZ zX2Tqn+UDd%Ius&V+}#Wo3qz05p#9Wbyqk+tC4STc2Q|+@m;B>z18xsh#7MqPa<>mNf4O2}p}TlyfOyfn6CMM5 z7vm8j&Piu$a0=s;U>2aaZt=nT7(ru(H4$;@Z^TMN*9PikCd% zEfKzhaQEw+2j;0xO2EXN=a?!L8$mt_W&RKkY<1BOa;bSnc?$kUC`us+6FC=(ee;g; zQ+P{E9B`!o@mtnp9^tdAp@iqs=}_;f@>UL(r>_ZoOD>4pTkeql$qJ_^sFc9SxKrUu z?Q&DOZ!nD8&sG23=xI=@`r~`i}9i=PE>wR1mLItXw zF`UrCW8V`!{p?*dU2#m4mQ~i&PIDoTa&i^qRb#V%^hS<|Dwi0l$~W$ z0@)-X549Y_8ArM4ejemU4wf9RO7qkOCUH_f7c<<|me|?Yx@gPX`$B|N$hku#2~zPb zDp?a>B+cODb}ak?*3C94?dxRHFYCPEU+nBo29q4fo?PyYMuTk3N%1v+J-c|(&@3|M zNtlG+IoK;tvT6vZa-88Pl(=-#hC1)AgI*q;quCff*@UKq7$}1sF|iC_i=W+c=fAYc z0Lj+~VQ670VYvO+B3XWls1ys7VW^~j7Q1ie*KzD%{mZ3{0xbmz43)eFFn2wb`%IZ>2)I1nuqh7raoC@v%%wK~)kI_o*AHW)09XRs;_sz+F zprrqg$Mnxf19X3LLm5Q-7))xgbZ_ZH1BEBUy$0_ggOL9AeG~#_wMSjHE2d9FDx5Zk zR3r|{CcV)-P50QVNG-0=JgrdzO5zNW{Fg3}Y5wT7`RLVTzPYM1+{P6F*EPs@yV34` z`J3I=M3wvYY*+598LBy!C7?Wh`nyp_L?jb7fMs}zWEUE1oT+i7S#iJxOKo_G(5NUv zhpC-O6Hq^FmRzGXfDg>^dSj|gvd@c19%&XDSOu4~w5UR|o14S8L9<(ULTIYhRyC@> zd5~v84$pU;T5_pVI3g;yF(^y@upRfG@jpd8 zOQz0>E9iGKl3cAFo%+E|u_-C*g@x2Kg0}~h2D7T8;*LfrGLMjcUK_sA&11(_mrXBv zQYP~jP83-Y`N3kPC>Dx%(=(d2T!~YH^RY|ztk_Vt+3v=sndJ8`V{-`)OuZrjSuT2I zom~TGAb1ewra{%rLJO&cCu1??R9!>>gDqtgC|Y!MbzDWG60CTOgBUA=VsnU=$*G#O z=wZREFe>=kfTf?zVH$ELEf^k0EU;LF!ZS0~lZWuivC8hNyEXRJi#StO*en3D@?65)joM%>TZ zpwpme4Un7%pkvEeItkaK9Ft7f&`nscSg7u=l{+{wU=vyt2w~Go5{{XKJWNr&^d>|M z#eO^N5dl4ak(D<{h}}ZK8L^>FR16LYbyN>0TT;d^#A6v{L}uf1B-;L}A_bWA6rI5J zP@2f{OyfY5EdjYL?)`vABY$jNQkFnEkE&Q^2)M(xOX?v zYjV8;AB>0u?cFcOxK_AtJ_+sP`S3bV#Tz%vv#=U6nx6PQbAiKM8aTtI!jL%^eK(`6 za%x6`eE_?7LQF~Zb)|@Lvc5<^bA16b6hdZM&?0Yr%9e(Hvk5R#>Zf$XqHaZ3v#Ks9 z2j9TY&4G?t~FFW*zQi_GJ59nLe!wkiXIicR}o#c4!e7{;+Ic@ulC!a+TAGJ z9np-I``3tM6ON2nZWcT%>skd_F>j$$Yq?qvlpFsF=Z z47qHyw~^zJ6_ICKjJ+fLuX zk?*pX_$$cB^-kOIud8Ec8b6~N$UBnasc7o}58bm(ouD3^d&w+a z^s%09Kk(#N)ZcX9W8MruTtlkhb1)D36x=y@(saEzy0c7!b=47E`u} z-`0W#d200Y_EZx9*;JbfB%nCzjz&Ejltabsnq2ChL~Dopv$a7#dR-hd${6L7U(S-H;3smK0WzGpoyI^cvNB^y){@CiB~` z?P##vc3gsi-J#=d1?|(di_w^<@Ah<9J@VG9 z1R{jA&~bl1XukSB>84IW$4zv=Orx*9*RyK~B~$?upX+B(0wWiOMn|MPY)9Ekg)tHG z6N8t?g6fLU9!f|DTsAZeIs@&N>PkVOzd9}_ZJQ~m0rnJ=4#Vzg$3Uhl@qK#uv*{#y zdj2B3v;_5YP%viVAL5xnctn^?oo*DQku7E zWV80(Yh+IP*vBM(nEy!i@M63WJ73cvA=j{J)gtF?A-F8U*Fk!gxJGyK9J_d0>R-i~ zBE8S_#BPJ030W~0rYDPhe=_HdT<~MralyXU#!lA$0@pfV+PaGLBT_tP-J}WCFDq^{ z#pW_^B)+(#A*!%s6?d=GNE^2uH1l?!e9sziNM}$L%PruU)erWqf<%}JTtY*opj??hw#zQ zpC1>CtMa<4mHkyRFRv16qUS0JA#iZfp>|umbIZHRY4&fTACdA!!b1AU(T|H&zY!N5 zvT*NYDVt}}#SaeWVV!;)KRv9exoX0~WSs3FUWfoi*+*5?cNkhP$(k=PwC~Uza*#0y zIr&xdp@H>;Yn5}+`SDacgdOX-hkX)NZ;*}@m1J7)ei-bh_X2tGZZWFfEaKinB&%gSqQ(^Hz31BZ} z`~B|aW3nUN*lS`|g*@$=;`mXQ(^7hL7o23YaC#MhJN=WoXj^g)D4 zU<>Nq{IuSK9&X5oeWT`@T}fq_^*#;$D3-k#xdDCimE|>S@OaE{yxizedwKlR9uUCJXB#I!PCdSGY&UEQk8SbdD* zgp70J&?GjQM4R%c%6YuHq3>XYa93opnii_bv#dnRoz@_YyDHs0IoCokf(_9;+39u^ zXk-((ld!}&hda?8w~cS!dU#Qh zi}3j!`5k%lwrN;dCgxLKZ``$>*@tttB999!8x&~EY@5^-+NpPez4(5f9rm0nJsMJ_ z<+&hFjb8N;f4k|MoPBt1)r=m*@69#>@(%qax_tZI6yZL@4H?oN-3?`h@XBYkG!c>oC`ParV~FIFw}Fcb+6(a62#V09!NOXVnboRi$(x5#4_`{8C96WKv3 zmXC!ZRBuxQ^wQ0^*;3gIt}HP@Iu&_sRSk7#3^Leo97l3WW8n&TWnNaci?za&q&=q( z3}Tx&pa$P6e7E3)#Uf{}f^GaHXXglJioN4vJ=#dH>Nk(orX+etm;1FX(HQf)lS7>YKZBzh=#_ZqIkT7SG5*FDMQw0mC2tXttdKlwRI-m3i!^fz$A zNI}t<3DF1WD!)s4sjXp(5S^A{_wxhVsh9&?t%3`b zjh7UenN-rJj5K*-(m>l9|+gKk(Y_5p3mCUUA8pV>Zt!y*#g z&@LtQftJTvH>Aq-^ANc28~n3~FHSe-p>M~veq>_L*gXK}1*!&3_C!3Skj1~!@QlkX z5C%29fY<=>F7d*;F%s*V_6z;S8v{W?VmMy2R0`y$R|qlU{-H0vk?I4VP`9mjk@$+Q zt4&I9WgE13iaE-pk>M|JZ|;`Tra`{%tm;LRCirP3T>8BbRP9Nf@O% z9G0{J%T1dJsbH`l)j0f{C@Ry16;D>>s%=v>mdIOD=LhTUe56IdIjgsjvgN5NM-+!b#8qgMpq* z&Bdmh+Wr|1P-?633aS|-1m3qkj41bK_pdL)0bP_!?hF#zZN282RxOlOji3^Zh3CFH zPFvgqgg0rH@rsXC(Qg5C~7{%+x)Hh<1dyl%U6Fde~W2HLE z_ea4iaEU(!)Uv5$)e!01igbZdATtOwxXKrDG{B!}7m077*65X165LrWQt4%$`p7Gg z%Uwwt#YXi62xz#*xNHa(?6TI=?EN^(X%+G=>4C5YjpN}vbSf={zhr>2<~Bj49^Y(~ zaCNvSKdqzCn@NNhtvu`e8bQe8Yd}d^ox<%%AU8pbeb`CN(zf#WIvb|ORbk40B=)99 zkm-HRDog647q_+e+GT~y1!ist4@aWQ%p9!>jfIfeM*$Xw3{Q`n+G|F@syQ3iA0Dlx zJLg2W=r(SoHN>YbA{pXH79@*5ri|lxO4cruPrht&9kX{C(tK0X zXIS9NerXW)Jo3y*?)(5|8WYRgeWKBVgu)4k9P`oLNo|wXfp4MNp8VNqcq`X00FD!^ zKa5^@0;Cr|EOvQNXzp_i%7CJNHQuKBZKrpxtd30YbtsU396c5MZ|(HowQv5-IFsVX zqcv1S%30 zC+z*6I9@shiYMAT1iC<}Nkw9p+;k;QQ2OyY=W1ZeIXd#yQ&27ZXcYF|4xb>thu%=!P@GUaNo;0lj@pJ;jfbsd&SP+k zPh>VGelwLi@IE0dJ#y~&ND%}aZ&T+Hv5s3#Qc1B3fHOVmqeD9{P`4wxDUF;FVNOMb zK;k4(aF-tI^`Nl&FdX`HN#g)wbrcRN=C0RB#)X@ju+0cdF_~8N8^)+_grDQa9Byi^ zxdcOj=57#zkbn+QGCeDQxVO^SY*tL5ni;` z73cejHe*;O6UB+$rR3HkIMdQBvd8ZxCZ`NG{68#-W*ZJ)38X-a>qD|kSHY~MPq)QO zs3}oMrU_{crb{tGv$!povSGI8g8s;ZqP1jUxD|_dXD2b*FKCM7Oh;hh;a%s$h)5G= z*2Q+ms74WrA&lr`4)CBS4mc-d=Um<=SJTIk1tzWkB0BMLH^B;=AVqe<;8Yq-tKl{J~A8+ zI3^a`^h)|@P4^fA-lk7caxx(ON$<>a-Ibptf&Fpo8)Gx$BTVsu6P{S$$tUKuiZ5SX z4KUscFw5teW*TiNd&ASM(m^aQ(GuX~37rl~UP9^TdJbG!V+m;Iq`n`t`vpj)hKF$ua(4 z&Mv^(HP6m!|FAu}^7^>89u_^@&Iq}EID;(|-K{jGO8qbQ2)`{ReKXmm=iOo$-Uf&dk->%H(fGXa1)hTcLVv{rjP!l&a&fcbRF_W@@NV;#^IZ0{dK{GybUX_PF0^O-c7^swK+-~Y|> z0GU@blGI581O8&wXnExBbJjT`s5*hFJiSh5D5>|^9sNwA5M6YHbnQbRIb%XS(-UwG zd0FThXk_pNPU}8Uvze`E_j+1QM=(*1OOSOA2;yAxmw^0v*?#+lL*N=}6o-d&K6^JB zo(k;P$flj+M;9Z3tmZ z4fk5p(`-m1oy(`txa+vAOBeME%2$ed>;yw%n{H;uf$sJI{JvR#P&GH;(W@#asVckw zWx-=2)fz_dFZqyXEUd(%8nv{J*JO;TUcH>0mSb;Zl>3f0gcNJh{aKQ06C^R;@nM^X zVy*5OMijpy+&)jMoir(XJY#-YRu$FmLo=clDOb`ZgkOwh#LQ>;U{#7^Qz|(nlm3dX z4t*0_&R)w}fORr~a=NNRX1laXR=!$H{YmV4Mki35+jNh*0Nv;Oj{xOQ0b*-}_po*MkA^7w|C=HHt69>a zuBWo9j?7QmD2CoZ0wSFi1S%&Ti2xlBBnK8ipasH^u*q8z%pz&EVh7Nd#E(l5J%RB& zV0p<|;PR=MuMACIw{#WHbu=<_G}5@TG)T0q_)Jy0Pp$hD{?RJ?u(MRlT)KYtt<_%h!N2c_iFr!p%2xGrd5i3g)~Mq`8r@e` zX1g(q$z*oC8MSrqkw-QpIFT$V29u-e(pvHBa{Xa#$&gFbT1GpGU7=&B0n5OH#9eX8>T zL!7n|m)xR!BX-PDnUzF{{7vn7J4=;Q*HqWKNl)`!NXc=8bK!|km6x$vK>*eOJuv)l zP(>9C-`QMCJ0a&ZVzk^(7(^`W5%O}#+!JB(Mk7m^G;o!{4$HsbPYY;r;xYsJ(#DWo zBwW6M@`qSSHz?uMT9Vk->gBa&e&XMATAiTdZnLy%OFw#`R8gJ6)hJ?>*}*WMbATu7Xs8**V6TjPS%?)plLKvz}1Ws=Fk<|bmY zH#81)>~OlV1&5n)>kbF8-v(T`Y`Hq4oNjOeF+s=;{2;c$oTSxQgemt)NQGuy2q((! zo12z0oNSc`w!p%c;l#qzFykEj&{zHBrYG*02Pnan88MqxH3AeYG1u?|)ES0tFcf~$ zkLV~EPE!45C>^99QD>;~4EjHZ#)#=+ILY->kwQY~YV);vL^7=GUpGsYI$f|;P=r)2 zO>b|Z#F8vj@F92%;YvIhEsKPhm8D(B^?Qo@7I7}{n0)-y;?yau>E)h?%J*QtgWivO z(co8hqVWK8LD{en$*1FSV#jV#`(Z8e^R;5a3PeGA!7R^>bR^kN95JuuaxAKYE2&1* z;Hie9w;%kbZ5U`3h&>~7+lLhE^-xUF$wMIucK|M80 zig0MYmnYqDpdincPTd75swUkcti1*#)w)p%mUf!(^UTj--q4tpW)Jbf$GU)m+UG~T zsuKEXHeSF=g;?4epO1M?gXnR*X_xsi9{&|f7+I*Avs0h9oa<%^plJ(wP_x5mdUa!m#Ii*ezE0bjenTXNwy|JpH6Uc2oEokCqm$hAC> zW2uh``!&EiqX?7H1*NW&MWISRS_(BO(NKdn8b~cchqErhf=3h$lyRhG`wqFB=M&~y%lGBe zp9#&9ppcP@_Yf%v|4;9=%6}Us|14?zmujzr^Iu?{{P!;v+*}>qT>k>|4u7dv7OMYv zmvlsaV+f+xOHLN<3KUbMk?S1-8moO(x1wiYKo1JvzN>8slIycyv!(v3_OyACbKX(q z9UVj~;dhO{@f^Z8`3p$ShWBwLGoi&}e{wwQ;YV8AUCx{T8(KFrA?Hqf(4eKQlJI@H zRobZ=Ot?KZY0jA(IVy&EY8oPcMkB$To?eDD%ow|d>{e`U_81JE7+T+WMXe}1er_A7 zmhr0JZRJus1^w1R<%D`KizI0-#R**SP{Wy%OKW}=j0Tq%%+J~0EauBRH;Z2j%_g|^`ZU$8jY`j*FA8XKWB zJU+XAf{gRSeR7Igk=NE~giEfmI`HD8V-w+GJgls+9C=6^DP4j@RGh%}9z@O_u#1~; z(#;Pk+W-VLh3tjwCtjp`*{|wjJ|3o|koQ|ZFLM)tRETSoRmlu(CBj)u)-1{~t>ivp zCK>XN%XI7fL z4-zlpBO_Q^P21`7bs!JhNq5v>EQ-Nsjdgp2UoM?l>Jw8drG%z*`c?+N_kY8jmNsS4 zw{f0lB|T=HS-P(KA-pZ)v+WF($XQiSe0U>TTy*R)%C({JW2TRdMKETy!csR9?|oz(Sa(&Xitbs9FS{3$b@Fg>9ib^l5h=d>(C2Qu zh_KYbV2ma!b~QyN*rQ}@t44a)I}rs=_-sfg_d`QGnPdg8_%F|W7bein{)pq(&;ezZ zgU7Vmj%s4q4&OWx97-)kzl6_u%7`%~AV!vQeF0FK=5D8lbF^3F!JL)GI(=b?mt8k; zRvCbiEmd@s5rb}8wv`@`T2q?|KSYx>1di}i*2(UpUvK$Ar1;f#@0vg;jnjqJ&__SX zxZceXKe`1Gx%Vn?y8H7CZ&Lu^N?aJl(#GUI6ltal#Y6IyVd9k{ zGu`T$Y`rVW)fcMlMWKdWvHww1h5VXxUavpdy_y5_=nr$@ls!z8aB{~{Jl+he9{e(LELaZ|B7>{;SGqjxsUgkB_l4b`Lxl);&m zzk+HmK#1xI`dvl%ch>URPE_x=q@&9}MnQr9FH!Jc_^?pTO67e+D1Q}wfTAfHmOFYw zB1HvtI5Bjgq^35Imh}b>Z59erdX$`o>=ooKnlx*2I8vaSXwTE2wYpw4ZgO|M{ce)` zY^^=xJx3uD00Boa`*w+7&pa=8DD^H$ZUtN^c}7sN(vRw2pAZ)|0w(V{`mz@JLpxMf zNN~q(jWsz&R+H;57pE%Iv-h2-}r^;$ehwsDq z+Sb}w=8{sAy5YWkc21Gi=Cd1FT+Xc&wpsbg=^-d9J~t_}Lc<6Em%hHFwHlJ7z4FzO zp~|ArBby0)nF&t}ZJa{Gg6RnlVyAPnjO~iZyg-!?-)FznWyaWP9mv{SbHWfkaAcT} zEx5(OwLQ(067SK4h#2H%wpyZ!(!N4uqH1D3~mHyjR9hh_I? zEOyUbu?lE4LsCA>tuW{>r1xUb3;A#g?_)GuY0y(*o=P$Pkz>sQe7=@>u=Dvpq2* zw1QYuZ;;H+2RD*>Tm!tZq_bBPqJ!LhvKO$3MvZBvp0tBv^g+%r9B)vc2|>kvW(Quu zn}>h)hM#d2ih=1+aUFVjMZ5G0v}!f4_00HEHLE7~HF}>%Qq@|%CAgM&0oi>4V%C`e zcr`Y0N{SK#NJ%KkC(xQvw^!p4Kj7VmRiF@7Dq55K*#JNFr!2Kq5n~|yUJ5_{N3|ru z|JGgqf$>_X_V9Cq-`lJxr&ZDx(6oVq_cub9m@qS`774g+HuaNPM_D=Y$X2+ zKdw+*}`fKV)C5dib8L_?5lfb#=W$#tQj?p3z`OQH8@AUz{ZM z--ZXm7?X0iuhz@GAp**0klnRjEOf&w4{GHb2d2^KB%~XD zm8Wskq06eJT0vB%a-Mi8+zXjlWeckYciE~DEM9vY!?K}X^EA{jzoRkc_FyeYo<;Te|F|Hb1pZe z&g_GaZFY8zzQ4xW+_rH}KxS)qnmTF&ZLg@QagS%*C5US0thbGc-(>xZD`4V|`^r}a zd%TWya6M`uV^C=oM`0KA=|N(ne2=Df`2Zm0>1}h;i7Ul&I*j z+=E30#}X&?9a7m#=9R0$#lFQB?D(>-_F;;1xiL))3{1^e9t-r`gsM+Xt$G|!&RJNL2)#}@Dr_DE5rG$uu!pGc5^SETvL*M516mk!zvUE_E^5LRRL4v2RR_E< zuvEuOzV`6v@EY0M&(#0)rV2@fYvJSucjm%V*!7mkoS(b!uV`Onb_jeO%&T@^VT7n!%K1-y*9U!AhJTjqWNhyor0B*9Tzpr%SY;ipkbY|fW2H|k=GUH z8s-_ikY);3xJxoyD1u#x>8^te<@pM=tB~7G7uP2S%Pf5C3O<>r%rL)luscR}e~J9Q zTQP(Ge9AFK5H&lmSHdbwhVrfdN)@d=Y!oCs*OMQ;49atXaV+l*yQTP`Dqe?ohb=fB zhiary62<@2G>zDiS0*5xF#m>8D4T#(Nm{BX%s^+!Do`rG`5i%CA=8vTz@7{tsYs&< z6lL6pB~v!eF(kghc$|Xn9|*RU^}PLl)qC9dzPG%G3DCbfX8)OehWEE&!qmwApO_<@ z|NMudLh@q&t3NMp=4xX3KMERIsyZrjg6OZHGyxof3|JK&C?xd*j%qET!f?tAVqy^O z@{%d2lya$TZrz`Hnaesh2;aAjt9g%E~5+El!v35 zPgO~gx!L#SLbX;!!2~D_-9FVJ0*O^g94}!V#OY?c%W3#k(yClAKCR0Y#}B79e%uo> zLiOz*yzQvU7?&YrHl`ceZCKQb+2$k70qlV6>}RTyl8(%GrJC+7FJ-yBVgMcYNm+NR z>g|%1B-F`q)jQuY%o){2&%&l13KaKBV#Ij;Uho77vph2^SJ+yHawjSlInh!4eY_zd z$Q;IkA~OLw*-^h20tSmh7nM1-w4Ig=6jDKqH=g<;J*jejhK9UZj63>r$Ysel8n`+d z?{)mq*Ao4Z*!AGEMu1>a_vH*D{4M+otN&bMno;x+mwff&t-TVOc=FzlX7eM6xwd41 zGxt5uOfz9Cm1twL$icD4(ywy6Cfi+pzwRP456ng#FCA6Yd2sw)$C@KESSkf$w?vX6 zAyr-E5@%r5#1Xtr>m5n*HN?ptP3Q9s#6N(o*((mJttFFeMMrAGf6oOY(~W#|LNM{K z-|8eJ^ebpjA}BdqNi2S$v1K$nG>4i34V-F63lvXq$u zD6I1yAgPk{qmeN5yIdeYq8g{};;l3YiLzHz#1Ryb%`g;@wuLedx}V#^vF7xA0zGn! z@LXG`unAj88pawIZMyIUCaT)vxrnt_3Zqnk7kJDxF6s3LekK@4j3}5*z_|_f6PuQ_ z7v5TF|4ej%Ul|r`(|F;E)>A#)KqW@6ZuGj7V_n zi}#A`_kU~*(*EDQO3dEX+3PRffQrm-JpIaOmBCRknjcO~JKV>?04}OZ{k0JMKsHyt zByt#31eeE1y0^Y3u4{WV3lEEntoPg8d*jHNkCQ<@&R%ov>bcWrvW5HM<);KfH+eEn zkfm)x4_1^N6U%-6YQ);jwGQyZA|DDlS;ED5ccz)nDd?BPh0EZqMZ6M>r~otUUYinO zZ}z&*T9qYlv6@X_^7q+b-R#^bRuS*QJR-cwEkGPX-F79}1ca zO*C88714D}e-UZ;;wA_Jp~Q*!#IQ+#DhySPUv6*7hD7Y-=*PQ9GqJgv|X} z(o#R%qHTAUrpxS?RUcfBG7iJiig2;!5SzrY+*Vanl#kQR+c3OyU+JpJ7HP|9UV&-> zABma`b?d_pFlMN>D?|N%Yc>_r)X7D)VvI3T;0)F-S|**xS(bli=btH?dEEad+N=*# z_)z&sM#ah?jN|{JJl4BdioKdR1ED2OmB(UFOeq4M-~?y4hHAPNWFQU&%F>IyQ*(hV zp6d+g87K%M;Y((Yv_KVS9vDCiL!F}F>t(}II82eAL!9+5B4|50YLub#=)b$#a90CJ zW|BPmgRBW5lT7L2? zf?Axav|XI4HYgwWJjxmBNV*-geV}v{;GmL&ssJ6}LjT%7tWFyHEzS#wW#Osy)6&(q z-&gV{htqKbX#vjR*GmM}pORT@r)T1M0SC6k&q0#<1!Ria1r|)R{H~um+Pv;NPAR#c zcrk0+Vt%Z z0W8;B>Ub?jzf4Gz;Y8EFBva+$UYdQMOxGUib!kyjs1z^r{ghE<*mj>dztd~ zr%OHD2YK}RehBkpL|LN(53;*;g4mf%`0q8wJ-s4uCWe@(!==CCU}G2#Qq#K8ohg+) ztx2Q2(B@Lv<9ae-r?9WB=kvN&+S6UJ;8f%D#(K{Mb7{yL^OSvs+Pt=-XVPhIFWNnU z<3c4dg+#-jz#z?VvttFN7KfDr7o0D6FAG)Z7ZbV$H;%dWWH?+}E0rWICs+%R^mB{> z#VJpk_dH+Q3nYj%yA6KZ1=ikzOUrv}wf!B^{C#WnzqX72jYoo`h2Hncp^H*!N4ZmE z=WUZVyHjXth)u-~D#+24karnZ?e~ItQUlz!76P_d&w&C}cRMhKUsQ=JLS2T|m60{) zAB)uT^$O+9MQ>VPJvg&26102)eca#BX-i0q-ne!74^LzC}v39ISv=05rU^Y^Q7G&DcvE>#UUjSh=RO&D8$md4j0ltlBZfsK)T|B!GS?D*D|v( zvs4G9{;9{8>kNGazJF)yKYr`qGr9i#TUE?#&3?Q8zaGn|I2narLG<9M^V0cC^z(qP zl#G@nR=PH_k<}`?vDJ>8iBb$ScJyCh-bR8c!^7ZqR*1~nqrOAiX727!W?oHnc(4%V zR5^TzuAV}6IPe3`hwX4*CX!gSbW&l@=L+mcFYcM}6!f1YwxIzd8BCvI;)pJI?OWIC zCdzswHJycyM!GL-OS$)FTaCD`!B+9_Ri@Ild`b0;v`J(4V|{vUbKH0d6d+lF3!kd9 z9ZRx^nCCUlOI&rYpcKDSYpQ&u)ztV3Kxay(;xngazmC{ziq*9*FMYgWdDSrkiBavS zA_>R?Vy6PhrE!(1i{plh!r>cLO=~JhLkNKVEduCV#7tm7P%%Kej6u@Z&|KkB!V}v1 z7$x;6tY5ej7OF%jj6gPN6csX3`Ic#4iPKtki65TAZqX}#L4!3Yxmu(2wuXG7gmTzk z!NW4ZrY<|*Kd?q&@R3IO-7N+FaYp9vw>tdi8~Zo&O!_Nbz=RFJrg5fOuh^upqq*=0 zQKiPJ099+D-exGUi9(B)uT}HBmAFUq{f@&x&H8xyj&N2ng)(sVNH&&VCOsxkx!W>` z1iJje95JVKre{Hua+MV5nMJSrmBrI-NynxOn9Rsm=__^{0xWvMJ9-&TBS5x8>=rQ> zaUS>eT$Z<-wgwpHYNVrSJoy~3Jc+jh&h46*v8h_L=$$zgycmYyxI{AcT$CrBLv(tt za8}9yCJp%U*87!vds6Lp!Dkhw3*baIelAhD4c!BtVv}EIJ=38Aw1|xoDO=*Hll#lR zKGVU6pX@(apF)WIq`PXcTFQ=_kSo`2r?#CkJ6JJ(gSV-gjy}YUT)U)O*(RE|Eo1~{ zca_MFxL;;AuAesY;MwCc_wkxPhrH{fC>g&cl>ly|J>a?pm7)(IP0uu5K&Zz9Ty+h7xmdOaeWjiiSQR_pFGkMV!Yril@|_#46Y{)E|oVZuV|{ zI7C+}8%C}(Lx!gy7Xb)VXS1Fr|0NWG1Isueg& zh~YMoo2tPZx*|O~=>9ADwBSO&7%{;v3dWlmf*O*z5<)dW+d2X4(VF({+b_ zm>#hfeFVjL(T9(huwEw#q^xyNi7L5`V>wL%v;_^4?R4fWNkKzGoh3HDqZm>TgjM(-Fnx(?c9U$tG-BjCVv zsg||6rg?Jiagry4a4WOAuuF-Cb-KEbEwzJ{H+AMj_(W;xOOH{Scy zv|f*es69L50uCRBt^3^v0*q?%d3}&y<@@YbpTmuoEQmPj=yDU&IA=4g-i6iK6N_Mj zSb7yj=C(xHqz9Hw&tH%jq^Q2qM$J3DuhR4ai}I3En=MEodqS2zyrHTp7w4Qk@-E4X zzTsPTeP3~#xKlG;3Yo%rG>T_q4rGp-{jNO2Q%2He%TN`Zt>J=yf=_^-g|CPI1D`OO zFd7UWiW|}C+68}~tJf)!BkY9c1)crJam06hWX_r3RfrL>c&-r`A5@EoJxu7j}A)?c9avK3B_ zZNI(7Hhk!Fa*!MGb7M%gR6K_KUKN7wn5o44q3A1)9PFCoaGHt`(Il;94>v>yOZ`@R zAc<~l85Rb0bHP`P6pUuUHvAzB2r5Ul9)PZm2=byHS6DS%Um>#77Wy^|xh{5+=7%P; z=3`Rl@nFDsDyRU<`t^6F{oZOgIq z&G)xJp@AaoczPNmdX9w3VSWR-94hc(Th?KkQ?c(rzK?c)lNiS$!CrSTNfpK1Zj(e& zDC-AG8z)SDMwjA5DFENQ_DYz4l5)P=SkXw0!Q0#JS*oBp z3V&ajaw#$Oy|9=rx~6JW7+fSIhPo&gIVGb^+C1uPIt%s#og5pu-17&4QO{xkWh;v2 z_;{Aj6t@e})y2ajq9IWmyitei1TwF?u0$rY=qgz8qLHMVY|5hE780JWX49I5q8($w z(3W4g$Ar(^L0YAqZbRD|Dm=ziQ&c0TV@0mntyl~m=3OvJaAd@a*-O((5BdSn3TBFk zC6SV(0eTGQmU1wAB;HK^@lzsH#0Jce3r0UWHS9imKgKs$RQQmIL%LFyf*WPlgFQhm z{`|vh2yWI#gB<+XxQ}CK@mfy{aQol$P+Hv^*rKraTzTrmr*}(%(6hM0hPZjdk~UHz z*vnkXno7AwYGSCzFykf+0T8y#qLUqnQOYk?zC;khHrHMyF3Pd=$^{LwPl!KiO+yY; z$H;7x>6nHEKtMi5;){_NNy>(ebdY$d_=|V4h?4{X8gayzyy2n6v{CXHK>wr_>zdPY zw(t0b`5)5?#&pw;%aNgWMby*%JhHk)6>Mv(e+*D@?R0vEmlUR z?>E|Hmz$L+SC6awL7{}Ls{vl}BMh(b>CiPaj+yLmeyB@X5gh9UL514Ar=`1e(qrFS!%E0MG)tT`KHey`JY zpds{}sVq}OJxvK~{!hszq27yM5OMj6?caFwljW4{Q@sG3ALZnMF2E1FAtmT0E5nD3 zC7cG+7B@jg6tg>WaAD@*EN+xF)@hG{izoB5%EaSZ(Fpi4j=y$2 z6HTy&Oz=^nf8fWs@b%0LT#yeDMi+Cna&P1F<3Dksx?-}}_%!7h*_gKoDICeqe6OPr zx_li6+aWt+nCVDs7?PrlSf@+Enzp_&w_D9Sbd?z><#H=&Uu$fNox_m8T93Ar$yCO$ zCwCxJ9-W?}?c>jTT&8-`gnPn>pA%bcT^jdv{IPj#@F6k(?$w?Fk)0c{(e)WAB-}Xk z;LS2L*=8e;QaeMXqVZhFk@tl*yGIHGDo*{-##34h{e%`BT=mxnjSJ>L+Fnon0e30m zcw1rd0rkkzCCZVx_+LY*un0S|cMwwgsxx6Q+&mS=O!~=6lixg{E!1oWO`)>;xTT87 zz0`!5f&%+I^?Fd+DW#N9MTBw^Z*qyHq=b~^p<>k>Wxe6IAi%E zhtXvCqTg2f46y^M>Qor<1Tz<=cj^PLtMa1sA*y1(r?7=juPOM-ls|E-X+CpgYEIcL z)j*7|2l^h^?oiZ{+T8MT3HLiNkaD+t_F#>`PLK3MvH&@YL2c@LrQPouXlTxyKlj2L zY|nk8!cV&nUKT|#xR1TId1Wr!n&Ti}ZMbbqwVt%O586URoMFP51{K)+g2%Pe5o(k+ zxBv>*tlTGI$K`|O6Yq;sG9q@ZMB@;d?(O_l)9zt!R~E8cXq_ z?8MKmYt|fKV0B(2%SUWew%x&tomlw&9OpzdOT%d8*rO(!eLG_gi86Plw+HG(dzi{;&5b zpQQJo{P&^t@27nJymbE)oBwlY{nyi1sHXFqcl!#?fhvwni;60}LTR;vYoenoypo!@ zur(XYL&-qXe;r?W!j6f7N>-6NyD^i}Zu*$KXkG*m;h!UlB}%$3H-pDU$||_MU;Xj^ zBHq3WIx`u(ydZs+YR2_u&s=mA>JvlA$7QtfR1nb)a26Bt@U?9Tut8W;MDE~bWd-DZ z{n@yuX)G^vCd|=we{ZzaLz;%1n~^kDV9v|CmMc|{t;rF!D1GX_f|PlktkO7ZHl)DB z_1b<6{aU7JOtIzdV=8tTX+?WbJVJZt-jY)1E2K|5e%k`tF#61=Ma^aLuq>#mH-##z z*;X(|-@`8+jUH)RqnGTy)VOC`v@Er9;G{>f#?9bTlUlJk>vR(R^HkgHv=A&t^^3CE z%J?#yMz~J9s1Q6+n0l}TrAMH2u*wH41-fsr%B=I#;JvjINn7xe^@f&|S; zhI{ya9%Ol-anTu$q^hgrq&C2gK~&mYxs8V5gkhpOtm`9SZZ)r215ZiZ?Q znv*=*<`}>3%;!t}afVxYe1LP%*+GxqIW{t9{md15i-g>}RAr6eAS!=(QlRgJL|`@U z4RR>Px4gY1=8b;Vf}r+e8)Aj{)&1KN_u>}fl)I$8+z>RR8~jdVbPV!bTq5)5j|3@S zkMFT_jy<7Vc$D9V1={YFLjrhF_bKQPBsb}-oSLwjs_D1%BMGmb0J2*)Fj32#sOl!E z$zxV6nS&xQ8v~9aqvpbz5hP!3KCX%C_ev9e6qD}-gV~tv$nY3*J$pQCxrK1)$F1Ar zpHCqO@wwu-@;lw36$8M~3bfMfx}+99aJ&q;8U^|%+M39x&0&)e?8#Wp9kFOpvmsL6 z*2I0=5jP?##G>X4d8THrnKzA&4PnH6Li?1|D-+^zDCBjb8D+t2Q7YnKK>w%kpuzGO&(;5{4;6p#h^Z;@vdyd$JZ6=YuPe; zk$Nz{26tb3b;5Lq-w6x&`cY`g@|#~jn-}b>x2btriMzOY*i8s43}-W7$YpV)b#FOj zZ7=pUgt`^hIB{`Y$yOw0wj_S+4~q}W>va)2Oe~KHk10jk7y=5;6THH6I;&ea&Evfi zJw8-@3qTbGGh+jrug3WrzyRW4NJ)>h(XxAMt#^EzUcxZv6{e|L3J9e=q3y z*O`l&nH#y;y8fQc_}@n#6)Pmu$NWw|bgC{c<90#qWv*5T164M%_wr?Q_fU_0 zu{JKRk>XQ+FnX}5gRT>|i3pdzRQ8qXxXcrsC^VTXsVK?<^s?hN6m9V29G*?$WZlfJ z0joKT_E&HaZ-BAwdlBIaa%7p$9ofa@1p94Vvwe;BYwYSOH~r%w3;y4H;$56V$n~AKXYA%`_P?fJq+DFw z{$~g#>Ycv(p6CPLgbI|85Fjr6W$J?mx_cpvWfPmHk=@K>brJeP?W$AVtv74dLY=n2 z?iB}VVh!8-j9fe)*B6`DiI!4+gobluuv}X5dOxR zr%8NfDM699QES)KL0QoRmg2#EWhSGz-&Tm?J$b6ux{Xw7a4RW2RSBi+Tf%>kX87h2 z)|b`?!N2p%p#~TPDc2VSEP%{1Tr7VPa2;qR9nMf^SUJE548%!7P{}Z7=ry>Rxvbv6 zbji5RJB4PXQzvf-03d_yq_QK6@UXc+Zl^BB39E+$L`F-|AEgS*53ym+E318fHB^C6 zfmVPQ{efe)sFtYYFWWKVyM-geU(SD%i!6l{w}uQ5HhqAg<1a^~_WjdJE=RnbG|MQN<%WQbo#l?4`!gV{iJtfuz7mumzj-UJHcXv4s8z8dA zWTD6+37Asq=WY-iERx!$yo|!ijuR{Hy8X%AV~x*Vs5oixa#26@?B~9&ve~X)^f7X> z7};mY57ySP8UbSumweW4(C}ztghre{NtIv9y48;IPYpXmK4fiGT=?aXSU#+=`wp2M z4CD9!?YX_3{j4^2+dB7_;Q28)9G0~F<~&BI^s6s%B}2_GJm*C*t)Uib#egj(FvJ zIFMxfuCAUVuWD5o3~b6r)5IrtAH%I;-4lGj>Gfe1{Ddt(B%ktDAUWXuu0GOCo3AGx z5-E?P$I@zcJ={#0uQ2F_!+GG-AX&P;b(4ipk!f}?%UHXenVF=aH#ufg&L!Bv{;J!O z)Ns0^YSAh^VjLB(_tkpn^YzXftCeh7bJ*u_;&fGAV8J$O`ar$d=kh$Pd|GW3wHY7) zqX`@w1&z6K8`c#AmQwXws_JwM4usJf8Z+HySRlwa4R(KGAPJu$b6^N88=o3-&knNv zPUYtZWT2BlcRuo|VYiO9fSq{E|xYE%Gh(XgrbgvSR?j@9oVqM1W#zps68mj zbBp#xjE~Of0s0uE{Q=xhoYsU`Pn=6nxIGJ_W{D1?MzAJS6h=lMuimPF^6d%mm^O;j z2Z~vuQViEG@cT_q#Gl|!c{lg?f8>4seTU$Gnf&_$@ozT&ubDk%ZROd}(eK_25Cw&a zAHt=DVi#x!KxtX6_j+IswdW4WW#d^k@5y}k1~l|<3Nd(h_TFtiTMlkd`Q7H-yIv-_ zH?n`cy!>4C_>kavI^+go7iT%xz@+=6{h1T>hop1LRw`3%+-|3zJg2Kgwxsn(1r;}& z2pqOp_PHhVK9$*&_N|Tf z3nbI6k#2v#?jNuDCW2!o!9)|0TzG2kmf?EKHj}7D3#iDhDTA?y=9pauKkm`*`(ZO) z4?9|<#Zj*(*N}y3Q(`z$?!dH?t~WoQH<)N9w+A>@jb%g1*~(U4+4Qn|;pgr$S@5AD z*5sId=?($1SdojmP)4`iOdWqoS(VFvCJf7pQT_pV`Gtf8SKql zv|^b*bHfqc5kpx1a<~0*_BNsKNAsJ#fwX|S$%Z*R>6dfeZkny(u;xG$W zM1JE#_Vl|{uv(B=7wI%%yTwSOP3~$gu(JP zDiNca#r-n|h>xep7d4Qw3j^pg5{$Pn$6mZLBXX>3_49Axg<$1g=gveTFa`)3ox$#(Ga46gIJuUiW<}}=`3Qi6bP}a=5_Md)}SJ|ufw`ZT; z?$NrHo^>IVx}yzcau_6Rxf#2Oe(lKZ(eUT$6hlbP6c|~S7E+;sD{VXRkS*I_N27M2 zq7m~*OAE5wq+1;>x~bK$fwWyAfS07Een-eF(Wu+EWC2L=(K#IUVi0;AjBOL(t+Hm7ufV+w_+suX zALFt)@c@-+AH*{3^#8E-j?tB9+qQ7Uwr$%^Dz+=OZL?zAwrwXB+jhmaE2_8lKIguB z&V6t1ciPv!A89RXwU$2_bIv}-=za9DbskK}B;ue%9U6(-nSPAe>_NoxF{uDgUE(O* zctO3gM&FoXE8;1uEIIOkidMjGbvc1r#ck!R@EN4D03zwc%p9L3TV|mmsS$Fd?fvMk zMR9ogp!~HBlsa>gyJHH6ubO(H0{v7iS%%rny@UO54?KxQ886fE7I&iruEy11Geu>} zc%4APLe&*hWF4;5402EY6sAkP3FWpaj2y{Jl$T^r1K>&i6u!!^$AttT!ppE17dAi~ zK&&YeBob6EUf&ONHO|3JA~T$!?t47Ch`(XkJbHR?l*M}{I{ny(UhDS^%AxtIyU7ku z_n@9|WmsQMca7v0iC&#}X(GZJzOo{W1Y_&nb@bX6A zg;=&kFy6N%NXeVako3XM%cr5w88O`9R zKu(52Xbkra1|tgHm*lpxz}*8%-_V+yT`HQ`|op^ztCk21ause_&;cN_qpSb_LbIX zRAzO{^`E4c8r7(&tC2zJ3C9R5Fq+wRM9jgigYgTTticHAh_Y2MBrb^_@5wgFn==dM1*h7xj2t>5r82DO@YC3P z5IIR_pA$3d^MjO$5u{@=?v*SP7%ClU^-(Zs+IzYp;=MAx%D&p%;|yni2h{r zCffnZ&>X1xPPc=kt2^vdTJhuaId)$Yl0N|`S97=<_JxRhSX1rBfL$nO8-)}8{ZDln zRtdGo5a5v$`esKWpvh#K-!u(LyF(d=9c zZ7s#P&3^8iHX??39AtbOw$UQH6-{Sj!S4v1!C-j@NX*P0Dd?e=6U8oyi) z)y>e&lpYx|zOJ}L{JP81rLkF8AXIjcekj`G=^9U`un|l@rd^uDbIm_M?@?@SFqt0L zo~4`Ko&&L1!*+&q0H{^y;kH1zShTFGbAbf`BF&ukIJ%bE;_)qbr|(@^DNAi@&}|Hr zEtK!wX1`ZdKKGr$*9Bpn^QQblfI#YdMHn&Diem6#&n5I(8I8C-nF?*Yl&L?``)U5j4>50y8e;(^(edBXoudCieG3RT7oaQ>wzG8wWQu^z zAfoPokD~w1f+hp}b^E^}`b2)s|3*t(5FU=tIa@)M;m(N3$BN6EwTOtIo8qD@l~HYh z5%j${d~h%jFz#ux2@D~CaA9ob>Uz}Oy5{lQ-3P?pPd4BpoWa{eD$c+e(J3Hnq?m`t z_W3l9o5?J2G}S2dR)YJ=q?66?UH3Jg&^##q*m=NT-$={|>qbL4caDF58my2*JlY7% zL73?q7(P-K9dvoK*iX^MhU1aukdUU3s1RDgVm=>>uffOK&jmOB0M?U~)0%<0&b-#Q4|!VBYd#fh1KOYW!*T;dmcv~AXc4Nxk|GN zKQ;-L7I?VP8I)%n*uHgJalk0SvIchYug!VPXNIbItk(P&mt@vC^D@8K@TiAA2Q?WEbxwyqT z3&TeSb6yh2fuWB)c=QEK%jtn}&1Zak4#izU*+zpx68*qU%qm*QA?8>E!*yE?CBw#0 z!jB{6*BLB1_RWb(nCJscxy33lgX8F>DLjkUZ%_W=ZAqRD#%PX~p>r7{iKb)C?+x{P zRmqc=5Q0njc_dSuD(!+x!H7oHh!7^BafR9OZ*bVw{#vE?RW6SO`$y5TrN)^i%I>~` z?7vd8JUxu66?sZlnM`aJiu0Bd@#5VMQz+5i84W5(c5|o#zA43YOT&w{f0QRl!!TrK zW}RRfi1Mbk+sBBByYHtBMCr=E!tn?Xx}DwkJ46`y?bF08;F@txJHk4`I>0(*?Q_mB z^&=g&_1?0Lh=#bol4uEx*i)m+{}9MG#t*}5sW|6DU45n~jJKciDn>hxqiXxo6p6I6 z#KzsG4L6=2PBEcrvbn?<0tUxK$~Jgzs2FYnw?7`Qum^o*!3fyO82pCa%@dR1EvhDEocMCA}+vrZe6@A{Xzt726cal-?j(rDx=>f$U$$1=Z<b6&hy&F{r1z+;~Ge0P}6&VA&}}qM;e08uy5boWC+d7N?j>6`$D&fwOQxj zGN`b&BDMhnE}+g zEK$5ys^q=T7v)vve#0x{o>l}Ae0vRY%|?&uj``c?Y&UuUVM-<~DAz@a?DSoL7-+Z` zm@^G-$8cI4?VcZ)_BE{^7z;g~<6z;qHC26t^>G`c@KQgdKujgNL72!rz-IO(fKbPzo>ypLxC)2C5?hoxeZhuVbLE(Tm zm-6Hz^Isp8Yn9 z>!630Ho@Ah9X;FMtBZ-7Tl_&C|Ab2R##w`5`dX4eynrGUXB9i?O5d3_w1ChU`NA-9 zP7#^F3M?&n#;LXk=TOQG)yAS(|9(j{*>m>*o$~_}(R1g3ex5zSI{#`9Q{QnArDX_c zyZe2`-8M#BIZF-mZQDk*;*P^qA?&1^T~aJ{Q0c$Ul&|Pi4&3Ij);OUc9{^ z?1Sh69@=k$y9gzi)?+yZhY#n|=@Gn~zg~tl`cfW@n(`*K6lS$yL`nI|4oJM%8jZdL zqWa6*BL~%N!N2n3Fkwr^$}{nac|~ogMQ!7)$Q^TY`U@yvAwX$H3Qa`s=4Q+{&=fez z3M&aq31{T3W^GOs_E`ON9oUI);nStyw4$#N^p8w#ui;?+Mtrt}E?BPg5nQ9Jk#)_p z5=*+2@?U{X`LDpT{Snwj`Rn)lu;JqC``KG_)LY2TusMZlqY0oAEEXARk+q5p9O?~K z4<*rsbsVFu_3xr{+?a(oQSOMe1}3h|0)0SK=U~C5YfmM29TD6Oltj0G5|+jjgc1sX z$hQ1#WdC{{)Bkub|NA=r?_2uMy5*nAP)KX|d5R`#H83(=8YnSPwOyV%N_}2evx1bA z7S9E|0ha^E)|P_PYv~0S8<+U>obOfa*=crHeJ{DEwSe)_G|LPi9pZ6f`TqOys8J6Qz~>8i^1Z%pwyu70zHIhG47S zn&oU*?oZKwgV#Ekhs1A&6GJt%ZYb%QGa6rDrgj7~Z-Tjr@ZfteHonGE>;I?R$;EY+P*mcl*8&B0uzd8L6z)0H=cP0Q@DgDk1e`# zCtYr0R&9P!vs{U2kIgf#oGbyB0L>`A!IF8Z2e)f8kA+vh)wX}6v;h#LNQK!1}edO)fYV|1#Pna!*I%c@&c=OwsSInOVyFQRJadod-@^-hugYjFFr!Gxs<=3 z6Qe6bWBr7xs=`jo&WsMv)sf7?$cLNN|%U{L&2w=uU|VCI5C^AL|z$bt&7)c zjwVc@(c7yIHem#jHmX{8i#-E;MDTT~PldNEl0LpG@JQEiYcfXdCQzx%^6o11#+Fi- zee?~KrK!^WM`0$wx+C@@+{~vc>N+I>0&^@TwO+T+5Xa7cI=~V~0Ci4GGG5%n^K{u=Gt_?3Ts0^I zjm}gKu~fsck;m+kSnG+mC=&|7W;-Tt1*Af~Mh*<_H3yUnuKmU1wAYIBt(wr4(8=tI z-)Wb!m&y%RX%w|vV`ILTVLmO;?hQB_ABaS3l1D^tHoc^Ae!^IP0!@JD6ib#dhq!X# zNh3)QF%(fQwWql#y6kqOIWf)HBf@^_6)dzBT!RIkvQwR0t!#>NxQ~@7 zzv@ZZW)lHjkAL&0%)ry2#GC@~$TI!yBP;Qr!l#|Bvx%*2IEa`N!es?Ppj6Cp@vo6U61l z4SUk!pn~&AJ&rIn1Ig+V$VqC{{Trqy(`sAH9)(xIGy3Skn)#@@sIWd{Jp-4_&k;|S zJ*2opabZH|<8Ix1^NL6AKIDjUOKwX!)nu32MQ?^HNN9&ru?BLlqC50@N%4mPr^jv^yz&0^o)HNfSpIOAYg2e* zT*0;u9c9jJb2CD0C-8cgxa}V4$zj_@8rcI*xZB^3amfCMr(Dz>aLAni+W$X#pH8I85`s)37G@?+&VV(KMlRL{|9b{C zS^3fy88BxhEv=^CT#YU@w63a%VV)ka9J`pNz#1X=7Wgvvuu>P*X56`P0k63&6-^f| z3#iM+-5~(KCe&qiJDE+lKW}!k+@C+k=6-<&KuG^&*Akc$AE2wUzUjSXu`sSx0df_C2J7PB|^&$n+T-4r%(oYZvWFp1G!J%Gv&7JqHYp2 zHoDe3idoA@3%62|cdpwf+4O^bXs2w8jvZ8FL$Rl{f89Fix-pmnZKnZhIfjdnJdw|@lXlXHR{U2jBt;XPo9@!XRYM_jZ{F*RQ% zv3ucG1-Ao3x)8e1UEoLB=OM}^vEp)75!NQpE@cF*cKc=S&pv?=Rkj!l;IumZ zEt~n*BjEpzk^g>L|B>-NUh#dWtwhg@)^aVO&Zp5D zI@O?tDXSJ8A^6G-Zrc`?-=(reZbiv%@!OgU^(pp{y^gMt0^F|MYKJm1SqLJZvCYhJ z3q2)su)jKF6T&0%Fcg-6~hd zmSrSL!GFJi2$_lfwIkRJo;9iMM(=X@%{9I*D$#T5f z>KeP+!X!?yjl5LIW1s*GvApUBwH7eOiGb`$}U$3Feoq*mW?Ju1_BehEE@ zHUrz;L+7Kv6)ZQ)8o;D#!R^f3f2EFM|FU-Bmy)B=dBG_1IRI%~OuNDn<741ew9oRh zY4n$--AVp5f=fQ%d^>6LlF>xHRKwU6{J=SUi-*H}fHqsS>x8{@t>&g1<@+R(8{b^O zl|v;psti?I)ean(8mhJmW3|3m9~+n*wYzj*RX{76wi;vUPDp@9h*tcj-;><9O4lNs z1=Sk4lwXwC)56>)Vs%mxu;}X-o(?K|9D*;GCrMwbAHVX5gAy$@*tegZiFnW zBaNMW)xb=+%*xIKNenF6ZdniO_62e+#fRP4Iy86rB*Zw^y#Ar(sE%3FL-LCrfmWxs zn8z^BF!pQr(VTi03HVqvrBAJF#AdQ?J*Q8nwTzisjM}5$ab}p*^ub6ermzGOg~3eWDjunEM>VX^{gAuD7RyDy zD5D&zr0*>-p|3)jh-4vi$K3SF+%YuJTH}@K{hC-~zisw~M2PaL)(0`Dh}4x6N9dq2 zSxY7+9)+`R%wI^{Cr5DNSEvh;2R+9Xuo#8N**FJSW&4_=z?s<~Qy4kSB$ftRb+bzt zG9(KBN(XK4vwEPLTafKAbMD6G8IUr_$lg2Wj&Qm7jqV5bLAs;*wL@Grp#+4R5kImu z&be-gLbh}z@JlZ$S2PCX!1>E((ZKE-(C&W8Kzqr+ME%S4ESB7@4c^b}CR_pYJyppo zrVje7{b@uhfL(drJMu4OZ{?ADZfF{pcjxKPuCW}78e=^!Glo_YG*XDe`+*;A;eBlc z@)_Jei@b3HCXsb3a3iw!)}(p)hIC7DuV-szo~d=z%D#aw{=@tjS+m{i29SA+{H^Wh ze_BqvGX0Ct@!#^hA!QwTVkT5Rmv{|`cUA3WJ6YJ#nqUYNs7#;UM<6y!Lqi#F>f#tO zBPQX{(eJlo-}MbqeQqFL3MXCtst|int|s+cv|1Rtmo{R{raEh%fP${y5Q3&hvbt)#pG(bGZ9W+wC}>}FeK=&y7^bn56mnwWL^D8?wA zQ_F2KT+Tl<^yu3+22`CuwXXMFZT;rjZBO5SBRW=lA5V(h&r?y-;qEr8`OxXSj$E`f z{%m~RkWP@sN75$qJR66gxzOp5_Gr!3+x9}>_dp%Oh@%w3gqu`H^+{_&5}h0-EU|{& z&5Sk}Bncxl-F_?aSXUnm(}3yWN4%HEh z#RBr}iq^B*PgPZRd)e-Fj$F!c+u39IqaF*Uu~Vr4BnSLQkp zb9xpuOLa1K6^gw$SxZR_l$Bt=*ggBN_S*y&<<~~0_S)6Liu90)1Z!B-cdPor_>L}G zhrZSV4Sdb@_XQ#E%eZtO!@owh-q`-VW&a~xLNXVBaJ`+>{<27gyWP#2LGUNHrkj@h zlZHY`=@f!%wul9Khal~P{;Cj$*uKrA5cEDdcpQ^~LB9yL21;NWGgFWxpMxl$w)(sw z;_Vr5c(Dn^(6lBsSJ2fBY;Yr?%~ zGfr#aCiw>c3X1*x1vCTmtE~GMg5D9P=?i+)e7X%xGTVk$9-iY(udD9HgBE&34P`DB^X08f_f{>%!RIFbrtIc-P)`t!m4DmzPb5T#uoSem^9!^ zbVnl0?)*CW)>Dq4B4>;uZ3p=1eQ}^FmXup9x)x|eQX8e#v$TiJCJRSRQjZNP#u>Ut z;n>cCdT3WoA!S8JCS8E8Ky4c6J_Kf`&MnSnNbKpg5#lb=69EnES?Ublq2$5 z*kzpFvXFe&J}%osRc8frPGbB6bSW6t&($_qqL;dG&2|??`NlZb7}Ei7h&EGG@nPO? z9F-@>UKSNsI)!X%Gb2AzTR+6_GAHiKnSP|JbS%3AP|JdS`*d>pVLqH*dm@sj9lKg=_K&fqu8P>u$}lp z;63CKL3D5=kdnGV+O*M1)Li?Wgzk4f;|R@+usb+`wB`&8aL-~nM7rj~y!?4#Do{(? zh5(l(>u*Qo{-0u)KU6Tre_WP-9k9p-ynDcZh+!0+oVG3&V)^MikYodktqO6dpk;vb z-z>6PkTT=f6z}xVP(?95{CvN$c7|h0ihw}qPJ3(*05-^d-oAqGeBl8dJKH7`d{vMz zh=G)nak6wzv?8eiYrG3$E__HM#IbiG7ZxVl2R+2cQxrI`E(^wbvsuDw$b_jDE0}n^ z#oGrVNg^%tK2Ec_m~qY}n)s2pz(p+u@tKS*1t5V~eE@>)^YFM3k?_o*R@Lr3{K@`5nKVc91mkKyC&ixE(o*d{ECe?my<^^f zfAF@c-^P8pjqCRWpIEi84+@CHy#p;TIa`NtDV0YuTw&&V6TVoEU#k$otz>UBQRzFQ z++WVA*QgZ8fAKphiff7ynFKhhl<0bi+=3OqVXn2rw}2sN?4bMsQnd-541aJu;eY$G zvHicw_y1}~{m)oMC;XHG#A^75qLa&31MSpVN#@PZq50;yXjCv=P@(4qPC621n#RHd ztv_PL_Z0yxdrJmZ2^aH)^Y}TN#mtod$F{(iti3oQ9lK3tuPHr~_5kqWUvk zsDxDQ)ma%VX#b`a?gnj`F$J6(sAm$YVX?JxhS42{HhTOZTn#kKki?~fE?+uU|L+(v z&1um1Yx(bj5CI5)rFLqLoCzU)dXn2|_64u=wA_w`8nb;NfmI+Qf-xnRpL`p&%~ST@ z^im?PEBPki+u`4H*rXsX#oVd|%U!Ptp66|?R3GC;QbJMFLSbF+Rz=1{fxPH>FPM$F z4RUj)vIS&1@_;;Koq|argh9^(qD3s&gAkH1q22w2tPAPk2YyvXd%hhn1 zh%v$Cd1AYY3+PK~h~i?1*|(lkLHYRs8#uCtKuJG*3+d~(9_g9i`InRU3AEKIZJ!?x z-9Gm{=^l2b+ZV6xzj-~7zA}7nL6#%Y0Sm>~7~mkRyO;Xe7o98o@H2@Q{-A9VM`rk0 zewxvosU9c{0m_OH9V0KZ&Bo}gPb?WJMPGVmVOZJ_Ql1dsWJpD-c1=a8q1>x-cAAvY z$SQn2dKjH#nURrm%Gf+fhX+jh*i?K*PKVr>PVPZw0!NL$24(V1+E1p9B9rMZgUv_i zD~T+`VwdQJ%e#ajU9oW}FOAVaU=!)wd|VFmyybemf+ohS5|_)#6e;$ytn{4nL2I_@ z8*F!s#Zinbo|^J9{<;pzj8e+@o5t7-7>!z8f~u~Hc_WPka}LLRa8icp6B?^PUIv%2 zeC4m*K1-m>=4w*LrTmD|Q8Y)lj78=SL$tf5{pE2gFsmq=Ru!mj$ePFGM)1t^6M0Wx z@JrV9ek!N>xJG-0G4yW~ix5j)C>v-C5gP56Vj1!X3fL!#3w+7wQ?xdIBG}npOAd!c z3A0gyH>+`Kbik@!^FszMqZ**3_n0h%OjpRO>eWk#9D}GSvKwM;|F-VHnD$_<4o;Ikbt82|={;Cks}^=^!}=@b!Yakj zf_0-*uEU)-va!)}k0Iu}aG<~l*<-82;V!_&mqlASOV>R1Q+OSLF8VrZPFdWfM(mhdPTl9M2K|11Bkqgv% z=|Nkh)(H3dFh1f}QP?m{R3_3rGGg08LmUmMv1i4&095M8oHng<`%37TG`>*F@<*!} z)Me2Qv3E}-x@J+a3LJTYA1rEK)M%HXCsxGGN^jX(j*3f35~WL84Je}wBiOrPrkbQ( zj`57;4YbHuH5j5-8pWQ3mTshB9+?%&Qzqr=^C;_3M|SWBsR*+uqfP;;woFBJWD0#& zjsAnc2uHYqR5Z;w}`AUqLl>w-s(2wXU$~)z(5} z=XEr1(02sr(015uoHROyb4<53Rb<-aW*2&vR0aqiWO~cJ2t_aUOm6w6b{!FS>S6e( zcweVL+!XS^LyrwQZ*!XbRE&AA@$|UsEaJ~L64%e6K|Ws4xBdL?oXziCX$Q;jqXz6k zJ0LhC1C0?0wKap>*<(r8^ev^MQdDhULjUUreMRi0C)*~45yLkuwH;e5HDZ!NtOe!{ zq=dNv#>v^Bx+pYQt9tEW@DRBWq%daP5HYNkuZi`@BPLy_wfefMVyG0x+R|N@v@ZBlq2UV=fn-+51z74GHzME%_XB z{;^En=?1F(KwaWO$ONg3{?E+bLj9L7c|n2h90L%T{Np!RA&s!PW@+&^j=cRhk|FX; zyyG_-AqoDn0W>!v(?8qocD`+pm}CyCG;Ied2mLP6 z$U1;ybrm_jv1WCJhnZ7H65tIjy{HeJ>Ia-emxsdmGwA=JX47lh3f z<05FBdw2HeodtWnZS}}SbGO`XiM4^(C zNBVImkzHJ+7Visin#C`Nd+scP;>hyCn}237NPS~P?hLY}XbZ&vd#=OS)SKCLE8gLc ziF}%QjO#t8G`$ccd%H0BKDl+_@m>g2czgfS>F2YROr|l&vLytrHtXbJH4{0G1ntJJL9w9=9yT#KWxSG6gp3~CZ%nkCIEXSi&@>QA|}m2(X|5jbTyQF{bz0+r)?6^;E^ z|Gj@Z{gskvjGgZ&>yJfREN)jmN7L3hpKmX2U#P4lIgujGg0(U3T7qU>ChFfkpa#~o z^V{O2%|=ZdGIHsp72HdAaD2B4fi@n~_cdyS1MP!_jgvf{Rvhc3NGj5yGX+C2S zwZhh-VD*??V0PGWqVY9aHBjd!GCpl~G&sbj^A8zzUb%KlZSXYx)@-(ZIbgk7rhX04 za+@RoOj6pE;N&FEV?ehr${y8a7-$JJ-1&Z~zgjJp=>hROwSk(uy01A^d3->s zC;_(5inLLk=FYU8;RUVJ=R(UoOjjctrfM6zTHT^)RC{#xZ6B)I2HFp8yLOzrp>-nD zQ9snhI8V_rWrMnBXg6#?Q$CLZc(`BrEg0HpI=|9(qQdg&mxvl7I!~>+ZeC}jvmV%K zY#-2~L0vaR7%#ec2v#juy`|V)GV))x7^dcryQ>VRMLA%V8V8wlk?%J}u`uhV-iAbl zMRAyPkrCBzy0uS9a;|{*D2N87UHNmWiUUbFoTLxDNsNA@V17Zhh(>QJx!i&DrbgF8 zUunG3YUvR%WezbKv3WNMA87!JGQnM-!@+stXP2_o>kV1uM}i5!YyZ}7#k^|uwv>T_ z^sG7S`vX$z0!^~j@nnVy;g^Me00i%Y2Ip^q-qfi>3A#Ju92dzWu*22wbWh>d4h~gc zd4@ksiw#jzzhxa7LUur7HByJfE8Vhht0488ppnFVgEjm*M8lac)aT{x9vu0s(iMo{ zel3hf;Sl|N)YiryAnDBv40o^XJvju75vg6&uC8Pc#DOY9Sh+)tp~xS#$3mZiCPP%J zk4*z@_#z|-oJ*4?7!sMO?M-dKc$xAG2jC1@9I8CU?L2I;alf0 zqG@7BU|iFDPw-?8L{{XBkx>>5Hk=>(pg8FS>uacKsHDIgGF+8~tateoYhBJe&i*=n zK{2^4hk|>U=AAq#!A=t+{71kNc@H{D@c}_vJGuCQ_^P`f7SoSVDoYeHTh`2%2&;XL zO^dw^@*boK@($o)VNh8;T2b&!O18LI*pJ|w9uo<5TfV_M^7v)qeDDZ?NY+!I5f!P} z(quwr()r^jMxA-zp;wYkGL^iPQrAe$`tWOCWEiYw!GPS-7D=DrrVvhQ%ol_|>bIuw zHh@_6%a?+`-RAz+_1j;*5C3Gd)U?!4)KEXg2vNuj)e%|OsdXcW{E(_u167Ff@+gxO z*ybY#7zgVO$jMQLwi%wtmzUQwyUlHEEUXyTRT4!TQ!dYh30_w}gZUrD7q3{_g+fqu zBF8l^SQ=+qpMOnnzg;B$`pC_-{bD}M#xs6dR%gT?imdj*uZ(}7a8^NJzOQhEZEhsB zfv%z)UCp|&JtwY&jlH)+xK=7M(1ET3NgO;7A$Hc#mxgUvh&#VFXlU|HwLhf7s@YK_ z9##cr`H4#0NNRDXj+X-~=A;2Ry5aPb{X6z<^`QdFx2R_#MTAxS0iMQaEa<+@cQiR2h~>tw^k{QmytltM-^q3RQu)NG&HW9nk|Dk>ekdos#2dOQC; z;`$`?X*MUTj=fcmyValmz8`}&UsWt6Lf0W$HH43Ze}QHoULNKlvzR9%!e%Wq61h4$ z2>cMH9;1r{jE|}q%#VbVRu+`I`zlI1C~WOY;I%a~2!wQwi0D87AJGN_LcF|hfJBUM z(iqD`#6-lxG#EtP?@w~L8a|Q^$;3pw<9i|_0%qOs0F;>zbyG4(iNXMFZcwY0wwi)0 z549RY0op`NoChZlbF*s#bjjH_NCV7$16UN|E|$lpi!vL2oaV0b6+;esHP|fOeas&M z(Ukb8R~6T2PZGj)pArQeWo7}QFt#V@l)~dlE5LUkQU|-)Tu&lG49zo}<5y>pP<-OY;rhKDUt(}m7FEuP<+O&dhNyM-Sa zx*hX}_#Xo@R^qoUZRZtj6TTu-Y{pY#p49Xz63!U*i1+rO66 zT{>}9Eb8ZD3YRp+4Or-XnN!BhKCZ8z8E)#HyWRVdo~{o~G@XIldUlJ{`l+}>mc#nKJ74(n7g^saBL90` zUtAYmp8K4j)V8c@+VFi`kRCxJTsy8yYf0vp5Rd(?!{{Fd%KOnU>bXP=N!HHac(CoX zMVgh(t6Zxh_krj5Pj`mxK5dXu!qQrK!||HJ7(WU)nW`Fx}qs%*i`<+v{idb?3g$TIz2uFZi!0pHKPy5OblX1gZ|00&238j}uDN z#hIV@L%9vC(ZU*e{0WIToJkO8txfi2kk%Fk%0C@7l$9&m1B4G9kMpZ+mbl?nE~o0B zF6*C;$c01;>aUK>X|ffl9-nE-K{evo_^Ry@O@!lRidC2Sf0w4h3s(haFsUl@7e4x^_ODCHW~GBsKyIcrK$KY3&~ zl&3jAnLk;lf23fsjA@J*rY;qhGiz8U%8Y>zjk-xjYWna+@ik&Jdb(0GJLK?kQc;R2 z@i=dc!6lf^<@e|k&rA6_U=}CXC0q8(^#*0n+fr4X?dG!%AE&TUCBxRP)6jgBRFrZq z!q--SurW|sgPU};cqW2Q_@-tC_l}~ zGrz)L^teJWIM~gmFMS*M#hiQWulO9qLxOV|2CwS4zA)7tc{GDyN8AUnm!!>43DU6} z%|eD2b&C^j1D)-r7gjSLHI9qdQ8I4VX_Y43iJ=FrF2hO+aBUgxh^Sz72m5xd20OMG zUAG0RNhaIE+R|&#H`=EY(xWwXt9w$tc*@(<050wv;Vyf@@qjOTdVicjpb{-G-?At# z+q)QwR?{fdY%*42QYUSD_Dia=Q3*NyHnYP<;+Dcuq&)CAow*Xti}D&e))QY4p9mk0 z7uzGqWAb=z&)2z%T?w42w2P^#m>0T1*;>e2l(It8 zw<74zOD4td*ck_0{z$#*d0kxa7GcJYf>cFnhoI6lXpbbo476~rRxw3OC#wEx-xBY^ z@nU9DHKDv`!StHux2#UQ)UQW_8#idKY7V~vXTGVZFm_H&RGFRV5TC9Ej*SIP0Br-7 z#qO!u+_cx|x8d%~p087SJONKlw9@E>1G+}GegpYd(@T&zy+3DNq$)cZD&@$b`rbqLQ03Dn?TywX*Dr$A;a;iEf4kg|U-Y z$p)sGjy+mcHo^HBmuta-Iw8|BMiU*-3%WAt!f#% zm+6`rgaDu-G71BXdLRXu$Sozx4D`t$3h?qC70~%Apyy(+$40Jewg*SPZLntqwB@eY z>)ACvCJ!7UHJIqp*w9Dh0{%Tp zXjG9X_o8$`yZ~esm!S8|9bGS)W@g9S2>i!(emYY6Z1Ge@->nOKo7hHTZeO>uLCMg7l|;Gryl_r5Moc+6Dale`dD+ zAhrI-klDYPj9XU|>vT#NFt*jSL0y3cOFb_*gvG~EjR8!?8}cA^UO?Xe-DLd!v)&WL zK8lElld7UW2icnpBbvO)$)=H^-HqnDh|(lEvJs;AxP=joh~0(W)KsxtoD4_HGT+%I zSaC{Q+cfm6H@+tbMYS(p~F88Qnng| zJ1&4BRC9aEQKKQ5=pN0Yv(A-km?mbbkKZR8gQhGqfC{vS)ZMC^2W4HCQUh5og& zjxt~fi8efsJ|G)Oo1PHW>Y~LVH<|+yas>O?4N@I(<7c0c7pa4>8gn6lDb(ui*SQil zmtWBZTGHtT5gy=halORDE)q5I)?QKu){WG)E(ri{afJ!N5`Q-4>2&Gulf zdt9CoflUIjR76HtfiGFHpCV?pUlRY#iAz=fp7xF~Gf8Qaq-jhzAUeAwJD%$4ytTkhM}{m1BLN4VONu;3#d>I`5R(NF%thP%+0EQHq+k zB$;i#-~3CoViVa9hm9l^k`+c$^e2`g3w%qObjNmL#B@WIEny4=pLvcFlICIs`(?!~ znI(?Srj#k3=UX2-x)ln3yr(jE+*(PF%4bX(P0mKj6RjZ&tIjEza3B`Ah+ z*XmH^w(c`?NrqH&iX<~jOZsW2gOGd_vE--5SZx1`w6_YVbIZ1b0|a+xV6?(XjH z8r(MS?(P|=*WeG!0jA$ROV67Jl~Z6TstXJlAqe1mr-m(M<-II zZxCp{W|b|%I7o#tkAa#4Vb(YaKlU|g(aQx=b~oNUPp6Po!7GJ;*=x*Ez9VBt*AC!! zS~zJA&?jba)epF3=aaSSk@a?s4qqlORO>Gx&L!N5Aa03jlkHCuJwuuyH%<$uh+3xG zp(3tDnxQWg5iNViB-=%K)%sJ2Yf)zCcC3hNF=j{#HAM5?1sB0w<@j!@3fVz)Minj0 z@R@Y(rb<$$(3LgOZO*6`%B`&2s&8TZeQ9szLBFP`rVbrQXM8J6&h9e*b#CEi+@N+y zw@=lD@{5^lI}y+;lwww|>0y%bVZ|=3iy}E8+FIpM%rtE`r96<_E{S7++DnmFMMf+) z$$en4pTj`OsC&NQ*4HIGuH_5yoXsVAL=U+_f2o%RWtgFin0q{c=Cpe}Re_#Wy%b}O z--&^4jBe?PCdbMBzLk&RVsc$NTH^rXJDBKq@y$C-%{KUbwa#$V(*~479s>%y-8^)i zVDwYccX9GW4}r2(^Q*5gb=`4kTact8CZ$fxbptu*4pc~YD0n7AyEAUsW3`D)=^jhp zoeECG7GPJr6Tr(c`Z+EY(%@a2@ugIkrETDJy6IGvG(Im`tL$b_l z2ZRB^aBN6sq(}))Oc*1}{fzyJU{Zr_aLV@I@hXTr8z=cPHo<`M%y;}jPC3E1pO)3=88o!*4)dyj(0s3y>ZUKruR_#Jcf zCWYI5fg?!#OfW>oi$_7q8@x@f&$-nt1)O5ePRifx%Mg$Q4?R-IuMG{VO?t=$_*osUK^^kZmRs5fthp1hHaa8w_}2sAcCy zy+L=J!tPS%7@y~*-@L4mPn&%Y=_?nWMMT#P6REeC9SkIp;wq=z5oFVWeoKcH?Q-Kl z>X%LX{1eAi<7;2{lhid$G)9y1;H4*g31S>-GJen8G%PCYhNYgY1*)a)3D5HosGo8- zVlQNDM|~lh$B2#P;NAfLBSYC$94dVsNS%k*xhcQwu6y2n89vNB$vx2~&Z^#~&z*d= zU2UGQUt7hufV{kSp{LO4ts0{3Ws^8o?}JQar->T()*2!g#GGI(exT#k>_U%dNK8&AzzK-RsaXwC-vxx720%q~F(Ae4V1R z?adD5?QYi(6TjtcLk`97*U}gLg{Q3X&LE7=o|+h5uD&0Xv2Uty2ab9Rq^~R+s=SW? zBO~-rSyNE3A8+m4REp&(w-CX7iZWOU_((#k96QsRzq%rF9l!EXEWPo_toS;_E#f(&xknWgEJwBC?)8DJNYxt3cx&;OMeh^6ZOjHwVA`5hx z;z~1^L_O5s)O`U{6bmIXOS#8l&I@6f#|Gdds(tOrziHX|h8D;GxR&@)amuRq*8Mnp z_YhHN197wMZu1uI9a(@C0y*h7ef`xSmqsm#r}nl=erp8PBJ9o9Nh<#5$H>IjFl*BY zf?gN&I)8J@d!bhAjx{uwBC%B*p4Qp(U z`luHhg3XlG5*x^B%60@NV~}^z`eNi2O76zdtp@Q-wNhjiMDwyWRD<-@FvUCBiGVk@ zeL3&6MQV$KMyN9+M`FzFPPQ}mg)~oP2L`T~$(%6M39K)jk@16hcekmjoJGP=)lqs( z>=L)LXHlQ1(2&eHQ?ZRuFosZgO`CRQXJ-lgb5s~K3W*CE^fAuDIO-3w zETane=z`25hbUg)4RggqXVQ=k=Q7D>9(ZWy_juz5{r)O2vdHK&F8$22k6nyiYh6me zg2j|?(lj~ajA-PCE`y3?TjaUpl$NpD{+K>R%jOXndLNv7dE23fkOkIELYvRVsodYawh7DkiGy zD5M0Uq1*lSN02b_0q!Mg?k>R&RhDMrSh~AhAW3<-ss>0p zOLF0Az$GC$vsPLbyG8deKoN)_Zzz5oR~i(No>z67z>B16sIWHjShV)DXU3iri8Q)A z&e`a*678ll)YhCyPPe7js#^SP>@L>(NtO*U_Gb)rW(B@t3YM5C>Q`+^0yS|u9vAQR z=)no2Bn*61!US_oc$)@5oRaBTzAYT}?%s4orVn_I?l>_%$)9nLBSUvh&=m2@sUTPRoh6}XJ~cX1YX`KfPq++v7}lY3EQEK_U?j!C zm;3ZhaM>BK&sK1i#8gHt2b-T;0ZTjJSF2H6aFodUSwy9*mQ0M^!ts}chlCr9#L>EJ zEyrH;`hv%5`bS8R%{T^zF*OyjW#Ep~<#_BX4Yj5j8PYHcMO#w_kBCT4HovoUlISdp zp$B+{>ga-`?#i#Y4QaU7UO6;Nq63nLh70PTu#}BU{TV>KkAj>riC^vJ&au6uiyGHP zD2Cqzspgg0s6fpg>)Wl*3SF_8vvrhBD^rH%ysT!lNR%Ru|P|U z-9C*^E{_Iz-)pWjZjeaFTG{^$;DL9l0?PHzn7MYs4d7C{Zzii)sHdBsWT*5udJfZj z2Ul3goU;Ce1H+T3K%|6o!8%|bH)#vo)(1Xgt;5{_Fj$(HXpJrzn^-&nK5%$&GJsU3 z2LLx9RRszx^w5f~#5Nx^(0LnmRs}jkf-PwBt_d;ugo%}ng(YQ)R&ry9YVjIh52|&} ziGsIgpRcnyIhW&cF*+{@LL_&U&)4iuZJL4hBG;LU5=dVKW9>mS)~zwQHHlzcux81F zz6B@`KsO6iUyD2G&lKnuosb5(sfd0B7rFcT0jSda_S)><+mw4L`P6|nhp&%k^#Sq23XT%L2 z1yr}mShH97ESbJ%#!)I_ZsR^mlin!|gm%qc}uwx4DoJx6P1W)?EbTqp-T8h-;ox z!-cYUb|%DKi6#f;VvYu#=;hgsd14)%qNCD|#`43yMIX^nJqJlU=qu-mlb%Ej0}C$i zJA+!q$IH~%rw@(ktUbk!DuGLV*cF_t?1EbZL|!RBR-ve-Ift_Py}zTegC{*4VNZSv zwc(r^_(HQKpbZr^%MLr-4jfd!P|KDxVm$f@E%nP0PhiO~?%o-r?r_@%_6l#{K@F*prZnACX!D3KGN_5YM^k zVX%Iu(QWXtS~1&Bb+Kid-xP`ve{jR9%N?VoCQF+o5MjOisBPR+JJiZ;iSWA+1tRK>>)W}+pVdK0?idHm?APs$t~kN!aNFyOYM4X9H&^vz z)b9?GHML=LYxko=`^e4Yp@c@Py%m3EJ92JMM|TDb&F()8e1c{*BTsywRm|)C0Ny}$ zQr$G|>);MPXC5IX0 zsbk|*JYZ2`<@-5f_Th(I6qOe++w;ZM7@YJ-zSt=qDo=F6|98i4K8Up3`n}^vj{J9F zjOu@q`25!dcZ$a8djLavvopw|*U2y8g$V~2oh>FqBcMcNlLGrV2a(upxOR@j(=kL77Z)2r6xdl%FGz|K z>u5=E3%m;<2@VXbm)zQtB;+0!iiWt?)@4M&+9DK{`1LBt+HOJGU*N`xf&=R{0=+E` z>?G-X?oHT22HGSr1GMC(h50j5lp(@ep!H;)OJ!H8PG`})q({vKV{D)^6r;kSD}huM zPAls0qd+3E2rDvjTn@9j&ql~A!xh6M`7gn zM~Ey~$mD08#>$aQm3(n2G@fr#t(P*gF?i%T9_;q!Ztit*6Z|jY*m;H_CdGjX;^LVA ztL^&SAqadNuk`^F)VK~W+k@@B?Sq-IqPQUpe0+QzuiKmD!Cid(`|Gy2p%>nk8_$3z z@}|q&jgbNie9wgy6!#PsRvtC!R#S?s+nmW<#r=2Z0(aupW-&_x?O4MKL%8Tz z^cvltb7z<^?8xIH*P}{^Rf{Br+l%8`V${RY5vw!qe3%+$LO%D@?RSojSe^(6QwVPZ zL(z$e(hP13Pmv5?2GJ6QBu^)%GG>d7(hNlq?83Af&lcRkuX4E^=g3_Wn(ygV1VHaUji33Vsws7 zXpHXcA0CVDBr?RBg2L)?iRNW6L{nh7&I}OYq}XEA8AyM|$}J(X^%rP1UwcB_P+Q+$A9La{^qD>C^7|_A^lJzT6h66g3Mn zL!uQ5ptc6>!ONbE?&_sIBW8Dveuu>XQo#4Q7L4>ZeW^7eJeb_A;q_}U>YA;K=mr_v z(u5BdGQX6 zv3`2$fEY^#!c0JKEa)59?_f|S&ympr{^7$M{NDuw#{XF`_?Mz4Ms-bjP7zHHQX90M zQlowc{3971T?ut0+KfJ^s7#gAnCw7?JT@@|w^W%N__rR0OIRN@g0tuxWMAjOcWHPE z@CrqGM2no-oRo!}Mvd#|sn&}Ry^?N)WvCobtKgf|fijmh1Iy%02N;XSwioFfvVHo5 zgeW~?R4K^&s;n89W?Xcrx3!{4QC41JvU_G%X6mZUAMwSsozqF9ph5LV26qb!Y0Z;9 z>H)aY6vQi_7tB;bOz&U5x&xbxjs(J}2M?;# zpn;VKsaAGbB>OLr%X#iRauird5O#2@fHr`udM0+o(}`9~;6F zH0a1;8M>PCc9BXH5**A(Up#9mfzb>i6vYE>RwBuL>u0M<)9y#sz<0IrNsENx?3 z_`%O`=Iw-AL~%Un`%HmQhy=OUmnN}8q`8++TgY*Q2LRg3^j?#v$H+N_k3t^VcXm~! zUn?=Hl5gG$b$cj<=aa;t^*yJdgGk2!_R5nSSIDCsnGclv8*;xe_AxUbu=X*t9ys+v z_!tHbn`UJ^dY#Yei0(2%vu9;I16!cWys#m5_)W-KUrWNzg2iEH z>(-wU-?SuEe@v~B_sqSb$ChRWDzoLVQSK@mCsB}e)&Lc7UTJcaJXe28pEPvrq+iJP zA=;K=e`6_>KXM_d?}0h88Q1&jS*r$?3$ z!$oz{?T1F0wMO0MHX&_-CB_p5rZxE=g@GbaS<(4LeDt9HN%3^TRbTGA`> zsw^d`HVZGk`laQFXg_j%J0%o7$0oTQp^~3@`#a&pi%h z2s>WfUqkk6gDp~ys{T}VN$;ZhE#a_$S=&(^81BM+XRImCayQHgr8X#KpXrpFg$#Ih z5&}j?F(Wu8?U4t{Fl#%B4N~c*%*4#7!x=?qIoaDwN^Yly%%#Uq2WO#7iXO0Yc#z#* z+YywK-I5GV@Iiy&;&c~(1P4G{$vP$NAH)V6MC+IqbBlfwL~Zw6*(38r+?Ix)SrsPu z2?{bbVpF7+?{;Ab4oeUa--ei0HMAs5Jt^Rg{Uvrr%%smmKdpImfvxKQ24OEvxU~7Pt8qKkzsyPrP|c2D@vtw%80y+6U<0 zrs*d8SSRw{zytkLRPo<~)1-fIn#yK>0@E>xfAHr6H^GY)BeyWADgFB6g2+>XA%m}i z@MUFXS(&ahPgavzYo-Ubx@JYmX8H-X;+Q9Au@Pb3!B~r%@y^C1-#1S$FvUJ*5#2gn zM$&t{DP%}EtE?!9i|}0$h?HA^!&q{G z`7AnnmMcs}#{dPxh-FwU&5QR>)mAb4d!S{?qTj1)F28bN*&iUo<2 zmekRi2$anRxWi$4Z8GoE+&gs@mCO{?oPdu_n6l5AFWP#nNlatrQmM$(X_KT28?KYH zo5$LV@=R)D+Pf#h#&*AwkLxB#m$PtbNCkB9q)%7Cn$dik6npbwGZ<@3BU3y<0%5Bs znOpj58OYf6m(3%knYV(REGBy}UHBBPO5xfW_qQx@8xFjGqsD5;cEq(2mY6d{g(`oj zVJ%V3J&;8))8*?x4^}mY>o=$9?^EieDBuIo$<)XA9L5_;%HZud24;{4Vswo##w@9% zhnAV|xde_z({{0)_oa)349m$qOHo2~gd8=$(2iYL?4h{U58@KI4NNH*YzG@oOe0bZ zmCj$Y)u^?OBD;)U&BD`$30>OOgjfBn9nBu6xf&%1wpy}RMH2#I1~Y3D4!8A$Lb@?$ zGLnjf5ch@UN1KP34nvJu3Wku7=$12MGm-DY{1`4D+JLw zD0RoJT{4ZFDzbeM?gtLz!@`F!ClexQV{?R4=*2r`LKZjlT_Z25So94BVMQdDYvmdh zj0fTCr;tN~$b7^;vCmaoxR$Q@Wkbu9Ld@im)3^gCC2qZeJ6DeQ3VuYNPcm*KdUpnop+;I{M+1v z;y*b!7svmaYmP~=(^xab8hQ&9UZr*E4&Xb|?TIKU2_XjKaMZR;;a(&ju){k^E#)9f zC)dlo-kQ5|IfH#LXTY`gPIk%u_EW^G^G6eJHS0oll7Hgqlit1W#?niC*W2R@;s++5 zi=k7$Xy_w^m@?h34BeR6o0@3TsH>WLd9UCT({dYMNb)@j9#J%7Ez$@q(sr4y%Vt-8 zdVZpk@@v*LHxD#s>#JmB{#>TEP!5Gf&rD&DMyKP^B3%K>g6FGZ!7i3$;rnKd4%UY)?5boHXoM9pG6yv|I|CJ(*dDZI z$0zGlaqfHxH^e-nYUW0@ zp@x*f9UW!(8f(YkfPx0QeRy>k>!u*wN;AfkHoW5fW6djD?iTA)vW*!JOOPkL)ACim z4pwV&W6gdt8ROxp^7D6T=78mOz+X05Rg3DGnF~D7vHvhN*t@YlT zND&ep4z|p36)xjdtkWuvA1k;@anFj@6)8wroM0As4QJn18m^$5i{z;JwG8bI-(532 za^k+tWc}QAKga8^0Bfs~HvCpgG)1&0rUEES4kNW{?$>o)Wr;!{i)*Pm%~)kaEKq+f zSI2vB#Cc6N^Brq(S6hYq0kz08DS!IuyqjEZf*P0OxmW~#Ef3Ld^=^G?J~WzWJ&|a; zC0b~F49ZYwP|S7gvX4UKz!`*(`Kj$;hQ=gYM&Nsz6TXLO$R&t}&oCLi$%m+4bX2=+ zKBT+2{09x=c2x9v9~ncvK{}&SJ{-g!BqksYVy8W$kY7p)qvc7b+e*fcnb0ecQVvVs z7QM>$vZ{aK-D~LChlOVOI`0QI3 ztj5Db4+Aws1r+y4JmE{~H(^XZOh*L@K zzXfoQx~Z0@5g^MF7^mtcec}FweN@>)`b{+$xyIyTA9l1`0#J-xklR(XCXuSuzS*Pf z0`+o>cC>=}3Vv2*zRJ2FcaK%FDK}M>(8YKU$G0&>;&1!|KaAq2w#V;#bb;A?G{Bbq z7_p;&4r06P=}CSe#^5C^eFQJx@k32)PG0>=InF;6uHic0iZtGN%!>YY&G0|0Vkn!r zJJ^_+{>$KL(z(KWtu&a|AS6LG`Wz)o6~1gIm=PJ&NeO3?N^6XjxYa82C0f`j?FYh) z|1g8!v}mAY;U?=<9CL2R`?lo7dc)k^?LF^3SL;SxUS8J+NfRz0IXE&)Le2b7Y2S)` ztH~?e`uuKV;memo#t;XzHpX;hNA+vI-30{1w(UoJj_kx9g!J78xilKf?J#1)7ESY@ zT5hSPQAD3C=%IUc8g1}%%yyee{sg9z8kSaCF`jByEi|`IyFAVzo?QqJE4?u@{hrZw zdIm-g2FnGCFm?v%lAsnBV>6euHDMu*lIE%Y*ycU7hTJW1{OSJMi;I*f7!*In&+IP^ z7F{h`Qf=$TWDIt62YDrV&T)|AZr?9!tPf^Zs~yrJQ*jOB9L#76B&>tORFYWK&DlKI zcb3V<4+6`d%#Oxa+$|N_vKw?O_dmtfnO;vBKn;&(5E8MA!WJkxN=2mm9 zI8vV}DooRL{t3@hmA^KgbK$N3F;*izBI(9NSG$1^&@`K|(XH{uA6ALRB?eFXnZVb#0Oge174FzlEI3wN z)D*B-uwBaAQBnkGb?c9xo{23+K&SFDsRlp{vfUafiwMxdFEJJveehuIchX4pZs47E z#Iw>WWrf?}f2n7A#TY^wc`n$3cp*epv@5<5PgiAeT?mGF0@c38LQJYqNPqqCm@sZR zoNg%`5_<*X68SJl1;MU7lpd95c!d?`r^04Js`_(QsdhE-SNJi>c%I?0FH|!jw(u2_ zb(JveX1@3)F}4?GA`^@T83kn!X_&}0kG8^0>r4Tz$$`x>Pwy_txO($H2&~Q%<7-pi zgLC|Q%k8fl12lghoK@b{ENspGi9aVKymUVD3| z$(FqM-t`II5EmHIqRM@-s2=x5dgyM>re8ZNt&Iy^qvYJ%eTF zM4q35X#1H=!lNaemtoLtjtTxNI{_uy4VSjE)v=+pu)^*%$qsAEVM~!qu-9yq>*c8V z0H3>HG#!57cbO`(Bn=zeZ$ysB)=1irk7i%nExl&Bch=?wSDdB!@BNeUg$;#6^xwJfuvSQ|Q}# zKZ|J;L@YXF(x$hFBw57DrlzOklzdsFm`KGKI{ad!cKb6kz7t!Do^kTz)5Nb}wb28W z9>lO~NVmzua2%QeX8L|d55t5TOX*m9)H_A7OTPS~U4oA1u?8 zsOgDoc37FICk2&}`>4?Q+DeH*`9v~=W~ey=HmTng6rfosWaZQALLbF@2rhC~hrilDd%)G`dAg9Igr@zJ(G>>;te(S&QcrY4*){9$4m^J^A=wBy0ef}o;V?z7Jrb2FaM@)&+^c{9BEV z+d}S#5MIl;gBjQT2YQ;1q^0v)4gvK4C1k1D+t@pJ*#C3L@{Rop)60n4f3aC-d7dA) zr7i~bV`mo95ou!%OU6d3SPq?FOv>>R#D|h;euIb850Yd3`NjuClbGn?*j6E2y@dWe zld-m6>{9zE$l+RAN=7ribnDA;Q>WC-s@jNZO{Zx)wlyL$h9@*{SeaI|4#x*Ohe_M(~kcEZS%RXu3a1dI8NJThYi!It` zlcMkqP+QxqVOCjgS>;k34bC1QNHii7N3fgupe8S;!kflf zi1Ny7>=!l8Msvn+7E<8qs659vrIc6QgO%GlIHbyTZH%lLG(F1jaLTPP_XoXgEN1w{ z4#Qq*i)NQ>tNHQNo@Xf3VYA#p7e%u5MMS|Z)Lh(ZH9k->dWiUY6cF=g*XLL!Jo6t% z^>Ett$br)&bT0xmJ_OF*S5=naA5)CdT@=L^dRPyjBXh6818=rJ1+k46JM;;OyI_FR zmXxU_E6U!V94xYoF0Fylp22;7;0&TK83DcA;COxkaOA=mJi)9*OtLE{b&mX@U9?xe2R+ z1BOHWq+{^C&eFp)q(EXZv_JUzACRtPa5+N#`+Layb4>N$JL$jXcXTvzwPg5f@BG&- z*FQe|ZPkkJ|L~8NYl)hS0;&=gU*EWEessCzLgCNQqiKw=u)?OuIPGTYhe&Z&Ccvr< z0Jp5zMaHlQ$1jv#x4|h;oJ#s^u|HHm>er7ZEK);U-P`9MyV=h<&pABD_jv}^AD$dl zf^1z6e?2G$8S`RLxlX#<@zV;m!i1j5=E^yB>`7bJkDA%A8)Rmta%uQWl^Z}} z2nr*rQq2_eAUWkR#lfY4wd=ZPvtnlyH06gdgvN2Mu0w-p-k<1rlBEjQWFndg9yBx0H++EE=Dh_}KR;R>54KC_U?Pq~% z#x_o134Ig$g50*=OxNN)QGwb1ZE1N88XBgk_)=%gwVFo8B6VpNX9A&_ONhO&eckNS z2Fx0ys^c*c=2sfO>Des5rA7x^n!V@~cK9~GhW1W#s4e|)t?WhLgXsW4oDE;As}_FC zP0TGt&oG!lG)fp0m_c+>G1m!Pd3K*cQDNk7>fESY&54gR>M@2gJREPxHFrxwp&tu{ z#l^+oR!Ei8<%RK*p~p+(2jPUqFYzM9WMSMs7at+jAA*mHLxrb#5A%t`L-#ZNB+&@{ zLi?jcqr8l7JmXrte!WYiR++w*m*_1zC}dYBV%`6n27cki1L*INi(7-X@muKd!{3J7 zzt)BQm%CCovb8cba(!1P`iIX%oDL?*?y0jR$==)&7AM9P0937pkTiio9Q$FbD&q1=R^9 zG&#uq#Srw)9?u{J%FS9g{DsWzT!*oFI(AH_b&*E%8iqiH@;?Yu(MlAE;_q)!_w4u5 zf&PKrNg6&Ue|tZj-}v2M2NLeT%t-#?c-~bYUCliIK41 z!tNWIW7W|u?4YSoVnRNPR<_e7{W*I3ynBHM?6bmqi?2Zz)jvRB)YD$4pDCsIoyR^m z%?05+F3+F~tbCVBWVZY)>?(lB47YsjjAh7W&jn(!H0(smehm&5&7;ktqt_n3r2o>=xZ|Hf;sLKh6u14 zwTayRChS*87XAIF1N(bL&BT7AV@>YbFMYwUx%t}m%CHwYulW}4FD6sm&7OpMM%u=N z6D0J{=1KB($DgP4h7JMe{%HQ?*dA z*rYEhPAkrT&fli)(>?5Uga;Q%! zD_i7ZC4%qi=Hh*!#)n;O2dlmNl?0-|IHvmTtxU1*XVODN_|munxB~b#b?= zrKWlrIv&}&yb1KZYFk}ULJu)DAh}3!YzLx}nm6B}{&)?vs$ctKpPaKKrNz@c>L~B{ zJpH)WxZ+}XS}*nhg{zKOB2vC8Utiw|NAhM)0e_HIP0Z&Z9V@E=gd85S;Dk8i>BtMsf zMw~E+Az@-#yklCmlsz~oG5bbmMWL~XK>MG!?T*{tj*ffCcq~mt#3dxnX`*GgbZrIW8#9d0O;+(0M;f*f>J zaycFHkt9LXOS@&sd89$6y|wrk`da`4zoGF!T)zbVFQvgRYj%&avK?~f=7-}MEG#Rx zQ=55RAZVX61+$4V^S(o$c>{CPdeN`Z`;K%xHl4>17!D)Vh(hhSzQnZe)iUrdSs1F~ zuFx^{+f^O70Qs{t%tq*LxG6Z5wi}i|4pP~2*!;9^U8Sy3@lt*`)zuE7#$w%ez{MX) zB3!M<75dTxcDl@rH&&Cb;|;l<3MV2|Ngir~!8cT(>(VeU=9i_ik*HCV?yW!3tYABq zhQP5!!vf@sJVv?5?fZ@_s+H_GgC@`=;c(kZS}=@ zie!5xdic+o7q&r{uR>kAui711=P&eYY0?|`;_&Y4B`5X~ejBi-M-p+d`j*^4#!8Yv zCOjrl*J30!C3y*gLAUk3U47nu6|>Uh5gL{pQ4DdEd#1F0FkTtskBz=qgK#3%M=4x` z71T2R@Jy!37-9f26i;PR0;TIcHY7+?Q;j3L*lXl#)Ik77OooH!E1nEI8r&`ojKF13 z0mz&oJgraQCo~V{J$YmndA~hwj!MqHdYWPiyB7z0whu zYbWf;@{1d0jUZrR>P%5o3owMK|fpW9HGjf zas|RLo0IR~^hoy!qGemi8rxLX=<|M( z{Ytwd#JJP5RX|9I4};IKQc_AQCB?4%Can+(;}<}nwk{WZ@0#WdcQG+O`Mgo>|3P;r zc`Ia>s;6V(T6Pl|l)k@@IR!QcovTOgL>9W&adMMOg*UIh%#>b5u8n#WAQQ>0AfT*o zMW#h9Gl8MoRll5X0amJO7Nk>!skJa#Ztt$Ru?E+0yZv?%U zVwq3!7kpDLlP*(VTc00KZ!|uLcut28inB^tN|sPmxwlv!l8LI^@P->S;_$`_;{2OL3VLi$j{myA4Yrxhn5G0+lO$vqv_`h5NYP> zpMkHjf--HV(xoQDOSn9{0ULF-JLRHk%)34_@E#+IhGH{!GQ9I4Jt)_FAI9%L%=+jr z(a~ZZd*!qnQ;ixDEe{AYa~Lv4C6mF*4N#bqa0f|o}k)}tTC&SPy z(!}`44Ith&fJ@8SkUP4o^sa=pS{0VudE@l>qNiEl5vZQO1BHf;$C+OU0HD)hDbB<~ zpfeXzql91SWXq|G;XtUBPpjefYN6L~Zie{jS_c86Y=JAf>eFFWF!DQ*K`O)bUwX_% zd#u)#<9p@6t#mb@d}8>Syp{?XVj8?4eQuSD5m6@dL6FrY47QMT#&YTW9K&k##7F)4e~TUF`gUsLXoAJZ&fgKl+o zOz~7UnF$!%fxX?>KYV*Pj?Wk^(=&5_f49pcN$Y!?s0F`Cn_kxgit9|_!;P@*cJyA%)^_~oXA zo}w!0RI1qFjvhhnVo?=YU;y$$W-EtOP6v9v$5PpAdt%{Io#P&sDytuuD#Xq*hI1pD zM<3vSyMitW%CAcAg)!#ePHg^%gzcZL_+9brzYUj^>A%LSH*HXbkY3rPTn>2G8e^JY zE9)cfoRNQkQYS|;gc%Yo6e@}y^|?37wdmekyQ`eM?F9#^AB$YA2uNo~3H7K`X)SN8 zWL#urd!oqG?tRF)_KBLiRIdtEuG?Xq2&aSkCUH z2~93THIZHNVV85HDJ9JPCqcCmY(lFix2eQ;}O zGcG9=hdB29a4_O0TE@*OlNkz{S=udbE3m`^Df;Ojz?!M@FoWrba34huBctdFWMT_7 zolV9Lzc;A+UWIc1fotR+-w29i+PK9P<|ePPw!;!?0?2E~M!lhp@FS`h62Jxi2;(d5 zYp~nzQRV*6*66<<{{0Vy>0dsjKOd5s!EdtrH#$<=c3W`ed@=13G)oi|cFPKIYc=C0 zE25fW;|ld0Tj1w&a}EoS;L9DzOPmL2p9Pmy$9R_}1^$P#L#2x|@{mNd+^}F-95OwORxYRIs4r1+ui5v zdwcZv1AZ{58l%QjYrS*Lxt=*4hFF>b*`7YV+dRLNxUASdg)vBEgX^K`C z_?S3Lq|=!n7Sl`Zowb0|MtlYYER==;ciWuGkI`1CtVOAlyGmJ>SXxVzuU7g(?}$~8n(;7m&V#J>S42v=3oFN07r}n> z%d)3iCTk#W-Y@lGv>NFDJ8@Vmrvc-RAM57{wuv{7 zxy?=eDV_VR<4x2x0`+Q-Vt8Ylo0yOA0O~CDq>)}Iur`YFStSd_2yj`R-v45>n;9iY zTZTF4iYELhaAa3@G*pksq1q9OpbFR`sk)S7k(rSQXj}Z7C&;Wk4l$ z5RXs=m)t`&s-j8n)A~}g!$NfNizKWHG50~Z&$sP6i(6z3%Ki~{k$hZc1MP*0%t71Q zfGINzTwCLeu>UBKKaP)B7Q3&g^pm8MR!mY?+F)Qmf0xWSzc^8XPb}mQ!QW+uS4<#a zR}>-B;=6H?<{l0at+K>E?g2^&H|3x{4BO`8xWuiV5g8M{HX`09%cK_hvEho52d+L% zaYO#dsgfEnF`@7Zs72}N$H;nwU8wl56sM1EvEu&QRgCE8Xj%GiFBF2$_LMDzHFRD= zsJe;xXwfk$^v~P|SBO-bO%W~xn{O+_`^>4>!y{s|g$)exTGFJ@rxbFJW*5Oolr0P0 z2s4zl;h_s9t;~|4gIxYGf8}HVM5ByHKAJ`7-;%OY|9u4cpF~dudmBq*OVfV=BDI}Y z)DYiH;!Q)&4#bR>B$atAqnT=CzH-J$CUK`PvNrDyLL+)b$HQyTr&1zQy-|%QQ!sdr z2(Mb!QDltVjUc=#W?v*Q_AoJqV!1t>?eny6awWb!J?vY5g8ofPh?qU%!F)Or6kx#G zr>m17A7us;`uTg9eR}Hg1}dS#U85N$O{S?zdV*ccxRcCk0rq;$1q{@&+qzTQx&AQQ zAofC3`PYju*{C4n;>^yu8b>fn(*rjHpc_4vPwXO=^%yO_P?hCEg=GqONN2>ZRq7;E zni`JQgrS&P<@|_a0`9}|lxxG_thkp2C{RI+<|*XZzRu(vpPk!CD}1K*xQLF#wzWhW zWWa@8vpCr?i<_m)Mccco9BqQS(mi@r#vMHCT8AgIy?BFt3~S8PR1JmEbZOKop=HM1 zb;6NGW&xKbpWe2HVudTM{gAb0QeT}%BkDo&7E%Jq+fKHSD5C$T@iBL0t5wddvPn9b z@{&%okvd?bPv_x`Iyb!3K3;GZopz+4?yZmbZevj1xZSPy|vE7v`v7W9mk6Y!bw5~(k!Ij)MQT0tf_M}%2&%Vvq z9*rk`A4HoPjI-78dr{tBJ}6G*7&ET~y?X{jNve4UB7z~&2tKFE;AyR#u!4ahMBs;r z3W#Fy45IX5Xj$E8;H9mceFIcFs))ToLGBK+J)Hc?4#<+=#x3~c(W^Q|LU-A1 z0|OX3v?CG3bjA>4%tjjfJ2)9PizfZoY#8n>%gIdP?K*2o`8(3|i>99+qoUF1nVI=} zAbcB@nguUCT3>@48AZ1#!F+(9!XAh3ns9eOy}5Ue4WH+Hl1&rQh^!-ADA}=~z`cL$RLlpb2Gg#4opuYGO!2ENs4oXML!bX!nNO?ta+G&tvEM|0$#@6J50 zfhal4{%*m{g2FfOAzl^I|9@&a{|oz2 ztt4wdCxGbtm6gd+HeYrf;j`_Wg2P15Nh?%20WPh83NCfR>Y!#~j1JH8*NERV@q`Il zkp$gwLgUi#*(}b z3uMERstyFK0#2FvBE>KqDT5OTTur5^1-I!kx?UGc^Hh{Ck{-F^CFNv=2|Ru<6i#MW z4e{~s=?xdgKGZFs1Qv)3Be|-i}bO-v9Z1)72)z*S*- z^l$OJZNG@Rc#k{muc=$I@9lzjns0-QqElnbz@evyBEw)up#yBxY6ETIx`9b(wc8+?O^ARm5SNu3-Y8B)u-=Stj(GMC6y>$MXS`BV$FMU(~lspGjE1e zrArbT(~@@Q7{APZpZIj~?=BtOzOdx@Q5~Mn#~z&HEazHZ$j=|2&HT*W+Ip$>p-Efy zY>j%c0v;N7q)S~P{F#k9MUpS7J^*dU-vZiyzfkpm&?M5Po~q7<=BEF1K>DXBrD7}p zF&_D$!z|%L5wzCbz z5Th1F9`L?p3NL>(Hb*YIy1P3Q(uFFHhMQDK@-CheOiEe@F!ACJfAl)j-8TFn*X`Md*;l0VBi; zFha5}yW~|NPYoYJvN=*8Ypm@)+|YYnDYJ%#>&GyVUfWNK&*bQ{N9`6R9|@8YItVK+ z8j+phmh!ER`uX5su-O_(^0u)vi+<7$_`=b7aXj2_Jq}gv5a`9FTiq?aa%x=xRIVx^QYsVkK(-a3Dn!iM1x_{=}$p> zH^cHSF_dJyT>aflz1DbVP*Yt){DvoZT4OkHPKAjN;GH0&_$BJXjiUvn;~3MiOpW9u zk*6=zas2%iWqLbv5^Z#Epu*C1hP?}qJO3ybCiIy4V=NSBVaVK|K>xiGv#6|&sqPH)zyzzguC;7jz}4PS*jdI7r_OKcG#2VT@S9`qj7F9NKo7B$$_hV-^t!AkN|@MglhdwBqq%-fe4?Auf;`o>dDf6VgzBc7%ggON@jBtEWK>LoGOkXKVM*i+iqhP zN_#oxAk&<^1!jV4pGxm4_mDDExoKam~A#|~@*Y!RtzBYy(YkdZ`7bO-4 zH#V*00xGy-^?UuuqpL28bKhd4>_fU;Tk@3jvSHiq7?r#O60+O+%vhV*%F5O9zNYZU zVnZ|3k@js{%G_XT-?#KZzM)2^v=%A3>-h7%MyhrbEa$KbFVFnrnuS8R*i!Ex>!g_g z!e@unmAwav-Wi9hv*Qc9bBIV*RfcU7(vuFgOA}*_>PTUar9}!O#6wncJ>gQNZOYL* zA5hV6D}t4iY=YrQ#T)xI4od|W6OUY`7EDNpbMj~7@4XxFFH}&2V~h0!esm+I%HI4AZkTM}a{>tZZKHr(??l*4hp8;NL`teCH(A`mXvzve50TJYtJo=S^3cDPI;TpzvRF z7_`H(_b*9BE$lZDO^;MCtJKZ|U0eXw8MCcTI-MEs9Q7`z}@gu-se>nb=S)m2@#+0d{dRC&XtsZDIu z>QIEK-F98ksL+||E0=>gRCwcPs8<|RMIpmf&w9U7|Ejm>V?%pk?A=mCV<4QU{H|it zx7vZNUWd2z-QW`n?S`pi@IXGZ zuIzSk>$hH?XJW;p4+!|8K5h5GUaCW}ngBRL5H`Mwf?ov5NSkj>ls!ICtBpngTO4Sm z+bWKm{B+bVWu63!$tw$7&b_e_;uXp3P}%zHyiI|nEiI(vt%h4kYF^RXV0n1F@ohxY zo6^@wc;G@_Cu&aq5C&8CIi1?|xkMC8X}cyynb0D;YPy%stvs>vgMB{KUhXq2XyJ%l zlmM;41c(O4Z**{w&u&})P@VW9%2Cv>h&qFo_A>Z=`U6n&KFS}}{ItfYD42&yjyhaGjxKi2G7B48^Gdf#so zZjmNmhE8z;$lajo^{T}cI1}<&OVRs%$5Y5D;X=8VxY1EQFFA2s#D&;HmCftsLs+6C zCX4%wX6$Uo>-u4N&zKB9E8;%K@h^!%54tX!AcV(2v^Spy#ew(qWbH>sN`~w;}-oUeMAP#2>^>*-QI{axrB zowq#^?Z4EVt85}bS+7wtoG+6g{&V27nyx}st46<9JvCUX8!FV9(MZY2NRjZ_dUInU za{RX+2D@BnQIthfk~*@g0gL9#^~%|Xw^U76|FB3XAfZ*J{Q#BcA3uLKB>uJbM(}Uv z4`)-GkLXW(r@ztMr2p#|%PPyey4cv;TYo@ONfTj18)H`+!;g0*6*sjrbuzROu{8g% z+WiZiRx1hqSps;|bGNi?S4Bi@stzDbwRHqXWhEr428&jOXT{tjly0x?u9tTEKDfcV z6?bI>WIFySQo$5Pur;HYR|ll`D2L6`-!yDMQ3Y+1%9bv)q3JJ2;Y}{p4i#=y5VP_(l7wDL#Hm0Bfva(PvB}a&HU*h3p--utbY}GM zGbfIK_@``;EMpCsy|?IDOFvO7Vt1$Nxu42PF1axD1-gMjc|ovHR9C@NM>{1L{NU^H zsCNQth=RF6jL*R>KoGkc2Np~rRAHk2yfDg+(FsP5r4~sC7NNtbWl=3*Qe*9!Qtgc> zJ2ejaFt&q*hYX14We@2hm*2OYm}Z)JhL%pc*zoZJ+D$(qibAcpawc<(PrcB zt*!4@iR8)Wxn9}4cI~H&$&FE5f#*-lIrC*~e*L1W4?1cRXSS@NfWcWhNvoiQM3N7_Hu%$e%j(V{Kdb2DT3}- z8H8mOXE`ehn$Sjmu(8VMCDX@0p_*tO$SWFf5XdZ()ueAXxA=+4lgCnV-C_J0>>5>x zwkAK2>hj-iDM|c4l##N8Ak%-Yp=?z}WgJyh{;%sMbF9lN-r)y3tdN0jvU8NEt4*zfF<~LU zW~{=DY!~tqM0%(>L2>7^=f%S2ln)d8P)L+ZxvsJ=$d8DQ$UGAA;y~d`U*<~XaR+(b z(IL$vIEDMMh$j&pW7Vd9mcpdk5!>QpWDbQ&VK5Fmci)6L_l~a)1UYZdhWL$i-#Z?e z5ZNbZxoqnKxr!DsXw66QY4^gbbp*e2avEXW*4_RJO3@uZAsb>f(kwjcmkP5q!E49F zkuOEZooi-@#fsLlli+B8Es2GO56g8p=t1gZj%w3f$A%1+uL#CF)kCu^N78hFF|$#c z(%U2aEjKfXT|Ap-sjP7rD%m&6vz)Z9=QBuua77p;HX|36H(XlW2dMcAs9Z{iLx%gMC}&<5>)v1ryj!~ z45*yIHbz`hPLXN&`}QrU4k3qRLcwWyMga%lmIu_1L(rB9RG(lF(Ps`^a!yf3?RaeZp|E1RG{X-+0(B;dLQl%?D+&GFvJ}xw1yJIQ7 z(sgvRN7F@&$COFgb%@&({q8sEv*8qhcy23yvqKXauC9hWZ{#e0<51n^w~7P5q$BEN zoApkv$6-TUjf0Ub9G?gYN5)2PtlqY?x_-_aW;bW}*w%vL?MBJ{TaoScF)6_1$INQ*!=@a4%PATC-_ zu>&5V(2q(ZHQmKjG9{(V0Y`5tUW>IBd8>^Xi76@a#dJ|C^;JFfxlm}HfL8pKUN)+jlm9MdjF4cdhZVT)D z^SA2gntXdLm#t`9d9CFcNmw3kOG9%Cy0f#Q(3OH?tfeAAr_WK$D3;gjG>$U!-RFWd zAPkll#0*~CGmEu7k!y6_>7%(QO~fO5;#O{@{3Ff=EJiqgI?9oM2f{|k^yZ&tYe<|@ z`0&wa=RT0mzh4Rc_fY`<1MvJi%<@lVSW)|fLqmNFTX!34BSft(%PT8eMXzU1z+_;m zEAAZ>iuq~*ke@qWrj;`r)&o3-`wXNdQhwY`ECiaX10wlHYz}x1$Ndi9b`QU!e4=Be zuEhj=zrc7*%|E+nd|hjF8equD5v7*OMKSLDh|=QTV;(1!AE0sELWty=XCN6M>zkJ- zI-QXqwM6tq2eALtMLWqSTv?-k@9&iG_WRLJ5Y@>#8)aDHk)jjR@n)bNLKR%Po4_%h z0fQivQ>659DTB`5|GdYTVHjri)P}H-aq1htMVR=zM+mW8r-;PP$?_`9vnF-Zn}*67 zSGE2SVBOh^-X4m~h~D3QY?|Lb%ivb@R6gFRnWLyq%Yjx#GrieirWY8h8J4-qgQF5Z zn1Ib!ec6b$xVGUROY`7tVB9N+6&5U+4qrjZ)e=z2PH)&VXu8(O6nDx+yH}gu2M5t0 zJXR$7zRqiY>13tc6H@r_1x&35`OQ zi15Ss?G@?bF4K68zs3e@DCJx%CC1VE1(rNF-GqQ$J!T<^>4IGy$dtNSjjIIYifWXA zn$_*4F8(1@yvA`WXI0ksmw!c=`n%EO2TF$cTl)3C0d_Um7`X&pT%0V8TwP56lSU|E zZ)0NWr2J1n{m-wFnzl2FDW+dDmrcWKKrwX;);BZ5@DdKJ&b^w6VAm@oKmPN&Lm1x2RiOlSD zlTtPj$4hgiV<0RzD#?ejP?hORVCyU4J;^Ajnk(qc;|^{rU!+%AFf%s6&v8}hTa*zN z05(I)@O{(zyke2fVk6Fuy3nv^(>_c$X6Y-^Y{Mq68D*j)7{#etnLBa1lX zqRj&q!kn>a)946CR;u|PkRB&gMs8^#s0u+VbSK#g5ju+dyoI!JipR4UtjbAMxt=BC zXC<0bSRuLxx4fD|eli~8!gB9UC?*WxdL@8XX?JbVv`t56+l`QI+1)UG% zl~IV^(rsbkxx~aZD`p)W(yMRY($#_=>!Q8}xVn0-#ZK}twwvu`D6?$f$?>(?PX6|Z z)}YuyLW+yhU@!`fh#|(um?1MtiYSV(L!v_BBc3Jp0WlV7xcigu5= z)SEJ1P?<6@k16lnAKeqeW2lYP!8r6-Rv7Q#&A)w|FUWztg zXdvLdhAn+~Z=!e{1+#7+!pi9;6o&A|dSxR)K|6!bMKJbb((>b__L21Fi(Cp!z{nc(M0 zxg#0Uk(AM7N`ER%q@22$4%JK=esaA|$pU<1UWy5~E2w>umsGlRu{3Ae30;1=RETuC zEEzFbmONPjS(YqWKeCx0*gKR5fQup80gI?Hp=0_M2cm`$xoz>51_Hj=Z}6$z;*eN( zP`oCPeV|=K@+I!69?0Q)pH=#n%rN%Yt)6>3pL=bJMeuy0DV23l50v*=|Ec|`)XkwG zc#7rj3+`X+AEZ2ZSlH=)ZElZczuxctx?PF*LPd^5zpLb5gzW`RA@tLNl4fu~WN*?P zQ%+>ZNZ;SOpb7Z!Vw_)vnug58>~bA1LQ8+2a(yA&;R~zZq_C~QiPIUiOeWd#d`XZd z(yM)4=HHfaAU&=k)#3bwtaqslXLHBllp^VO8#4eW2OIk zkoxbn=>JtsRnu1gVE^C9bs!Q!iN8w~S9eNEObgO9Q!aca4iU3}6|Kd{ARS_KVHP%* zqkT($`>cPiRh-b48s~dNaBTc8xY`*GO=PGvV7kcdoqKye#&x*rZFY0`<;NFD2k0-B z7Lu{_5KeUQ53G&k7@jlyrd+9Qf@PYN7Dwc*R$ijz2YlZ<3iD49HJGInm!v$^YO40C z?vlgu+nVmXN54wdWHgJ8tT>sDk*`y@r&=foZxz58u2p3*)60=!_OyZZUiWZZl?RFD)Q}WHmGQG=rWH}o%mo?U*(C{MNIA@s6XC&O2&-fz|m&8LK z>QM`Noz+BNItQzU*qPqvSkq+B52a#Nid@P4+*1~ma?044= z;e?-g9%Rb4SS)HxyOf&A8~4J(!nyJJ6xy4VV7hj_KF;;>m@eJ8;JUWRckji;-EVsq z&DTgo9)zB_`%41~%$XQ|;VQN<^R?9sKZoH9gBK=F@o`u9vw8h;hr>xFSdg|~iF4#} zF_b18lO}fby4i=!jz+)jJCdf-vy*gaM#pxDeCjM8cBZa)W6(x{^Zy|vDyJ8Hq-JB& zs9vecsyKnIvxQp&Lwa4;O&QI}k95>iB*0Ju?XuG*z`+{G-VY|1FS^AV&E5zDFqX>0 z%e}cN5g;f5S4zh~)IdBE3WJNzPVYXXt*5=H)iA0X-+@KfA7lzk;iTXB$_elpFrtff z92~4e8WMk`kEMC!mz&%qcL33E&@gvo5PU~e(_E9?VqQG9W;;bcB0>G~JN?-sZD;W4 zM@THDeykZ&mwsMkfWX`YsH{3X>kQJ7NggMcDfIVV$^PA=B7!U?b!EtH+c`uj3+TUw2nGO+EVTSbrh7PmD}c|yO^u>L$U2m1sX-~xlp0VL)TukR4L?JsO_wf;gYKE<{Cj)U2|Tt1@t}d( zj(4GxkK$Z84Vt~Sk=Y4`lMmU>eusWH=bP`p-yj3@d>9Cmk1~H91qC=1SX=4{kk+wI z3SE+3WASSe&4$(>NU|z1OHJy6xYEW^r?NjStGa-|RTNa#)Nrow+4^$J%c-ohver*y z8o)-V(mS`JfhZ|DlP}>;)Jm5S<>f3}_PL=7lSN}XH=kRfiTZ<~;))UIyPKGHq&h+FcO;cIK0Z$qwin(NL zt6CmIG0TCad}__oR?MNSufY`coMge6-iuU2GuOmtKr4k4r(tFmLUz>@XtzY$&pO6F zX{%U{tr>~3y&Ec~Av!*QxXR!AuTKUiMbtYf*Dp73QQ=(Gpj8kCRk29!9Z zYl9Pwjg$ae@dQj}fj0aVAUhrERXKZBD#JIGZx3E*D_h!}k;?lu+Zk`2mB6zh<4S#q zbS&Y$763@UZ~9E1%jlk+NFS$}S}zyvOs3&$!0=OCi}Gi-lUMReD^fq_zoMk?6VZqHsi#hlm zdh>-ZrDTXLvuvdbzA0g3E=1%+fke=fYYA7>5{oc`La46DdV&!@Yr&vD!dQr;IHSLl z>h$YE)5&CBu{RVV(;LVL!R*@b5N#uGBq+p5Lc@8anJObs8fpoVY{cawG%x{n@RP8} zGdSCrruGUsH~Mi=+D0BZWAS~uMIz_Y+!IEG$#eT1lN>p)mck(&?~EfyN@biJ0b326 zo_Yp1TuBT&Eujb*CK+p`2ps+e({gQgP%SZtCoN=mG2eFeJSbelC%tCHk%*r09A!U< zmk4rjqNd<){vhv6JDtK2@!=B1p(GJh1db`ZAy^q}f=n4JVni7mVX0>uVtxd^_{RLt zyxE_#6ZY&Wf1g!a0zj;6_19&v&dik+#U-;h2RL3L)Z`~4R+Hh>lWPcbVrvWevTS!7 zfU_*I(~Y5;p;+zOAH-GysDeUex{j?!NWxl(C$9ne&-J5YMv)(bLz#4aI|1e8f{ zaJ!41I-EbFG}DN$8$jfm#S*JVn#QfxSrxo5LKgy?o9OJ2a~ zJ;+kFFLr1utfB$ux>c$9o6rpvY~!=CjY^MqV&HOAMaQ{l3n64cl_jE`n6hIo2n;R~ zxu6LPPwL&?AAblJTYN99sE^L)|Ig0%uN5Zp|GM-2mtIl=|Lynq@RRzFIs4;=m)plm zhpE$F19!2Cw(^_+>Km~Ep-StRDiw!qYq}bE2=S~MZlw-Bci-?;qwG?;Tqfg4SpGYV zzLuET-2|k6^6t+@sL#~Em#ge`=ch@ocJp5^aZ~!ANUz(_USTqguJOPp>K^sPdd|_t z>iVf|m*4o^qhQ2j=X`%UTGDV;OE87DT>rR@T_~@eXkNd2hgE1%yA6%rHo6`dlx?%EOvDYvgXQH_(K%v zk<4Wy)3&4(X+1-&9|;%gZ(n%3Z@%V`rB|Ke#z&uhS8XXBfCq=CS>~l) zD^qlj(At)!7gt?VbW|4&kCH>vrEXKbD?3u1Db3?R-)!;7r2_Y@8`I)42Q9rYCFeiE z8XM;d`npya-&!d|Uyf}r`c_#NW3A(Ga^g~-+VoDeJSGt}|CD)pE6S#C&0iK=j3e@{ zm-Klf;`OCgPt-m5T1s>psEyQEK=oNxNJI!{khp~+A8Qw>(U>?0U1oGQIV2pZ%!8Du z#PCxb8-O_95NZxP>@-i>qrec11^IxKlx=OOD#Q~Gp*GJDRi2Eu@SW-uoof)0487G( zFrgT!X0ANCNT}YlEv#5RAJo?{f@2(CbxFj@yd-MDJ|f4!CGA5PNFcgavWiQnF{%zz z7smjynZ&WnGq!jKZLedewx>|5nN@0#DvDNw9qN|@3_eHCpOB&pNuE;tsiH+mi`e83 zjmZ3Ox0(JM8qxps*ARDuHH+h?jk%soGJ_@_puQ7p-41YZD4Y5_3V6gy`l8!*Xu3DC*@_U zems!-lVu!`0&cf>Bt&HdW*u9NT3i~9B8=Cg2re#=58U9EZG7;QdJ1L1q**)OVUYH7 z97;z%Kqggn$iW#{@Ks{u*)KsAS9|=yH7VuREyMiyms_2~@H*d`67M+51O(5-K{|?t zJ>A9e@aa&SS*wv6bekS&1Ekr&*nVncVZHw7#(2QSSOG`94fJN~(ODBYG*j@KqS#L4FJr8cAFWiq+B{@H5?$|58p zY1k?}Tc&g_i?y>F;|LSIqM)F{uXttZ#sxVHzm_e{-D^SmfZ*6ucnU{Go8#`(IoTca zs_yIWO1!2=RqN~b#?-;?PTb~iM@Ql8(qMMIlqeKc5svg9-o+v4(ACH*q>a)?@zYfK z(n8+@pMoA`KblV|N};fy2~sC7&$ zbTFgLt=O*pX|EDrF4bdC_N?a1nFP*B^89aNMkyomVZ_kxgj5NQWduP7(InE7XX3<}AsFd)>6Mrv#;(%)s(@hXDCs*_@qIub5${%f zD%1F;Se~Ot?{+zm^x&wyQHB6DN)nmseL;BZ9N8{$QS8HM5$DTLgS=wE@YnK|FY${4 zH@?u3ug>pq``Hr>jlKHC9hYv3iq-E1DQal4<)fhX)B3E5K zmsD&{*FUJqisJV{_CrDq=rUzae^gP!-&T>#|IKscKdQ*m%+lD<#q?j1xF64ye`o;^ zlr&?bqIHC2YliLMX%%Hn5!0WM$P8vf(yv%;hT10T*}RFazDw67J< z*CHIAjr-hYU+TE|zdyZ!3c%0+=)8<*#-_Q=+uazarcG1Ub+^F@cvqXw7}g9GqKP%! zs+|N;G28Zy7!Ygh)7E7#LV}3IyenN6={rv$*P1Li=+(OjU@mvh#>cU`*twT$KO;Q? zvhQ**awf9x9n7^oX5?CQk=3sB&ZJiokT>^B7^+RUC9+oobQbM>*??n8lj83eV6c&Yh05UeF&v#nac^l@E;k_?i@B+O!aB_EL-nPXkOLo&qAG z0fp~_+5P&5JVlOYQYtIF zgq00_nG4&^q?|@wQ=87uQx;4MvIBQVT{BJBvhJwIGFn2hUKr$Fqswd(nsw9p(V?9^ z-DUh6zI4*;e5V2@!YIXxxlP$!ggH_cqLZlzXfASHlS`#kTgDOf>JG1@eG!JMtvSN{ zO@AiLxj{pGuvZq!3Y*#7Tf^FyT+yCe?h9Fk>GK!6+@=2783#BV zC~<5f%=tVc31J>F*0tWUFmf3QmU6*BdRZZ179jf_N%;=GjHOwTX90066 z?07{>+#xl@l}e^LH9jHP1njf$;n7sIp%y@ZpNSEMRmLqtO_;PM(kCvViqJWP%;{UA z_%I&vOH)+ZQ5_T>h3v$hYA~U+a<~TX08l(#&&Y;oQ?E}Z7qOfwvgjMvFu**{`&bcMZot-U)_(DMwrMXBIm4<(kgrCPr^9Tl=3B3Il(M_C zqybSasg3)~903a#W%<_zD_jC=gHRY}6(p$p4*fsf;zV!CH1OjC=YIVBd#UhW8#sS_ zK4Dp9K_llsE5m=hjO_lozLb(=|Ce1kPqVK25E#3_?_e3x4+|ad7$%}Q4C!gI$@s^c znofGMT{q23u&xwr$4GL&kA(2+wI&;|tOWK}z6Vdg!@FNucT1O-UqI%sfrgWA@R&DK z!e}QLfS&>uJqE7Db|O;J#aL2v6YXb zJnd|bQXh_@0Ni)-LZBj9sZ6VN3tSkPa>iQ_?|@3q1@`%3LNSzvlYidL8|<0=GPa?2 zNcI$CnqehXyO3j8PAX5(saB_pw^qAvaueZWFFKH{1~l&8X~<0Ai}hT09>9Bmv7x>e&G`T4|wD(xT92 z0a(20`eTDBc*=byrMzN=qfgxV!SH5Oh298x-7lTqiIer?LwmO)5AQEOyf1&tweh^n za9nieMzFdWu}zefWB^OPH(nSv3OIY}=w{>5%icbB=q-t*ZC=iDW75s*=%q!}$X)B7 zo*;{hxO!r$+DDcq9-H{l6jsnt&x7^09UMnNd|JO(Vv+om=yS)Tf=yoX5!#8SG4&T`iYA~;J>7PYkWHI;2AUg; z?KC&JReU~B*LF!&xxVD z6q@<;W3pg2bxep{_m%Q49Oj;=ID#l=Q`67zH+in9u;i9G@KsVzQMD(Jn8o~vk~B-v z?Ivv){dIvmnf@erT2n4XUS;1xpAj(#Xn1T{_3ps8>GaW^PkZib)o5nTzoM>v_=SS1 zr*vQJw+0>c4cgnDNANmSRsWm7t6)VQHVdgQt97jwDuL3DtW=2aM58Kl{nHiroWxt`M z{=S85&XXh!{o5R9oiLL-bt=Bw!zGVF|LqPqV=5v;0GV+qe*GrA>G#8W=zT6XOQjsMnC!;6> zX%L_*1HCt3xA^2NK#~r75cp&Oq5*{-NM4JH3z`~GY=ET!uNGidi(K`&vIn~sy$X~r z53MoqJ`d046a5who&YHR7I=0ytJ-tkspQ)AqupyV9lbjj#iK2+R#S%(^pthG-%1LE-(> z1&;q2A=o~6GYF&mvO8LiJ4x>|L$G?53%V~JFI0~E>`xc^N6bggN3cgyPJ}E3esF#` z`cD`^(cJ@E$PQF303CRKP<~i`NPdKxPwGLH-3wdT4sItX^3ID)=*Pi(<%MQ=%O zjcuVj&^*Gl!1@FfN$1;Td(?lzUW{RSoSs15fDx@{815 z)t%)PzQpk$xu;LF39x!uNJ7CO$1@6Hijzo3(}xC zu?<|zHV0L55MRu1O*wNK#ITwj)EN52Ceeoxw`^(vLr(14Vf2&eqqQ+C;egI8y|nze zxp&j$fnzwVXRc1FzE9>2CQ#1LNdUn~^pV=&268Mnr)G_?i2Im1?LVkYjF`?6>BAld z3i?Y&tf4J^WuWM6or0T;d6Lbwu-oI{jOIAG+lKlHZ8`t@>n3)>C-3oFw+ z0XWYEiUJU$Odh%g?tzT(aG_Xs08Koea3jRg$P%|%C54ydov>&@bILVZdU%~Xzg~wb zS?(Q5$+Qqe(-4V{swc!$sit&J6h|F=EWgf7&zNB9e7OR5H>MYMhZ6?~kJS)@T7v>D zNw8wij^F$D_+@j{td)9yCN4j>@UbZhkAVr7g5$N@VlEp`cbJenNT3A!r6?vu%f+y2 zmOs0k&NYg49^?AvJ;0#qg=HrqL@t)Q!(8D0D10%Wou-%VB>v2r#o?kar4z0hbN!Fd z(;7g%8|DYp`HyP@|Jq!I?cYrcf1vTdIt2TF!vB(LtTv$Ebl#-A3J?6_5&NC9TW@+@>852H`u z#WKk#`c=8P{6~zD{zHLEEm>hCpmp*f((c#LDmwkWkezdnF?Fzn#y22C7vAURA6A9w z0%XuWf~MHF3m$MPaI7Di-bf&sRO+(&99k$q4$=!^ z`KRVZT6|-F>V!~Bn~)$)gn1I_L)~m_>69rzepD4ci=`V*{ypbavtB=EU{}})N{hae}=eR$I`7z3g ze(>lv_70{de?l1l!)Yl-Nmu%_AS$2oL5Z!E<_ZTma*fc}DKW%@;5;bkuDH`8no}TW z;rx$^a44@M$h*RVb_n$3t!})Fp;q?`KIbp|n;Rg>4!yOR?kj*98vW;kOrjZ-5^`~r zIcDRYaKJH0uG5mbUA3m~RsZm#6myZ;M!;Ck>KP!!921xAq7{!VVWV)U2|DByu1VXn z(T==CKSdd-Ea7OwsShhk+Sr*atU>fhA1<4rw=skRE1IXLy#oa*bNb=Hlt>WUS1=EH=N;f#Ta7lZ4uU4X0nkEbjza9Zt{)ow0}^s zlA)zmbV|lq{6jz^;5eT`kFv|)+f~%7c}O@rWca(9{NIo9pJRyXt22ryrXRhm_b-hnrR1mp z(b|#XJ8aZs^h!%X=sRJYXo1%io#x|(F};I&!!7xn|BtkHjPJDD(skcT#kOtRwry8z zTNT^3ZQ~!?ww+XL`(&-v-TUX;GHfzyt3+(WHCa=mQ7%DPTs zxR(qPvi#Ke3-Sz=R%Km4T}#b-20D?|xD#a%#@t_AO&XaBitJrH<1!3HL9N)y>{QTI zYH1Hmrocj~(^Hst_5Z@;pPPAMcN~8!P&N|t-uS?w6J%nM#O%zLe%=A``UOs za4dmF=Uy^t(O|F9V2@uZ2{ORlyWsGmYxK*_> zDDW(v1Ll*(Y@agbo3Hz?AQ=>`RB2=0CzUznQ)f)meqaJQJ*OEFs1gH`m|}OS1Pe(Gx?=X2BzapxQt6>)QqQpI0KbHAZaHYa>D=WR6N zUCY*6vrEjp)l)xIsi_N{zE%$3X{wZJGG2V3;xq%pZ`bQIOWv}eH+|tlV%mB*A|WGp z+j>xf?Y|rP!DM=ds(Oebe$>={^CRHkUetDwIpFL73cKW8nqX=h2rpkb5ZN6jKPCXp zHR+#cU$4vo9NrJ@9T@6Jq7XXtE+cXVYDQ{?4P(I3j*!pq28Dj~( zOTU!;8T<)HdRHsNNe%m;?y_evIKaG;(MybPQ%WH!oBe19qKHi~u}Sqtkz9*rG5^}( z040%?-SQd_C4j#FL7X^=I8M1*Sn&eUon$q}_Z{A3CU=t~9;0~|_3`>l%IYgSb>Uv_ zL70GG8(kPyX{4p?0JLgYT=I#;+X)JXo8sKS63${UYfGdmpoI8<(vL62nXJCO)V217 z>{d>kAQj8Grrk%+(ZC6g3+KIuv)k#KXFSLCMhPs&P2*z6-Ul9`3Mc;M0Ql>l4Dy(6 zIy~?1t^(2DQbL&jr$_tWB+tKR+o*Ugx%F?MGmYw>pf^^ukq0tHBSA5=TTNIvBB(%| z3s?Ob9@$wadeT;pM(nMs13`@Y`t!A*{F0iW&NpQ3mhI?yBKoM;=X2`|RL?LcuSEHC zESB$DD-ZmTKxkV)3)xbvT4$5XF*BjM%yq(>C4qciqI{ie^PAr2AVZ7wqn{r=)1CVS zdg|F@i7$Hk*=p-WeCW*Uc&`1iGMOxW>F7@CQYu&ynXT&XSn`>zD`f<=r9*f{b&{tE zPZRS88e<2z`$X-HLjyRHc^2yiotzvo^x1Uu^ET2rhrOlR?Rp&GPt`FP+^P2UN`iuw z-bzoX9~-DBhG=vB*4 z`b2~2sEf#FnpQ>6xj|Wb1*jPm)HKa_pnG`#(7qhtq9?`QS3K$8c9{OVO#R)9{O7FV zKV|Bqc&&ff@eF^ZrC3yPUb)I&>u2b-n2Mm!gY{xTdm-0TyCkKHJCZ(EAtMih@%iFO za?`xx%P#OI^p9S>JFMM5T)cqr!%zYJF1ju2*>SNlSVOojQe10&uxO&BM=&pUEmI$xcxpWTE31p>mJ<;#z&jcLlhoXS_xL83{CXH>opGebGvc*`)$V^xz zf96f_UiNlFdh>i$hR}*Rl&}o+{dTlz=`wtjEQzMpeLH!t-r3R=QUkA(6%BRlFr#o1AmTHFfU4&H4j^%eI%p@ zoUcC7@xF|5TQagL5^cgU#prFk|HCm!Y+{=L%L{mjFV$QZq(&&obAm^Imz4}seXlj= zEp5=jM9+kIyO--9zZC4ed&lYfm+t&uW$pj;OaGO%2i2k6uvJh#ZFL*C(i+Xz6oHDe z?$fO1NNI9e%LbV#5M|b9W-Lnc6Gn+~Rwig08uA3Z3ijSW!b^94ig@Xj8L`0^@kZ>u z1zkP8fgsC!Z`JCjf%|req?unOsjbjj99G)AsSC8` z6dM9N4>UZEF6W50hAqJn+Vr%$CRCAAk2cXPw^yFedM-?_g?1KHzFbZ0WUKuR$d2iTdx%c zOK=rt5mi=Kb1=uIWGb?>^H*1%w8cqUA0Hp%e_4(e>PLYKyW6wTNI+C#$Y$Kc{S3At zmC>9tjSJhy)Z!IiPpGMQVAmk4z>{)v-NUg4+?Wx=R}jX*H16{r!uxvf-!|#Qznbo!m{;YzlTY` zrr2}s!nxnX=T}Y7+&7tTGnNv2^kQ=FX>QisFqkYkQxf-z^sr!K9;ZJqX#9DVbyzy0 zU~oPXhc))8W;o5Uhhq8%Sd~A!{KNuoIISf8vgtV8B59)w)9hA@kK84;V}bo7rX?ME zRSwQWBJuPjERMKRVl)=WyGlbsfK%ksiVdtle=$G0sqLa0hG=l4C+tYp+G`-s5^tus z)@xyPQ6^xvx~S6nVl&{axs@yrW_VPC#<&(XE*WBt9(C$LI;{!<2umvVg`L|_vYbON zW53u?Ha6Wfr~x#}&X59X{ccuHLlyLlaGI`)q%>%-P|cCqFZz4+bn+#rhi7@RDCIy( zxs*)DL_gXZ<_``}i=mjOZcrZ)CGXqDakWB%C4saMM-p!7fi@8BB=_RSNws2qFNoQ+ zyFd`X5wi()(-2=t&Xa28`n(~2BGM+>@%QBhMi65s+KKly5OZhj6|%DmL7Ad)Gy-RZ z<1ny>(EmvSHgE}~?++JL%WclHNALJKFSH$JHhMDo@d7n3S^Ppt-*`jo{h>3vF~|4S zSAas55h0e=m3C~btw)@frrR)H{Fp@5RMbkH|0dYoR9OAPen!!w_nc&{DVFHAOlYDw zUYf3JDTy(H;{2^yUSROaT*5NEfEBg*%Zu`CcI=n5aRhDE!v;RtYqDbcgkb~Yy3k$E1+iz?jEXks`_opn z`@1#^c`qI%%9Kc$n(C!z%>Z#bmHd;#e6x=NS-0NSrFtNvV|?NgEH8m|^YYN3(yvP~m z&V?Px1~dd`!?0G0;6s+rN{nlO7Fru;PHjWh+aTh>auDSE?=L!?0Qc5kg&kL08a1>_ z^dMZbxw!~*Dzy>2%pKBxLw2CL)jMSX&0cujyd8SovK@|4@=_sX0VX4mb@WsDiXA6% zNKLyaf0y7RhK1cl$fbQ2$SD)EK1-C$pk<0cdNCNZO%wWUJxzR?kj<8MhGsDrjeb->xVKl|53wCvxSWC(6Jz zZ*Yc20NnLF7>13$0-oYE@y6IV@5D7iu~%Y_jZ!Tno+&%(;350ebr?DJ#*`gcKeA9T z!8rY-T}dRu#0dR02S&j=bNDpld+IJ3WAqMfu%}V#b7Q2`4MlLyC;&Pq5#eZ+y^Gus zn+&6C?Aj3nwQKZRDfrij_|7==FT-cfem3;3Njtp$Ck*eNYbgwgOVZYiff}Qgj<~4l zaq(R!=%=y5=M?m=!E2mgz7g^L5Ju8#v0%PY08n?5J#u#f!)UY2o)}~Gz$T-v?-k>F z`Ysz|b>EXw2Y620jX`GVAbOW#1lryckR|G?e*Od=cDV;4(ZWclXna>tnn2dOC*s$i z6;qAiO{8T-3L=rXqnSAH4q(I{Kj_bbXVS_Ycvr1(ua?F4WW;`Jiq|q7fisFZ1%kD* zmiQs6(x@TLlEI-$_B)qk@@52O1p7IX?sc-9V98go5!zN7Dpjz$Uns;LN}Yid@}kF6byT0ICfQwOOVLbLn&gZ1cmyfgd;->hir{As zs`Qd;dY(lW)xpxToIatAF(o(Obu-WynO$#h<>G667U!%*CV)d}T{_8LH**dO7N@0w z>yBT7TjK@p!la%3&2C{_W6LJ~s$DQOP5Her;is!a|m73ZNS2N9-tQPI4?9Sm<-AIa>1!`gG6 zf0(3PUV)Hx$DZu0s^3t0rP*oZ5N1W{I(n9X2YE7zsZ2zZlG_2Q)oJAI97ZIp@r_wP zVlSWj8>$7d$y0OTMmBjf zOIwhg+nkQd>opN&`??lzE?0A1Ld5+0t1;9)5|Xyh+p4nIJv!=jDWTM|Q>hWs2sk>- z(9z#0^;0PiX5~I_qu3fSl%snnw|wg)nwj0}<4{QBKIsy#z170;r%u&aWWVkc1Kqu3 zF}6XI=^2cJI-)!4T3FEUQj!zw3UcO8+=eKYeU+`=?mfkHIc$y-L|nLW=GbWN_;8L* zKJea25_bGkt|m5B=rs1n2LEe7&^;K`u~XbDCMxb+S){tg`74Zji#0(BL(AxRI+G!W z{gC}T2@xUkZ4!pUE=jVF_X7gr=jUHoc-Kwv>zn@S5-8hm?LbHdP=v}CWCNC1d+Cx+rzAm{b^?-kLfW!Z=>rPVS)yz+P2<|!VF;N`-pc#y^^mYcW#Y;b(c zyvy3o)c^Aq^NkE-zDdmM=(6vlZ>nl^;DVknTVOnrRU}S|&hr=o;~oRZ7W7Z0As=|y z+%li0cA=*DYo&~eXRedm;9WfGs9BT%pCs^HK4&N}BrtVQ)0VT@8m4WLV_uXgYogsr z-!omgrDXU?64&WQqT%Rb+0(WviC+BzU%dm(@;jr{+BQ(fyspfCSK#R}@-6#I!1v@Y zriGdHJ)957vYnVGq$_d#mVEn#icVdHYu5E?WcGAo1Q1hKUGl%f7wIrZ2v~q ze|~$==RSO{XDk0~$+xEUu22vC{JLloRIWugKy?*N>=8_~w*|ceT=9*g1gh(&hRO)m z80!Cum{2d8Z+6m2pjY9+W`nzG7YXAP*+Hd+}>R$tbzjz<8$ zCBQLQ-Fi3ehlx$+T%+_6r6vw$HgP#w!oUI(Mt{Cv;ZfF0e=tdHfLQQhD#Rv3yii*~ zLX_~@6owJwiERInLEi{_v2{@V_gm3)Rm#E=C6^_qKWKs&JQZ~4(Q%Ux;3E|MjP*tm zdU9iSuN8_!5?cmS%=JJ=*Z%uPldBzu2jD*@!R|8|6qtx-WIF`b9mFj?D1?@P2GALm zM5hqs&A6=)-~)8>M-dFmxY6g44i6cKQs$KkTcSw!-N_PMi!&?p=wi?AJT6P?#9fT$ z^($HRIll_MC1cWEob*N+UK=!im+6|DI{!BE0$@V>>8RLrUhAf0eJ@KSsv}qVb)?DG zpS5o$br=>G1h{Zo6R*IA=q347WoO{cGXddLbi`p!J*xaE9j!BK(pKZVu%hI&JgOQ{ z6rAQTCn`Ux+%o%GnAK%de6?C*mtAk|dL5U=FtY4^dhNMBaO-2ptd{~hdI@J~U~FWd z5<;QUzd9Tcq}8O#Gk1~Atq3zS410Q(f{T`kn$9lNt3stII?gABJQT#K`(x#27N9+7 z!n4(X=-BsSHld?Zfbf_HGhV&AGdD?farFQhm$H`r`|*XMl7q2}(QATAR`-H}$!Ox_ zrBSJ+)m9oS!cRsT6N1T5Rk2Bwa}M9ybj)(rVH#s$KFq6)+N-XczA2|EK5Fm`SNjxg zK3HL!aji_ISUTci%(#*5EG!AqzQxcJ_bk_NIUVhRb+{V0?x%aipk}hqe%eN z1=YXRcIda>1|xBjI*x-+vI`5;g$N<;km@T!q)oWCfw+pZYYn6#9w5G#04VCcnf-P> zLtx}A~jG;Wq#Ja?Ouy}1O4C+*SX53Oyaij}kyzY89 zcjyZ3B-o70Rfj`>%r#Ee!gC<(`|bTb<{TQ z$rMah|45O5G=@d}(yq|Hl#Wr;&ej2RjD`fc+ixpU^^Ds%IW}(_6KvsqKod1p9N(QL z9zLFtG}^XaATe>W`RW6A_oY3JC2)c|b&B;dS?PqUW{(n2IpvpUfR*rMAR82(7%o7{ zsHxJ(!~thb`KVU`88x~nZ6r<^oYsMJ$IYmM-6Mfw+YhF4&$JrR7=BlmE9h6W_q$eu zroe!Ww=n;w2FelPFn5TAt_XaIGW4!$Hf{Mz7zqm3wSM;2&;b#p%dX)>dsc}nupKs@ z>226wHa%I=yrTz7(!5nWm|nr7Xeii2osiXorfFUpz2J0_J5b(emaA*>0 zsL+SiP^5RHAftDAK@zyr_hy;9@^(0>sQ|d!s_?^4C~Fr8qKm+JJ3B8DxOG0 zdq)It%ZysI6Am)f^P#!g-qrmys4SqqCB;|^Te4JgI}9;;2+ECi36mpWIN~`fS1pee zo`XO)igO-=xvrqUnthgp&Oqi(5x^ioF)- zyFnn`P!RDK=UbUsWSSX)S$A)cX|r%BOGeoU9|ZE9lDew#6$B-8HL-|d0Q}TWSpy(9 z(9r6o%sJVoK2o(8a(OtX*HBaI2VVq;6d>9-M~_*P%KDd(tge{=O|G@^I^AHQ@s^Lw z{RVjVlzh6_^v_1^A2c=ouqpy6c7c!Nl_50Cy|B+csG9undaEGXOK!>u>H+urz~zBy zZiVf>DNxTZ=H)#C)O)O))nAC~gR`NQk2|Cdcd#tBJ1K{Cz+WOTmc&cLneby9FX5g1zy}XKC)XeBz$ZzP%~Xa}=WnKUIJF2NT|sc?TzeA7r> zrtl=8{cC+ho^OwgTl&t+)tGTt!z%PjJJ1K!o}M?pkN*5X z1Tp$fF>Lvp={hQpeRe(l?P};9FKg5b|HPSdiYnYlXpx#$yg&jL z9bgPb1*;9FhV3TIrWso^T)TyvbrLO+DCyxsJNfu1!dk6@{J3wbKn3v%3sMatSi#!_RiDv&Ijk<9l0>~g$%=j@aoTkxVBcK?CTfNs70-1bXf0-Aq z<>KlI;=Ez6(9eU$d)cPm|2y~;KSw-xEgMmzx-8&rPWlewn`**AKp%{_9v$%zNXx-CPTl8 z$8XfWstET2H~M*S)2QT7%$KO-aLkvRl=28G?MWp`+_!>_{J6z-4Wy*{$3ks}Z49O99)w$Rj}`}R#L1!a>P3S@ zVWrJ?J^FsWF3kBb3?qEGX~npB*WXSW6S|m+FwXK!EJP<{RAB0@f{jG1vGh)NGr9aQ za-)fx7Su&?JWTG{ww3WM{BMjhTo)^l3$oJ98aF7ZLQ;>e+3|yo03KY0ka%oQnzb|^ z_WDiVFITX2c3vR(^)j6vW%(|#tIKt03{r8Qn0y`C}ZDS4bUVJsk5I84{*OAvUVrwnmrmR6`bH zv%#%-Oe}DM^Kj3?;ffqMk4#$HU2LXt^<7wshrk5gDZ^L6l_q8)^;{IJ9C=60vi(n6_jUR zyT0GANzG6wQnP3v6xmTMY}Bv3|Jo!zHuKz8D_8r*2+RSqEVU7yzema`u`9rls!Pg)$Lx)wcoDDw#`62{me>M`z={`s0%8HHrsO; z7u|TGYbVn1JO8(7@iJmZ;8{8`Fpy4>kQ7k;=MZAvyYMeH#3gSH^}c0y&ZGGDs4ZwD z+mOc-!W1e`Sy8%nGCo}D1~oUyW=pf87U_n-{>e@j_Ou8>oe0JQ2v;h4Tabi^Au1zU zvqvW(g&SOyj!}`YC!$<8RrjQ>3j2AKFO%0Y%@LN14^s_vCyGa#lpF|D012MevaqK< zl)X1Wqg<~kR~T5=riyo&O7jh4>&5A@Cn6bF)r@ydJe3(K$s&@(ri!%1>;TQF=HrP8 z&Y3f@x9}Xd5r|wb6!OFn6v{+z1oF8)BU%f2=}-iUwqFYQ@vs!idEYql zvwXE42qiLb+OvF_9xpLS6dh*Y;o?}zSW z>@s<2za>g#-x>1x(3$%M3?%A4EQnO<^R+0*gIj_>D(PA3!u}-WyIX`mX-5))tx_$v zty*nx7~F7LhgL6jN64rrO69;?YR9i$La$g?zJY^&?hkOEEO~l3JYxq_6wsSdO6Xlf zY2K*=Bx&BkgL!FLMvlP)TGAYShxF0V$WC@5L%gZcl^EuP25Ik!12RTsU8Nfm3@|q$ ze+5#$q&xy5!@qtR-7;Zt4jE$)EgNkF+S0$YMxuB19pI8~8{N{7ZkycdkZv2^{v>@G z3*CoeL}Z^n@Ru(BojjV7=9M+-n)}zwyrsEnh{M_s3xC5EESs^NCk%!=WJ{zUgun&rn`U(#)6??1HBf7dI{u^y!ruyNwF&ib(AZK2zUO6M1UOS!M@)4XB}&6P34^7-biw+ zUZTcZam{BB%^`*ee6fBS3}|W9*$q| zcWqO@Q&*j(R5UW3<5cWlr!s%*g;Ix?j#y=5AC{v0Wbg-bH&v$QN|UO0*aO5pmp*YS zR_9}6tV^y$ppBf)1HRZ*R}9A5Glmqftm@~ExIsm)@>!273_O zHc;C_tHI+O+0b&)6}8_ zijF^>!7$nt@i&;FgJ_g-tq&)i4^0Ok{g^*p_QKw%7Y%3nCo#BfG_L8PXrU1{^`b!@ z8vC{u;?pq^yEBbH&I-vJJv3;cG&B2m`E{{}5pgg3ew!1_x%pG>Y!^I}WyKK{E`?xv z^(e5}pCeZT;pER+a2qeIU+^JG)TMifh7Yk^fBX|EjH!dKQS!Ykl#TUwb;Pg#FLi{H zlY_Co_5W)93Rye;W9{=l)f(RvZ#!qFe|`CH-9ObcM0*Gn-zE+NG_Chq}^FEX6zRhT>y3G*xl zCXS;mPwyl9D~_YfkF%WZufJwua@J;w^>nxyigH=90o)VR{SD&pxAcxlZlvmA*^N3{ zu!!6|4gvxb6DGr^)eusMBh;g-OnoHQRC);GH(q(Uo448&+8pi`{7f{Kl8%C?L1}6; zaZQeWDHQW{lF<~Mgys-jGtrQ)wCGmj5F7^w9r-k-cWKlZ^)+k$v1c0i#T?&*>$i<`O(DVg7Z z2j_9d-zTAkC+#1jd0~zpNd7>qnByU0w9=tiB)gjau;R!vv{sB8?&VlL3ZZLKs# z{fTB8jY8IEP5EY7$FC3#U5FB_HQ9&?lhL?wr;N)=-d$aSM3Q;usQMZXH!Jrnk;BRh zSG-(o-H!PFby+~9&DTmRuTzg?AApja&N$mMal73iR@aii!ub}-ZV;^5SCn9f( z1`E4i9RddrE47v6Js%a}1(2p-U>TgLd|o?l^}VLP9p`1ZLUyZ)gRsQ7=~U>YA(fB8 zgcmt#Yoa<$)y_XH2j|INc0VZ4u!I3?r#j9w)kQqkR!?2l)bubt> z3>`glXwLTriDHJFth<@fALz?<7)Q=ly;2OB10tmJ44Hkv2@<4qOlbzUkO@-Kv`p?Q z1sd*#9X&>WGO!9;-KU2+plIb^Nf%;tVv zG44cvVX#G2FENITsuf0JiK;b1Zyzg;lVj*u8;|_zVwD_XU8-MlKvjVr*@<)V5gOY~ZtXq^Y8LkDi@C%9h{x^`)2>#p@Gm3&;2X$IT}{K`a72Q@7`Wu|otq zqk7EaaxVh4&!^c}Zb(pQo1A@lxm}`c=XZDm-Tg1kftwTOxGfMb&EAl1y?#R2xTdFa z8*wiuPUSDnULaml`Qto0I8hnCwooFK=^&D9KFBIY>WyN#%1>YK!aC7+bo)6#Ho9n-|yWsu5xPkw5!FH;dYkhMEy}{z4(;~6z*=cE1t0dG3o14Q`gZNp1 z@^j5<*XdgW>-7Ccg=a6DT;?w;HeK5+tz`Vc@y!&jB7^xc-h^E6)EvEqJ85JhH-tTz`kRzOEL3wM z{KC`_6N?4n7n&h+kj=o^f-ra5+~jUtn*vKwG<^aPD@181Q$P`Uu5UU!lU9j*9QrqC zpaEHdP$-+SYFvme>%7ocdwl%i*9FLT0isf!p%Y!>RxD|J-k(1%qFD88`hznI73Gk_+EFrl`l zwJ;b*wOHP#wnlw=@i4V}n!wqm6VO}_d0hW7WI}3Aki=AtwGrcpB%e`#C@EDT!IZ%1 zzN8=;46-5bl-w#OA3={$A-sXVCyL-qxD@`4rZqu06L}T^76uksh%kenCC`@-79Rjb zm?UHk2Z#(*5wgyft*|)W*`mzM9CnzSvN81rz}o31Wn)N@+2tZzBP5eIDZiLn;Pa9Qr<`rtF#+Rb4h%?Z9)yU|8i+4Wv<3Zs}x*(74Jli7;Frgzc3XfpL$f5^?YJWo}zjJw8(8dK7^3W=t(y6IrCa5zLEGVb33oX3VIXt1U{S z{k}+40D{7ZjGb7Q2}SqX%1*pbik)1CsDQx;YDB%$7eS=GL1GATnXC}tX++)M$w+CB z$5yHhJ@!qHFoX#PggS24qPY_G4u+z&=Q-LZM!dDs1H>g)K$ZGnBOPvh1GB`X%m(dg zW$hS-1_Kb+V)yp+A@o0y|Hxgqi3@_^#??lgx$H~OX2-+#&Lciv=VrMH3Zmhr)WVhg z2K*cbu%Gn1WZvdsnR=~6K%>RH&h+Pa+{(p3l)jx!bE>8C@*S6q-JeMQ!gmEszDr$xNi;=^%Hfa4~gme`Gr&qa_Qe1?`zEL z;ZH@of1dce0i|%j+h(i_lwr=n6GmGYB-TIW+UmCu>ea7Cdh8QIqmm#K5GR_+v;5f< zF*cJMKOC>pziMcEItBV5VRzhcsWbD9Mwnqiu;})KB+f(sTq{O!J^#$k=s5z?3!CaEv$M&>(IJTb>4LJjv4BfMcT~gCk-(P86>}Ia{+VDFLHYgY+VsW* zl`guVITu#zw57oPR?E!;Thn0AoGuLk<aino{ODYzxS>fi-_3j|* z6ESB&5|HW3&2*w?i=8-oWK{#DLzwH&C02$(Elr)6e+FSe4B#uWU$vcQpDO>nzc3}+r^_IK@j7kC@RW-!z2q);ZNs>G!WIM zIO~^DUNF6X;L5j(d;NtMgnl%KScD+>tp8_XVwI@@?d$#F0?Ze33Azx*2-*lH(=aq+ za2Z;{v0Hbe21(tuuppcMm|HnZh5!Sx`AniWwvMMPP}%bXS7bDK9@Q`Z9)4lt@lh#Q zTdR~4Zb0htu3Ekij@-2et`&uHxT)D~W_6b*xHVw|pS5iRS7PJgy?OCo(EQ07mt0NV zg{_v=#l?~t;lb6aS~x-!iB~OqT0XsLCyg7qdN~81PBsoqXu&Jz$$ZI;u8@ZYOi;$D zg5r>CQa+3?Q8n~l^0s?cF%KK3D4L0L>U88ACdEE2Z$7bcs%{p;wu#h4+5h`42TcU+ zeZ~q}cH^+#y3-67TuY^dY48NOKSYW1mS44U?ecCcwrMjwdMAtM{S^B04eSY5!>Kp> zs#Nxg@A+O93(2-5J;<*@LpwS$S{RjrxB=jMMxouSXp}skIy}jYO4tyZ1Puuo%(Zr- z@gpImp2jl*A633oWaco9AUACwE_4UPb?QXWa*i}Gqv`V3vzf6Sdc zaP_wZb8Mh5w!n+UzrVUpbo2PXuq%ikXuMF3*>@12|KbU*^M3>>+LzbD>W}%U@(%is zA%aR+aqH*z5aH}^hX~YvBV2@Rt?e9)9UcGm6!2eh6{TXSv@VLw1Jw*7DAPwoViON~ z+n0T`ILWh4z5eCH@o75W_!u*#p*g)VWM5GDApk=@#sIy7W>SW8{=$+ zTLw(iOV!WR$BS*1b5x&v>C&m5a62v^&<0@Z`GZ3rab}Ep2QW#;8*H-Pi{@nnVq0WU z)&%p4w9np;3)m52lXL%Sfx%60fzD}}OrX0@X*1!}w72{qMhm9$TbjE_SFLrLraI2v zHtyPDK%MAhJ3zJ(Q0(a%wLyrKE(uH)?VE$|jc z!Ijc|{yKv;g`Q+LKM;;YS_(i+K(R{%kwT&!XQ$FPj94v^sxQw5dNBp5vL|hqK}b-d zbQ1MQ?E;!gouc>~W^ajd1J?E^K3<4(Zr4fI!h*kagpBAj z3Y7QNhB&HoFo>jT8V{O-=5g2YaU$q&LNt*x-`oNUcjN0?x5mkQErmkdvk41($@B1> z@ji0Z0=ZQ{sugFkXhianqumEX4LK6OL=V{&g_yo_2gm@D^d`*zOkMf<$G4?5Yz`HB zj3-cip&sfuBy#K(dl!703JB7(B04TPx{x9s3k{Ytz&*e|F$f`KQ))Zstq%s@DoUl}0 zm>_75xw&T<^VxAYp{bW6Q-1{Se&76fLwSiYfSd=QRI=H%lYuT~6^1g1P$8w2`Q$r< z9)bP96TN8NHc%j-3tIvUB*)tuR!nAp4_GiERerw*9fD6b{Kjbuak~fLtPLdG7`}Vd zW`e83kRbW1!gGlwb*%RP0ljQmiELRJ0Leh2WM-$KnKn#&BDb`h^V10v&nC~^+jLCMUj}ZQ&`G<3 z#BIIsp~5Zk(7hw7ishQpc*`YZ!}sb|1{MyYF(-|eXGpKiLT1f+Xam@TR>ew;LzJAf zre+P9S&C`xw9_={eMW#GKFtnd$mq>+>+w;Pb1&OyZcZV`?DY;SNXYj1BZIC~*D;VA z7qX=NX7Ub-YsQ;6!`?a&jU_4)L0v*26SYK_!E|y*$B?}5<+3ei$mqCAaNb|E8A(1L zIw7CRCMWc0!Iwg3-8+wMt!8WPL=7L&TK;+46h~3krpwKg$tU52Y|_io7^6jM7*ci^ z60Qa_o%&1BmeiG%7YR7q6UL#L2s82nehs+~dxht0u>Cs}8@)GCfkR(EQl7956$g1H%0dmgP=r#G_VlTOZ^Xlg z?x@?{yO;-?uER-vjAjO8BpM2&-#11tp>W8sY6}pH$i9~b0v#CUi<4e1-EO^ zJmbifix2+HnMHtGf}eC@q){IntHA_q==U6vSM{UJmO9dV#6q=1ABmP6VKRqVw4>z=uUS3+DU0UH=<{?Z2ifF#eBI@Be#vpOkpnVL1c?DR)153 z&FaZ!YxmLC{89Gf@|ErO58>--G+I!bUAz9TY=P+xb^ioNil{F}bwA5VZtq48C$QJg>;uy^AgT{q5S;d(c>$$pdM0p)7a35m;DT>QUERR=UY85uh1=EGW5R)eCdf|7Iv4I3`?OALh+Bi z=CZPNf&NY3Sm~5VhO7h68RyeNgAy17`~INYD2a^2X6Ilqs$k#M0U%uKfGH(E(2EZ! z`H{EDCYF+=Pc?ro3$@j9Q{pHkVr|pXS!O;PBD=)(YS2*sn??cG2AsQXcCY}?+YxzZ zS0Gl5PLTT*p4AbGn?00Uo%(hMfx%JA#I2_QZ2WiX5E1OY+r%!dD#!En0`!@Q+mJq_ z0#l`ZqSh|GVX%gkU8>MTfCTr=4sW(6eGL0gHSO^^HIC)`7U80KWh3vl-qgW4+u+Z; zJ`pi~pWNV^06i2f72uI(ACBAmA3kY2YZOt1{J2dTeF_cOn zUx`I354wS%%K3Y4`;T>TgFQ`{=b!&bV-3(K`A^@^D~-MvtNzb?3zh%zvHCA2A^$7S z{TCyUgnyP)!Cx|&sfD0G6cl+dG6dE*WP>zd_CNOW^919<2@%TJw1tOs{1gnpu7djw z3F7eWdw<$Z-r<{M+9?t$Q|ga@@#*?7aaHK}ygZ&T`SNU_imyKq{ph!8Fg`DNJ12GL z!Wi9x>*MFkmE-w}gEr443m~TVm=(VRNa`|q^C>FkKF@hxv9cHHIf=ILPHh?Va>jNm#_e*Z?_$7+Fir-@kgIQlv>t7L7cpB^hC{P;O&3g3*>X77GBmC+k z4ch$SB$EaQ@_m%!m{LK9l;a+_BFY-9>eY4Hre%k9kuZL@zg)J>M24Ma?)YL_5Np>6 z9#&611F4kF!wEn1FbV<2;ffoUd#h;~=RrU%IkE5Bez`e_W~A8i&X|S^Suu8*f6z0g zrqG*}Scg^|#?ly?w*%;UEsHal=tvM^9eMQ}o&EnHw@Sna>UNB zv!U*uh%{j#olo>P{$v8k#^Kk{a|;Amc><+aSz55JdiiM~JH{bSHb*SD{v!ZGfmHeb zQBswC_k;h>0m$|LHvs=_(x&n+aygK>kkGY%xTrF)Z4tj9fP4pq(xOqbh=}QWFVLyX zehoOIs)g;>JI^V(O4<$B^ZAuMcZMQ@Ir=ch`snH;$2P}XmZJ;Xwzt;{WKW-e;N$&H zJ}`$hTkyKU42|JLYC1X#wWXJX!CEb}#}wB7P-5T#$@J4R3Pilj^I;|rS>D~Oq_uOB z3e*-ADZwFf#7h#{#3AA%K)|?atS=U&hHE3vZlQ`Xq@ndCsAC*sdihy13XPqD3b`6x z-$OETI$26!aX*I2CGKTI>p@+mZ)+|Gce7B#F56ZO*KLp6QJRka;{6>erOKY}n&dp9 z(Ri3HO~%Ecc4%Y{Pg&}Zr2O4xN;T3gBU9E)%fxCQ&-fz;Rag;I6+@z!A5Rs-wlQ1U z_hTG5aH~ep_N1AKEgELk?J=rE`qqAZq>N3~E>Zt(n#3=%?)gSzU`8Ns$meQy{JjDoA;|aS?3FvAKv^DX>!K5gb6S0-v8n?)|!M*U{s z;IwXDSsa)MHAGDbN0C~Ne$a@%S(RXG&btZRI# zUYPMK1Vu4rF%u-lhnTI_r<)4X&)8M+;0vH28m5d&l5P)V52wV<#Qkwr$(CZL8DiXvel~+v(W0ZM&mR zzMS(s^UibLn(3OE`l@!-{=M&g-51uquC=sChfPsITJm;L=v;SM%mTk2StPFsPlAiS z0K1ri@b5=Wp=UZpZZ7CAF>DZ|T_{_v)Cpe_($2|?{9rp)Z~%8H7ParZS6F08mK2AY z`@rkGh&B@-QXX384#D?Pfm~;BpR0%*G%5N;Y?l6Lhf#p~hzGqSm!IYtZ7tk)*7CsC zyS}A!tP#k@K2sg41QFQ?cTWqq#K=#4cI&O9J0zPsbKt6DpM2KB7(b1S%~6|BMl3DH z%Xo|FPQu~{)eCi1kcESEXtJOD{9{GFg*V^E;FG(bN1Yv;&ot~MB)@2QMe-={wb=28 zl^eP(KhR&-QWlP~p6;{V8vJ8jAo=69v@^3b|2M)B^S9IyU~43L!Iir4oSQO)2?nh? z(qJVJv@tv~XUrA188K7Wt++c|6&(!h_mA%?EagElQWJj8hZ%R*cpm(G`ddIMHPTAcu*Ha}j@Jyza;_Y`HX zP&18~=T3lGG-V;6kn5Qwn4c&z_39YY@elC)F`y&Io!oFG&gD&rIuq#l%fFQcMQrN< znCucq%^2fDVC-ii!on1 zi_~26;R~CxurRDN7Meg_Lj_?_27txMl7^^SXdo;MR!wyUEw4fBD|;vW03SCcr)#_+#+(4um_ zc#@wP)BgWi72)5ayOMTh_Wx*umAB+SXU=yt=%uV;B9v#C;aHojJoPC*wtLQ2!4pMh%U*XICETaE5k$Z zr$XpmE-EeG@>XPpE!wi?mim8Vd=1K-|)KxEV=o;jwGjJ2CrqjBbh z2ga7z^8)tg4g7_?p7i7_Jo81Z!9zyNdDDNroiAh5gab?(km#>yD+~ovwT3k1ZrM|&v ze{NBI*<6Dk$Y`17`tO~{j;gpN;Lp%H{3FIm^@p4PFE{OfAe?HJp9XLk-vPF9hNu1- zwf=*NF*!gLTBer5-AQae!dCMt-BNURrwz#_{bz$NUmrVtbM#*Xr%DCKIBofVi9g(T zGRHFzVoEvPZgO9}u6t*@x2O8P|K5}T67a+cP6^mxgdK2D6L7A(D*BORvUTAIR5`M? z_oi47Yt{_f5NQE8jDR{$QM(tN(=rPRw8DaC&R{lCl_E7m0qsW#m)&$n)fMnI$YMg1 z1#%LkW?C~0f*Mc+#W6-uRdZsQlhBZ%v=C!d1R}8sRvBxsc8=u)CW+(pr3Pwe!>_7N zO8LP-`AHKLspOhE6`h;S@E$WHrB-QP5g(NlR+VaH5Fc4e0~5P${RCCyJwEnOK2iwEYSUe$7FE?z{E0vpqst zgQ{F@wuHBgwzVpD$wWovwMN}Ay(I=+t%pj})i9#+^f6EtJyISY(v_uWknWb8qcTI2 zSyE6}HOi@vFv1QI}jEhmz6sQ{m9J>2%QK!1p94s zpSNNVmru2`8MJ<0rG0?36LEw(!#BHpp2!;gMU}?BCC%o-O(x4ys;-=?N;D-oAM4?0qs)LPz(03REJpsUQORd|5NjVpA`TZLHAd%MY)(&||b2;@z4MVj?7> zs4xz)-Ifq!BDpXQ(mZt$C6Vlqgph`i?}){s(?QeeTZ+HoU?l7UV3W}V+vA?ChOibE zaSoUC)$8cDO6)CF%?D7d$d!J@akV9vX%g(G+Qxn#lS3UQwpBDnqs550EhXIi`SXpL5)sgE@Btq{oJ$C_{7n?7w~g}hN$ zPv+V4w>F@bE=YgwM2kpKl*On%HYC33sq3clW|YUwl0Y%=&Yr_qN1UV^oFbF+-ZQ3M zi^N(4TPApi8({P!g3%bnct=Q2ObABWIcTO%P%~%IKnO-m&35-EpDB>=S{oVuyXwhDb&4aw*0bVHj zJvwx09U5mx{k+P}_?RFxb-=>yBl5fQGP0=I4DaJjj?t~OcWM3HFZaE!K#&sPSu@A=Xh zk`DBUKHE6kg7!5-4x)>v4?#AC^Ed1kOv}7eP2o?emIze*J4Vf)$k!-a?}wZ6|6Y=|1h)b>6A?g$}xpgWUa0=REI!PtlbYRv_!21I!T2pN5z} zso{&-89RA8xcq0*%v7^g#}-BTjwXc8wuUA}ohKU57{{(bL91m^4yuq3TBcxC&}G9W z+{SV~xB-RatI9h>R+*8%^_uV1Q7?@o&X0MP6Wup>~EQkM+e05*^c+gB9vzSUK0y zh-9cE6!ZuxKAB-2ujXA(ku7bqbd&LIF$5A|?M!>!kgJrgQFW~mI-Wr)tnn~iD{Bb2 zfsb~Fz*@D8Hd;}B$7zEpWr}`CN1cAgB!ny-+QJ)@@78RH4{vS_=Lx7ih(9W%`O=vWLxOr>*q{6z%g z6p?*QrNLvVP1i7L(pLPgta+5ji0#1hv12+o%E!X15Yv$tYt5~kltkySi2@F>0;}Ux z0U6GzT{HittPp*aX7D0KFezi;8$vjvl$3X69yeWhstU-^>=#2FKrNeB6!4`yI$!i`@9wo3DZvul4`pa_DA_z5I8ntVmGR%a)Wg((kS%XTKF zdb(OMSB6Z{u3*uO$ys87{YN0@nB-rkHc;7XAu+l zg+vq2lebb3{H2N%ds(_jPe8ut)Z-B;5uM@<{wCM^iy9Qkc6O{Mf25_~OCkI((y}S% zp_D0nW3DZMPf`c2Sz8nloGXtk`}UhGo&cZ9D3}6wE`vP3)N1IKIYtisHODgqwCi#! z%5#n0&Jv#u4smSpiXiSQ97cGo@jBYw?Y+l7D*Ws8m#YGTXOv}4Xqbe`c}!?_N)mo# zVixH6FN)LI-m!as>(!mI+hDEz1!(_2>lXeaXZ*MKqe?YfXDn5e?`%MHG;4z_vaXE_ zi)^%Cdy`Vig0$c)ZSp0jzvg3Xp)JQmnj~w|HN63Sgzhb!a;ylN-KXQfDMlU91(MWE zyA_Q)Tx~jM-Q8w*U!}fY`TD+t5kz`nAR`eNGNEn7ehnFLcSiEB-N?`YT&5S2X(ut&RxB4<6+LsDb%k11)pg6TzO||~;>KU$SE<5=r+XLe#6&7M zT&5I~v11`k&UpE`VIOTj4SQk|uXsv6w;dHvH@jF-O zk5%(gV!PU{CIyBM&DL*Q%CGO6$$A&CKeFGq1!6ZTFG#t~Q8kZx1uVhJ+G|+SHn%0x zI}4|zsj2oJ#Mb!tkoLbV9P|Me$vY~Ot@;^RvD)eshm+wWnD{BNR4wfy1e-mq7qfU5 zZ%%LYG8tPQaKJYv7637wE>m%5neb~j(rxC9+nyYj{OgoMq2^c_!1~xwe4Nz8jJpz# zbrA@L=U(h$SAh@y;VJd&dUQ5Ll1Azxif$JCK|G@u@0dl-8x5yX6O!gCFQPn&p4W^U zcmalCJE#Cl01PZMEIOtcCLLqP=rvZr=rva#Hf%Cx6+_3!HCmr4)QIaxC2A;KR!v3V zJ;S%R_qa$b?O*LCnlqec-fd}is*RU$xBD=)PbvN2RAP)uwdg;>zm(PjeM=!16UAux zw1gRm-OOHZ^-;gG^wfoacfCcIUd9vm3hBK=8J7NTjidbYoneyofoICHNqo|}bY8AL zADU$yGW2AMKHy|{Hu}zIc7+!!+6M{K2AJ<%?BUB#swdaR3V+B=We40VYDhyRAmqL^ z$PiP79=LT>eN3>W7*zdVC>ebayJubg6nrWUc=(|Qbr??2C>0^q5YW9Ekp!X9#2Wp= zn9d#~0C|)3-n57mjlrAJ2+&)m!&*vXptaA(XC(lD-oy*<8(sW`I@2cNC)rQL5u00a zy{8T1Q;Sd6CNx(-J{Yx~NDuON*J@4z`iRmS*+~%Mtys9)9LrojNKat+sXd;7kco7@ zLUSo3)5K2~26dO(bSSa~1MFbr;lRTM1#Adp1!3{0M|BxfAzT_%dI`G6548aCCo*KI zCdK%g6~T@YfX=sUD3=(j$>tm4Mts)oybMDnvWzDX{f~e%qf-Jg$1dx>g0HdgNTRGx zpc?}SsSXe@16zvc0@P(PaP1{66i^Cj0(23@{UrY74FT+wrs?lMaWpgfm&j>^hw&`+ z{oiH>HkG4qpin;k?kx(mS1ATR^F-7i^8~{m=CS|E6aOtoB>oQ(_X5^hMys1`*=cQT z1nHi1A_+wLFo?!q6K0f@j?Fe?LcU25h&)dqZ;HDb1zw6Voa5fiTgC>PoBDb{5!2)@ z;C)bpe5E=A#ewfK{1&R#?5axx<5*<-d@`y#+U96t>^j<}m)NXbZJh38G>0~0FlRQ? z=OBhZYrh>G_SBo$dJf{0<(a;MtXO}nk{^>CBZ(#d%+xitb5-<(h=vjm@C^pU!!mkd z5-A{@Elb1_5W5U@HE_g85@jQONQQ=qKv6Z)+PRndvG@+E$;mH&15J9vnx!`rPm%D- zz^{6I`rCjeZ3A}f7I=SV9RFNE5)!}+d=ca>QoYbL~> z;_S5L{p)>GceC@?#5n(lUMF}C$Wl3>y0Ks2b5>Fx5)}_^{ss~iZ~jI{#cCmTTcfy; zPc|A}bQ&U}4YUZHG=>_tWTS=*h9H#n5Rw-M2MMs340-I9L5bOkqVaNAnvjsK8M3rR zHUqHkPD~(Hnn-|=!FdU2Gza2W#?3htq@+UZT(Y<{WJ@&}=EjhkKur6%9HbwQ;<6iD zNU=H7b>x-$y=iYo`gY!k9@(~uZ+dZh3{s%ZR9LtzmP0VtmX#pyok&Tj&JZgr9GOH= zZze@a;>32AVm~JH0BRsW(i(v!d#$CxF2eZ%QrMaT9X&cNmg5!qq?=B=xJ*W7^GF4h z%chz|d`UGTJQv2XA+6$#duj5~FK-~Pbw@OYjT3OzV#7Ff>kpn) z{5WWYwCkn-Bt*Vz9t%f2krh&Tl8W(q01}{3Tm-0#kshZ=BSL{)J%NGLCM1n;OM}G_ zlni)ZPvfbfWoG9L>+-7Rt|T((M4|Jtq`}8G24{ZARjsuYHU&BUF{k20P&xWI>3fEZ zcZQ;$#Cr1BSWiPT9RQQ7d~$WeaWbg2bsexrgcBLMtv4~Nqnf?ksHGtlyz2*)^b!&$_R#sn^0pch40XpE#|MOCt^WObb(z>I}p*Ku*4*D#cBZl3J; z)FA-B?%rX&bWnq@-G_N8E6|m68`Sa!HQ~J1LUE6tiLy=8vXULNz25;v|-dDzE)JM z9X30nl8MX2Cf>0;V$H;+SipOu-9$qpQw5VQB(IKqUk$xL+jTanX_mH1)3K@BVM!d_ zR`c>?LN`l{rl&bznke(lL+8};gtn{2LOh^2VeEPWG`r7M3`>j08F+Q-^s!DW+@4?C za|P}hyXMY}?#L=8X2LY~L`p-Sjs|c|+1N@&)u}WlrmUr}$NoB?@R*;t<#$-&rLD=H zVRtc^9>moSfa)sDconsX>fR`3f;-TVJJ1@P8J$QQJ)0)#gs;YS!_kKBIq|=wvF#Yg z7B)xZTk|!&_SWJ0HaW6&alDO_J<{+Iqiv*nxBqSTzG9S*@FJkyqyGEr*7)Ri9&RxG zE+UolUP4r8`0|ng5GuQ&0IJLWkT9xob;V$4)Ui~RT%`e~h_Yi7rJ!I{nos>pH73QI zlCU5T8Btz5^;(d$FjWlYT7V=fu*{(9x?fBfDMy|Wn9CuqYAuHR^|*p!Bt<;NUR0?? z;D~=q7?uX>v9SM$BbhuCXOD@HAbOV4bYwiVm&anjQEJE3J_y+Bb%ww9b%ek7O@se$ z4`IJ-^Y0xw+k73p`?_Gi_E^cPnLX1-D9P|Cj|akK^wfq|rDZl%rlaLiV7HCI0zBk< zfOyIcAnh5S6?zypO9%8ir0BN}HVdh|j-5mJBAs-_>AB0c7y>PQQA0S=MzqjLa70Lb zSe3N8`A5-aJTn-)3s6>x52C~puM=prJ|xS*v5sam_G~l7sDifWSE%0ee8GSqY_Emo zwk^@GJ;1-kdN4&6cTj#iwax5JT_mBC*<0#rBKh9>>C6BN5ckOHO{C1oUy1%L@_kct zM^`bne}FP0v&RoH>m#QBvmbU>n=~-!_r^3=S1EGvG*5I7?<`3h#8>9HD%{|g-MI&= zI8E=_mgt;M>Yab+eI|9P0v|FkjONYi->3&p8A?opGGKM&SRJTjugQ6Uu9A}2U6ZtQ zQk!l+`3Y>8*HIiL7CI<(d!~a$;RwVXGG#U(&6tMBZr0yOBWJ`ET3w$5zJ?LtHWRUN z>oHfdrPRW*!X0oKi+LYWaP9fKgQP33{+%h5Ug_!FON$iDExFPXl?Z+_V+v~(YKMR? z9<^GGf!J>FoA$cE?woJFQd&mOce%+El&-PfGaGZvE|&btv_{e!pA$;GdTI5%rjsGq zvVT=`_vml6be|L!7{ou7p+7N{|KTO^-zs{g+P~_N?AkqPe6GL>Y#k_&f;+0@Fi~H}&~fGRxTpWp^uw+#Ap%W;H1B@Rh*m`mrk_+R8Z0B+F=6*0FHokiQOk1{6z*LkCJ=&uR8BLu(!T zbTfew7CBMQ+K>%GPEl&ehKE*2m<|+3IQysprOz<$ebbvB9fqAK0?q9JP_$MWoPqt$ z!(*#(@Rhsna?zSvD67^^K#+%>81j(9NGdh>P1KCmv0+B;%8ZC7N9HLcF9#iF6S}K~ z9g8Z)^i61LJmQ2BtWtH;VW2vR%6Wb`=9g>{Zoe6|rtC+J=Vn>LkK0+ZLgXDwYU@EK zMqc7Lo(l8vEQhUqkEs~U`rQ|oxa=LqSCICM+TX&(Bd+S+p8F( z$$fUdSin$y3B5{+Y=s+X-verJu-EA;Mze~1vRIWZrDGz7s24PMGt8rk;LVr&9k7Le z7&7-=z-nVOF@a*bF|7C0#2cdb*#WpQ9~lBMRxwsFxiGje+c4TNdtpDf;xQ{Xx;vq{ z#5bCcZr{l~+F^8xJo3o6K`%9-s(g=H0$D2(6ZQUvM2UHc&;aF4aG&ue~wasvPG*}ITAdr`n>QZ+%P&_v)w>fG&&m7FQ80-UlvuDOQid0Qbv4sgF%&WC?=B z1~m0{M-a|^hj1j^N+Z19$yKh;il-tMHQGWWSe*2V5zhL$1%P&Z>#7w1NYNSa!4T*T zHgu4jlx89h&E5S%Ct*~^5kjsa5~DUl?HMdBQo;c&J)o$gGD9xOUq=Og6A?zpQ@x9! zr{V~FN44TDI3QWd=HGxH9Fwpw$$!~bL4wI2wWrB178_?W8O_LZG{oT)$3r?Y=W>Q! zvwI7!%bCKwELbEj^v*gHyM&AG{kOA6dX(ERS}(v|z;x6t5f@Ib zqCNN+;U&62tlPBP>EJZmnbsfgy8Q|b`9G>pepo?!+&)q4Dih6~N&6ZVe?ys(rt4De zPTtS_8InKq!xspD|3*)Q)`;N+MvrP&BO#|6Z3g{fbno{M`kccXM?8F~AmoCWA@U_k zUGI_-pO$2&2jbr*RN}`=bt$Y?MPe@y8s6gOc-eZ*b6P>W{C~ZL+pzvnRr=g2(SrL^ z&i<3Lz&~>Ke?GZZsz3W8i=uqc73j8YNO4Nn8gM4C@b;D}OzH_WB-4UHL)*mX(iF8D z)(f8cY(a14{lKBx)l48upxXXx?D&9xn6Qg0x-d(}KR=pdXSVOUN^u{zvHR`(fb|3Q z$r`H&CgrqpnXr4Wa#@+4V5+@1i~f$iB+beWiQpWK;0oq6ZG?q62X|Uh04fMFSA<9= zUozJyO|0C`jUh-4#@on>W4_1VN<>x)!zZltRI9iYJ7PZttpes3G(}D*o{=qYFenP+ z1tiQFBAS(ojOdSKT(~;OWU4FEqEf5QgFvL%=&D_$!m4_2CGYm^Q%Zd~-Y+ywDt>v>91|vdgZVnNvrNc4WMkI7gqMULc z`(@A?adDbO*Xx8w5eKSI-(SARFJJ;@@u!Ju8}RFu*8G}^RN$4?Yw{jmm|O0|TX7jD zR9-a(%|?#NPKsa`?|KaYKS zz!$}f>ATS+qWb|8hNXB392`>Xc8^5FG^6}FCYfx)w#v3D6Cc*JcT*wf#>rnbr3`{u z&nYVJkt@fcp*5W>87zXAmPGUQ_fhn16KYy>oJ4|$pP=}au(7Z*Bc~gORPKg6cKn9Y zHHhi!GI8tr?($(q=4#Za0bz0C;$XHL8m}R)o+KN#IoOLBRWXIw$`ZdY;?Edx(>^CR zlvg1orfqHH5|`p8j8JEhV2w35kNg?{6VYiG*UX|T`_f`9K}1T}9t}Fq!bG35pUJl| zKg8P4qTKu{(VdYp_dv1>k9a_Y7OFvG6dF=Ubcy1a9AZk;K}03;B%%^lf}}{BCl;vR z?}SJ#Qh`z{)o+DpEwWC#i-%}^5;D=6^yWn+j(+`VwB4}Lhy*`*$5R~< zF1AG_HP5RwLup~{!X+9y1PlM|XvL|n))Zs4-NccFY29P_qzz`f#-jXr<-Yl>$G5Tp zo$GR(hj#VQA5}I$lUVde@pE_aUIP^(IvEuLAMEwU*$TzP?dD>Dz;Br8)3n08_@n~VofvJ)|x?bbv9r)2b-jQ1gS-GoF4;m`_@ zzi@gc#1C_-E{en1g2~LQIZ)-p43GN&L*)DA=#bh!rCvuQ&g27IjW_sAYtG7me+Mt zyNjXTJVum$6&HSob~6Ykt>dS3iaR8V9P$ChfAj=*3=3Rq_es8ybacc?wj+q?J`l_x zoJ{4YYEX$Z;1YCmRVTf^BbZ!y>miJQZ1K0(zHrT3+@pTzzv&~Ggf}*KFBOm2d&OSn z3e*Q9amZ)0$Ix9LUzzOyty(&KEvpoLN7cdZ_av`A5+WS!q{~&zsf`KmcVvyKhM)m@ zQR<#2u@Gj$(#wv-lG-lzJ2aekN663R_M0+?cGRhe*bC>NBe`C2)g~3~n4A?6&6sB) zwxo-umcmR!=rerPv1*4^48FK4y#PCwHrxK1$q+r*+2Hd+)@H%s3OvFvnC_!YNt#H! z%n?E6^fHz-O87>X)9wmNx{#2eC9hg)4*3%*WUn0N<6XAYG8csH?*3bHcQ=8Y^8m<+ zhu826TAgfV=6y~C2am#lNm0oBN3W|7GeJZ$qC@y0Ql#!Y9y{a3-&G7x$MDqrbMlD( zfB(f1!!?tj7cRrw@gDtvvPE$UAy@emXhR160wM5uNw!YGuf!BB{b z-TOhEU`8m%t!CuC)0o>}nhuKNe|z}gxCDeT(8{h+~^3- zW9TX5V0of3?k$i=N1E{IoV4wERdt9LksjqU#ih|+yX;|a=63iv~q z5lQfBda;x9-Q#H3GS#5Pl(QO$b$OGgcdN{U7OjezX>mAr=$aGG+63`YWoVr~Vj-pW zYC7%8;p4gfdfdu_L9mbc&-Q(5b_qSTY3kphyE0ryoZmy|baU7orv1{?OJCwPMJ&s6 zY$XRaRdp#@&X*hn`UK&4vEVH^Dt1Bu`B+}8ILZzc({}5aV5LGweWYG(iCymXBS$Y) zeBKX{IB>?v`)({$ed2>GdWYO((O7+%4(#Lto;s%#(PWt*CK0{a#vneb zEs(3?0gd=KTjRfc9fQ$b`WXxIVbEPHU|%s_92AEfF}RErTwItlL;?v%b511;QYwq0 zkTDEt3x$U)aE?B&6A2Aq4Av4r4QmW_zlYW53c!YC$Fw75=myN$a73;_W%O)-g2zg3 z(_Fgj;T$hsY`ylEY5o*xmNPn|E2LJN@>a2KvVrh}wD?H^211IxQzsejaFDyclz=ss zg;&LAGAlSp+RN!B9rVp$8mH8FR7ZSLW`WTzYLU_KvDDRMqDuoe9{*EfLt6~N`w@Wk zm7U-4O$7vjol^9rT!aTTZh`EX!;)&mjx72ffhERXJi2MkyTDJp(ge#OUMCMYk3^rL z)enM%4BJD<=oI;|a?R*6emQHM8p34l2;=1<` z9+^bTcq%@NAhm#g50mKU-*7adQQ#5OC#rA%M}Fm>l;{6(+y2{a{5R`a{p=H+{`z6t zKEk#JhA3qU)R-fXHanPC0{ZZ!P$);i0_gK8SJtl2s10fakbDKvwH4-n#oh%L7>Fdw zf5Q1)dFn4zfcULq(gx3V)ut5hgfrFqYJ5HQd1AcN`*lv=dBJ(n-y>+ia zw7HH)0&Wfp1+NnU{tI<#RGAH;^Juk+O_^*Ebxp%D*2HM>+r+EfHR%ONMWT@+Ea?n3 zwXy}wX0ve&+-YbHdJ7v%(yter6`7-}zu6drDSA^3u~9T>R??9Qctkb4MTt_8Y8Rrq z=^w>KN6Ca~83i5F)H((v`r|FTVbO5*T#hdhJ_|BzN`l4bOib7V-~BfYR?qo936>QVuH?loDj zkw&8)q8hU~7ey>_$H+ZGYX0z}?qakmS0=He?O{;es$xPBDB>!=?p7i^+CDOFQti}4 z%3532^WYLnJ77c+Z^)f9Xn$BrJj9FFhd`BwA>p{ivNontqJ>0vjtXoh1Ci}vDaAV) zR9S=Jbo1^!e-{cN%-0qAkTRuu8yZZVN~55=I!9GdKrr2Z0D2YGg#wbQMM|*PpA@=E z?bDm35V}g$A=Cft^M%kx|+KlODb$x3^g7N(AsY_>2A}ua_6bryt)y0skaC{pa}Gn9z*d&wvw$QJ0)wMSmUJK;dI}HXrElT zTI7jgyC2fyoQjiWDlQpc`vy9``4{Z@1KzA7W5{oK-`#tbycl&EHWqEMiUbyNautOk z8#4T~S;kG6P@AnjO`XB0;(SY(WM`@Y1N0LH$~F~A7*;lNs@gtq`rmIsuS`$(57cZ^6_SU%bALL{0ox495( z@f8T2%Y7shBz-3I@jg^)yLhPOwb>)YRBevUVd*yn@xdw;J%Xs#j`Z=bDeF`FF<}fa zy&f_HTv?TSD_%ThMj%;c~( z2T>nKsEAh$9*c5I>1hc8Te zOU&zt3fG8p7jXMFj*!tigFmuBiSrDk409aCvQxyf$up^pFE8a?S|j3VADCy6<0uSN zPVCu%7q=GdC?+&4tfq%MXqo2add1L{32zsR^E4mDcf_^#REl)186OI#4#3tpye~gJ}-b0hnJSGNXMfk zEFz;$2$e5D9zju3oOFnpjZ=;a^Mc!SKMQf6{06DCK_0v zE68`3yBN%OkUr3t1l{LeJEUEz)q+ruH&WIQ*e;3#s3UP`%@*`J{50!?n7X5Wy-2n} zxv199t71d+Rh!R@#V(K73(fW8?;=xl+r@oYJ<$>7(0MRb5sTYWtdCQWZYCw&AEC`S0%=Y1WQv5 z^1}`yT9ZR1GcP?|6|jnlGBtnOwLDX$Fsr1=>c;bIrUW5Q!-I3Jv3FIdLT78*SG!&> z=>59V;})K7xl$Y%>ToN%V#@oPdmF88K$$_L%H#4vX`vpKa;cwc=|L5jh6+861!bXv zL?ODYrYiHdk*Oq^!?vaEz`BA!=ddg|`SC1;IkdHDC{$Wn^e7B~6Ip30&8k*Zn_p!( zc{0_J0;?bGvreX88nC}7F?QAj`on!{gOL^|Yeh;MO4Kj}X>+&;K-JPYZFF!;o!e88 zIq_OUC`v^=#Z}s6(c{TLD62{lsZ80ZHta+T%r#3ZfQBk5X=#PwPJLhnpDTZ}WHGgjRWY$M za{&GfjM%<5X+fsH4%W8Gq7?O_LDMs>$OdzuL6v1WXj$#88k!!f!{VOcTre9V4k7># z)|279M-D-Z2jgKI9>J~Fotl~Cq)(9Fg_s3N8op{l*#>?w#5DvlB+kvO37r-^Cb1!eHBjou6M}#bT^4J} zs>!Sga3J0x>zxSHhHOT%BX&V-gAx=%$W3m{4CTOvb3ohgf`N&C0Xg2N=#C9l@-b8dZd~Wm)T{Ug`NvDGcX;qHXy~r>gwxX zOg}@9JX;@}sh!qFZGWuE*|9sF?JN%2GB?w%H#xRPt$ltuw~y2UwMj>9>@Bmh*bddr zFpmvhzCpM2cj&P&f!QGF`QyGJ-xw!5e8>Emc(9UF6XAR$zz=-ci>TL{)#(aSFWZw9 z_Q36!P~Cjzs$X+Nl$3n)DmAKxvqy=`BMPh6y^=-UviyVCE-AUOeRkKhSa2I1`%1q* z=S=z^I_hbC5IgE=c2GO&X?2i0>S=K>Jjww3`*sMvO~-kN zyiLbx$dpaTWeB}Z$4N-FO~*xuy-mki$dygUc8I?1x8o3e+i&|J+3U^SKmWqATUz1p zP(QKk!ap*VW&Tf400~nYhfni_e_P!DmuQl*sj;h*sgkLoiJ_5=>AxnC#JDvnV!^L~ zk0?8`P-7%_-l`*zG!eu5UKmACC^~Ef(11;Mvr&`YWn?q1Jp00&5WS}_uL|J{f^Zaq zwx8{5S@l_U>Z$Jse)bm|1Ie6f1s+t1%cs$$c3?})`M%+$NM}ErOc&9{)wVL?xbvrl z1oYV(;bNx--xDS2*IcAw_YOZ5*Q1g}5_Oo0K*f#HAln1IR;EQD&P&hp1cdU}Q-A*& z(M^45EflD?XQI~rs?H|6nAt9BR!>!@HALL_dlOm$zvrybw#3N?qc+PVZ^EkwrJ1qC zUIZ9Pn53YDpoXA`ARxbo0EASN3bu@~i3eKqs|Rv*o;yKvKG8K`82svv^61=Jp_}bW zxQ#=H{eo-Vk*SBUVzw6so4&!2NYKE@?-50@LoJ$QOvAgszI-=QGB~V9dq@_JmOZQ_ zuKl5_7?$Tmu$N*q?l?*Flv}IP3wcK^i*XUf>Ku`O*O7kS@27Ku$6UC;Et9x-$>0OR z97q`l1QK;CSu>Gf$N2k)rr#NSeK+&SI01m8%L1~=bH62Ip82nkfF3-pMh>hVl7z=4KGoalaFhAhWaf(gPv19C zg&{8CRhl)}Fw10prjo;QxV5ByLLxhp4H%xA5J6|1Z@!iK)Uqs7N>r(qz}FZt}PaZq|GwqFB)j^Rk6!?_+j;V%U!y zB|n%vKT3;Iq&XfoR2(8niJ~kZk&-SrR&dl52bboe+YXCD)WH@766MrgGRP@21ZUqj zu^P@NDX#kz#=`02Ny41;EKL+!CW_yH)!~om%;}sEB`*js`t6;~7+?nh6pht|Jj64I zL~1xa6(}n+3=COlY2tti`wMDFCcTo6$)1oVk;5b7?IiL_EK*U#yp3)KMyc!tb`(n)M7 ze0SIb-%=Dj*lV1^Ix&m56wdKoyi5A|-4iA@9jIUuKXN>aJ4H^z%a_LkS{( zeEFc*YiH8jwdgmo^}4!z@VTGuwj`p0w%ko@99Kf6#qS5Il+^ z&MR58YQ&K8aVH>JIm|-#)&VCJHYC`W+cize_Z-3>tfLn0iN+WWeoI-iGjM-&=jSq_ z*yt{%30>NI@7}z^g$^b<6XdAz7Ch(9#=(=6U!GJnY1Vgh|82YjCOqRy*pW-n)oD#+ zz27$dK$C{%)6yKwu&bOvZ467shdn{!>Zz82Br z32)~z@irgQ$kX!x>X2E|k9KgXqa(_2`?qKj5Eu4EUhZEnm|_8 ziZhBmzbNQWCC#8<(RIPdoiu!jD%|^#xo6l5dPz9t0jNUv0?Aj6x2RF=v6rwHPBzR* zgG>^Qbi7p>v|1Ss)^>uD7*$8Epp+vECXy$mtXoy_lpsViF+(}Ad0J61%OnTn=$K-W zkq7L*5~^)Zcqr^=EaLw$7A5}gV)4J=zJI3C|5;x_7(eT)%0-i_?dKYr1*&a%jn_^P zg+E%4Kas{g-$sUCn!I8k*z>Spgd<|D`d=ZyCIJVC{H&>%f2^sr|K}m_um5>LZOVB~1m(S{wnGrHkPvQL09aOd zk3&ucgm(TCL5Dq;%o6)_Hm+ARsi}%9EFpGZfP*Qc^{Ah*56&!wgp?VUw->)V@dMO@ zI#mF7B@_X+huO>i;qf(VtINl}@#ounU-TE~r<7cJZq>+rUBJEQT4UeXy_E)9pGK!8 z_oA)gYI&1GU)gK-oqELd0mih?t;7OHs&{-2y%oGfgloIUc4p;1a`5 zI64wmIJOjXHA?T%$Jl2Ee%R~H-r5G^;SHeoE3K;44omPDaszVRU$1I|W*&6nDDG$? zQ9wUM+k?shyc0&FA{o2uD=*{a695}0tJVaxr#Q>Lk&%p>8D2z6;XurGQWrU@nX2Nf zR}+=5?~O1P*@TL{FZdq4$uh9F466P_84Y%xgu8c<8~L*c z`Ni5snKD3#iN~@J;qZLx7K9@-y=y2{cHiZsSulHcS`DqV`(4L@r!UtD*1-a2$_eMl zBWe$Hh+yarM;M2k6Tqpr?Gd|28U;H9+2`O^+sP@d{0ozb)_Xo2b;{Agzn5Y}*ocX{ z@h9Emi_;`)r$w<8?264p&9t&4;qAaai)oUlIao3Nra``*?~qH?Bm`0jArrQ7f1wd82;GoioJH=wFYeJStAmPmP#NHSIEo0t zbfYG%B=U1|@$D_PJ(O2B<90Jpj#xV)+zVQA1O*ibDCo*C;&)jS3Ov*Y&RU2>H3u-q zrEjvraH`5u1~bBVsHn^wWCv*I5Vloy^0bcxo8yEx*~Hp5h?G#LhzeD8)t^v<<){%A zy3H-%Zj1&QlyRlevzFO~!L%|-G^9rCMAbDm8B+FO@|VYK}`k(?*H zbc0FFinK*9lhl1ub}(1Ik+thJbwNS6>l8)Ir7~Vz{Ph9p`cyV|(OYhe?HQ7`dvfQ> zi6eH;Z(%$|lD>?cK?8YlidozD;9}10!}R6}*$!O%#Hr2rdws?&&7txnyDAaGq9MwR zMkn+libR9#3<>e|droc;_%=p5tK@79LgT3+oQTZUjLegeeLiu-389iwd%9Y_N%y?7 z$_4yFAK8E1bd%Oars&UG?)pb9bMimkbPr=w2Nz3wyMNtr*O&>ZJ^_@VDciXMe#KYe zi?(($=pNU?^ldryh0EfTuf&dGaiy!xN(#_)pUSdQ9f1_0vjdslhu@EM0M9S)PoNF} zpdLPX6(cjyxIi-+S&Bu@G2!kx&Nu|JnJ|VH74R7!yg>C&&7c4PNIFADg$4s@1lcAYQ^xs^){!S(W&0a`N1yZ)@>&^E^0zRN z11I~PJU|kRP;n3${F;MH4?lO zpOMzlCS{B7OVnlch)_GrLm1@r_13fxr6ca;_XzyI&a@{?CFbMv#Jc~ut3mmPGgWZ1 zH~v&v{ht%4tNfT%uK)@!`(Q*$7A`E1m1rfi;$;_si2dSq36FlhI!VB9;%r z<_b8D8HP^@MMH8aaSS7+tGQ-$(ypW1>NpigLK zYcx(k!V$U3hJQk@lG-I@(o9R=QOaX~eRm(N{7N#tGp1i~DA)eNMxa|NEkW z8&^Xl-D>QkGe{#D?9f%bZlf7P?OCC{cc}2O^k^W z6eT0x_l`ycIg5nX->OZLb7=T{73aWp?1kSRsfem6)3(~*zzRdk;1YcLh!nsC#OrQX=Ywcgyst$q#wW-F?nVE|ae2oDKsg^il|{>@1``Vh6)z%qz> zRn`Q3U8pC!Y|fHVVA&L0u0JZVWZZEU0PE>GA*j*k-dYj)eo_jSwZw!M?j&yNoTzOMw~ z4H#Cm)hrU|b_X`RK#UtJzSc%p0flF*zXds*)^>!|RWNftJLrvez@KQL4yWL}Trnk( zBb&~g5ll&RfrL?mL{2Uxt11+#g0_+~wB|81I?yK~W1PU$5

_?i`|q*iJ8!l`+U(`0)L(T!%vj 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

-x`rJ=d(e@lh)JE7_ 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 literal 0 HcmV?d00001 diff --git a/thirdparty/IcePDF 6.2.2/bcprov-ext-jdk15on-1.54.jar b/thirdparty/IcePDF 6.2.2/bcprov-ext-jdk15on-1.54.jar new file mode 100755 index 0000000000000000000000000000000000000000..f31c1c1c453e8c75a0e71c2ddd259b09c87080fb GIT binary patch literal 3344961 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 Fb;=&AH`gQ5^Km>{F*%*cMDD=cU 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Ⓢ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

)J^Kj1gDkB5olR0F>56O>F> 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

1+iRtW`2i7yk~i5e@(+bW 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%0Ae94m5ie-|G`-8=& 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 QVLQww2I8p=&>0B-2YGgsNdN!< literal 0 HcmV?d00001 diff --git a/thirdparty/IcePDF 6.2.2/batik-svggen-1.6.jar b/thirdparty/IcePDF 6.2.2/batik-svggen-1.6.jar new file mode 100755 index 0000000000000000000000000000000000000000..819f2da07a4add1334ad37e333ddb38bae66bf9d GIT binary patch literal 164659 zcmb5W1C(UlvMt=jF59+k+qPYmW!u$d+qP}nwv8@#+35c3JLlZ--+SIW-?%Sx?94qz zM((|Ku9&gsToI89(jcHv-~M{!DMT>+W9MHlkYDezqAG&4l5%473SVX@-ypu8|89oz z-_2wNE>ajX{lzWW*e0lmYDZ`I?_qW(n!kAyHqqO*-ude zL1mm`-Z|bn0)11E{tiKJj2guFbwGx%?XOe*b7T?!HZst!PwgDd{xPWky9M;WEDY@p zjm-i7%`oBL4u$wX4UG()Ev){=9OM6H?&NA_2C)5aKT-U@orLpmz9nen?~5Q!not&!G-E^>5asTARJ0Eat3dVfLtG6~T0HT1D(}G@o zG$;qd0coi$adDD>KdWmiEJcnhvEf=^!?&E&Fp#$^n(k9%v z-XHWr?Sj8P8T|h86sY=wz&91@F!Q?#7#^=|K>S7#41aL+^&I)*GSN1xa>zr*zDN=b z{f0mv&@Q9w&H8IZlpW8}I0WCP0t)^R5wj6$!#*`ioby(`^A;2CEiGzx;w1~zt*E%U zlYRj`xvtwu0efC(qYPJy!HL4z-avp|Bexjy3}_L{lFYzILb?uZJ7I4esFZ~m@w}OK zTVk#|t6qt>#6nsFxiQVO(N!8-?!3M!Xj=3J4O^l<4fov0bs-A6BgD2f4Lp&6S3ST= zqp>L;gR#9B;=*1^x-=8IwIs-8xK;e^dpL>ib(BM!manpO#S&D!6+8eOJZ<;@u_sYM zH^dfjZ4;7h(jpgS_b|OFgaAQHFn5{TOIPMD3_Wj;!*(dL(;Q3Pq(9Kyqr{w?^Aanq zpfze_y|yA77*$NdN}OYa%Uf-O6oWdRaJXZk6+UOKOoKvB-(0eWzbg+MM^};X%|s6hYhu3*uZS*JV-9-klTJUNgnQ?OaC