private void uxProductListColumnHeader_Click(object sender, RoutedEventArgs e) { GridViewColumnHeader column = (sender as GridViewColumnHeader); string sortBy = column.Tag.ToString(); if (listViewSortCol != null) { AdornerLayer.GetAdornerLayer(listViewSortCol).Remove(listViewSortAdorner); uxProductList.Items.SortDescriptions.Clear(); } ListSortDirection newDir = ListSortDirection.Ascending; if (listViewSortCol == column && listViewSortAdorner.Direction == newDir) { newDir = ListSortDirection.Descending; } listViewSortCol = column; listViewSortAdorner = new SortAdorner(listViewSortCol, newDir); AdornerLayer.GetAdornerLayer(listViewSortCol).Add(listViewSortAdorner); uxProductList.Items.SortDescriptions.Add(new SortDescription(sortBy, newDir)); }
private void GridViewColumnHeader_Click(object sender, RoutedEventArgs e) { GridViewColumnHeader column = (sender as GridViewColumnHeader); //type sets from XAML representation to C# representation string sortBy = column.Tag.ToString(); //grabs the tag of column if (listViewSortCol != null) { AdornerLayer.GetAdornerLayer(listViewSortCol).Remove(listViewSortAdorner); lvUsers.Items.SortDescriptions.Clear(); } ListSortDirection newDir = ListSortDirection.Ascending; if (listViewSortCol == column && listViewSortAdorner.Direction == newDir) { newDir = ListSortDirection.Descending; } listViewSortCol = column; listViewSortAdorner = new SortAdorner(listViewSortCol, newDir); AdornerLayer.GetAdornerLayer(listViewSortCol).Add(listViewSortAdorner); lvUsers.Items.SortDescriptions.Add(new SortDescription(sortBy, newDir)); }
/// <summary> /// Kliknięcie kolumny headera - sortowanie /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void GridViewColumnSort(object sender, RoutedEventArgs e) { GridViewColumnHeader column = (sender as GridViewColumnHeader); string sortBy = column.Tag.ToString(); if (listViewSortCol != null) { AdornerLayer.GetAdornerLayer(listViewSortCol).Remove(listViewSortAdorner); NormalGameModeList.Items.SortDescriptions.Clear(); } ListSortDirection newDir = ListSortDirection.Ascending; if (listViewSortCol == column && listViewSortAdorner.Direction == newDir) { newDir = ListSortDirection.Descending; } listViewSortCol = column; listViewSortAdorner = new SortAdorner(listViewSortCol, newDir); AdornerLayer.GetAdornerLayer(listViewSortCol).Add(listViewSortAdorner); var item = ((FrameworkElement)e.OriginalSource).DataContext; switch (LobbyTab.SelectedIndex) { case 0: NormalGameModeList.Items.SortDescriptions.Clear(); NormalGameModeList.Items.SortDescriptions.Add(new SortDescription(sortBy, newDir)); break; case 1: TournamentGameModeList.Items.SortDescriptions.Clear(); TournamentGameModeList.Items.SortDescriptions.Add(new SortDescription(sortBy, newDir)); break; } }
/// <summary> /// Sorts the grid view column /// </summary> /// <param name="column"></param> private void SetSort(GridViewColumnHeader column) { try { if (column != null) { String field = column.Tag as String; // Clear the previous data. if (currentSortCol != null) { AdornerLayer.GetAdornerLayer(currentSortCol).Remove(currentAdorner); ReminderList.Items.SortDescriptions.Clear(); } ListSortDirection newDir = ListSortDirection.Ascending; if (currentSortCol == column && currentAdorner.Direction == newDir) { newDir = ListSortDirection.Descending; } currentSortCol = column; currentAdorner = new SortAdorner(currentSortCol, newDir); ReminderList.Items.SortDescriptions.Add(new SortDescription(field, newDir)); // Check to see if the adorner var Layer = AdornerLayer.GetAdornerLayer(currentSortCol); if (Layer != null) { Layer.Add(currentAdorner); } } } catch (Exception) { } }
private void columnSort(object sender, RoutedEventArgs e) { var vm = (MainViewModel)DataContext; GridViewColumnHeader column = sender as GridViewColumnHeader; string sortBy = column.Tag.ToString(); if (listViewSortCol != null) { AdornerLayer.GetAdornerLayer(listViewSortCol).Remove(listViewSortAdorner); lstWallets.Items.SortDescriptions.Clear(); } ListSortDirection newDir = ListSortDirection.Descending; if (listViewSortCol == column && listViewSortAdorner.Direction == newDir) { newDir = ListSortDirection.Ascending; } listViewSortCol = column; listViewSortAdorner = new SortAdorner(listViewSortCol, newDir); AdornerLayer.GetAdornerLayer(listViewSortCol).Add(listViewSortAdorner); List <Wallet> list = null; if (newDir == ListSortDirection.Ascending) { list = vm.WalletList.OrderBy(i => ReflectionHelper.GetPropertyValue(i, sortBy)).ToList <Wallet>(); } else { list = vm.WalletList.OrderByDescending(i => ReflectionHelper.GetPropertyValue(i, sortBy)).ToList <Wallet>(); } vm.SortBy = sortBy; vm.SortOrder = newDir; vm.WalletList = new ObservableCollection <Wallet>(list); }
public static void sortColumn(object sender, ListView listViewControl) { try { GridViewColumnHeader column = (sender as GridViewColumnHeader); string sortBy = column.Tag.ToString(); if (listViewSortCol != null) { AdornerLayer.GetAdornerLayer(listViewSortCol).Remove(listViewSortAdorner); listViewControl.Items.SortDescriptions.Clear(); } ListSortDirection newDir = ListSortDirection.Ascending; if (listViewSortCol == column && listViewSortAdorner.Direction == newDir) { newDir = ListSortDirection.Descending; } listViewSortCol = column; listViewSortAdorner = new SortAdorner(listViewSortCol, newDir); AdornerLayer.GetAdornerLayer(listViewSortCol).Add(listViewSortAdorner); listViewControl.Items.SortDescriptions.Add(new SortDescription(sortBy, newDir)); } catch (Autodesk.Civil.CivilException ex) { GH.errorBox(ex.ToString()); } catch (Autodesk.AutoCAD.Runtime.Exception ex) { GH.errorBox(ex.ToString()); } catch (System.Exception ee) { GH.errorBox(ee.ToString()); } }
private void ColumnHeader_Click(object sender, RoutedEventArgs e) { CollectionView view = (CollectionView)CollectionViewSource.GetDefaultView(uxGamesList.ItemsSource); GridViewColumnHeader column = (sender as GridViewColumnHeader); string sortBy = column.Tag.ToString(); if (listViewSortCol != null) { AdornerLayer.GetAdornerLayer(listViewSortCol).Remove(listViewSortAdorner); view.SortDescriptions.Clear(); } ListSortDirection newDir = ListSortDirection.Ascending; if (listViewSortCol == column && listViewSortAdorner.Direction == newDir) { newDir = ListSortDirection.Descending; } listViewSortCol = column; listViewSortAdorner = new SortAdorner(listViewSortCol, newDir); AdornerLayer.GetAdornerLayer(listViewSortCol).Add(listViewSortAdorner); view.SortDescriptions.Add(new SortDescription(sortBy, newDir)); }
private void GridViewColumnHeader_Click(object sender, RoutedEventArgs e) { var column = sender as GridViewColumnHeader; var sort_by = column.Tag.ToString(); var listview_files = WindowUtils.FindParent <ListView>(column); if (this.listview_sort_column != null) { AdornerLayer.GetAdornerLayer(this.listview_sort_column).Remove(this.listview_sort_adorner); listview_files.Items.SortDescriptions.Clear(); } ListSortDirection direction = ListSortDirection.Ascending; if (this.listview_sort_column == column && this.listview_sort_adorner.Direction == direction) { direction = ListSortDirection.Descending; } this.listview_sort_column = column; this.listview_sort_adorner = new SortAdorner(this.listview_sort_column, direction); AdornerLayer.GetAdornerLayer(this.listview_sort_column).Add(this.listview_sort_adorner); listview_files.Items.SortDescriptions.Add(new SortDescription(sort_by, direction)); }
private void Sort(object sender, RoutedEventArgs e) { ListView listview = sender as ListView; GridViewColumnHeader column = e.OriginalSource as GridViewColumnHeader; string sortBy = column.Tag.ToString(); if (listViewSortCol != null) { AdornerLayer.GetAdornerLayer(listViewSortCol).Remove(listViewSortAdorner); listview.Items.SortDescriptions.Clear(); } ListSortDirection newDir = ListSortDirection.Ascending; if (listViewSortCol == column && listViewSortAdorner.Direction == newDir) { newDir = ListSortDirection.Descending; } listViewSortCol = column; listViewSortAdorner = new SortAdorner(listViewSortCol, newDir); AdornerLayer.GetAdornerLayer(listViewSortCol).Add(listViewSortAdorner); listview.Items.SortDescriptions.Add(new SortDescription(sortBy, newDir)); }
public void lvColumnHeader_Click(object sender, RoutedEventArgs e) { GridViewColumnHeader column = (e.OriginalSource as GridViewColumnHeader); string sortBy = column.Tag.ToString(); if (listViewSortCol != null) { AdornerLayer.GetAdornerLayer(listViewSortCol).Remove(listViewSortAdorner); (sender as ListView).Items.SortDescriptions.Clear(); } ListSortDirection newDir = ListSortDirection.Ascending; if (listViewSortCol == column && listViewSortAdorner.Direction == newDir) { newDir = ListSortDirection.Descending; } listViewSortCol = column; listViewSortAdorner = new SortAdorner(listViewSortCol, newDir); AdornerLayer.GetAdornerLayer(listViewSortCol).Add(listViewSortAdorner); (sender as ListView).Items.SortDescriptions.Add(new SortDescription(sortBy, newDir)); e.Handled = true; }
private void GridViewColumnHeader_Click(object sender, RoutedEventArgs e) { SortAdorner.SortClick(sender, e, ref listViewSortCol, ref listViewSortAdorner, ref InventoryList); }
private void GridViewColumnHeaderClick(object sender, RoutedEventArgs e) { GridViewColumnHeader column = (sender as GridViewColumnHeader); sortingColumn = column; string sortBy = column.Tag.ToString(); if (listViewSortCol != null) { AdornerLayer.GetAdornerLayer(listViewSortCol).Remove(listViewSortAdorner); carList.Items.SortDescriptions.Clear(); } ListSortDirection newDir = ListSortDirection.Ascending; if (listViewSortCol == column && listViewSortAdorner.Direction == newDir) { newDir = ListSortDirection.Descending; } listViewSortCol = column; listViewSortAdorner = new SortAdorner(listViewSortCol, newDir); AdornerLayer.GetAdornerLayer(listViewSortCol).Add(listViewSortAdorner); CarComparator carComparator = new CarComparator(); var tempItems = items.ToArray(); if (sortBy == "carId") { if (newDir.ToString() == "Ascending") { Array.Sort(tempItems, carComparator.CompareCarsByIdAscending); } else { Array.Sort(tempItems, carComparator.CompareCarsByIdDescending); } } else if (sortBy == "registration") { if (newDir.ToString() == "Ascending") { Array.Sort(tempItems, carComparator.CompareCarsByRegistrationAscending); } else { Array.Sort(tempItems, carComparator.CompareCarsByRegistrationDescending); } } else if (sortBy == "carSupervisor") { if (newDir.ToString() == "Ascending") { Array.Sort(tempItems, carComparator.CompareCarsBySupervisorAscending); } else { Array.Sort(tempItems, carComparator.CompareCarsBySupervisorDescending); } } else if (sortBy == "saleDate") { if (newDir.ToString() == "Ascending") { Array.Sort(tempItems, carComparator.CompareCarsBySaleDateAscending); } else { Array.Sort(tempItems, carComparator.CompareCarsBySaleDateDescending); } } carList.ItemsSource = tempItems; carList.Items.Refresh(); CollectionView view = (CollectionView)CollectionViewSource.GetDefaultView(carList.ItemsSource); view.Filter += UserFilter; }
public void SortAdornerTest() { // for code coverage var sortAdorner = new SortAdorner(new ListView(), ListSortDirection.Ascending); }
private void GridViewColumnHeader_Click(object sender, RoutedEventArgs e) { GridViewColumnHeader column = (sender as GridViewColumnHeader); string sortBy = column.Tag.ToString(); if (listViewSortCol != null) { AdornerLayer.GetAdornerLayer(listViewSortCol).Remove(listViewSortAdorner); ListViewLends.Items.SortDescriptions.Clear(); } ListSortDirection newDir = ListSortDirection.Ascending; if (listViewSortCol == column && listViewSortAdorner.Direction == newDir) { newDir = ListSortDirection.Descending; } listViewSortCol = column; listViewSortAdorner = new SortAdorner(listViewSortCol, newDir); AdornerLayer.GetAdornerLayer(listViewSortCol).Add(listViewSortAdorner); var tempItems = items.ToArray(); if (sortBy == "LendId") { if (newDir.ToString() == "Ascending") { Array.Sort(tempItems, CompareLendByIdAscending); } else { Array.Sort(tempItems, CompareLendByIdDescending); } } else if (sortBy == "Person") { if (newDir.ToString() == "Ascending") { Array.Sort(tempItems, CompareLendByPersonAscending); } else { Array.Sort(tempItems, CompareLendByPersonDescending); } } else if (sortBy == "LendStart") { if (newDir.ToString() == "Ascending") { Array.Sort(tempItems, CompareLendByDateStartAscending); } else { Array.Sort(tempItems, CompareLendByDateStartDescending); } } else if (sortBy == "PlannedLendEnd") { if (newDir.ToString() == "Ascending") { Array.Sort(tempItems, CompareLendByDatePlannedEndAscending); } else { Array.Sort(tempItems, CompareLendByDatePlannedEndDescending); } } else if (sortBy == "LendEnd") { if (newDir.ToString() == "Ascending") { Array.Sort(tempItems, CompareLendByDateEndAscending); } else { Array.Sort(tempItems, CompareLendByDateEndDescending); } } else if (sortBy == "DateReservation") { if (newDir.ToString() == "Ascending") { Array.Sort(tempItems, CompareLendByDateReservationAscending); } else { Array.Sort(tempItems, CompareLendByDateReservationDescending); } } else if (sortBy == "Car") { if (newDir.ToString() == "Ascending") { Array.Sort(tempItems, CompareCarAscending); } else { Array.Sort(tempItems, CompareCarDescending); } } ListViewLends.ItemsSource = tempItems; CollectionView view = (CollectionView)CollectionViewSource.GetDefaultView(ListViewLends.ItemsSource); view.Filter += UserFilter; }
private void GridViewColumnHeaderClick(object sender, RoutedEventArgs e) { GridViewColumnHeader column = (sender as GridViewColumnHeader); sortingColumn = column; string sortBy = column.Tag.ToString(); if (listViewSortCol != null) { AdornerLayer.GetAdornerLayer(listViewSortCol).Remove(listViewSortAdorner); contractorList.Items.SortDescriptions.Clear(); } ListSortDirection newDir = ListSortDirection.Ascending; if (listViewSortCol == column && listViewSortAdorner.Direction == newDir) { newDir = ListSortDirection.Descending; } listViewSortCol = column; listViewSortAdorner = new SortAdorner(listViewSortCol, newDir); AdornerLayer.GetAdornerLayer(listViewSortCol).Add(listViewSortAdorner); var tempItems = items.ToArray(); if (sortBy == "contractorId") { if (newDir.ToString() == "Ascending") { Array.Sort(tempItems, (ListViewItem a, ListViewItem b) => ((ListItem)a.Content).contractorId.CompareTo(((ListItem)b.Content).contractorId)); } else { Array.Sort(tempItems, (ListViewItem a, ListViewItem b) => ((ListItem)b.Content).contractorId.CompareTo(((ListItem)a.Content).contractorId)); } } else if (sortBy == "name") { if (newDir.ToString() == "Ascending") { Array.Sort(tempItems, (ListViewItem a, ListViewItem b) => ((ListItem)a.Content).name.CompareTo(((ListItem)b.Content).name)); } else { Array.Sort(tempItems, (ListViewItem a, ListViewItem b) => ((ListItem)b.Content).name.CompareTo(((ListItem)a.Content).name)); } } else if (sortBy == "startDate") { if (newDir.ToString() == "Ascending") { Array.Sort(tempItems, (ListViewItem a, ListViewItem b) => ((ListItem)a.Content).startDate.CompareTo(((ListItem)b.Content).startDate)); } else { Array.Sort(tempItems, (ListViewItem a, ListViewItem b) => ((ListItem)b.Content).startDate.CompareTo(((ListItem)a.Content).startDate)); } } else if (sortBy == "endDate") { if (newDir.ToString() == "Ascending") { Array.Sort(tempItems, (ListViewItem a, ListViewItem b) => { var aa = (ListItem)a.Content; var bb = (ListItem)b.Content; if (aa.endDate == null) { return(1); } if (bb.endDate == null) { return(-1); } return(aa.endDate.Value.CompareTo(bb.endDate.Value)); }); } else { Array.Sort(tempItems, (ListViewItem a, ListViewItem b) => { var aa = (ListItem)a.Content; var bb = (ListItem)b.Content; if (bb.endDate == null) { return(1); } if (aa.endDate == null) { return(-1); } return(bb.endDate.Value.CompareTo(aa.endDate.Value)); }); } } contractorList.ItemsSource = tempItems; contractorList.Items.Refresh(); }
private void RedrawSortGlyph() { foreach (var column in PackageGridView.Columns) { var header = (GridViewColumnHeader)column.Header; if (header.Tag != null) { AdornerLayer layer = AdornerLayer.GetAdornerLayer(header); if (layer != null) { layer.Remove((Adorner)header.Tag); } } if ((string)header.CommandParameter == SortColumn) { var newAdorner = new SortAdorner(header, SortDirection); header.Tag = newAdorner; AdornerLayer layer = AdornerLayer.GetAdornerLayer(header); if (layer != null) { layer.Add(newAdorner); } } } }
private void SubSignatureHeader_Click(object sender, RoutedEventArgs e) { SortAdorner.SortClick(sender, e, ref listViewSortCol, ref listViewSortAdorner, ref SubList); }
private void GridViewColumnHeader_Click(object sender, RoutedEventArgs e) { { GridViewColumnHeader column = (sender as GridViewColumnHeader); string sortBy = column.Tag.ToString(); if (listViewSortCol != null) { AdornerLayer.GetAdornerLayer(listViewSortCol).Remove(listViewSortAdorner); ListViewMyReservations.Items.SortDescriptions.Clear(); } ListSortDirection newDir = ListSortDirection.Ascending; if (listViewSortCol == column && listViewSortAdorner.Direction == newDir) { newDir = ListSortDirection.Descending; } listViewSortCol = column; listViewSortAdorner = new SortAdorner(listViewSortCol, newDir); AdornerLayer.GetAdornerLayer(listViewSortCol).Add(listViewSortAdorner); var tempItems = items.ToArray(); if (sortBy == "ReservationId") { if (newDir.ToString() == "Ascending") { Array.Sort(tempItems, CompareReservationByIdAscending); } else { Array.Sort(tempItems, CompareReservationByIdDescending); } } else if (sortBy == "DateStart") { if (newDir.ToString() == "Ascending") { Array.Sort(tempItems, CompareReservationByDateStartAscending); } else { Array.Sort(tempItems, CompareReservationByDateStartDescending); } } else if (sortBy == "DateEnd") { if (newDir.ToString() == "Ascending") { Array.Sort(tempItems, CompareReservationByDateEndAscending); } else { Array.Sort(tempItems, CompareReservationByDateEndDescending); } } else if (sortBy == "DateReservation") { if (newDir.ToString() == "Ascending") { Array.Sort(tempItems, ComparePeopleByDateReservationAscending); } else { Array.Sort(tempItems, ComparePeopleByDateReservationDescending); } } else if (sortBy == "Car") { if (newDir.ToString() == "Ascending") { Array.Sort(tempItems, CompareCarAscending); } else { Array.Sort(tempItems, CompareCarDescending); } } ListViewMyReservations.ItemsSource = tempItems; CollectionView view = (CollectionView)CollectionViewSource.GetDefaultView(ListViewMyReservations.ItemsSource); view.Filter += UserFilter; } int CompareReservationByIdAscending(ListViewItem a, ListViewItem b) { MyReservationList first = (MyReservationList)a.Content; MyReservationList second = (MyReservationList)b.Content; return(first.ReservationId.CompareTo(second.ReservationId)); } int CompareReservationByIdDescending(ListViewItem a, ListViewItem b) { MyReservationList first = (MyReservationList)a.Content; MyReservationList second = (MyReservationList)b.Content; return(second.ReservationId.CompareTo(first.ReservationId)); } int CompareCarAscending(ListViewItem a, ListViewItem b) { MyReservationList first = (MyReservationList)a.Content; MyReservationList second = (MyReservationList)b.Content; return(String.Compare(first.Vehicle, second.Vehicle)); } int CompareCarDescending(ListViewItem a, ListViewItem b) { MyReservationList first = (MyReservationList)a.Content; MyReservationList second = (MyReservationList)b.Content; return(String.Compare(second.Vehicle, first.Vehicle)); } int CompareReservationByDateStartAscending(ListViewItem a, ListViewItem b) { MyReservationList first = (MyReservationList)a.Content; MyReservationList second = (MyReservationList)b.Content; DateTime firstDate; DateTime secondDate; if (first.ReservationStart.CompareTo("") != 0) { firstDate = Convert.ToDateTime(first.ReservationStart); } else { firstDate = DateTime.MinValue; } if (second.ReservationStart.CompareTo("") != 0) { secondDate = Convert.ToDateTime(second.ReservationStart); } else { secondDate = DateTime.MinValue; } return(DateTime.Compare(firstDate, secondDate)); } int CompareReservationByDateStartDescending(ListViewItem a, ListViewItem b) { MyReservationList first = (MyReservationList)a.Content; MyReservationList second = (MyReservationList)b.Content; DateTime firstDate; DateTime secondDate; if (first.ReservationStart.CompareTo("") != 0) { firstDate = Convert.ToDateTime(first.ReservationStart); } else { firstDate = DateTime.MinValue; } if (second.ReservationStart.CompareTo("") != 0) { secondDate = Convert.ToDateTime(second.ReservationStart); } else { secondDate = DateTime.MinValue; } return(DateTime.Compare(secondDate, firstDate)); } int CompareReservationByDateEndAscending(ListViewItem a, ListViewItem b) { MyReservationList first = (MyReservationList)a.Content; MyReservationList second = (MyReservationList)b.Content; DateTime firstDate; DateTime secondDate; if (first.ReservationEnd.CompareTo("") != 0) { firstDate = Convert.ToDateTime(first.ReservationEnd); } else { firstDate = DateTime.MinValue; } if (second.ReservationEnd.CompareTo("") != 0) { secondDate = Convert.ToDateTime(second.ReservationEnd); } else { secondDate = DateTime.MinValue; } return(DateTime.Compare(firstDate, secondDate)); } int CompareReservationByDateEndDescending(ListViewItem a, ListViewItem b) { MyReservationList first = (MyReservationList)a.Content; MyReservationList second = (MyReservationList)b.Content; DateTime firstDate; DateTime secondDate; if (first.ReservationEnd.CompareTo("") != 0) { firstDate = Convert.ToDateTime(first.ReservationEnd); } else { firstDate = DateTime.MinValue; } if (second.ReservationEnd.CompareTo("") != 0) { secondDate = Convert.ToDateTime(second.ReservationEnd); } else { secondDate = DateTime.MinValue; } return(DateTime.Compare(secondDate, firstDate)); } int ComparePeopleByDateReservationAscending(ListViewItem a, ListViewItem b) { MyReservationList first = (MyReservationList)a.Content; MyReservationList second = (MyReservationList)b.Content; DateTime firstDate; DateTime secondDate; if (first.ReservationDate.CompareTo("") != 0) { firstDate = Convert.ToDateTime(first.ReservationDate); } else { firstDate = DateTime.MinValue; } if (second.ReservationDate.CompareTo("") != 0) { secondDate = Convert.ToDateTime(second.ReservationDate); } else { secondDate = DateTime.MinValue; } return(DateTime.Compare(firstDate, secondDate)); } int ComparePeopleByDateReservationDescending(ListViewItem a, ListViewItem b) { MyReservationList first = (MyReservationList)a.Content; MyReservationList second = (MyReservationList)b.Content; DateTime firstDate; DateTime secondDate; if (first.ReservationDate.CompareTo("") != 0) { firstDate = Convert.ToDateTime(first.ReservationDate); } else { firstDate = DateTime.MinValue; } if (second.ReservationDate.CompareTo("") != 0) { secondDate = Convert.ToDateTime(second.ReservationDate); } else { secondDate = DateTime.MinValue; } return(DateTime.Compare(secondDate, firstDate)); } }