Compare commits

...

212 Commits

Author SHA1 Message Date
51f01a661a remove dependency: desktop_window 2024-03-01 16:09:17 +01:00
Shawn
0331605e1e
Merge pull request #171 from kevmoo/more_color_silly
Wire up final color details for PWA install
2024-02-21 14:36:17 -07:00
Shawn
11b040ae9e
Merge pull request #170 from kevmoo/cleanup
Set the min SDK to Dart 3.3
2024-02-21 14:28:33 -07:00
Kevin Moore
1f1bc63bc1 Wire up final color details for PWA install 2024-02-21 11:18:46 -08:00
Kevin Moore
e5f1c55993 Set the min SDK to Dart 3.3, bump and fix lints, switch cleanup 2024-02-20 13:56:39 -08:00
Shawn
596abc850c Remove unsused dependencies 2024-02-20 14:32:00 -07:00
Shawn
b6699831d7 Update compileSdkVerison to avoid build warnings on android 2024-02-20 14:32:00 -07:00
Shawn
371421a049 Version update, bump build number to allow macOS distribution 2024-02-20 13:10:20 -07:00
Shawn
1b508f3200 Cleanup 2024-02-20 10:36:34 -07:00
Shawn
dadb6275fc Version bump 2024-02-13 11:55:47 -07:00
Shawn
c00dae0b97 Update flutter_animate version 2024-02-13 11:55:47 -07:00
Shawn
01ba5f624f Remove web pkg, was not in use and causing dependency conflicts 2024-02-13 11:55:43 -07:00
Shawn
e41f2ba530 Remove down-scaling logic for smaller devices. 2024-02-13 09:45:12 -07:00
Shawn
1dfa1574c8
Merge pull request #169 from kevmoo/monifest_color
manifest.json: update background and theme_color
2024-02-12 21:41:16 -07:00
Kevin Moore
095205d047 document that the "black" color should be updated in other places 2024-02-12 15:16:15 -08:00
Kevin Moore
648eac7298 also set the theme-color 2024-02-12 15:10:55 -08:00
Kevin Moore
a1f2a778a2 manifest.json: update background and theme_color 2024-02-12 14:38:57 -08:00
Shawn
7f892df3c8
Merge pull request #166 from kevmoo/patch-1
Update name/short_name in web/manifest.json
2024-02-12 13:36:04 -07:00
Kevin Moore
9c64993cff
Update manifest.json - description 2024-02-08 12:02:59 -08:00
Kevin Moore
097295f393
Update name/short_name in web/manifest.json
So the install experience is prettier
2024-02-08 11:59:19 -08:00
Shawn
bb2564efdd
Merge pull request #163 from kevmoo/tiny_cleanup
Update dependencies, remove unneeded import
2024-02-05 13:30:24 -07:00
Kevin Moore
85379a148a Update dependencies, remove unneeded import 2024-01-31 13:09:08 -08:00
Shawn
8d5daf3edd Cleanup home_widget views, add comments, fix rounding issue 2024-01-25 15:01:16 -07:00
Shawn
45a9a8348f Version bump 2024-01-25 09:39:23 -07:00
Shawn
3ee40b811a
Merge pull request #159 from gskinnerTeam/feature/routing_fixes
Feature/routing fixes
2024-01-22 15:45:05 -07:00
Shawn
b7b9141682 Merge branch 'main' into feature/routing_fixes 2024-01-22 15:36:08 -07:00
Shawn
9194c8a41a Lint warnings 2024-01-22 15:35:37 -07:00
Shawn
2faa7d7aab Block potential bug that can occur during page transitions 2024-01-22 15:35:19 -07:00
Shawn
663ad161fd Expose focusNode for HiddenCollectible to improve keyboard UX in the photo_gallery
Improve readability of _handleKeyDown method
2024-01-22 15:34:51 -07:00
Shawn
9d2409cc9d Cleanup 2024-01-22 15:09:08 -07:00
Shawn
b28c6994f7 Closes #161, fix release builds not working 2024-01-19 10:24:57 -07:00
Shawn
c018fa3dd1 Create NativeWidgetService to seperate view layer from HomeWidget implementation details. 2024-01-18 12:43:03 -07:00
Shawn
be5e4fbdf3 Build files 2024-01-18 12:14:48 -07:00
Shawn
a71de46804 Fix merge conflicts 2024-01-18 12:14:40 -07:00
Shawn
4b34f81555 Merge branch 'main' into feature/routing_fixes 2024-01-18 12:07:04 -07:00
Shawn
2f500a344e Merge branch 'feature/home-widget' 2024-01-18 12:05:35 -07:00
Shawn
fa640e005d Merge branch 'main' into feature/routing_fixes
# Conflicts:
#	lib/router.dart
#	pubspec.lock
#	pubspec.yaml
2024-01-18 12:04:11 -07:00
Shawn
54cfee18c3
Merge pull request #133 from gskinnerTeam/feature/home-widget
Feature/home widget
2024-01-18 12:01:45 -07:00
Shawn
a57a23d4e0 Resolve merge conflicts 2024-01-18 11:53:38 -07:00
Shawn
6f7a69d50d Merge main 2024-01-18 11:36:39 -07:00
Shawn
a40ce7c080
Merge pull request #156 from erisanolasheni/main
Minor fix on the operator check
2024-01-18 11:34:39 -07:00
Shawn
590e542b34 Fix bug where widget would get out of sync w/ app once collected artifacts were explored 2024-01-18 11:22:31 -07:00
Shawn
76eba1e3e9 Localize pageNotFound 2024-01-18 11:13:38 -07:00
Shawn
4913c2fe92 Cleanup warnings, remove some log messages on web 2024-01-18 10:30:02 -07:00
Shawn
5d8da79941 Merge branch 'main' into feature/routing_fixes
# Conflicts:
#	pubspec.yaml
2024-01-18 10:16:06 -07:00
Shawn
68a0f4d2df
Merge pull request #160 from jonahwilliams/update_maps_version
Update google maps dependency.
2024-01-18 10:13:52 -07:00
Shawn
848ae5cbb6 Add custom 404 page 2024-01-18 10:11:27 -07:00
jonahwilliams
4ee616f67c update lock file 2024-01-17 22:39:57 -08:00
jonahwilliams
3da2041963 Update google maps dependency. 2024-01-17 14:51:46 -08:00
Shawn
5fea5fc017 Protect details screen from bad tabIndex params 2024-01-17 11:55:37 -07:00
Shawn
59af5d9e3e Merge branch 'main' into feature/routing_fixes
# Conflicts:
#	lib/logic/app_logic.dart
2024-01-17 11:42:24 -07:00
Shawn
1ffc18d001 Cleanup 2024-01-17 10:53:42 -07:00
Shawn
80a5cbdcca Remove navSpike 2024-01-17 10:52:06 -07:00
Shawn
537d2ed9e4 Hoist tabPress logic to the screen level. Move go() call to onTap from onChange. prevents errors during route changes. 2024-01-17 10:50:43 -07:00
Shawn
c450c71d05 Switch collections to .go() instead of .push() 2024-01-17 10:48:20 -07:00
Shawn
c45e1fc77e Fix bug with missing queryParams, assign unique ids for all pathParams 2024-01-17 10:47:55 -07:00
Shawn
ea47695847 switch from push to go calls 2024-01-16 17:01:37 -07:00
Shawn
cbbd343f71 Prevent deeplinking to / 2024-01-16 16:59:50 -07:00
Shawn
bf2c0b2d04 Fix for #158: Add kIsWeb check to instances where we want android-specific behaviors. 2024-01-11 13:38:56 -07:00
Shawn
90e642f4b2 Update pub deps 2024-01-11 10:16:36 -07:00
Shawn
539b79a20e Add temporary navSpike to sanity check routing solutions 2024-01-11 10:16:05 -07:00
Shawn
2853af8f61 Add support for nested artifacts (probably going to switch back to push() due to an apparent bug in GoRouter) 2024-01-11 10:15:30 -07:00
Shawn
44300dbe23 WonderDetails: Switch wonderButton from pop() to /home, helps to clear the queryParams when going back. 2024-01-11 10:14:48 -07:00
Shawn
c0fae98895 Update go_router version 2024-01-11 10:13:36 -07:00
Shawn
bbab178465 Finish persistent wonderIndex feature 2024-01-11 10:13:03 -07:00
Shawn
28734b7f1f Switch /video and /maps views to be nested within home, better supporting deeplinks. 2024-01-11 10:12:04 -07:00
Shawn
00e3dcc234 Respect the tabIndex param when on WonderDetails screen 2024-01-11 10:11:03 -07:00
Shawn
3ce1d3a68d Add persistent wonderIndex for home page 2024-01-11 10:09:39 -07:00
Shawn
6e3d94eece Have wonders btn go to /home rather than pop(), eliminates the trailing queryString values 2024-01-09 14:58:33 -07:00
Shawn
3d9d15c5a0 switch to context.pop() so we're going through the goRouter pkg as designed 2024-01-09 14:57:11 -07:00
Shawn
824f4a1ff1 Fix deeplinking / refresh on web
Add all nested routes to the routing table
2024-01-09 14:56:29 -07:00
Erisan Olasheni
a6c99352e6
Minor fix on the operator check
Made minor change on the `==` operator to validate if the compared `Object` `imageProvider` matches the current `Object`.
2023-12-10 19:06:10 +01:00
Shawn
74b536b366 Initial changes to routing system 2023-12-08 10:03:26 -07:00
Shawn
91c8cb9760 Fix for #155, App stuck in onboarding 2023-12-08 09:54:26 -07:00
Shawn
3533369066 Fix map marker placement issue on web 2023-12-06 10:36:41 -07:00
Shawn
432becb17a Add escape key support to backBtn by default 2023-12-05 11:42:26 -07:00
Shawn
66840b9300 Scrollbar alwaysOn for desktop/web 2023-12-05 11:39:00 -07:00
Shawn
28ebe79ad2 Cleanup lint warnings 2023-12-05 11:05:46 -07:00
Shawn
cc6e1649d1 Add mouse-wheel support to previousNextNavigation 2023-12-05 11:03:24 -07:00
Shawn
e34479ccd8 Keep backBtn in landscape mode, just align it to the right 2023-12-05 11:03:24 -07:00
Shawn
7c76fc9c09 Cleanup 2023-12-05 11:03:24 -07:00
Shawn
8daa4c112e Fix RTE when entering collections list 2023-12-05 11:03:24 -07:00
Shawn
5b6cd2d8b5 Prevent fullscreen keyboard from reacting when modals are shown 2023-12-05 11:03:23 -07:00
Shawn
cbde677283 Restore default scrollbar behavior 2023-12-05 11:03:23 -07:00
Shawn
d7ac853653 Cleanup lint warnings 2023-12-05 11:03:23 -07:00
Jared Bell
1f27c303e9 Graphic fix: Pyramids
Replace foreground-back graphic with taller, un-cropped version.
2023-12-04 14:30:59 -07:00
Shawn
fc23212912 Enable semantics on startup, closes issue #146 2023-12-04 12:39:55 -07:00
Shawn
9045b5d8fd
Merge pull request #154 from gskinnerTeam/feature/keyboard-scrolling
Add fullscreen keyboard list scroller component
2023-12-04 11:39:35 -07:00
Shawn
d710a9718a Add fullscreen keyboard list scroller component, incorporate into editorial_screen 2023-12-04 11:32:45 -07:00
Shawn
c2d33ac9d3 Cleanup naming 2023-12-04 11:31:22 -07:00
Shawn
9e4d457339 Add prev/next navigation to intro screen 2023-12-04 11:30:11 -07:00
Shawn
a056373207 Cleanup naming 2023-12-04 11:29:59 -07:00
Shawn
de6c18a42d Add print statement for web users directing them to file issues on github 2023-12-04 11:28:19 -07:00
Shawn
07bd69ac77 Tweak styling on prevNextNav widget 2023-11-30 13:11:54 -07:00
Shawn
a3594470cd
Merge pull request #153 from gskinnerTeam/feature/carousel_nav_136
Feature/carousel nav 136
2023-11-30 10:47:51 -07:00
Shawn
93b0ed57cb
Merge pull request #152 from gskinnerTeam/photo_gallery_fixes
Photo gallery fixes
2023-11-30 10:47:38 -07:00
Shawn
d856f91a93 Add physical btn for carousel navigation,
add keyboard support,
add flipIcon property to CircleIconbtn
2023-11-30 10:41:05 -07:00
Shawn
d2062cd2a4 Update min window size 2023-11-30 10:08:15 -07:00
Shawn
7feafe35b8 Fix issue with [Tab] key not working after arrow keys are used (focus gets lost?) 2023-11-30 09:51:30 -07:00
Shawn
eb0534106f Update dart version 2023-11-29 16:01:55 -07:00
Shawn
66ca833c58 Add keyboard support to FullscreenUrlImgViewer 2023-11-29 16:01:38 -07:00
Shawn
2887de4704 Add arrowkey support for navigation
Add workaround for lack of cutout support on web
2023-11-29 16:01:08 -07:00
Shawn
5b595c3f31 Add fullscreen keyboard listener 2023-11-29 16:00:27 -07:00
Shawn
1c853b1c39 Unify shortcuts on desktop/web, remove arrow-press for focus traversal from desktop.
Add focusNode support for btns
2023-11-29 16:00:00 -07:00
Shawn
04be1daf42 Add basic web analytics to html build 2023-11-21 12:23:42 -07:00
Shawn
97cb83733c Tweak collectibles logic to await data writing 2023-11-20 12:56:38 -07:00
Shawn
395fa12ad0 Version bump 2023-11-17 13:29:08 -07:00
Shawn
c4f4c1a05a Attempted fix for macOS preview warning about containerBackgroundApi 2023-11-07 17:38:44 -07:00
Shawn
00847778f5 Fix deeplink issue where dialogs would render on top of collections view 2023-11-07 17:38:09 -07:00
Shawn
e974ce8ca0 Add support for new containerBackground API in iOS 17 2023-11-07 11:12:05 -07:00
Shawn
24d08a69e9 Fix race condition when updating discoveredCount 2023-11-07 11:11:38 -07:00
Shawn
c071798b02 Fixes for iOS 17 / xCode 15 2023-11-06 18:31:50 -07:00
Shawn
5d7f14fd17 Fix centering issue in photo gallery with hidden collectibles 2023-11-03 14:30:05 -06:00
Shawn
7f786610a7 Remove duplicated comment 2023-11-03 14:29:46 -06:00
Shawn
94afbb1bcf Cleanup 2023-11-02 09:58:07 -06:00
Shawn
616f5ace91 Enable deeplinking 2023-11-02 09:58:01 -06:00
Shawn
76ff50d09a Fix issue with home-screen throwing an error when disposed 2023-11-02 09:57:39 -06:00
Shawn
0805da1b37 Add back button fallback to go to /home if the view can not be popped 2023-11-02 09:57:01 -06:00
Shawn
8c3ef002a8 Cleanup 2023-10-25 16:33:57 -06:00
Shawn
d783d706e1 Cleanup colors implementation 2023-10-23 21:40:55 -06:00
Shawn
b188e77449 Cleanup 2023-10-23 18:31:07 -06:00
Shawn
a8f0b43c99 Cleanup 2023-10-23 18:06:39 -06:00
Shawn
a2a5eef138 Add ability to see last collected image, title and subtitle 2023-10-23 17:43:16 -06:00
Shawn
5b37a65f14 Move flutter_native_splash to dependencies from dev_dependencies since it is used in main() to manage splash screen visibility. 2023-10-19 16:26:41 -06:00
Shawn
48e9b5fc25 Remove wallpaperPhoto view and related logic (saved in feature/wallpaper-sharing branch if needed in the future) 2023-10-19 16:25:02 -06:00
Shawn
758a58b93d Adjust padding for medium size widget 2023-10-19 12:12:34 -06:00
Shawn
310dcd918b Add top-right icon image, adjust colors of text and progress gauge 2023-10-19 11:47:10 -06:00
Shawn
0cff2e5ecc Add home widget to xcode project (WIP) 2023-10-19 11:29:54 -06:00
Shawn
505b0a2054 Add wonderous icon 2023-10-19 11:28:54 -06:00
Shawn
170bf6b13b Merge branch 'main' into feature/home-widget 2023-10-13 14:30:45 -06:00
Shawn
1b07243f25 Update web description 2023-10-13 14:27:59 -06:00
Shawn
2185a02c46 Add placeholder bg image widget 2023-10-13 11:55:51 -06:00
Shawn
26e82be9f3 Merge branch 'main' into feature/home-widget
# Conflicts:
#	pubspec.yaml
2023-10-13 11:52:56 -06:00
Shawn
cac0944d32 Update gradle version 2023-10-12 08:54:14 -06:00
Shawn
dff396283f
Merge pull request #130 from kevmoo/latest_deps
Bump a number of packages to their latest versions
2023-10-11 13:59:07 -06:00
Shawn
f10786ed82 Update maps api 2023-10-11 13:57:04 -06:00
Shawn
b0f0b0084e Decode json content as utf8 2023-10-11 13:56:51 -06:00
Kevin Moore
34bdef3db0 Bump a number of packages to their latest versions 2023-10-11 12:48:41 -07:00
Shawn
6a0eb051e6 Add placeholder widget 2023-10-11 13:40:26 -06:00
Shawn
8ac60d46a8 Re-ran native_splash generator 2023-10-05 09:13:02 -06:00
Shawn
4d5347013c Fix issue with menu icon corners not being rounded consistently 2023-10-04 09:44:07 -06:00
Shawn
ef7b99c992 Update settings for web icons 2023-10-04 09:02:50 -06:00
Shawn
105073480a Increase photo gallery image size to large 2023-10-03 14:55:19 -06:00
Shawn
431a17dc1d Increase resolution of fullscreen photo gallery images 2023-10-03 14:20:14 -06:00
Shawn
0fa3a344c9
Merge pull request #127 from gskinnerTeam/fix/selfhosted-met-files
Use self-hosted images for all artifacts, collectibles and youtube thumbnails.
2023-10-03 14:18:50 -06:00
Shawn
bbd6a68731 Cleanup 2023-10-03 14:17:20 -06:00
Shawn
79631cd91d Remove proxy code 2023-10-03 14:16:01 -06:00
Shawn
c4e34edfd2 Use self-hosted youtube thumbs 2023-10-03 14:15:48 -06:00
Shawn
8f2625bc23 Rename MetAPI to ArtifactAPI etc 2023-10-03 14:15:36 -06:00
Shawn
fdaabec9f3 Update search result tile to use smaller image 2023-10-03 14:14:40 -06:00
Shawn
dce9138640 Update helper scripts 2023-10-03 14:13:01 -06:00
Shawn
5065002bce Update artifact related data classes to use the self-hosted url 2023-10-03 14:11:59 -06:00
Shawn
27613c6922 Update search data files with fresh items, remove the imageUrl param 2023-10-03 14:11:01 -06:00
Shawn
a04d8bbb71
Merge pull request #124 from yangsfang/yangsfang-patch-1
Fix throttler calling an action twice
2023-10-02 14:02:12 -06:00
Shawn
31ec04dea9 Add helper class for downloading and resizing MET image and json files 2023-09-27 13:29:46 -06:00
Yang Fang
509487f789
Fix throttler calling an action twice
There is a bug in throttler where an action is called immediately and also again when the Timer expires despite only being scheduled once by call(). This commit resets the action to null once it is completed.
2023-09-22 11:26:41 -07:00
Shawn
8a29d67096
Merge pull request #115 from jonahwilliams/combine_advanced_blends
Reduce SaveLayer count of advanced blends.
2023-09-11 10:01:33 -06:00
Shawn
a38f564411 Initialize google maps sdk for web platform 2023-09-07 10:24:01 -06:00
jonahwilliams
6523ec320b Reduce SaveLayer count of advanced blends. 2023-09-07 08:57:48 -07:00
Shawn
c7f00c8d32 Fix issue with Youtube player blocking clicks on the back btn 2023-09-06 20:26:17 -06:00
Shawn
ab7ce7bcd6 Implement a server proxy for external images to avoid CORS errors on web
Remove ResizeImage component on web platform to avoid UI thread locking
2023-09-06 20:12:36 -06:00
Shawn
e440b29276 Update the title for web builds 2023-09-06 20:12:36 -06:00
Shawn
efc98ee6cc Open urls externally on web and desktop platforms as in-app webviews are not working yet 2023-09-06 20:12:36 -06:00
Shawn
3987d8ea7d
Merge pull request #107 from akmalirfan/remove_duplicate
Remove duplicate sentence
2023-09-06 13:47:43 -06:00
Shawn
5c72a83def
Merge pull request #106 from yangsfang/issue-104-fix
Fixes language switch button being partially unclickable
2023-09-06 13:47:17 -06:00
Shawn
43d463a9b4 Update native splash screen images 2023-09-05 18:03:50 -06:00
Shawn
a132e97916 Add proxy to MET image requests 2023-09-05 17:48:20 -06:00
Shawn
345f73f048 Replace describeEnum with .name 2023-09-05 17:47:45 -06:00
Shawn
bc21f55d62 Fix overflow error on intro screen 2023-09-05 15:40:00 -06:00
Akmal Irfan
b0337152fa Remove duplicate sentence 2023-09-02 19:00:55 +08:00
Shawn
b430fc4f1b Version bump 2023-09-01 15:48:29 -06:00
Shawn
25d468e3eb Version bump 2023-09-01 14:52:25 -06:00
Shawn
c05c92b442 Use media query size to switch between nav rail and bottom tab menu 2023-09-01 14:51:46 -06:00
Shawn
fa1c4bb52e Add internet permission to android manifest file 2023-09-01 14:51:04 -06:00
Shawn
9ff9527b84 Upgrade gradle version 2023-09-01 14:50:33 -06:00
Yang Fang
fc60942b66
Fixes language switch button being partially unclickable
ExpandedScrollingColumn is on top of the AppHeader and blocks presses on the left half of the language switch button. This commit moves the AppHeader to the top of the stack.
2023-09-01 13:40:30 -07:00
Shawn
d369891d1e Remove unused deps and imports, restore intl pkg to avoid linter warnings 2023-08-29 11:24:20 -06:00
Shawn
14afe90485 Set base href for web version to prepare for deployment 2023-08-29 11:23:23 -06:00
Shawn
56d85a87fd
Merge pull request #100 from parlough/misc/dev-dependency-cleanup
Update dev dependencies, remove unused ones
2023-08-29 11:11:35 -06:00
Parker Lougheed
994a454587
Merge branch 'main' into misc/dev-dependency-cleanup 2023-08-29 11:58:16 -05:00
Shawn
f2408b936c
Merge pull request #101 from parlough/fix/replace-deprecated-load-image-methods
Replace deprecated `ImageProvider` load methods in `RetryImage`
2023-08-29 10:56:17 -06:00
Shawn
5c79438bf2 Remove forked version of gap pkg, no longer needed as of 3.0.1 2023-08-29 10:26:57 -06:00
Shawn
aad94222e8 Tweak img paths to avoid cross-domain origin issues on web platform (WIP) 2023-08-29 10:24:58 -06:00
Shawn
43a1e801b8 Remove intl pkg imports, they are no longer needed on stable branch 2023-08-29 10:23:57 -06:00
Shawn
bb580d5d78 Update README to indicate the app can now run on stable branch 2023-08-29 10:23:34 -06:00
Parker Lougheed
472fdd4ced
Replace deprecated ImageProvider load methods 2023-08-27 22:10:54 -05:00
Parker Lougheed
76fb0f7d1a
Remove build_runner too 2023-08-27 15:58:43 -05:00
Parker Lougheed
d77055d340
Update dev dependencies, remove unused ones 2023-08-27 15:51:04 -05:00
Shawn
ce767b7155 Reorder header elements in stack so that the back button can be selected when using screen reader. 2023-08-23 11:04:27 -06:00
Shawn
a9e4e12ee7 Update web runner files 2023-08-23 10:29:04 -06:00
Shawn
ac10dc36f8 Remove unused imports 2023-08-23 10:28:54 -06:00
Shawn
b6e35f6f92 Add scroll wheel support for intro screen 2023-07-31 10:14:04 -06:00
Shawn
7318ce7d9a Version bump 2023-07-28 11:36:06 -06:00
Shawn
1274130ca1 Update macos runner files 2023-07-28 10:05:14 -06:00
Shawn
9b4d7cc226 Enable drag-to-scroll on desktop 2023-07-28 10:04:51 -06:00
Shawn
fe83fc0c5d Fix macos title 2023-07-28 10:04:34 -06:00
Shawn
d3e7e7e606 Hide placeholder for maps plugin on desktop 2023-07-28 10:04:16 -06:00
Shawn
4492f9e4ee Enable impeller for macOS 2023-07-28 10:03:29 -06:00
Shawn
34e49a0808
Merge pull request #86 from martinoyovo/main
Removed yellow lines under the suggestion title and item text
2023-07-20 12:30:38 -06:00
Shawn
8b0ed00787 Collections list maintains its scroll position when changing list orientation 2023-07-18 18:06:38 -06:00
Shawn
35070ad8a0 Allow web platform to try and load locale 2023-07-11 12:07:40 -06:00
Shawn
23a1741722 Show youtube player on web 2023-07-11 12:07:26 -06:00
Shawn
8a09f54d5c Add network permissions for release builds on macOS 2023-06-28 15:41:44 -06:00
Shawn
479e0838e8 Add category for app store 2023-06-28 15:28:55 -06:00
Shawn
46125abf7f Update app icons 2023-06-28 15:28:27 -06:00
Shawn
a387ca18db Update build files 2023-06-27 12:04:43 -06:00
Shawn
e30e2ebf48 Update Gap package to work around build issue with master branch 2023-06-27 09:40:31 -06:00
Shawn
9e4cd6ee7d Update runner files 2023-06-27 09:39:40 -06:00
Shawn
be5b5fc9a6
Merge pull request #88 from drown0315/fix/dispose_swiper_controller
fix: dispose swipeController
2023-06-26 13:07:29 -06:00
drown0315
11ee06f9ef fix: dispose _swipeController 2023-06-25 23:47:36 +08:00
Shawn
eec8c58d88 Update iOS Runner files 2023-06-22 13:01:30 -06:00
Martino Yovo
6ad95e23e0 Removed yellow lines under the suggestion title and item text 2023-05-27 18:07:25 +00:00
276 changed files with 7179 additions and 5664 deletions

1
.gitignore vendored
View File

@ -33,7 +33,6 @@ desktop.ini
/build/
# Web related
lib/generated_plugin_registrant.dart
# Symbolication related
app.*.symbols

View File

@ -1,11 +1,11 @@
# This file tracks properties of this Flutter project.
# Used by Flutter tool to assess capabilities and perform upgrades etc.
#
# This file should be version controlled.
# This file should be version controlled and should not be manually edited.
version:
revision: 74e4b092e5212ebf8292dde2a48d3da960c0920b
channel: beta
revision: "efbf63d9c66b9f6ec30e9ad4611189aa80003d31"
channel: "stable"
project_type: app
@ -13,26 +13,11 @@ project_type: app
migration:
platforms:
- platform: root
create_revision: 74e4b092e5212ebf8292dde2a48d3da960c0920b
base_revision: 74e4b092e5212ebf8292dde2a48d3da960c0920b
- platform: android
create_revision: 74e4b092e5212ebf8292dde2a48d3da960c0920b
base_revision: 74e4b092e5212ebf8292dde2a48d3da960c0920b
- platform: ios
create_revision: 74e4b092e5212ebf8292dde2a48d3da960c0920b
base_revision: 74e4b092e5212ebf8292dde2a48d3da960c0920b
- platform: linux
create_revision: 74e4b092e5212ebf8292dde2a48d3da960c0920b
base_revision: 74e4b092e5212ebf8292dde2a48d3da960c0920b
- platform: macos
create_revision: 74e4b092e5212ebf8292dde2a48d3da960c0920b
base_revision: 74e4b092e5212ebf8292dde2a48d3da960c0920b
create_revision: efbf63d9c66b9f6ec30e9ad4611189aa80003d31
base_revision: efbf63d9c66b9f6ec30e9ad4611189aa80003d31
- platform: web
create_revision: 74e4b092e5212ebf8292dde2a48d3da960c0920b
base_revision: 74e4b092e5212ebf8292dde2a48d3da960c0920b
- platform: windows
create_revision: 74e4b092e5212ebf8292dde2a48d3da960c0920b
base_revision: 74e4b092e5212ebf8292dde2a48d3da960c0920b
create_revision: efbf63d9c66b9f6ec30e9ad4611189aa80003d31
base_revision: efbf63d9c66b9f6ec30e9ad4611189aa80003d31
# User provided section

View File

@ -23,11 +23,11 @@ To try the app you can download it from your favorite app store:
If you're new to Flutter the first thing you'll need is to follow the [setup instructions](https://flutter.dev/docs/get-started/install).
Once Flutter is setup, you can use the latest `master` channel:
* `flutter channel master`
Once Flutter is setup, you can use the latest `stable` channel:
* `flutter channel stable`
* `flutter upgrade`
Once on `master` you're ready to run the app on your local device or simulator:
Once on `stable` you're ready to run the app on your local device or simulator:
* `flutter run -d ios`
* `flutter run -d android`

View File

@ -9,6 +9,11 @@
# packages, and plugins designed to encourage good coding practices.
include: package:flutter_lints/flutter.yaml
analyzer:
errors:
prefer_const_constructors: ignore
unused_element: ignore # mostly because of super.key
linter:
# The lint rules applied to this project can be customized in the
# section below to disable rules from the `package:flutter_lints/flutter.yaml`
@ -22,9 +27,8 @@ linter:
# `// ignore_for_file: name_of_lint` syntax on the line or in the file
# producing the lint.
rules:
always_declare_return_types: true
always_use_package_imports: true
prefer_const_constructors: false
prefer_single_quotes: true
- always_declare_return_types
- always_use_package_imports
- prefer_single_quotes
# Additional information about this file can be found at
# https://dart.dev/guides/language/analysis-options

View File

@ -33,7 +33,7 @@ apply plugin: 'kotlin-android'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
android {
compileSdkVersion flutter.compileSdkVersion
compileSdkVersion 34
defaultConfig {
configurations.all {
@ -47,17 +47,9 @@ android {
versionName flutterVersionName
}
signingConfigs {
release {
keyAlias keystoreProperties['keyAlias']
keyPassword keystoreProperties['keyPassword']
storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null
storePassword keystoreProperties['storePassword']
}
}
buildTypes {
release {
signingConfig signingConfigs.release
signingConfig signingConfigs.debug
}
}

View File

@ -1,5 +1,6 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.gskinner.flutter.wonders">
<uses-permission android:name="android.permission.INTERNET" />
<application
android:label="Wonderous"
android:requestLegacyExternalStorage="true"

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.1 KiB

After

Width:  |  Height:  |  Size: 8.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 70 B

After

Width:  |  Height:  |  Size: 69 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 67 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 70 B

After

Width:  |  Height:  |  Size: 69 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.1 KiB

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.1 KiB

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 9.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 14 KiB

View File

@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- Theme applied to the Android Window while the process is starting when the OS's Dark Mode setting is off -->
<style name="LaunchTheme" parent="@android:style/Theme.Black.NoTitleBar">
<item name="android:forceDarkAllowed">false</item>
<item name="android:windowFullscreen">false</item>
<item name="android:windowDrawsSystemBarBackgrounds">false</item>
<item name="android:windowLayoutInDisplayCutoutMode">shortEdges</item>
<item name="android:windowSplashScreenBackground">#272625</item>
<item name="android:windowSplashScreenAnimatedIcon">@drawable/android12splash</item>
</style>
<!-- Theme applied to the Android Window as soon as the process has started.
This theme determines the color of the Android Window while your
Flutter UI initializes, as well as behind your Flutter UI while its
running.
This Theme is only used starting with V2 of Flutter's Android embedding. -->
<style name="NormalTheme" parent="@android:style/Theme.Black.NoTitleBar">
<item name="android:windowBackground">?android:colorBackground</item>
</style>
</resources>

View File

@ -5,6 +5,10 @@
<!-- Show a splash screen on the activity. Automatically removed when
Flutter draws its first frame -->
<item name="android:windowBackground">@drawable/launch_background</item>
<item name="android:forceDarkAllowed">false</item>
<item name="android:windowFullscreen">false</item>
<item name="android:windowDrawsSystemBarBackgrounds">false</item>
<item name="android:windowLayoutInDisplayCutoutMode">shortEdges</item>
</style>
<!-- Theme applied to the Android Window as soon as the process has started.
This theme determines the color of the Android Window while your

View File

@ -4,6 +4,7 @@
<style name="LaunchTheme" parent="@android:style/Theme.Light.NoTitleBar">
<item name="android:forceDarkAllowed">false</item>
<item name="android:windowFullscreen">false</item>
<item name="android:windowDrawsSystemBarBackgrounds">false</item>
<item name="android:windowLayoutInDisplayCutoutMode">shortEdges</item>
<item name="android:windowSplashScreenBackground">#272625</item>
<item name="android:windowSplashScreenAnimatedIcon">@drawable/android12splash</item>

View File

@ -7,6 +7,7 @@
<item name="android:windowBackground">@drawable/launch_background</item>
<item name="android:forceDarkAllowed">false</item>
<item name="android:windowFullscreen">false</item>
<item name="android:windowDrawsSystemBarBackgrounds">false</item>
<item name="android:windowLayoutInDisplayCutoutMode">shortEdges</item>
</style>
<!-- Theme applied to the Android Window as soon as the process has started.

View File

@ -1,5 +1,5 @@
buildscript {
ext.kotlin_version = '1.6.10'
ext.kotlin_version = '1.9.10'
ext.maps_version = '18.1.0'
repositories {
@ -8,7 +8,7 @@ buildscript {
}
dependencies {
classpath 'com.android.tools.build:gradle:4.1.0'
classpath 'com.android.tools.build:gradle:7.3.0'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 46 KiB

After

Width:  |  Height:  |  Size: 91 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 82 KiB

After

Width:  |  Height:  |  Size: 168 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 127 KiB

After

Width:  |  Height:  |  Size: 262 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 217 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

@ -4,21 +4,21 @@ PODS:
- Flutter
- google_maps_flutter_ios (0.0.1):
- Flutter
- GoogleMaps
- GoogleMaps (< 9.0)
- GoogleMaps (6.2.1):
- GoogleMaps/Maps (= 6.2.1)
- GoogleMaps/Base (6.2.1)
- GoogleMaps/Maps (6.2.1):
- GoogleMaps/Base
- image_gallery_saver (1.5.0):
- home_widget (0.0.1):
- Flutter
- image_gallery_saver (2.0.2):
- Flutter
- package_info_plus (0.4.5):
- Flutter
- path_provider_foundation (0.0.1):
- Flutter
- FlutterMacOS
- share_plus (0.0.1):
- Flutter
- shared_preferences_foundation (0.0.1):
- Flutter
- FlutterMacOS
@ -31,11 +31,11 @@ DEPENDENCIES:
- Flutter (from `Flutter`)
- flutter_native_splash (from `.symlinks/plugins/flutter_native_splash/ios`)
- google_maps_flutter_ios (from `.symlinks/plugins/google_maps_flutter_ios/ios`)
- home_widget (from `.symlinks/plugins/home_widget/ios`)
- image_gallery_saver (from `.symlinks/plugins/image_gallery_saver/ios`)
- package_info_plus (from `.symlinks/plugins/package_info_plus/ios`)
- path_provider_foundation (from `.symlinks/plugins/path_provider_foundation/ios`)
- share_plus (from `.symlinks/plugins/share_plus/ios`)
- shared_preferences_foundation (from `.symlinks/plugins/shared_preferences_foundation/ios`)
- path_provider_foundation (from `.symlinks/plugins/path_provider_foundation/darwin`)
- shared_preferences_foundation (from `.symlinks/plugins/shared_preferences_foundation/darwin`)
- url_launcher_ios (from `.symlinks/plugins/url_launcher_ios/ios`)
- webview_flutter_wkwebview (from `.symlinks/plugins/webview_flutter_wkwebview/ios`)
@ -50,16 +50,16 @@ EXTERNAL SOURCES:
:path: ".symlinks/plugins/flutter_native_splash/ios"
google_maps_flutter_ios:
:path: ".symlinks/plugins/google_maps_flutter_ios/ios"
home_widget:
:path: ".symlinks/plugins/home_widget/ios"
image_gallery_saver:
:path: ".symlinks/plugins/image_gallery_saver/ios"
package_info_plus:
:path: ".symlinks/plugins/package_info_plus/ios"
path_provider_foundation:
:path: ".symlinks/plugins/path_provider_foundation/ios"
share_plus:
:path: ".symlinks/plugins/share_plus/ios"
:path: ".symlinks/plugins/path_provider_foundation/darwin"
shared_preferences_foundation:
:path: ".symlinks/plugins/shared_preferences_foundation/ios"
:path: ".symlinks/plugins/shared_preferences_foundation/darwin"
url_launcher_ios:
:path: ".symlinks/plugins/url_launcher_ios/ios"
webview_flutter_wkwebview:
@ -68,16 +68,16 @@ EXTERNAL SOURCES:
SPEC CHECKSUMS:
Flutter: f04841e97a9d0b0a8025694d0796dd46242b2854
flutter_native_splash: 52501b97d1c0a5f898d687f1646226c1f93c56ef
google_maps_flutter_ios: 66201f392bf62d500f07670a30488a247b9bb5b9
google_maps_flutter_ios: d1318b4ff711612cab16862d7a87e31a7403d458
GoogleMaps: 20d7b12be49a14287f797e88e0e31bc4156aaeb4
image_gallery_saver: 259eab68fb271cfd57d599904f7acdc7832e7ef2
package_info_plus: 6c92f08e1f853dc01228d6f553146438dafcd14e
path_provider_foundation: 37748e03f12783f9de2cb2c4eadfaa25fe6d4852
share_plus: 056a1e8ac890df3e33cb503afffaf1e9b4fbae68
shared_preferences_foundation: 297b3ebca31b34ec92be11acd7fb0ba932c822ca
url_launcher_ios: 839c58cdb4279282219f5e248c3321761ff3c4de
webview_flutter_wkwebview: b7e70ef1ddded7e69c796c7390ee74180182971f
home_widget: 0434835a4c9a75704264feff6be17ea40e0f0d57
image_gallery_saver: cb43cc43141711190510e92c460eb1655cd343cb
package_info_plus: 115f4ad11e0698c8c1c5d8a689390df880f47e85
path_provider_foundation: 3784922295ac71e43754bd15e0653ccfd36a147c
shared_preferences_foundation: b4c3b4cddf1c21f02770737f147a3f5da9d39695
url_launcher_ios: bbd758c6e7f9fd7b5b1d4cde34d2b95fcce5e812
webview_flutter_wkwebview: 4f3e50f7273d31e5500066ed267e3ae4309c5ae4
PODFILE CHECKSUM: ef19549a9bc3046e7bb7d2fab4d021637c0c58a3
COCOAPODS: 1.11.3
COCOAPODS: 1.15.0

View File

@ -8,6 +8,18 @@
/* Begin PBXBuildFile section */
1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; };
296251252AE7410D00D574FF /* Colors.swift in Sources */ = {isa = PBXBuildFile; fileRef = 296251242AE7410D00D574FF /* Colors.swift */; };
2978ECDD2B62D00C00E36CE8 /* FlutterAssets.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2978ECDC2B62D00C00E36CE8 /* FlutterAssets.swift */; };
297F6FC72AD06E0D00FF159E /* WidgetKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 297F6FC62AD06E0D00FF159E /* WidgetKit.framework */; };
297F6FC92AD06E0D00FF159E /* SwiftUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 297F6FC82AD06E0D00FF159E /* SwiftUI.framework */; };
297F6FCC2AD06E0D00FF159E /* WonderousWidgetBundle.swift in Sources */ = {isa = PBXBuildFile; fileRef = 297F6FCB2AD06E0D00FF159E /* WonderousWidgetBundle.swift */; };
297F6FCE2AD06E0D00FF159E /* WonderousWidget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 297F6FCD2AD06E0D00FF159E /* WonderousWidget.swift */; };
297F6FD12AD06E0F00FF159E /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 297F6FD02AD06E0F00FF159E /* Assets.xcassets */; };
297F6FD32AD06E0F00FF159E /* WonderousWidget.intentdefinition in Sources */ = {isa = PBXBuildFile; fileRef = 297F6FCF2AD06E0D00FF159E /* WonderousWidget.intentdefinition */; };
297F6FD42AD06E0F00FF159E /* WonderousWidget.intentdefinition in Sources */ = {isa = PBXBuildFile; fileRef = 297F6FCF2AD06E0D00FF159E /* WonderousWidget.intentdefinition */; };
297F6FD72AD06E0F00FF159E /* Wonderous WidgetExtension.appex in Embed Foundation Extensions */ = {isa = PBXBuildFile; fileRef = 297F6FC52AD06E0D00FF159E /* Wonderous WidgetExtension.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; };
297FD5742AE18011008D8BFE /* WonderousWidgetView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 297FD5732AE18011008D8BFE /* WonderousWidgetView.swift */; };
297FD5762AE19BD9008D8BFE /* WonderWidgetViewComponents.swift in Sources */ = {isa = PBXBuildFile; fileRef = 297FD5752AE19BD9008D8BFE /* WonderWidgetViewComponents.swift */; };
323DE3CFA8490EAB3C4E249C /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4A44ACC5DE81A9C3E5BDA151 /* Pods_Runner.framework */; };
3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; };
74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; };
@ -17,6 +29,13 @@
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
297F6FD52AD06E0F00FF159E /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 97C146E61CF9000F007C117D /* Project object */;
proxyType = 1;
remoteGlobalIDString = 297F6FC42AD06E0D00FF159E;
remoteInfo = WonderousWidgetExtension;
};
E214FC8827C5A18E005F78FB /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 97C146E61CF9000F007C117D /* Project object */;
@ -27,6 +46,17 @@
/* End PBXContainerItemProxy section */
/* Begin PBXCopyFilesBuildPhase section */
297F6FD82AD06E0F00FF159E /* Embed Foundation Extensions */ = {
isa = PBXCopyFilesBuildPhase;
buildActionMask = 2147483647;
dstPath = "";
dstSubfolderSpec = 13;
files = (
297F6FD72AD06E0F00FF159E /* Wonderous WidgetExtension.appex in Embed Foundation Extensions */,
);
name = "Embed Foundation Extensions";
runOnlyForDeploymentPostprocessing = 0;
};
9705A1C41CF9048500538489 /* Embed Frameworks */ = {
isa = PBXCopyFilesBuildPhase;
buildActionMask = 2147483647;
@ -43,6 +73,19 @@
1475293CB8660AC785DF56AB /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = "<group>"; };
1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = "<group>"; };
1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = "<group>"; };
296251242AE7410D00D574FF /* Colors.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Colors.swift; sourceTree = "<group>"; };
2978ECDC2B62D00C00E36CE8 /* FlutterAssets.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FlutterAssets.swift; sourceTree = "<group>"; };
297F6FC52AD06E0D00FF159E /* Wonderous WidgetExtension.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; name = "Wonderous WidgetExtension.appex"; path = WonderousWidgetExtension.appex; sourceTree = BUILT_PRODUCTS_DIR; };
297F6FC62AD06E0D00FF159E /* WidgetKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WidgetKit.framework; path = System/Library/Frameworks/WidgetKit.framework; sourceTree = SDKROOT; };
297F6FC82AD06E0D00FF159E /* SwiftUI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SwiftUI.framework; path = System/Library/Frameworks/SwiftUI.framework; sourceTree = SDKROOT; };
297F6FCB2AD06E0D00FF159E /* WonderousWidgetBundle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WonderousWidgetBundle.swift; sourceTree = "<group>"; };
297F6FCD2AD06E0D00FF159E /* WonderousWidget.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WonderousWidget.swift; sourceTree = "<group>"; };
297F6FCF2AD06E0D00FF159E /* WonderousWidget.intentdefinition */ = {isa = PBXFileReference; lastKnownFileType = file.intentdefinition; path = WonderousWidget.intentdefinition; sourceTree = "<group>"; };
297F6FD02AD06E0F00FF159E /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
297F6FD22AD06E0F00FF159E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
297FD56C2ADF0DAB008D8BFE /* WonderousWidgetExtension.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = WonderousWidgetExtension.entitlements; sourceTree = "<group>"; };
297FD5732AE18011008D8BFE /* WonderousWidgetView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WonderousWidgetView.swift; sourceTree = "<group>"; };
297FD5752AE19BD9008D8BFE /* WonderWidgetViewComponents.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WonderWidgetViewComponents.swift; sourceTree = "<group>"; };
3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = "<group>"; };
4A44ACC5DE81A9C3E5BDA151 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; };
74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = "<group>"; };
@ -62,6 +105,15 @@
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
297F6FC22AD06E0D00FF159E /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
297F6FC92AD06E0D00FF159E /* SwiftUI.framework in Frameworks */,
297F6FC72AD06E0D00FF159E /* WidgetKit.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
97C146EB1CF9000F007C117D /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
@ -80,10 +132,28 @@
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
297F6FCA2AD06E0D00FF159E /* WonderousWidget */ = {
isa = PBXGroup;
children = (
297F6FCB2AD06E0D00FF159E /* WonderousWidgetBundle.swift */,
297F6FCD2AD06E0D00FF159E /* WonderousWidget.swift */,
297F6FCF2AD06E0D00FF159E /* WonderousWidget.intentdefinition */,
297F6FD02AD06E0F00FF159E /* Assets.xcassets */,
297F6FD22AD06E0F00FF159E /* Info.plist */,
297FD5732AE18011008D8BFE /* WonderousWidgetView.swift */,
297FD5752AE19BD9008D8BFE /* WonderWidgetViewComponents.swift */,
296251242AE7410D00D574FF /* Colors.swift */,
2978ECDC2B62D00C00E36CE8 /* FlutterAssets.swift */,
);
path = WonderousWidget;
sourceTree = "<group>";
};
5073AC1D92C10773F20D12A2 /* Frameworks */ = {
isa = PBXGroup;
children = (
4A44ACC5DE81A9C3E5BDA151 /* Pods_Runner.framework */,
297F6FC62AD06E0D00FF159E /* WidgetKit.framework */,
297F6FC82AD06E0D00FF159E /* SwiftUI.framework */,
);
name = Frameworks;
sourceTree = "<group>";
@ -102,8 +172,10 @@
97C146E51CF9000F007C117D = {
isa = PBXGroup;
children = (
297FD56C2ADF0DAB008D8BFE /* WonderousWidgetExtension.entitlements */,
9740EEB11CF90186004384FC /* Flutter */,
97C146F01CF9000F007C117D /* Runner */,
297F6FCA2AD06E0D00FF159E /* WonderousWidget */,
97C146EF1CF9000F007C117D /* Products */,
5073AC1D92C10773F20D12A2 /* Frameworks */,
E090BB04291350D10AF9DE4E /* Pods */,
@ -115,6 +187,7 @@
children = (
97C146EE1CF9000F007C117D /* Runner.app */,
E214FC8227C5A18D005F78FB /* wondersUITests.xctest */,
297F6FC52AD06E0D00FF159E /* Wonderous WidgetExtension.appex */,
);
name = Products;
sourceTree = "<group>";
@ -148,6 +221,23 @@
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
297F6FC42AD06E0D00FF159E /* WonderousWidgetExtension */ = {
isa = PBXNativeTarget;
buildConfigurationList = 297F6FDC2AD06E0F00FF159E /* Build configuration list for PBXNativeTarget "WonderousWidgetExtension" */;
buildPhases = (
297F6FC12AD06E0D00FF159E /* Sources */,
297F6FC22AD06E0D00FF159E /* Frameworks */,
297F6FC32AD06E0D00FF159E /* Resources */,
);
buildRules = (
);
dependencies = (
);
name = WonderousWidgetExtension;
productName = WonderousWidgetExtension;
productReference = 297F6FC52AD06E0D00FF159E /* Wonderous WidgetExtension.appex */;
productType = "com.apple.product-type.app-extension";
};
97C146ED1CF9000F007C117D /* Runner */ = {
isa = PBXNativeTarget;
buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */;
@ -157,6 +247,7 @@
97C146EA1CF9000F007C117D /* Sources */,
97C146EB1CF9000F007C117D /* Frameworks */,
97C146EC1CF9000F007C117D /* Resources */,
297F6FD82AD06E0F00FF159E /* Embed Foundation Extensions */,
9705A1C41CF9048500538489 /* Embed Frameworks */,
3B06AD1E1E4923F5004D2608 /* Thin Binary */,
9DAF500633B345EE15CA82E0 /* [CP] Embed Pods Frameworks */,
@ -165,6 +256,7 @@
buildRules = (
);
dependencies = (
297F6FD62AD06E0F00FF159E /* PBXTargetDependency */,
);
name = Runner;
productName = Runner;
@ -198,10 +290,13 @@
KnownAssetTags = (
New,
);
LastSwiftUpdateCheck = 1320;
LastUpgradeCheck = 1300;
LastSwiftUpdateCheck = 1430;
LastUpgradeCheck = 1430;
ORGANIZATIONNAME = "";
TargetAttributes = {
297F6FC42AD06E0D00FF159E = {
CreatedOnToolsVersion = 14.3.1;
};
97C146ED1CF9000F007C117D = {
CreatedOnToolsVersion = 7.3.1;
LastSwiftMigration = 1100;
@ -227,11 +322,20 @@
targets = (
97C146ED1CF9000F007C117D /* Runner */,
E214FC8127C5A18D005F78FB /* wondersUITests */,
297F6FC42AD06E0D00FF159E /* WonderousWidgetExtension */,
);
};
/* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */
297F6FC32AD06E0D00FF159E /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
297F6FD12AD06E0F00FF159E /* Assets.xcassets in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
97C146EC1CF9000F007C117D /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
@ -282,6 +386,7 @@
files = (
);
inputPaths = (
"${TARGET_BUILD_DIR}/${INFOPLIST_PATH}",
);
name = "Thin Binary";
outputPaths = (
@ -342,10 +447,25 @@
/* End PBXShellScriptBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
297F6FC12AD06E0D00FF159E /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
297FD5762AE19BD9008D8BFE /* WonderWidgetViewComponents.swift in Sources */,
296251252AE7410D00D574FF /* Colors.swift in Sources */,
297F6FD32AD06E0F00FF159E /* WonderousWidget.intentdefinition in Sources */,
2978ECDD2B62D00C00E36CE8 /* FlutterAssets.swift in Sources */,
297FD5742AE18011008D8BFE /* WonderousWidgetView.swift in Sources */,
297F6FCE2AD06E0D00FF159E /* WonderousWidget.swift in Sources */,
297F6FCC2AD06E0D00FF159E /* WonderousWidgetBundle.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
97C146EA1CF9000F007C117D /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
297F6FD42AD06E0F00FF159E /* WonderousWidget.intentdefinition in Sources */,
74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */,
1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */,
);
@ -361,6 +481,11 @@
/* End PBXSourcesBuildPhase section */
/* Begin PBXTargetDependency section */
297F6FD62AD06E0F00FF159E /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 297F6FC42AD06E0D00FF159E /* WonderousWidgetExtension */;
targetProxy = 297F6FD52AD06E0F00FF159E /* PBXContainerItemProxy */;
};
E214FC8927C5A18E005F78FB /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 97C146ED1CF9000F007C117D /* Runner */;
@ -444,9 +569,12 @@
isa = XCBuildConfiguration;
baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 4;
DEVELOPMENT_TEAM = S3TL5AY6Y3;
ENABLE_BITCODE = NO;
@ -458,6 +586,7 @@
);
PRODUCT_BUNDLE_IDENTIFIER = com.gskinner.flutter.wonders;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
@ -465,6 +594,120 @@
};
name = Profile;
};
297F6FD92AD06E0F00FF159E /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
ASSETCATALOG_COMPILER_WIDGET_BACKGROUND_COLOR_NAME = WidgetBackground;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
CLANG_ENABLE_OBJC_WEAK = YES;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CODE_SIGN_ENTITLEMENTS = WonderousWidgetExtension.entitlements;
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = S3TL5AY6Y3;
GCC_C_LANGUAGE_STANDARD = gnu11;
GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_FILE = WonderousWidget/Info.plist;
INFOPLIST_KEY_CFBundleDisplayName = "Wonderous Widget";
INFOPLIST_KEY_NSHumanReadableCopyright = "";
IPHONEOS_DEPLOYMENT_TARGET = 16.4;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
"@executable_path/../../Frameworks",
);
MARKETING_VERSION = 1.0;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = "com.gskinner.flutter.wonders.Wonderous-Widget";
PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES;
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
SWIFT_EMIT_LOC_STRINGS = YES;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Debug;
};
297F6FDA2AD06E0F00FF159E /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
ASSETCATALOG_COMPILER_WIDGET_BACKGROUND_COLOR_NAME = WidgetBackground;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
CLANG_ENABLE_OBJC_WEAK = YES;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CODE_SIGN_ENTITLEMENTS = WonderousWidgetExtension.entitlements;
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = S3TL5AY6Y3;
GCC_C_LANGUAGE_STANDARD = gnu11;
GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_FILE = WonderousWidget/Info.plist;
INFOPLIST_KEY_CFBundleDisplayName = "Wonderous Widget";
INFOPLIST_KEY_NSHumanReadableCopyright = "";
IPHONEOS_DEPLOYMENT_TARGET = 16.4;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
"@executable_path/../../Frameworks",
);
MARKETING_VERSION = 1.0;
MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = "com.gskinner.flutter.wonders.Wonderous-Widget";
PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES;
SWIFT_EMIT_LOC_STRINGS = YES;
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Release;
};
297F6FDB2AD06E0F00FF159E /* Profile */ = {
isa = XCBuildConfiguration;
buildSettings = {
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
ASSETCATALOG_COMPILER_WIDGET_BACKGROUND_COLOR_NAME = WidgetBackground;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
CLANG_ENABLE_OBJC_WEAK = YES;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CODE_SIGN_ENTITLEMENTS = "Wonderous WidgetExtension.entitlements";
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = S3TL5AY6Y3;
GCC_C_LANGUAGE_STANDARD = gnu11;
GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_FILE = "Wonderous Widget/Info.plist";
INFOPLIST_KEY_CFBundleDisplayName = "Wonderous Widget";
INFOPLIST_KEY_NSHumanReadableCopyright = "";
IPHONEOS_DEPLOYMENT_TARGET = 16.4;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
"@executable_path/../../Frameworks",
);
MARKETING_VERSION = 1.0;
MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = "com.gskinner.flutter.wonders.Wonderous-Widget";
PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES;
SWIFT_EMIT_LOC_STRINGS = YES;
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Profile;
};
97C147031CF9000F007C117D /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
@ -580,9 +823,12 @@
isa = XCBuildConfiguration;
baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 4;
DEVELOPMENT_TEAM = S3TL5AY6Y3;
ENABLE_BITCODE = NO;
@ -594,6 +840,7 @@
);
PRODUCT_BUNDLE_IDENTIFIER = com.gskinner.flutter.wonders;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_VERSION = 5.0;
@ -606,6 +853,7 @@
isa = XCBuildConfiguration;
baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
@ -714,6 +962,16 @@
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
297F6FDC2AD06E0F00FF159E /* Build configuration list for PBXNativeTarget "WonderousWidgetExtension" */ = {
isa = XCConfigurationList;
buildConfigurations = (
297F6FD92AD06E0F00FF159E /* Debug */,
297F6FDA2AD06E0F00FF159E /* Release */,
297F6FDB2AD06E0F00FF159E /* Profile */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */ = {
isa = XCConfigurationList;
buildConfigurations = (

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1300"
LastUpgradeVersion = "1430"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"

View File

@ -1,122 +1,122 @@
{
"images" : [
"images": [
{
"size" : "20x20",
"idiom" : "iphone",
"filename" : "Icon-App-20x20@2x.png",
"scale" : "2x"
"filename": "Icon-App-20x20@2x.png",
"idiom": "iphone",
"scale": "2x",
"size": "20x20"
},
{
"size" : "20x20",
"idiom" : "iphone",
"filename" : "Icon-App-20x20@3x.png",
"scale" : "3x"
"filename": "Icon-App-20x20@3x.png",
"idiom": "iphone",
"scale": "3x",
"size": "20x20"
},
{
"size" : "29x29",
"idiom" : "iphone",
"filename" : "Icon-App-29x29@1x.png",
"scale" : "1x"
"filename": "Icon-App-29x29@1x.png",
"idiom": "iphone",
"scale": "1x",
"size": "29x29"
},
{
"size" : "29x29",
"idiom" : "iphone",
"filename" : "Icon-App-29x29@2x.png",
"scale" : "2x"
"filename": "Icon-App-29x29@2x.png",
"idiom": "iphone",
"scale": "2x",
"size": "29x29"
},
{
"size" : "29x29",
"idiom" : "iphone",
"filename" : "Icon-App-29x29@3x.png",
"scale" : "3x"
"filename": "Icon-App-29x29@3x.png",
"idiom": "iphone",
"scale": "3x",
"size": "29x29"
},
{
"size" : "40x40",
"idiom" : "iphone",
"filename" : "Icon-App-40x40@2x.png",
"scale" : "2x"
"filename": "Icon-App-40x40@2x.png",
"idiom": "iphone",
"scale": "2x",
"size": "40x40"
},
{
"size" : "40x40",
"idiom" : "iphone",
"filename" : "Icon-App-40x40@3x.png",
"scale" : "3x"
"filename": "Icon-App-40x40@3x.png",
"idiom": "iphone",
"scale": "3x",
"size": "40x40"
},
{
"size" : "60x60",
"idiom" : "iphone",
"filename" : "Icon-App-60x60@2x.png",
"scale" : "2x"
"filename": "Icon-App-60x60@2x.png",
"idiom": "iphone",
"scale": "2x",
"size": "60x60"
},
{
"size" : "60x60",
"idiom" : "iphone",
"filename" : "Icon-App-60x60@3x.png",
"scale" : "3x"
"filename": "Icon-App-60x60@3x.png",
"idiom": "iphone",
"scale": "3x",
"size": "60x60"
},
{
"size" : "20x20",
"idiom" : "ipad",
"filename" : "Icon-App-20x20@1x.png",
"scale" : "1x"
"filename": "Icon-App-20x20@1x.png",
"idiom": "ipad",
"scale": "1x",
"size": "20x20"
},
{
"size" : "20x20",
"idiom" : "ipad",
"filename" : "Icon-App-20x20@2x.png",
"scale" : "2x"
"filename": "Icon-App-20x20@2x.png",
"idiom": "ipad",
"scale": "2x",
"size": "20x20"
},
{
"size" : "29x29",
"idiom" : "ipad",
"filename" : "Icon-App-29x29@1x.png",
"scale" : "1x"
"filename": "Icon-App-29x29@1x.png",
"idiom": "ipad",
"scale": "1x",
"size": "29x29"
},
{
"size" : "29x29",
"idiom" : "ipad",
"filename" : "Icon-App-29x29@2x.png",
"scale" : "2x"
"filename": "Icon-App-29x29@2x.png",
"idiom": "ipad",
"scale": "2x",
"size": "29x29"
},
{
"size" : "40x40",
"idiom" : "ipad",
"filename" : "Icon-App-40x40@1x.png",
"scale" : "1x"
"filename": "Icon-App-40x40@1x.png",
"idiom": "ipad",
"scale": "1x",
"size": "40x40"
},
{
"size" : "40x40",
"idiom" : "ipad",
"filename" : "Icon-App-40x40@2x.png",
"scale" : "2x"
"filename": "Icon-App-40x40@2x.png",
"idiom": "ipad",
"scale": "2x",
"size": "40x40"
},
{
"size" : "76x76",
"idiom" : "ipad",
"filename" : "Icon-App-76x76@1x.png",
"scale" : "1x"
"filename": "Icon-App-76x76@1x.png",
"idiom": "ipad",
"scale": "1x",
"size": "76x76"
},
{
"size" : "76x76",
"idiom" : "ipad",
"filename" : "Icon-App-76x76@2x.png",
"scale" : "2x"
"filename": "Icon-App-76x76@2x.png",
"idiom": "ipad",
"scale": "2x",
"size": "76x76"
},
{
"size" : "83.5x83.5",
"idiom" : "ipad",
"filename" : "Icon-App-83.5x83.5@2x.png",
"scale" : "2x"
"filename": "Icon-App-83.5x83.5@2x.png",
"idiom": "ipad",
"scale": "2x",
"size": "83.5x83.5"
},
{
"size" : "1024x1024",
"idiom" : "ios-marketing",
"filename" : "Icon-App-1024x1024@1x.png",
"scale" : "1x"
"filename": "Icon-App-1024x1024@1x.png",
"idiom": "ios-marketing",
"scale": "1x",
"size": "1024x1024"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
"info": {
"author": "icons_launcher",
"version": 1
}
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 500 KiB

After

Width:  |  Height:  |  Size: 452 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 700 B

After

Width:  |  Height:  |  Size: 632 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 973 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.5 KiB

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.1 KiB

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.4 KiB

After

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.4 KiB

After

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.9 KiB

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.9 KiB

After

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 70 B

After

Width:  |  Height:  |  Size: 69 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 50 KiB

View File

@ -1,58 +1,60 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CADisableMinimumFrameDurationOnPhone</key>
<true/>
<key>CFBundleDevelopmentRegion</key>
<string>$(DEVELOPMENT_LANGUAGE)</string>
<key>CFBundleDisplayName</key>
<string>Wonderous</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleLocalizations</key>
<array>
<string>en</string>
<string>zh_CN</string>
</array>
<key>CFBundleName</key>
<string>wonders</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>$(FLUTTER_BUILD_NAME)</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>$(FLUTTER_BUILD_NUMBER)</string>
<key>ITSAppUsesNonExemptEncryption</key>
<false/>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>NSLocationWhenInUseUsageDescription</key>
<string>Show a google maps view.</string>
<key>NSPhotoLibraryAddUsageDescription</key>
<string>Save wallpapers to the gallery!</string>
<key>UIApplicationSupportsIndirectInputEvents</key>
<true/>
<key>UILaunchStoryboardName</key>
<string>LaunchScreen</string>
<key>UIMainStoryboardFile</key>
<string>Main</string>
<key>UIStatusBarHidden</key>
<false/>
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>UIViewControllerBasedStatusBarAppearance</key>
<false/>
</dict>
<dict>
<key>FlutterDeepLinkingEnabled</key>
<true/>
<key>CADisableMinimumFrameDurationOnPhone</key>
<true/>
<key>CFBundleDevelopmentRegion</key>
<string>$(DEVELOPMENT_LANGUAGE)</string>
<key>CFBundleDisplayName</key>
<string>Wonderous</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleLocalizations</key>
<array>
<string>en</string>
<string>zh_CN</string>
</array>
<key>CFBundleName</key>
<string>wonders</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>$(FLUTTER_BUILD_NAME)</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>$(FLUTTER_BUILD_NUMBER)</string>
<key>ITSAppUsesNonExemptEncryption</key>
<false/>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>NSLocationWhenInUseUsageDescription</key>
<string>Show a google maps view.</string>
<key>NSPhotoLibraryAddUsageDescription</key>
<string>Save wallpapers to the gallery!</string>
<key>UIApplicationSupportsIndirectInputEvents</key>
<true/>
<key>UILaunchStoryboardName</key>
<string>LaunchScreen</string>
<key>UIMainStoryboardFile</key>
<string>Main</string>
<key>UIStatusBarHidden</key>
<false/>
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>UIViewControllerBasedStatusBarAppearance</key>
<false/>
</dict>
</plist>

View File

@ -4,5 +4,9 @@
<dict>
<key>aps-environment</key>
<string>development</string>
<key>com.apple.security.application-groups</key>
<array>
<string>group.com.gskinner.flutter.wonders.widget</string>
</array>
</dict>
</plist>

View File

@ -0,0 +1,13 @@
{
"images" : [
{
"idiom" : "universal",
"platform" : "ios",
"size" : "1024x1024"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

View File

@ -0,0 +1,6 @@
{
"info" : {
"author" : "xcode",
"version" : 1
}
}

View File

@ -0,0 +1,11 @@
{
"colors" : [
{
"idiom" : "universal"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

View File

@ -0,0 +1,11 @@
import Foundation
import SwiftUI
/// Define some custom extensions on the Color class, so we can use the shorthand syntax `..myColor`
extension Color {
public static let accent = Color(red: 0.89, green: 0.58, blue: 0.36)
public static let offWhite = Color(red: 0.97, green: 0.92, blue: 0.9)
public static let mediumGrey = Color(red: 0.62, green: 0.6, blue: 0.58)
public static let darkGrey = Color(red: 0.15, green: 0.15, blue: 0.15)
public static let body = Color(red: 0.32, green: 0.31, blue: 0.3);
}

View File

@ -0,0 +1,22 @@
import Foundation
struct FlutterImages {
static let bgEmpty = getAssetPath("/assets/images/widget/background-empty.jpg")
static let icon = getAssetPath("/assets/images/widget/wonderous-icon.png")
}
func getAssetPath(_ path : String) -> String {
return assetBundleUrl.appending(path: path).path()
}
// Returns a file path to the location of the flutter assetBundle
var assetBundleUrl: URL {
let bundle = Bundle.main
if bundle.bundleURL.pathExtension == "appex" {
// Peel off two directory levels - MY_APP.app/PlugIns/MY_APP_EXTENSION.appex
var url = bundle.bundleURL.deletingLastPathComponent().deletingLastPathComponent()
url.append(component: "Frameworks/App.framework/flutter_assets")
return url
}
return bundle.bundleURL
}

View File

@ -0,0 +1,11 @@
//
// FlutterUtils.swift
// Wonderous WidgetExtension
//
// Created by Shawn on 2023-10-19.
//
import Foundation

View File

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>NSExtension</key>
<dict>
<key>NSExtensionPointIdentifier</key>
<string>com.apple.widgetkit-extension</string>
</dict>
</dict>
</plist>

View File

@ -0,0 +1,63 @@
import Foundation
import SwiftUI
// Loads a default image from the flutter assets bundle,
// or displays a base64 encoded image that has been saved from the flutter application
struct BgImage : View {
var entry: WonderousTimelineEntry
var body: some View {
var uiImage:UIImage?;
// If there is no saved imageData, use the default bg image
if(entry.imageData.isEmpty){
uiImage = UIImage(contentsOfFile: FlutterImages.bgEmpty);
}
// Load a base64 encoded image that has been written by the flutter app
else {
uiImage = UIImage(data: Data(base64Encoded: entry.imageData)!)
}
if(uiImage != nil){
// Use geometry reader to prevent an oversized bg image from pushing the other content out of the widgets bounds (https://stackoverflow.com/questions/57593552/swiftui-prevent-image-from-expanding-view-rect-outside-of-screen-bounds)
let image = GeometryReader { geometry in
Image(uiImage: uiImage!)
.resizable()
.aspectRatio(contentMode: .fill)
.edgesIgnoringSafeArea(.all) // Ignore the safe area
.frame(maxWidth: geometry.size.width, maxHeight: geometry.size.height)
}
return AnyView(image)
}
debugPrint("The image file could not be loaded")
return AnyView(EmptyView())
}
}
// Declares a restyled version of the native ProgressView
struct GaugeProgressStyle: ProgressViewStyle {
func makeBody(configuration: Configuration) -> some View {
let fractionCompleted = configuration.fractionCompleted ?? 0
return ZStack {
Circle()
.stroke(Color.body, style: StrokeStyle(lineWidth: 2))
Circle()
.trim(from: 0, to: fractionCompleted)
.stroke(Color.accent, style: StrokeStyle(lineWidth: 4, lineCap: .round))
.rotationEffect(.degrees(90))
}
}
}
// Create an extension to support new containerBackground API on
// iOS 17 while still supporting iOS 16 and less (https://nemecek.be/blog/192/hotfixing-widgets-for-ios-17-containerbackground-padding)
extension View {
func widgetBackground(_ backgroundView: some View) -> some View {
if #available(iOSApplicationExtension 17.0, iOS 17.0, macOSApplicationExtension 14.0, *) {
return containerBackground(for: .widget) {
backgroundView
}
} else {
return background(backgroundView)
}
}
}

View File

@ -0,0 +1,59 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>INEnums</key>
<array/>
<key>INIntentDefinitionModelVersion</key>
<string>1.2</string>
<key>INIntentDefinitionNamespace</key>
<string>88xZPY</string>
<key>INIntentDefinitionSystemVersion</key>
<string>20A294</string>
<key>INIntentDefinitionToolsBuildVersion</key>
<string>12A6144</string>
<key>INIntentDefinitionToolsVersion</key>
<string>12.0</string>
<key>INIntents</key>
<array>
<dict>
<key>INIntentCategory</key>
<string>information</string>
<key>INIntentDescriptionID</key>
<string>tVvJ9c</string>
<key>INIntentEligibleForWidgets</key>
<true/>
<key>INIntentIneligibleForSuggestions</key>
<true/>
<key>INIntentName</key>
<string>Configuration</string>
<key>INIntentResponse</key>
<dict>
<key>INIntentResponseCodes</key>
<array>
<dict>
<key>INIntentResponseCodeName</key>
<string>success</string>
<key>INIntentResponseCodeSuccess</key>
<true/>
</dict>
<dict>
<key>INIntentResponseCodeName</key>
<string>failure</string>
</dict>
</array>
</dict>
<key>INIntentTitle</key>
<string>Configuration</string>
<key>INIntentTitleID</key>
<string>gpCwrM</string>
<key>INIntentType</key>
<string>Custom</string>
<key>INIntentVerb</key>
<string>View</string>
</dict>
</array>
<key>INTypes</key>
<array/>
</dict>
</plist>

View File

@ -0,0 +1,72 @@
import WidgetKit
import SwiftUI
import Intents
/// Every home-widget requires a TimelineEntry. This is passed into the view and propvides any data it needs
struct WonderousTimelineEntry : TimelineEntry {
// Date is a mandatory field for all TimelineEntries
let date: Date
// Custom field for the wonderous view
let discoveredCount:Int;
var title:String = "";
var subTitle:String = "";
var imageData:String = "";
}
/// Widget, defines some high level configuration options as well as the primary view that will display the widget.
struct WonderousWidget: Widget {
let kind: String = "WonderousWidget"
var body: some WidgetConfiguration {
StaticConfiguration(kind: kind, provider: WonderousTimelineProvider()) { entry in
WonderousWidgetView(entry: entry)
}
.contentMarginsDisabled()
.configurationDisplayName("Wonderous Widget")
.description("Track your collected artifacts!")
.supportedFamilies([.systemSmall, .systemMedium, .systemLarge])
}
}
struct WonderousConfig {
let iosKey = "group.com.gskinner.flutter.wonders.widget"
let discoveredCountKey = "dicoveredCount"
}
/// TimelineProvider, returns various WonderousTimelineEntry configurations for different contexts
struct WonderousTimelineProvider: TimelineProvider {
// Provide an entry for a placeholder version of the widget
func placeholder(in context: Context) -> WonderousTimelineEntry {
WonderousTimelineEntry(date: Date(), discoveredCount: 0)
}
// Provide an entry for the current time and state of the widget
func getSnapshot(in context: Context, completion: @escaping (WonderousTimelineEntry) -> ()) {
let entry:WonderousTimelineEntry
let userDefaults = UserDefaults(suiteName: "group.com.gskinner.flutter.wonders.widget")
let discoveredCount = userDefaults?.integer(forKey: "discoveredCount") ?? 0
let title = userDefaults?.string(forKey: "lastDiscoveredTitle") ?? ""
let subTitle = userDefaults?.string(forKey: "lastDiscoveredSubTitle") ?? ""
let imageData = userDefaults?.string(forKey: "lastDiscoveredImageData") ?? ""
entry = WonderousTimelineEntry(
date: Date(),
discoveredCount:discoveredCount,
title: title,
subTitle: subTitle.prefix(1).capitalized + subTitle.dropFirst(),
imageData: imageData
)
completion(entry);
}
// Provide an array of entries for the current time and, optionally, any future times
func getTimeline(in context: Context, completion: @escaping (Timeline<WonderousTimelineEntry>) -> ()) {
getSnapshot(in: context) { (entry) in
let timeline = Timeline(entries: [entry], policy: .atEnd)
completion(timeline)
}
}
}

View File

@ -0,0 +1,12 @@
import WidgetKit
import SwiftUI
// WonderousWidgetBundle
// -> WonderousWidgetView
// -> WonderousWidgetViewComponents
@main
struct WonderousWidgetBundle: WidgetBundle {
var body: some Widget {
WonderousWidget()
}
}

View File

@ -0,0 +1,76 @@
import WidgetKit
import SwiftUI
import Intents
/// Defines the view / layout of the widget
struct WonderousWidgetView : View {
@Environment(\.widgetFamily) var family: WidgetFamily
var entry: WonderousTimelineProvider.Entry
var body: some View {
let showTitle = family == .systemLarge
let showIcon = family != .systemSmall
let showTitleAndDesc = family != .systemSmall
let progressPct = Double(entry.discoveredCount) / 24.0
let iconImage = FlutterImages.icon;
let title = entry.title.isEmpty ? "Wonderous" : entry.title;
let subTitle = entry.subTitle.isEmpty ? "Search for hidden artifacts" : entry.subTitle;
let content = VStack{
// Top row with optional Title and Icon
HStack {
if(showTitle) {
Text("Collection")
.font(.system(size: 15))
.foregroundColor(.offWhite)
}
Spacer();
if(showIcon) {
Image(uiImage: UIImage(contentsOfFile: iconImage)!)
.resizable()
.scaledToFit()
.frame(height: 24)
}
}
Spacer();
// Bottom hz row with title, desc and progress gauge
HStack {
if(showTitleAndDesc) {
VStack(alignment: .leading){
Text(title)
.font(.system(size: 22))
.foregroundColor(.white);
Text(subTitle)
.font(.system(size: 15))
.foregroundColor(.mediumGrey);
}
}
Spacer();
ZStack{
ProgressView(value: progressPct)
.progressViewStyle(GaugeProgressStyle())
.frame(width: 48, height: 48)
Text("\(Int((progressPct * 100).rounded()))%").font(.system(size: 13)).foregroundColor(.white)
}
}
}
// Stack content on top of the background image and a gradient
return ZStack{
BgImage(entry: entry).opacity(0.8)
LinearGradient(
gradient: Gradient(colors: [.black.opacity(0), .black]),
startPoint: .center,
endPoint: .bottom)
content.padding(16)
}
// Ios requires that widgets have a background color
.widgetBackground(Color.darkGrey)
// Deeplink into collections view when tapped
.widgetURL(URL(string: "wonderous:///home/collection"))
}
}

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.application-groups</key>
<array>
<string>group.com.gskinner.flutter.wonders.widget</string>
</array>
</dict>
</plist>

View File

@ -0,0 +1,174 @@
import 'dart:convert';
import 'dart:io';
import 'package:http/http.dart';
import 'package:image/image.dart';
import 'package:path_provider/path_provider.dart';
import 'package:wonders/logic/data/collectible_data.dart';
import 'package:wonders/logic/data/highlight_data.dart';
import 'package:wonders/logic/data/wonders_data/chichen_itza_data.dart';
import 'package:wonders/logic/data/wonders_data/christ_redeemer_data.dart';
import 'package:wonders/logic/data/wonders_data/great_wall_data.dart';
import 'package:wonders/logic/data/wonders_data/machu_picchu_data.dart';
import 'package:wonders/logic/data/wonders_data/petra_data.dart';
import 'package:wonders/logic/data/wonders_data/pyramids_giza_data.dart';
import 'package:wonders/logic/data/wonders_data/taj_mahal_data.dart';
import 'package:wonders/logic/data/wonders_data/colosseum_data.dart';
import 'package:wonders/common_libs.dart';
class ArtifactDownloadHelper extends StatefulWidget {
const ArtifactDownloadHelper({super.key});
@override
State<ArtifactDownloadHelper> createState() => _ArtifactDownloadHelperState();
}
/// Using collectiblesData fetch the data for each artifact and download the image.
/// Resize all images to have multiple sizes (small, medium, large)
/// Save images using format [ID].jpg and [ID].json
/// OR modify CollectibleData_helper.html to include all data in the collectiblesData list so no JSON is required.
class _ArtifactDownloadHelperState extends State<ArtifactDownloadHelper> {
late String imagesDir;
final http = Client();
final List<String> missingIds = [];
@override
void initState() {
super.initState();
createDirectory();
}
Future<void> createDirectory() async {
final rootDir = await getApplicationDocumentsDirectory();
imagesDir = '${rootDir.path}/met_collectibles';
await Directory(imagesDir).create(recursive: true);
}
@override
Widget build(BuildContext context) {
return Center(
child: TextButton(
onPressed: downloadArtifacts,
child: Text('Download Artifacts'),
),
);
}
void downloadArtifacts() async {
missingIds.clear();
/// Download collectibles
for (var c in collectiblesData) {
if (await downloadImageAndJson(c.artifactId) == false) {
missingIds.add(c.artifactId);
}
}
/// Download Highights
for (var h in HighlightData.all) {
if (await downloadImageAndJson(h.artifactId) == false) {
missingIds.add(h.artifactId);
}
}
/// Download search artifacts
final searchData = ChichenItzaData().searchData +
ChristRedeemerData().searchData +
ColosseumData().searchData +
GreatWallData().searchData +
MachuPicchuData().searchData +
PetraData().searchData +
PyramidsGizaData().searchData +
TajMahalData().searchData;
for (var a in searchData) {
final id = a.id.toString();
if (await downloadImageAndJson(id) == false) {
missingIds.add(id);
}
final index = searchData.indexOf(a) + 1;
if (index % 100 == 0) {
debugPrint('$index/${searchData.length}');
}
}
debugPrint('Download complete :) Missing IDs: $missingIds');
}
Future<bool> downloadImageAndJson(String id) async {
File jsonFile = File('$imagesDir/$id.json');
late Map json;
if (jsonFile.existsSync()) {
json = jsonDecode(jsonFile.readAsStringSync()) as Map;
} else {
debugPrint('Downloading $id');
// Fetch JSON for id
Uri uri = Uri.parse('https://collectionapi.metmuseum.org/public/collection/v1/objects/$id');
final response = await http.get(uri);
json = jsonDecode(response.body) as Map;
}
// Check if primaryImage field is valid
if (!json.containsKey('primaryImage') || json['primaryImage'].isEmpty) {
return false;
}
// Download image
final url = json['primaryImage'] as String;
//bool isPublicDomain = json['isPublicDomain'] as bool;
File imgFile = File('$imagesDir/$id.jpg');
// If image does not already exist, download it
if (!imgFile.existsSync()) {
await downloadImage(id, url);
if (!imgFile.existsSync()) return false;
}
// Try to resize image
if (await resizeImage(id, [600, 2000]) == false) {
debugPrint('Failed to resize $id');
imgFile.deleteSync();
return false;
}
// Write JSON to file
if (!jsonFile.existsSync()) {
jsonFile.writeAsStringSync(jsonEncode(json));
debugPrint('json saved @ ${jsonFile.path}');
}
return true;
}
Future<bool> downloadImage(String id, String url) async {
//final sizes = [400, 800, 1600, 3000];
debugPrint('Downloading $url to $imagesDir');
final imgResponse = await get(Uri.parse(url));
// If the image is less than a KB, it's probably a 404 image.
if (imgResponse.bodyBytes.lengthInBytes < 2000) {
return false;
}
File file = File('$imagesDir/$id.jpg');
file.writeAsBytesSync(imgResponse.bodyBytes);
debugPrint('img saved @ ${file.path}');
return true;
}
Future<bool> resizeImage(String id, List<int> sizes) async {
final srcFile = File('$imagesDir/$id.jpg');
//debugPrint('Resizing $id...');
try {
final img = decodeJpg(srcFile.readAsBytesSync());
if (img != null) {
// Write various sizes to disk
for (var size in sizes) {
final resizedFile = File('$imagesDir/${id}_$size.jpg');
if (await resizedFile.exists()) continue;
final resizedImg = copyResize(img, width: size);
await resizedFile.writeAsBytes(encodeJpg(resizedImg, quality: 90));
debugPrint('Resized ${id}_$size');
}
return true;
}
} catch (e) {
debugPrint('Failed to resize $id');
debugPrint(e.toString());
}
return false;
}
}

View File

@ -16,7 +16,7 @@ final int maxYear = wondersLogic.timelineEndYear;
const int maxRequests = 32;
class ArtifactSearchHelper extends StatefulWidget {
const ArtifactSearchHelper({Key? key}) : super(key: key);
const ArtifactSearchHelper({super.key});
@override
State<ArtifactSearchHelper> createState() => _ArtifactSearchHelperState();
@ -161,15 +161,19 @@ class _ArtifactSearchHelperState extends State<ArtifactSearchHelper> {
//if (!json.containsKey('isPublicDomain') || !json['isPublicDomain']) return _logError(id, 'not public domain')
final int year = ((json['objectBeginDate'] as int) + (json['objectEndDate'] as int)) ~/ 2;
if (year < minYear || year > maxYear) return _logError(id, 'year is out of range');
if (year < minYear || year > maxYear) {
return _logError(id, 'year is out of range');
}
String? imageUrlSmall = json['primaryImageSmall'];
if (imageUrlSmall == null) return _logError(id, 'no small image url');
if (!imageUrlSmall.startsWith(SearchData.baseImagePath)) {
return _logError(id, 'unexpected image uri: "$imageUrlSmall"');
if (imageUrlSmall == null || imageUrlSmall.isEmpty) {
return _logError(id, 'no small image url');
}
String imagePath = imageUrlSmall.substring(SearchData.baseImagePath.length);
imagePath = imagePath.replaceFirst('/web-large/', '/mobile-large/');
// if (!imageUrlSmall.startsWith(SearchData.baseImagePath)) {
// return _logError(id, 'unexpected image uri: "$imageUrlSmall"');
// }
// String imageUrl = imageUrlSmall.substring(SearchData.baseImagePath.length);
// imageUrl = imageUrl.replaceFirst('/web-large/', '/mobile-large/');
double? aspectRatio = 0;
if (checkImages) aspectRatio = await _getAspectRatio(imageUrlSmall);
@ -180,7 +184,6 @@ class _ArtifactSearchHelperState extends State<ArtifactSearchHelper> {
id,
_escape(json['title']),
_getKeywords(json),
imagePath,
aspectRatio,
);
@ -229,12 +232,22 @@ class _ArtifactSearchHelperState extends State<ArtifactSearchHelper> {
String suggestions = _getSuggestions(entries);
const fileNames = {
WonderType.chichenItza: 'chichen_itza',
WonderType.christRedeemer: 'christ_redeemer',
WonderType.colosseum: 'colosseum',
WonderType.greatWall: 'great_wall',
WonderType.machuPicchu: 'machu_picchu',
WonderType.petra: 'petra',
WonderType.pyramidsGiza: 'pyramids_giza',
WonderType.tajMahal: 'taj_mahal',
};
Directory dir = await getApplicationDocumentsDirectory();
String type = wonder!.type.toString().split('.').last;
String path = '${dir.path}/$type.dart';
String name = '${fileNames[wonder!.type]}_search_data.dart';
String path = '${dir.path}/$name';
File file = File(path);
await file.writeAsString('$suggestions\n\n$output');
_log('- Wrote file: $type.dart');
_log('- Wrote file: $name');
debugPrint(path);
_nextWonder();
}

View File

@ -43,24 +43,16 @@ class SvgPaths {
/// For wonder specific assets, add an extension to [WonderType] for easy lookup
extension WonderAssetExtensions on WonderType {
String get assetPath {
switch (this) {
case WonderType.pyramidsGiza:
return '${ImagePaths.root}/pyramids';
case WonderType.greatWall:
return '${ImagePaths.root}/great_wall_of_china';
case WonderType.petra:
return '${ImagePaths.root}/petra';
case WonderType.colosseum:
return '${ImagePaths.root}/colosseum';
case WonderType.chichenItza:
return '${ImagePaths.root}/chichen_itza';
case WonderType.machuPicchu:
return '${ImagePaths.root}/machu_picchu';
case WonderType.tajMahal:
return '${ImagePaths.root}/taj_mahal';
case WonderType.christRedeemer:
return '${ImagePaths.root}/christ_the_redeemer';
}
return switch (this) {
WonderType.pyramidsGiza => '${ImagePaths.root}/pyramids',
WonderType.greatWall => '${ImagePaths.root}/great_wall_of_china',
WonderType.petra => '${ImagePaths.root}/petra',
WonderType.colosseum => '${ImagePaths.root}/colosseum',
WonderType.chichenItza => '${ImagePaths.root}/chichen_itza',
WonderType.machuPicchu => '${ImagePaths.root}/machu_picchu',
WonderType.tajMahal => '${ImagePaths.root}/taj_mahal',
WonderType.christRedeemer => '${ImagePaths.root}/christ_the_redeemer'
};
}
String get homeBtn => '$assetPath/wonder-button.png';

View File

@ -1,4 +1,5 @@
/// Consolidate imports that are common across the app.
library;
export 'dart:math';
@ -14,7 +15,6 @@ export 'package:get_it_mixin/get_it_mixin.dart';
export 'package:go_router/go_router.dart';
export 'package:provider/provider.dart';
export 'package:rnd/rnd.dart';
export 'package:simple_rich_text/simple_rich_text.dart';
export 'package:sized_context/sized_context.dart';
export 'package:wonders/assets.dart';
export 'package:wonders/logic/app_logic.dart';

View File

@ -145,7 +145,7 @@
"chichenItzaCallout2": "The city comprised an area of at least 1.9 sq miles (5 sq km) of densely clustered architecture.",
"chichenItzaVideoCaption": "“Ancient Maya 101 | National Geographic.” Youtube, uploaded by National Geographic.",
"chichenItzaMapCaption": "Map showing location of Chichen Itza in Yucatán State, Mexico.",
"chichenItzaHistoryInfo1": "Chichen Itza was a powerful regional capital controlling north and central Yucatán. The earliest hieroglyphic date discovered at Chichen Itza is equivalent to 832 CE, while the last known date was recorded in the Osario temple in 998 CE.\nDominating the North Platform of Chichen Itza is the famous Temple of Kukulcán. The temple was identified by the first Spaniards to see it, as El Castillo (\"the castle\"), and it regularly is referred to as such. The temple was identified by the first Spaniards to see it, as El Castillo (\"the castle\"), and it regularly is referred to as such.",
"chichenItzaHistoryInfo1": "Chichen Itza was a powerful regional capital controlling north and central Yucatán. The earliest hieroglyphic date discovered at Chichen Itza is equivalent to 832 CE, while the last known date was recorded in the Osario temple in 998 CE.\nDominating the North Platform of Chichen Itza is the famous Temple of Kukulcán. The temple was identified by the first Spaniards to see it, as El Castillo (\"the castle\"), and it regularly is referred to as such.",
"chichenItzaHistoryInfo2": "The city was thought to have the most diverse population in the Maya world, a factor that could have contributed to this architectural variety.",
"chichenItzaConstructionInfo1": "The structures of Chichen Itza were built from precisely chiseled limestone blocks that fit together perfectly without the mortar. Many of these stone buildings were originally painted in red, green, blue and purple colors depending on the availability of the pigments.\nThe stepped pyramid El Castillo stands about 98 feet (30 m) high and consists of a series of nine square terraces, each approximately 8.4 feet (2.57 m) high, with a 20 foot (6 m) high temple upon the summit.",
"chichenItzaConstructionInfo2": "It was built upon broken terrain, which was artificially leveled to support structures such as the Castillo pyramid. Important buildings within the center were connected by a dense network of paved roads called sacbeob.",
@ -427,5 +427,7 @@
"timelineEvent1969ce": "Apollo 11 mission lands on the moon",
"privacyPolicy": "Privacy Policy",
"privacyStatement": "As explained in our {privacyUrl} we do not collect any personal information.",
"@privacyStatement": {"placeholders": {"privacyUrl": {}}}
"@privacyStatement": {"placeholders": {"privacyUrl": {}}},
"pageNotFoundBackButton": "Back to civilization",
"pageNotFoundMessage": "The page you are looking for does not exist."
}

View File

@ -405,5 +405,7 @@
"timelineEvent1957ce": "苏联发射斯普特尼克1号",
"timelineEvent1969ce": "阿波罗11号在月球着陆",
"privacyPolicy": "隐私政策",
"privacyStatement": "gskinner 非常重视对用户隐私的保护,正如{privacyUrl}里所诉gskinner 不会收集您的个人信息。"
"privacyStatement": "gskinner 非常重视对用户隐私的保护,正如{privacyUrl}里所诉gskinner 不会收集您的个人信息。",
"pageNotFoundBackButton": "回到文明",
"pageNotFoundMessage": "您正在寻找的页面不存在"
}

View File

@ -1,7 +1,7 @@
import 'dart:async';
import 'dart:ui';
import 'package:desktop_window/desktop_window.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter_displaymode/flutter_displaymode.dart';
import 'package:wonders/common_libs.dart';
import 'package:wonders/logic/common/platform_info.dart';
@ -9,6 +9,8 @@ import 'package:wonders/ui/common/modals/fullscreen_video_viewer.dart';
import 'package:wonders/ui/common/utils/page_routes.dart';
class AppLogic {
Size _appSize = Size.zero;
/// Indicates to the rest of the app that bootstrap has not completed.
/// The router will use this to prevent redirects while bootstrapping.
bool isBootstrapComplete = false;
@ -31,16 +33,22 @@ class AppLogic {
/// Loads settings, sets up services etc.
Future<void> bootstrap() async {
debugPrint('bootstrap start...');
// Set min-sizes for desktop apps
if (PlatformInfo.isDesktop) {
await DesktopWindow.setMinWindowSize($styles.sizes.minAppSize);
if (kIsWeb) {
// SB: This is intentionally not a debugPrint, as it's a message for users who open the console on web.
print(
'''Thanks for checking out Wonderous on the web!
If you encounter any issues please report them at https://github.com/gskinnerTeam/flutter-wonderous-app/issues.''',
);
// Required on web to automatically enable accessibility features
WidgetsFlutterBinding.ensureInitialized().ensureSemantics();
}
// Load any bitmaps the views might need
await AppBitmaps.init();
// Set preferred refresh rate to the max possible (the OS may ignore this)
if (PlatformInfo.isAndroid) {
if (!kIsWeb && PlatformInfo.isAndroid) {
await FlutterDisplayMode.setHighRefreshRate();
}
@ -57,6 +65,7 @@ class AppLogic {
timelineLogic.init();
// Collectibles
collectiblesLogic.init();
await collectiblesLogic.load();
// Flag bootStrap as complete
@ -67,7 +76,7 @@ class AppLogic {
if (showIntro) {
appRouter.go(ScreenPaths.intro);
} else {
appRouter.go(ScreenPaths.home);
appRouter.go(initialDeeplink ?? ScreenPaths.home);
}
}
@ -78,20 +87,18 @@ class AppLogic {
}
/// Called from the UI layer once a MediaQuery has been obtained
void handleAppSizeChanged() {
void handleAppSizeChanged(Size appSize) {
/// Disable landscape layout on smaller form factors
bool isSmall = display.size.shortestSide / display.devicePixelRatio < 600;
supportedOrientations = isSmall ? [Axis.vertical] : [Axis.vertical, Axis.horizontal];
_updateSystemOrientation();
_appSize = appSize;
}
Display get display => PlatformDispatcher.instance.displays.first;
bool shouldUseNavRail() => display.size.width > display.size.height && display.size.height > 250;
bool shouldUseNavRail() => _appSize.width > _appSize.height && _appSize.height > 250;
/// Enable landscape, portrait or both. Views can call this method to override the default settings.
/// For example, the [FullscreenVideoViewer] always wants to enable both landscape and portrait.
/// If a view overrides this, it is responsible for setting it back to [supportedOrientations] when disposed.
void _updateSystemOrientation() {
final axisList = _supportedOrientationsOverride ?? supportedOrientations;
//debugPrint('updateDeviceOrientation, supportedAxis: $axisList');

View File

@ -3,17 +3,18 @@ import 'dart:collection';
import 'package:wonders/common_libs.dart';
import 'package:wonders/logic/common/http_client.dart';
import 'package:wonders/logic/data/artifact_data.dart';
import 'package:wonders/logic/met_api_service.dart';
import 'package:wonders/logic/artifact_api_service.dart';
class MetAPILogic {
class ArtifactAPILogic {
final HashMap<String, ArtifactData?> _artifactCache = HashMap();
MetAPIService get service => GetIt.I.get<MetAPIService>();
ArtifactAPIService get service => GetIt.I.get<ArtifactAPIService>();
/// Returns artifact data by ID. Returns null if artifact cannot be found. */
Future<ArtifactData?> getArtifactByID(String id) async {
Future<ArtifactData?> getArtifactByID(String id, {bool selfHosted = false}) async {
if (_artifactCache.containsKey(id)) return _artifactCache[id];
ServiceResult<ArtifactData?> result = (await service.getObjectByID(id));
ServiceResult<ArtifactData?> result =
(await (selfHosted ? service.getSelfHostedObjectByID(id) : service.getMetObjectByID(id)));
if (!result.success) throw $strings.artifactDetailsErrorNotFound(id);
ArtifactData? artifact = result.content;
return _artifactCache[id] = artifact;

View File

@ -1,14 +1,20 @@
import 'package:wonders/logic/common/http_client.dart';
import 'package:wonders/logic/data/artifact_data.dart';
class MetAPIService {
class ArtifactAPIService {
final String _baseMETUrl = 'https://collectionapi.metmuseum.org/public/collection/v1';
final String _baseSelfHostedUrl = 'https://www.wonderous.info/met';
Future<ServiceResult<ArtifactData?>> getObjectByID(String id) async {
Future<ServiceResult<ArtifactData?>> getMetObjectByID(String id) async {
HttpResponse? response = await HttpClient.send('$_baseMETUrl/objects/$id');
return ServiceResult<ArtifactData?>(response, _parseArtifactData);
}
Future<ServiceResult<ArtifactData?>> getSelfHostedObjectByID(String id) async {
HttpResponse? response = await HttpClient.send('$_baseSelfHostedUrl/$id.json');
return ServiceResult<ArtifactData?>(response, _parseArtifactData);
}
ArtifactData? _parseArtifactData(Map<String, dynamic> content) {
// Source: https://metmuseum.github.io/
return ArtifactData(

View File

@ -1,6 +1,10 @@
import 'dart:convert';
import 'package:http/http.dart' as http;
import 'package:wonders/common_libs.dart';
import 'package:wonders/logic/common/save_load_mixin.dart';
import 'package:wonders/logic/data/collectible_data.dart';
import 'package:wonders/logic/native_widget_service.dart';
class CollectiblesLogic with ThrottledSaveLoadMixin {
@override
@ -13,11 +17,17 @@ class CollectiblesLogic with ThrottledSaveLoadMixin {
late final statesById = ValueNotifier<Map<String, int>>({})..addListener(_updateCounts);
int _discoveredCount = 0;
int get discoveredCount => _discoveredCount;
int _exploredCount = 0;
int get exploredCount => _exploredCount;
late final _nativeWidget = GetIt.I<NativeWidgetService>();
void init() => _nativeWidget.init();
CollectibleData? fromId(String? id) => id == null ? null : all.firstWhereOrNull((o) => o.id == id);
List<CollectibleData> forWonder(WonderType wonder) {
@ -28,6 +38,14 @@ class CollectiblesLogic with ThrottledSaveLoadMixin {
Map<String, int> states = Map.of(statesById.value);
states[id] = state;
statesById.value = states;
if (state == CollectibleState.discovered) {
final data = fromId(id)!;
_updateNativeHomeWidgetData(
title: data.title,
id: data.id,
imageUrl: data.imageUrlSmall,
);
}
scheduleSave();
}
@ -37,6 +55,12 @@ class CollectiblesLogic with ThrottledSaveLoadMixin {
if (state == CollectibleState.discovered) _discoveredCount++;
if (state == CollectibleState.explored) _exploredCount++;
});
final foundCount = discoveredCount + exploredCount;
_nativeWidget.save<int>('discoveredCount', foundCount).then((value) {
_nativeWidget.markDirty();
});
debugPrint('setting discoveredCount for home widget $foundCount');
}
/// Get a discovered item, sorted by the order of wondersLogic.all
@ -67,11 +91,35 @@ class CollectiblesLogic with ThrottledSaveLoadMixin {
for (int i = 0; i < all.length; i++) {
states[all[i].id] = CollectibleState.lost;
}
_updateNativeHomeWidgetData(); // clear home widget data
statesById.value = states;
debugPrint('collection reset');
scheduleSave();
}
Future<void> _updateNativeHomeWidgetData({String title = '', String id = '', String imageUrl = ''}) async {
if (!_nativeWidget.isSupported) return;
// Save title
await _nativeWidget.save<String>('lastDiscoveredTitle', title);
// Subtitle
String subTitle = '';
if (id.isNotEmpty) {
final artifactData = await artifactLogic.getArtifactByID(id);
subTitle = artifactData?.date ?? '';
}
await _nativeWidget.save<String>('lastDiscoveredSubTitle', subTitle);
// Image,
// Download, convert to base64 string and write to shared widget data
String imageBase64 = '';
if (imageUrl.isNotEmpty) {
var bytes = await http.readBytes(Uri.parse(imageUrl));
imageBase64 = base64Encode(bytes);
debugPrint('Saving base64 bytes for homeWidget');
}
await _nativeWidget.save<String>('lastDiscoveredImageData', imageBase64);
await _nativeWidget.markDirty();
}
@override
void copyFromJson(Map<String, dynamic> value) {
Map<String, int> states = {};

View File

@ -94,7 +94,7 @@ class ServiceResult<R> {
ServiceResult(this.response, R Function(Map<String, dynamic>) parser) {
if (StringUtils.isNotEmpty(response.body) && response.success) {
try {
content = parser.call(jsonDecode(response.body!));
content = parser.call(jsonDecode(utf8.decode(response.raw!.bodyBytes)));
} on FormatException catch (e) {
dev.log('ParseError: ${e.message}');
}

View File

@ -49,9 +49,10 @@ class RetryImage extends ImageProvider<Object> {
return completer.future;
}
ImageStreamCompleter _commonLoad(ImageStreamCompleter Function() loader) {
@override
ImageStreamCompleter loadImage(Object key, ImageDecoderCallback decode) {
final _DelegatingImageStreamCompleter completer = _DelegatingImageStreamCompleter();
ImageStreamCompleter completerToWrap = loader();
ImageStreamCompleter completerToWrap = imageProvider.loadImage(key, decode);
late ImageStreamListener listener;
Duration duration = const Duration(milliseconds: 250);
@ -69,7 +70,7 @@ class RetryImage extends ImageProvider<Object> {
}
Future<void>.delayed(duration).then((void v) {
duration *= 2;
completerToWrap = loader();
completerToWrap = imageProvider.loadImage(key, decode);
count += 1;
completerToWrap.addListener(listener);
});
@ -84,24 +85,12 @@ class RetryImage extends ImageProvider<Object> {
return completer;
}
@override
// ignore: deprecated_member_use
ImageStreamCompleter load(Object key, DecoderCallback decode) {
// ignore: deprecated_member_use
return _commonLoad(() => imageProvider.load(key, decode));
}
@override
ImageStreamCompleter loadBuffer(Object key, DecoderBufferCallback decode) {
return _commonLoad(() => imageProvider.loadBuffer(key, decode));
}
@override
bool operator ==(Object other) {
if (other.runtimeType != runtimeType) {
return false;
}
return other is RetryImage && other.imageProvider == other.imageProvider && other.scale == scale;
return other is RetryImage && other.imageProvider == imageProvider && other.scale == scale;
}
@override

View File

@ -16,7 +16,7 @@ mixin ThrottledSaveLoadMixin {
}
Future<void> save() async {
debugPrint('Saving...');
if (!kIsWeb) debugPrint('Saving...');
try {
await _file.save(toJson());
} on Exception catch (e) {

View File

@ -25,6 +25,7 @@ class Throttler {
void _callAction() {
_action?.call(); // If we have an action queued up, complete it.
_action = null; // Once an action is called, do not call the same action again unless another action is queued.
_timer = null;
}

View File

@ -14,6 +14,8 @@ class ArtifactData {
required this.objectBeginYear,
required this.objectEndYear,
});
static const String baseSelfHostedImagePath = 'https://www.wonderous.info/met/';
final String objectId; // Artifact ID, used to identify through MET server calls.
final String title; // Artifact title / name
final String image; // Artifact primary image URL (can have multiple)
@ -28,4 +30,12 @@ class ArtifactData {
final String dimension; // Width and height of physical artifact
final String classification; // Type of artifact
final String culture; // Culture of artifact
String get selfHostedImageUrl => getSelfHostedImageUrl(objectId);
String get selfHostedImageUrlSmall => getSelfHostedImageUrlSmall(objectId);
String get selfHostedImageUrlMedium => getSelfHostedImageUrlMedium(objectId);
static String getSelfHostedImageUrl(String id) => '$baseSelfHostedImagePath$id.jpg';
static String getSelfHostedImageUrlSmall(String id) => '$baseSelfHostedImagePath${id}_600.jpg';
static String getSelfHostedImageUrlMedium(String id) => '$baseSelfHostedImagePath${id}_2000.jpg';
}

View File

@ -1,4 +1,5 @@
import 'package:wonders/common_libs.dart';
import 'package:wonders/logic/data/artifact_data.dart';
class CollectibleState {
static const int lost = 0;
@ -9,8 +10,6 @@ class CollectibleState {
class CollectibleData {
CollectibleData({
required this.title,
required this.imageUrl,
required this.imageUrlSmall,
required this.iconName,
required this.artifactId,
required this.wonder,
@ -19,8 +18,6 @@ class CollectibleData {
}
final String title;
final String imageUrl;
final String imageUrlSmall;
final String iconName;
late final ImageProvider icon;
@ -30,6 +27,9 @@ class CollectibleData {
String get id => artifactId;
String get subtitle => wondersLogic.getData(wonder).artifactCulture;
String get imageUrl => ArtifactData.getSelfHostedImageUrl(id);
String get imageUrlSmall => ArtifactData.getSelfHostedImageUrlSmall(id);
}
// Note: look up a human readable page with:
@ -41,24 +41,18 @@ List<CollectibleData> collectiblesData = [
title: 'Pendant',
wonder: WonderType.chichenItza,
artifactId: '701645',
imageUrl: 'https://images.metmuseum.org/CRDImages/ao/original/DP-25104-001.jpg',
imageUrlSmall: 'https://images.metmuseum.org/CRDImages/ao/mobile-large/DP-25104-001.jpg',
iconName: 'jewelry',
),
CollectibleData(
title: 'Bird Ornament',
wonder: WonderType.chichenItza,
artifactId: '310555',
imageUrl: 'https://images.metmuseum.org/CRDImages/ao/original/DP-23474-001.jpg',
imageUrlSmall: 'https://images.metmuseum.org/CRDImages/ao/mobile-large/DP-23474-001.jpg',
iconName: 'jewelry',
),
CollectibleData(
title: 'La Prison, à Chichen-Itza',
wonder: WonderType.chichenItza,
artifactId: '286467',
imageUrl: 'https://images.metmuseum.org/CRDImages/ph/original/DP132063.jpg',
imageUrlSmall: 'https://images.metmuseum.org/CRDImages/ph/mobile-large/DP132063.jpg',
iconName: 'picture',
),
@ -67,24 +61,18 @@ List<CollectibleData> collectiblesData = [
title: 'Engraved Horn',
wonder: WonderType.christRedeemer,
artifactId: '501302',
imageUrl: 'https://images.metmuseum.org/CRDImages/mi/original/MUS550A2.jpg',
imageUrlSmall: 'https://images.metmuseum.org/CRDImages/mi/mobile-large/MUS550A2.jpg',
iconName: 'statue',
),
CollectibleData(
title: 'Fixed fan',
wonder: WonderType.christRedeemer,
artifactId: '157985',
imageUrl: 'https://images.metmuseum.org/CRDImages/ci/original/48.60_front_CP4.jpg',
imageUrlSmall: 'https://images.metmuseum.org/CRDImages/ci/mobile-large/48.60_front_CP4.jpg',
iconName: 'jewelry',
),
CollectibleData(
title: 'Handkerchiefs (one of two)',
wonder: WonderType.christRedeemer,
artifactId: '227759',
imageUrl: 'https://images.metmuseum.org/CRDImages/ad/original/DP2896.jpg',
imageUrlSmall: 'https://images.metmuseum.org/CRDImages/ad/mobile-large/DP2896.jpg',
iconName: 'textile',
),
@ -93,24 +81,18 @@ List<CollectibleData> collectiblesData = [
title: 'Glass hexagonal amphoriskos',
wonder: WonderType.colosseum,
artifactId: '245376',
imageUrl: 'https://images.metmuseum.org/CRDImages/gr/original/DP124005.jpg',
imageUrlSmall: 'https://images.metmuseum.org/CRDImages/gr/mobile-large/DP124005.jpg',
iconName: 'vase',
),
CollectibleData(
title: 'Bronze plaque of Mithras slaying the bull',
wonder: WonderType.colosseum,
artifactId: '256570',
imageUrl: 'https://images.metmuseum.org/CRDImages/gr/original/DP119236.jpg',
imageUrlSmall: 'https://images.metmuseum.org/CRDImages/gr/mobile-large/DP119236.jpg',
iconName: 'statue',
),
CollectibleData(
title: 'Interno del Colosseo',
wonder: WonderType.colosseum,
artifactId: '286136',
imageUrl: 'https://images.metmuseum.org/CRDImages/ph/original/DP138036.jpg',
imageUrlSmall: 'https://images.metmuseum.org/CRDImages/ph/mobile-large/DP138036.jpg',
iconName: 'picture',
),
@ -119,24 +101,18 @@ List<CollectibleData> collectiblesData = [
title: 'Biographies of Lian Po and Lin Xiangru',
wonder: WonderType.greatWall,
artifactId: '39918',
imageUrl: 'https://images.metmuseum.org/CRDImages/as/original/DP153769.jpg',
imageUrlSmall: 'https://images.metmuseum.org/CRDImages/as/mobile-large/DP153769.jpg',
iconName: 'scroll',
),
CollectibleData(
title: 'Jar with Dragon',
wonder: WonderType.greatWall,
artifactId: '39666',
imageUrl: 'https://images.metmuseum.org/CRDImages/as/original/DT5083.jpg',
imageUrlSmall: 'https://images.metmuseum.org/CRDImages/as/mobile-large/DT5083.jpg',
iconName: 'vase',
),
CollectibleData(
title: 'Panel with Peonies and Butterfly',
wonder: WonderType.greatWall,
artifactId: '39735',
imageUrl: 'https://images.metmuseum.org/CRDImages/as/original/DT834.jpg',
imageUrlSmall: 'https://images.metmuseum.org/CRDImages/as/mobile-large/DT834.jpg',
iconName: 'textile',
),
@ -145,24 +121,18 @@ List<CollectibleData> collectiblesData = [
title: 'Eight-Pointed Star Tunic',
wonder: WonderType.machuPicchu,
artifactId: '308120',
imageUrl: 'https://images.metmuseum.org/CRDImages/ao/original/ra33.149.100.R.jpg',
imageUrlSmall: 'https://images.metmuseum.org/CRDImages/ao/mobile-large/ra33.149.100.R.jpg',
iconName: 'textile',
),
CollectibleData(
title: 'Camelid figurine',
wonder: WonderType.machuPicchu,
artifactId: '309960',
imageUrl: 'https://images.metmuseum.org/CRDImages/ao/original/DP-13440-031.jpg',
imageUrlSmall: 'https://images.metmuseum.org/CRDImages/ao/mobile-large/DP-13440-031.jpg',
iconName: 'statue',
),
CollectibleData(
title: 'Double Bowl',
wonder: WonderType.machuPicchu,
artifactId: '313341',
imageUrl: 'https://images.metmuseum.org/CRDImages/ao/original/DP-24356-001.jpg',
imageUrlSmall: 'https://images.metmuseum.org/CRDImages/ao/mobile-large/DP-24356-001.jpg',
iconName: 'vase',
),
@ -171,24 +141,18 @@ List<CollectibleData> collectiblesData = [
title: 'Camel and riders',
wonder: WonderType.petra,
artifactId: '322592',
imageUrl: 'https://images.metmuseum.org/CRDImages/an/original/DP-14352-001.jpg',
imageUrlSmall: 'https://images.metmuseum.org/CRDImages/an/mobile-large/DP-14352-001.jpg',
iconName: 'statue',
),
CollectibleData(
title: 'Vessel',
wonder: WonderType.petra,
artifactId: '325918',
imageUrl: 'https://images.metmuseum.org/CRDImages/an/original/hb67_246_37.jpg',
imageUrlSmall: 'https://images.metmuseum.org/CRDImages/an/mobile-large/hb67_246_37.jpg',
iconName: 'vase',
),
CollectibleData(
title: 'Open bowl',
wonder: WonderType.petra,
artifactId: '326243',
imageUrl: 'https://images.metmuseum.org/CRDImages/an/original/DT904.jpg',
imageUrlSmall: 'https://images.metmuseum.org/CRDImages/an/mobile-large/DT904.jpg',
iconName: 'vase',
),
@ -197,24 +161,18 @@ List<CollectibleData> collectiblesData = [
title: 'Two papyrus fragments',
wonder: WonderType.pyramidsGiza,
artifactId: '546510',
imageUrl: 'https://images.metmuseum.org/CRDImages/eg/original/09.180.537A_recto_0083.jpg',
imageUrlSmall: 'https://images.metmuseum.org/CRDImages/eg/mobile-large/09.180.537A_recto_0083.jpg',
iconName: 'scroll',
),
CollectibleData(
title: 'Fragmentary Face of King Khafre',
wonder: WonderType.pyramidsGiza,
artifactId: '543896',
imageUrl: 'https://images.metmuseum.org/CRDImages/eg/original/DT11751.jpg',
imageUrlSmall: 'https://images.metmuseum.org/CRDImages/eg/mobile-large/DT11751.jpg',
iconName: 'statue',
),
CollectibleData(
title: 'Jewelry Elements',
wonder: WonderType.pyramidsGiza,
artifactId: '545728',
imageUrl: 'https://images.metmuseum.org/CRDImages/eg/original/DP327402.jpg',
imageUrlSmall: 'https://images.metmuseum.org/CRDImages/eg/mobile-large/DP327402.jpg',
iconName: 'jewelry',
),
@ -223,24 +181,18 @@ List<CollectibleData> collectiblesData = [
title: 'Dagger with Scabbard',
wonder: WonderType.tajMahal,
artifactId: '24907',
imageUrl: 'https://images.metmuseum.org/CRDImages/aa/original/DP157706.jpg',
imageUrlSmall: 'https://images.metmuseum.org/CRDImages/aa/mobile-large/DP157706.jpg',
iconName: 'jewelry',
),
CollectibleData(
title: 'The House of Bijapur',
wonder: WonderType.tajMahal,
artifactId: '453183',
imageUrl: 'https://images.metmuseum.org/CRDImages/is/original/DP231353.jpg',
imageUrlSmall: 'https://images.metmuseum.org/CRDImages/is/mobile-large/DP231353.jpg',
iconName: 'picture',
),
CollectibleData(
title: 'Panel of Nasta\'liq Calligraphy',
wonder: WonderType.tajMahal,
artifactId: '453983',
imageUrl: 'https://images.metmuseum.org/CRDImages/is/original/DP299944.jpg',
imageUrlSmall: 'https://images.metmuseum.org/CRDImages/is/mobile-large/DP299944.jpg',
iconName: 'scroll',
),
];

View File

@ -1,10 +1,9 @@
import 'package:wonders/common_libs.dart';
import 'package:wonders/logic/data/artifact_data.dart';
class HighlightData {
HighlightData({
required this.title,
required this.imageUrl,
required this.imageUrlSmall,
required this.culture,
required this.artifactId,
required this.wonder,
@ -17,8 +16,6 @@ class HighlightData {
static List<HighlightData> get all => _highlights;
final String title;
final String imageUrl;
final String imageUrlSmall;
final String culture;
final String date;
@ -29,6 +26,9 @@ class HighlightData {
String get id => artifactId;
String get subtitle => wondersLogic.getData(wonder).artifactCulture;
String get imageUrl => ArtifactData.getSelfHostedImageUrl(artifactId);
String get imageUrlSmall => ArtifactData.getSelfHostedImageUrlSmall(artifactId);
}
// Note: look up a human readable page with:
@ -41,8 +41,6 @@ List<HighlightData> _highlights = [
wonder: WonderType.chichenItza,
artifactId: '503940',
culture: 'Mayan',
imageUrlSmall: 'https://images.metmuseum.org/CRDImages/mi/web-large/DT4624a.jpg',
imageUrl: 'https://images.metmuseum.org/CRDImages/mi/original/DT4624a.jpg',
date: '7th9th century',
),
HighlightData(
@ -50,8 +48,6 @@ List<HighlightData> _highlights = [
wonder: WonderType.chichenItza,
artifactId: '312595',
culture: 'Maya',
imageUrlSmall: 'https://images.metmuseum.org/CRDImages/ao/web-large/DP-12659-001.jpg',
imageUrl: 'https://images.metmuseum.org/CRDImages/ao/original/DP-12659-001.jpg',
date: '6th9th century',
),
HighlightData(
@ -59,8 +55,6 @@ List<HighlightData> _highlights = [
wonder: WonderType.chichenItza,
artifactId: '310551',
culture: 'Maya',
imageUrlSmall: 'https://images.metmuseum.org/CRDImages/ao/web-large/DP102949.jpg',
imageUrl: 'https://images.metmuseum.org/CRDImages/ao/original/DP102949.jpg',
date: 'mid-7th9th century',
),
HighlightData(
@ -68,8 +62,6 @@ List<HighlightData> _highlights = [
wonder: WonderType.chichenItza,
artifactId: '316304',
culture: 'Maya',
imageUrlSmall: 'https://images.metmuseum.org/CRDImages/ao/web-large/DP219258.jpg',
imageUrl: 'https://images.metmuseum.org/CRDImages/ao/original/DP219258.jpg',
date: '9th10th century',
),
HighlightData(
@ -77,8 +69,6 @@ List<HighlightData> _highlights = [
wonder: WonderType.chichenItza,
artifactId: '313151',
culture: 'Maya',
imageUrlSmall: 'https://images.metmuseum.org/CRDImages/ao/web-large/1979.206.953_a.JPG',
imageUrl: 'https://images.metmuseum.org/CRDImages/ao/original/1979.206.953_a.JPG',
date: '7th8th century',
),
HighlightData(
@ -86,8 +76,6 @@ List<HighlightData> _highlights = [
wonder: WonderType.chichenItza,
artifactId: '310480',
culture: 'Maya',
imageUrlSmall: 'https://images.metmuseum.org/CRDImages/ao/web-large/DP102948.jpg',
imageUrl: 'https://images.metmuseum.org/CRDImages/ao/original/DP102948.jpg',
date: '10th11th century',
),
@ -97,8 +85,6 @@ List<HighlightData> _highlights = [
wonder: WonderType.christRedeemer,
artifactId: '764815',
culture: '',
imageUrlSmall: 'https://images.metmuseum.org/CRDImages/ph/web-large/DP-15801-131.jpg',
imageUrl: 'https://images.metmuseum.org/CRDImages/ph/original/DP-15801-131.jpg',
date: '186466',
),
HighlightData(
@ -106,8 +92,6 @@ List<HighlightData> _highlights = [
wonder: WonderType.christRedeemer,
artifactId: '502019',
culture: 'Native American (Brazilian)',
imageUrlSmall: 'https://images.metmuseum.org/CRDImages/mi/web-large/midp89.4.1453.jpg',
imageUrl: 'https://images.metmuseum.org/CRDImages/mi/original/midp89.4.1453.jpg',
date: '19th century',
),
HighlightData(
@ -115,8 +99,6 @@ List<HighlightData> _highlights = [
wonder: WonderType.christRedeemer,
artifactId: '764814',
culture: '',
imageUrlSmall: 'https://images.metmuseum.org/CRDImages/ph/web-large/DP-15801-129.jpg',
imageUrl: 'https://images.metmuseum.org/CRDImages/ph/original/DP-15801-129.jpg',
date: '186466',
),
HighlightData(
@ -124,8 +106,6 @@ List<HighlightData> _highlights = [
wonder: WonderType.christRedeemer,
artifactId: '764816',
culture: '',
imageUrlSmall: 'https://images.metmuseum.org/CRDImages/ph/web-large/DP-15801-133.jpg',
imageUrl: 'https://images.metmuseum.org/CRDImages/ph/original/DP-15801-133.jpg',
date: '186466',
),
HighlightData(
@ -133,8 +113,6 @@ List<HighlightData> _highlights = [
wonder: WonderType.christRedeemer,
artifactId: '501319',
culture: 'African American (Brazil - Afro-Brazilian?)',
imageUrlSmall: 'https://images.metmuseum.org/CRDImages/mi/web-large/midp89.4.703.jpg',
imageUrl: 'https://images.metmuseum.org/CRDImages/mi/original/midp89.4.703.jpg',
date: 'late 19th century',
),
@ -144,8 +122,6 @@ List<HighlightData> _highlights = [
wonder: WonderType.colosseum,
artifactId: '251350',
culture: 'Roman',
imageUrlSmall: 'https://images.metmuseum.org/CRDImages/gr/web-large/DP331280.jpg',
imageUrl: 'https://images.metmuseum.org/CRDImages/gr/original/DP331280.jpg',
date: 'A.D. 150175',
),
HighlightData(
@ -153,8 +129,6 @@ List<HighlightData> _highlights = [
wonder: WonderType.colosseum,
artifactId: '255960',
culture: 'Roman',
imageUrlSmall: 'https://images.metmuseum.org/CRDImages/gr/web-large/DP145605.jpg',
imageUrl: 'https://images.metmuseum.org/CRDImages/gr/original/DP145605.jpg',
date: '4th century A.D.',
),
HighlightData(
@ -162,8 +136,6 @@ List<HighlightData> _highlights = [
wonder: WonderType.colosseum,
artifactId: '247993',
culture: 'Roman',
imageUrlSmall: 'https://images.metmuseum.org/CRDImages/gr/web-large/DP337220.jpg',
imageUrl: 'https://images.metmuseum.org/CRDImages/gr/original/DP337220.jpg',
date: 'ca. A.D. 1437',
),
HighlightData(
@ -171,8 +143,6 @@ List<HighlightData> _highlights = [
wonder: WonderType.colosseum,
artifactId: '250464',
culture: 'Roman',
imageUrlSmall: 'https://images.metmuseum.org/CRDImages/gr/web-large/DP105842.jpg',
imageUrl: 'https://images.metmuseum.org/CRDImages/gr/original/DP105842.jpg',
date: 'late 2ndearly 3rd century A.D.',
),
HighlightData(
@ -180,8 +150,6 @@ List<HighlightData> _highlights = [
wonder: WonderType.colosseum,
artifactId: '251476',
culture: 'Roman',
imageUrlSmall: 'https://images.metmuseum.org/CRDImages/gr/web-large/DP357289.jpg',
imageUrl: 'https://images.metmuseum.org/CRDImages/gr/original/DP357289.jpg',
date: '1st2nd century A.D.',
),
HighlightData(
@ -189,8 +157,6 @@ List<HighlightData> _highlights = [
wonder: WonderType.colosseum,
artifactId: '255960',
culture: 'Roman',
imageUrlSmall: 'https://images.metmuseum.org/CRDImages/gr/web-large/DP145605.jpg',
imageUrl: 'https://images.metmuseum.org/CRDImages/gr/original/DP145605.jpg',
date: '4th century A.D.',
),
@ -200,8 +166,6 @@ List<HighlightData> _highlights = [
wonder: WonderType.greatWall,
artifactId: '79091',
culture: 'French',
imageUrlSmall: 'https://images.metmuseum.org/CRDImages/ci/web-large/DT2183.jpg',
imageUrl: 'https://images.metmuseum.org/CRDImages/ci/original/DT2183.jpg',
date: 'second half 16th century',
),
HighlightData(
@ -209,8 +173,6 @@ List<HighlightData> _highlights = [
wonder: WonderType.greatWall,
artifactId: '781812',
culture: 'China',
imageUrlSmall: 'https://images.metmuseum.org/CRDImages/as/web-large/DP-17100-001.jpg',
imageUrl: 'https://images.metmuseum.org/CRDImages/as/original/DP-17100-001.jpg',
date: 'early 17th century',
),
HighlightData(
@ -218,8 +180,6 @@ List<HighlightData> _highlights = [
wonder: WonderType.greatWall,
artifactId: '40213',
culture: 'China',
imageUrlSmall: 'https://images.metmuseum.org/CRDImages/as/web-large/DP704217.jpg',
imageUrl: 'https://images.metmuseum.org/CRDImages/as/original/DP704217.jpg',
date: 'early 15th century',
),
HighlightData(
@ -227,8 +187,6 @@ List<HighlightData> _highlights = [
wonder: WonderType.greatWall,
artifactId: '40765',
culture: 'China',
imageUrlSmall: 'https://images.metmuseum.org/CRDImages/as/web-large/DP229015.jpg',
imageUrl: 'https://images.metmuseum.org/CRDImages/as/original/DP229015.jpg',
date: '15th century',
),
HighlightData(
@ -236,8 +194,6 @@ List<HighlightData> _highlights = [
wonder: WonderType.greatWall,
artifactId: '57612',
culture: 'China',
imageUrlSmall: 'https://images.metmuseum.org/CRDImages/as/web-large/DP164061.jpg',
imageUrl: 'https://images.metmuseum.org/CRDImages/as/original/DP164061.jpg',
date: '',
),
HighlightData(
@ -245,8 +201,6 @@ List<HighlightData> _highlights = [
wonder: WonderType.greatWall,
artifactId: '666573',
culture: 'China',
imageUrlSmall: 'https://images.metmuseum.org/CRDImages/as/web-large/DP356342.jpg',
imageUrl: 'https://images.metmuseum.org/CRDImages/as/original/DP356342.jpg',
date: 'early 15th century',
),
@ -256,8 +210,6 @@ List<HighlightData> _highlights = [
wonder: WonderType.machuPicchu,
artifactId: '313295',
culture: 'Inca',
imageUrlSmall: 'https://images.metmuseum.org/CRDImages/ao/web-large/DP-27120-001.jpg',
imageUrl: 'https://images.metmuseum.org/CRDImages/ao/original/DP-27120-001.jpg',
date: '14thearly 16th century',
),
HighlightData(
@ -265,8 +217,6 @@ List<HighlightData> _highlights = [
wonder: WonderType.machuPicchu,
artifactId: '316926',
culture: 'Inca',
imageUrlSmall: 'https://images.metmuseum.org/CRDImages/ao/web-large/DP158704.jpg',
imageUrl: 'https://images.metmuseum.org/CRDImages/ao/original/DP158704.jpg',
date: '15thearly 16th century',
),
HighlightData(
@ -274,8 +224,6 @@ List<HighlightData> _highlights = [
wonder: WonderType.machuPicchu,
artifactId: '309944',
culture: 'Inca',
imageUrlSmall: 'https://images.metmuseum.org/CRDImages/ao/web-large/DP-13440-023.jpg',
imageUrl: 'https://images.metmuseum.org/CRDImages/ao/original/DP-13440-023.jpg',
date: '14001533',
),
HighlightData(
@ -283,8 +231,6 @@ List<HighlightData> _highlights = [
wonder: WonderType.machuPicchu,
artifactId: '309436',
culture: 'Moche',
imageUrlSmall: 'https://images.metmuseum.org/CRDImages/ao/web-large/67.92.jpg',
imageUrl: 'https://images.metmuseum.org/CRDImages/ao/original/67.92.jpg',
date: '4th7th century',
),
HighlightData(
@ -292,8 +238,6 @@ List<HighlightData> _highlights = [
wonder: WonderType.machuPicchu,
artifactId: '309960',
culture: 'Inca',
imageUrlSmall: 'https://images.metmuseum.org/CRDImages/ao/web-large/DP-13440-031.jpg',
imageUrl: 'https://images.metmuseum.org/CRDImages/ao/original/DP-13440-031.jpg',
date: '14001533',
),
HighlightData(
@ -301,8 +245,6 @@ List<HighlightData> _highlights = [
wonder: WonderType.machuPicchu,
artifactId: '316873',
culture: 'Aztec',
imageUrlSmall: 'https://images.metmuseum.org/CRDImages/ao/web-large/DP341942.jpg',
imageUrl: 'https://images.metmuseum.org/CRDImages/ao/original/DP341942.jpg',
date: '14001521',
),
@ -312,8 +254,6 @@ List<HighlightData> _highlights = [
wonder: WonderType.petra,
artifactId: '325900',
culture: 'Nabataean',
imageUrlSmall: 'https://images.metmuseum.org/CRDImages/an/web-large/ME67_246_19.jpg',
imageUrl: 'https://images.metmuseum.org/CRDImages/an/original/ME67_246_19.jpg',
date: 'ca. 1st century A.D.',
),
HighlightData(
@ -321,8 +261,6 @@ List<HighlightData> _highlights = [
wonder: WonderType.petra,
artifactId: '325902',
culture: 'Nabataean',
imageUrlSmall: 'https://images.metmuseum.org/CRDImages/an/web-large/ME67_246_21.jpg',
imageUrl: 'https://images.metmuseum.org/CRDImages/an/original/ME67_246_21.jpg',
date: 'ca. 1st century A.D.',
),
HighlightData(
@ -330,8 +268,6 @@ List<HighlightData> _highlights = [
wonder: WonderType.petra,
artifactId: '325919',
culture: 'Nabataean',
imageUrlSmall: 'https://images.metmuseum.org/CRDImages/an/web-large/ME67_246_38.jpg',
imageUrl: 'https://images.metmuseum.org/CRDImages/an/original/ME67_246_38.jpg',
date: 'ca. 1st century A.D.',
),
HighlightData(
@ -339,8 +275,6 @@ List<HighlightData> _highlights = [
wonder: WonderType.petra,
artifactId: '325884',
culture: 'Nabataean',
imageUrlSmall: 'https://images.metmuseum.org/CRDImages/an/web-large/ME67_246_3.jpg',
imageUrl: 'https://images.metmuseum.org/CRDImages/an/original/ME67_246_3.jpg',
date: 'ca. 1st century A.D.',
),
HighlightData(
@ -348,8 +282,6 @@ List<HighlightData> _highlights = [
wonder: WonderType.petra,
artifactId: '325887',
culture: 'Nabataean',
imageUrlSmall: 'https://images.metmuseum.org/CRDImages/an/web-large/ME67_246_6.jpg',
imageUrl: 'https://images.metmuseum.org/CRDImages/an/original/ME67_246_6.jpg',
date: 'ca. 1st century A.D.',
),
HighlightData(
@ -357,8 +289,6 @@ List<HighlightData> _highlights = [
wonder: WonderType.petra,
artifactId: '325891',
culture: 'Nabataean',
imageUrlSmall: 'https://images.metmuseum.org/CRDImages/an/web-large/ME67_246_10.jpg',
imageUrl: 'https://images.metmuseum.org/CRDImages/an/original/ME67_246_10.jpg',
date: 'ca. 1st century A.D.',
),
@ -368,8 +298,6 @@ List<HighlightData> _highlights = [
wonder: WonderType.pyramidsGiza,
artifactId: '543864',
culture: '',
imageUrlSmall: 'https://images.metmuseum.org/CRDImages/eg/web-large/DP330260.jpg',
imageUrl: 'https://images.metmuseum.org/CRDImages/eg/original/DP330260.jpg',
date: 'ca. 19191885 B.C.',
),
HighlightData(
@ -377,8 +305,6 @@ List<HighlightData> _highlights = [
wonder: WonderType.pyramidsGiza,
artifactId: '546488',
culture: '',
imageUrlSmall: 'https://images.metmuseum.org/CRDImages/eg/web-large/LC-34_1_183_EGDP033257.jpg',
imageUrl: 'https://images.metmuseum.org/CRDImages/eg/original/LC-34_1_183_EGDP033257.jpg',
date: 'ca. 19811640 B.C.',
),
HighlightData(
@ -386,8 +312,6 @@ List<HighlightData> _highlights = [
wonder: WonderType.pyramidsGiza,
artifactId: '557137',
culture: '',
imageUrlSmall: 'https://images.metmuseum.org/CRDImages/eg/web-large/15.3.205_EGDP015425.jpg',
imageUrl: 'https://images.metmuseum.org/CRDImages/eg/original/15.3.205_EGDP015425.jpg',
date: 'ca. 18501640 B.C.',
),
HighlightData(
@ -395,8 +319,6 @@ List<HighlightData> _highlights = [
wonder: WonderType.pyramidsGiza,
artifactId: '543900',
culture: '',
imageUrlSmall: 'https://images.metmuseum.org/CRDImages/eg/web-large/DP240451.jpg',
imageUrl: 'https://images.metmuseum.org/CRDImages/eg/original/DP240451.jpg',
date: 'ca. 24202389 B.C. or later',
),
HighlightData(
@ -404,8 +326,6 @@ List<HighlightData> _highlights = [
wonder: WonderType.pyramidsGiza,
artifactId: '543935',
culture: '',
imageUrlSmall: 'https://images.metmuseum.org/CRDImages/eg/web-large/DP109397.jpg',
imageUrl: 'https://images.metmuseum.org/CRDImages/eg/original/DP109397.jpg',
date: 'ca. 24902472 B.C.',
),
HighlightData(
@ -413,8 +333,6 @@ List<HighlightData> _highlights = [
wonder: WonderType.pyramidsGiza,
artifactId: '544782',
culture: '',
imageUrlSmall: 'https://images.metmuseum.org/CRDImages/eg/web-large/DP225343.jpg',
imageUrl: 'https://images.metmuseum.org/CRDImages/eg/original/DP225343.jpg',
date: 'ca. 13361327 B.C.',
),
@ -424,8 +342,6 @@ List<HighlightData> _highlights = [
wonder: WonderType.tajMahal,
artifactId: '453341',
culture: '',
imageUrlSmall: 'https://images.metmuseum.org/CRDImages/is/web-large/DP240307.jpg',
imageUrl: 'https://images.metmuseum.org/CRDImages/is/original/DP240307.jpg',
date: 'mid-17th century',
),
HighlightData(
@ -433,8 +349,6 @@ List<HighlightData> _highlights = [
wonder: WonderType.tajMahal,
artifactId: '453243',
culture: '',
imageUrlSmall: 'https://images.metmuseum.org/CRDImages/is/web-large/DP214317.jpg',
imageUrl: 'https://images.metmuseum.org/CRDImages/is/original/DP214317.jpg',
date: 'late 17th century',
),
HighlightData(
@ -442,8 +356,6 @@ List<HighlightData> _highlights = [
wonder: WonderType.tajMahal,
artifactId: '73309',
culture: 'India (Gujarat)',
imageUrlSmall: 'https://images.metmuseum.org/CRDImages/as/web-large/DP138506.jpg',
imageUrl: 'https://images.metmuseum.org/CRDImages/as/original/DP138506.jpg',
date: 'mid-16th17th century',
),
HighlightData(
@ -451,8 +363,6 @@ List<HighlightData> _highlights = [
wonder: WonderType.tajMahal,
artifactId: '24932',
culture: 'Indian, Mughal',
imageUrlSmall: 'https://images.metmuseum.org/CRDImages/aa/web-large/1988.147_007mar2015.jpg',
imageUrl: 'https://images.metmuseum.org/CRDImages/aa/original/1988.147_007mar2015.jpg',
date: '18th century',
),
HighlightData(
@ -460,8 +370,6 @@ List<HighlightData> _highlights = [
wonder: WonderType.tajMahal,
artifactId: '56230',
culture: 'India',
imageUrlSmall: 'https://images.metmuseum.org/CRDImages/as/web-large/DP-14153-029.jpg',
imageUrl: 'https://images.metmuseum.org/CRDImages/as/original/DP-14153-029.jpg',
date: '18th19th century',
),
HighlightData(
@ -469,8 +377,6 @@ List<HighlightData> _highlights = [
wonder: WonderType.tajMahal,
artifactId: '35633',
culture: 'Indian',
imageUrlSmall: 'https://images.metmuseum.org/CRDImages/aa/web-large/DP219616.jpg',
imageUrl: 'https://images.metmuseum.org/CRDImages/aa/original/DP219616.jpg',
date: 'dated A.H. 1042/A.D. 163233',
),
];

View File

@ -14,22 +14,15 @@ class UnsplashPhotoData {
String getUnsplashUrl(int size) => '$url?q=90&fm=jpg&w=$size&fit=max';
static String getSelfHostedUrl(String id, UnsplashPhotoSize targetSize) {
late int size;
switch (targetSize) {
case UnsplashPhotoSize.med:
size = 400;
break;
case UnsplashPhotoSize.large:
size = 800;
break;
case UnsplashPhotoSize.xl:
size = 1200;
break;
}
int size = switch (targetSize) {
UnsplashPhotoSize.med => 400,
UnsplashPhotoSize.large => 800,
UnsplashPhotoSize.xl => 1200
};
if (PlatformInfo.pixelRatio >= 1.5 || PlatformInfo.isDesktop) {
size *= 2;
}
return 'https://wonderous.info/unsplash/$id-$size.jpg';
return 'https://www.wonderous.info/unsplash/$id-$size.jpg';
}
/// List of image ids by collection. This can be generated with the [UnsplashDownloadService].generateUnsplashCollectionsClass().

View File

@ -60,4 +60,4 @@ class ChichenItzaData extends WonderData {
1535: $strings.chichenItza1535ce,
},
);
}
}

View File

@ -1,199 +1,260 @@
part of '../chichen_itza_data.dart';
// Search suggestions (59)
List<String> _searchSuggestions = const ['stamp', 'yoke', 'hacha', 'male', 'female', 'serpentine', 'andesite', 'figure', 'cylindrical', 'chisel', 'earflare', 'relief', 'model', 'plate', 'ornament', 'red', 'censer', 'jade', 'slip', 'gold', 'implements', 'musical', 'jar', 'stone', 'sculpture', 'pendant', 'rattle', 'monkey', 'seated', 'mythological', 'beads', 'ceramics', 'ornaments', 'pigment', 'metal', 'instruments', 'head', 'deity', 'ceramic', 'shell', 'containers', 'flint', 'bird', 'double', 'bead', 'ochre', 'carved', 'face', 'jadeite', 'tripod', 'tubular', 'vessel', 'celt', 'bowl', 'eagle', 'paint', 'limestone', 'scene', 'lid', ];
List<String> _searchSuggestions = const [
'stamp',
'yoke',
'hacha',
'god',
'male',
'female',
'serpentine',
'figure',
'andesite',
'cylindrical',
'chisel',
'earflare',
'cinnabar',
'relief',
'model',
'plate',
'ornament',
'red',
'censer',
'jade',
'slip',
'gold',
'implements',
'musical',
'jar',
'stone',
'sculpture',
'pendant',
'rattle',
'monkey',
'seated',
'mythological',
'beads',
'ceramics',
'ornaments',
'pigment',
'instruments',
'deity',
'head',
'ceramic',
'shell',
'containers',
'flint',
'bird',
'bead',
'ochre',
'carved',
'jadeite',
'face',
'tripod',
'tubular',
'vessel',
'celt',
'bowl',
'eagle',
'paint',
'limestone',
'scene',
'lid',
];
// Chichen Itza (191)
// Chichen Itza (189)
List<SearchData> _searchData = const [
SearchData(550, 317120, 'Earflare', 'earflare|jade|stone-ornaments', 'ao/mobile-large/VS1994_35_582.JPG', 1.18),
SearchData(700, 313336, 'Handle (?)', 'tube|bone|bone/ivory-sculpture', 'ao/mobile-large/vs1979_206_1144.jpg', 0.28),
SearchData(1400, 317635, 'Gouge', 'chisel|stone|stone-implements', 'ao/mobile-large/vs1994_35_771.jpg', 3.40),
SearchData(1250, 318229, 'Metate Fragment', 'metate fragment|stone|stone-sculpture', 'ao/mobile-large/X.180.10.JPG', 1.52),
SearchData(1400, 317303, 'Chisel', 'chisel|stone|stone-implements', 'ao/mobile-large/VS1994_35_447.JPG', 1.43),
SearchData(1100, 313348, 'Monkey Vessel', 'vessel|onyx marble, pyrite, shell|stone-containers', 'ao/mobile-large/DP-25032-001.jpg', 0.80),
SearchData(1400, 317267, 'Celt', 'celt|stone|stone-implements', 'ao/mobile-large/hz1994_35_401.jpg', 0.58),
SearchData(200, 312581, 'House Model', 'house model|ceramic|ceramics-sculpture', 'ao/mobile-large/DP-23907-001.jpg', 0.78),
SearchData(1350, 312599, 'Pedestal Bowl', 'bowl|ceramic|ceramics-containers', 'ao/mobile-large/DP102175.jpg', 1.03),
SearchData(850, 309404, 'Monumental Figure', 'figure|limestone|stone-sculpture', 'ao/mobile-large/DP104844.jpg', 0.44),
SearchData(750, 501839, 'Pottery Rattle', 'pottery rattle|clay|idiophone-shaken-rattle', 'mi/mobile-large/DP-23770-001.jpg', 0.80),
SearchData(1400, 317227, 'Celt', 'celt|stone|stone-implements', 'ao/mobile-large/hz1994_35_361.jpg', 0.62),
SearchData(749, 503940, 'Double Whistle', 'double whistle|pottery, paint|aerophone-whistle flute', 'mi/mobile-large/DT4624a.jpg', 0.78),
SearchData(400, 309713, 'Yoke-Form Vessel', 'vessel with lid|ceramic|ceramics-containers', 'ao/mobile-large/DT11169.jpg', 0.80),
SearchData(1400, 317234, 'Celt', 'celt|stone|stone-implements', 'ao/mobile-large/hz1994_35_368.jpg', 0.87),
SearchData(-650, 313138, 'Seated Bench Figure', 'figure|serpentine|stone-sculpture', 'ao/mobile-large/DT9963.jpg', 0.80),
SearchData(1400, 317210, 'Celt', 'celt|stone|stone-implements', 'ao/mobile-large/hz1994_35_343.jpg', 0.79),
SearchData(700, 310651, 'Vessel, Palace Scene', 'vessel|ceramic|ceramics-containers', 'ao/mobile-large/1978.412.202_a.JPG', 0.77),
SearchData(1400, 317211, 'Celt', 'celt|stone|stone-implements', 'ao/mobile-large/hz1994_35_344.jpg', 0.68),
SearchData(1400, 317248, 'Celt', 'celt|stone|stone-implements', 'ao/mobile-large/hz1994_35_382.jpg', 0.44),
SearchData(-1000, 314946, 'Bird Vessel', 'vessel|ceramic, red ochre|ceramics-containers', 'ao/mobile-large/DP23080.jpg', 0.83),
SearchData(700, 313315, 'Vessel with Deity Figures', 'vessel|ceramic|ceramics-containers', 'ao/mobile-large/1979.206.1122_a.JPG', 0.81),
SearchData(1400, 317099, 'Stone Chisel', 'chisel|stone|stone-implements', 'ao/mobile-large/hz1994_35_334.jpg', 0.87),
SearchData(1000, 313091, 'Ceremonial Metate', 'metate|diabase|stone-implements', 'ao/mobile-large/DP104835.jpg', 1.00),
SearchData(1400, 317314, 'Eccentric Flint', 'flint|flint|stone-implements', 'ao/mobile-large/hz1994_35_458.jpg', 0.22),
SearchData(700, 319633, 'Cylindrical Vessel', 'vessel|ceramic|ceramics-containers', 'ao/mobile-large/DP-13003-003.jpg', 0.75),
SearchData(1400, 317291, 'Adze', 'adze|stone|stone-implements', 'ao/mobile-large/VS1994_35_435.JPG', 0.63),
SearchData(-1000, 312589, 'Relief-Carved Bowl', 'vessel|ceramic|ceramics-containers', 'ao/mobile-large/DP296005.jpg', 1.10),
SearchData(1550, 310589, 'Figure Vessel', 'vessel|ceramic|ceramics-containers', 'ao/mobile-large/DT10182.jpg', 0.79),
SearchData(0, 317600, 'Temple Model', 'temple model|ceramic|ceramics-sculpture', 'ao/mobile-large/DP-23904-001.jpg', 1.09),
SearchData(1400, 317241, 'Celt', 'celt|stone|stone-implements', 'ao/mobile-large/hz1994_35_375.jpg', 0.86),
SearchData(775, 310551, 'Censer Support', 'censer support|ceramic|ceramics-sculpture', 'ao/mobile-large/DP102949.jpg', 0.67),
SearchData(400, 316299, 'Pair of Earflare Frontals', 'earflare frontals|jade (jadeite)|stone-ornaments', 'ao/mobile-large/DP-14786-043.jpg', 1.39),
SearchData(1410, 321343, 'Serpent Labret with Articulated Tongue', 'labret|gold|metal-ornaments', 'ao/mobile-large/DP-478-020.jpg', 1.61),
SearchData(750, 310474, 'Hacha', 'hacha|stone, pigment|stone-sculpture', 'ao/mobile-large/DP-17617-001.jpg', 0.76),
SearchData(700, 310468, 'Standing Male Figure', 'male figure|ceramic|ceramics-sculpture', 'ao/mobile-large/1978.412.6_1.jpg', 0.87),
SearchData(1400, 317101, 'Stone Chisel', 'chisel|stone|stone-implements', 'ao/mobile-large/hz1994_35_336.jpg', 0.67),
SearchData(-650, 309987, 'Duck-Face Ornament', 'ornament|jadeite, pigment|stone-ornaments', 'ao/mobile-large/DP-12761-009.jpg', 1.09),
SearchData(1400, 317222, 'Celt', 'celt|stone|stone-implements', 'ao/mobile-large/hz1994_35_356.jpg', 0.67),
SearchData(1400, 317244, 'Stone Chisel', 'chisel|stone|stone-implements', 'ao/mobile-large/hz1994_35_378.jpg', 0.56),
SearchData(700, 314311, 'Cylindrical Vessel', 'vessel|ceramic, slip, pigment|stone-containers', 'ao/mobile-large/DP-575-001.jpg', 0.75),
SearchData(900, 309901, 'Pedestal Bowl', 'bowl|marble|stone-containers', 'ao/mobile-large/DP-17794-001.jpg', 0.80),
SearchData(1400, 317233, 'Celt', 'celt|stone|stone-implements', 'ao/mobile-large/hz1994_35_367.jpg', 0.88),
SearchData(1399, 318679, 'Monkey stamp', 'stamp|ceramic|ceramics-implements', 'ao/mobile-large/vs00_5_1165.jpg', 0.70),
SearchData(750, 313386, '"Smiling" Figure', 'male figure|ceramic|ceramics-sculpture', 'ao/mobile-large/DP104829.jpg', 0.89),
SearchData(1360, 309861, 'Deity Censer (Xantil)', 'censer|ceramic, pigment|ceramics-sculpture', 'ao/mobile-large/DT1256.jpg', 0.80),
SearchData(800, 310540, 'Column, Costumed Figure', 'column|limestone|stone-sculpture', 'ao/mobile-large/DP-22128-001.jpg', 0.64),
SearchData(700, 314217, 'Vessel, Mythological Scene', 'vessel|ceramic|ceramics-containers', 'ao/mobile-large/DP-571-001.jpg', 0.74),
SearchData(600, 310607, 'Vessel, Seated Deities', 'vessel|ceramic|ceramics-containers', 'ao/mobile-large/DP-13003-005.jpg', 0.75),
SearchData(800, 312593, 'Hacha, Head', 'hacha|andesite|stone-sculpture', 'ao/mobile-large/1979.206.371.jpg', 1.22),
SearchData(750, 312915, 'Whistle with the Maize God emerging from a flower', 'figure|ceramic, pigment|ceramics-sculpture', 'ao/mobile-large/DT9945.jpg', 0.80),
SearchData(350, 318345, 'Censer, Seated King', 'censer|ceramic|ceramics-containers', 'ao/mobile-large/DT4512.jpg', 0.80),
SearchData(-650, 310467, 'Celt with Incised Profile', 'celt|jade (jadeite)|stone-implements', 'ao/mobile-large/DP-23470-001.jpg', 0.72),
SearchData(0, 314523, 'Cylindrical Vessel', 'vessel|ceramic, slip|ceramics-containers', 'ao/mobile-large/DP101926.jpg', 0.98),
SearchData(1049, 319238, 'Female figure', 'figure|stone|stone-sculpture', 'ao/mobile-large/vs00_5_6.jpg', 0.51),
SearchData(1420, 307744, 'Stamp, Monkey', 'stamp|ceramic|ceramics-implements', 'ao/mobile-large/00.5.1164.jpg', 0.80),
SearchData(1400, 317100, 'Stone Chisel', 'chisel|stone|stone-implements', 'ao/mobile-large/hz1994_35_335.jpg', 0.94),
SearchData(1400, 317217, 'Celt', 'celt|stone|stone-implements', 'ao/mobile-large/hz1994_35_350.jpg', 0.77),
SearchData(1100, 307599, 'Eagle Relief', 'panel|andesite/dacite, paint|stone-sculpture', 'ao/mobile-large/DP-20487-001.jpg', 1.11),
SearchData(1400, 317214, 'Celt', 'celt|stone|stone-implements', 'ao/mobile-large/hz1994_35_347.jpg', 0.66),
SearchData(1159, 310268, 'Eagle Pendant', 'pendant|gold|metal-ornaments', 'ao/mobile-large/DT5062.jpg', 0.80),
SearchData(-1000, 310556, 'Bottle', 'bottle|ceramic, pigment|ceramics-containers', 'ao/mobile-large/hb_1978.412.104.jpg', 0.76),
SearchData(1420, 307748, 'Stamp, Monkey', 'stamp|ceramic|ceramics-implements', 'ao/mobile-large/00.5.1177_b.jpg', 0.67),
SearchData(1400, 317247, 'Celt', 'celt|stone|stone-implements', 'ao/mobile-large/hz1994_35_381.jpg', 0.63),
SearchData(500, 317885, 'Bowl', 'bowl|ceramic|ceramics-containers', 'ao/mobile-large/1998.317.4.JPG', 1.17),
SearchData(700, 312596, 'Seated Female Figure', 'female figure|ceramic|ceramics-musical instruments', 'ao/mobile-large/1979.206.374.JPG', 0.72),
SearchData(1400, 317216, 'Celt', 'celt|stone|stone-implements', 'ao/mobile-large/hz1994_35_349.jpg', 0.62),
SearchData(25, 318346, 'Spouted Jar', 'jar|indurated limestone|stone-containers', 'ao/mobile-large/DT4518.jpg', 1.25),
SearchData(1400, 317102, 'Stone Chisel', 'chisel|stone|stone-implements', 'ao/mobile-large/hz1994_35_337.jpg', 0.75),
SearchData(700, 313149, 'Canine Ornament', 'ornament|shell (spondylus)|shell-ornaments', 'ao/mobile-large/DP-25094-001.jpg', 1.50),
SearchData(750, 315883, 'Bowl, Mythological Scene', 'bowl|ceramic|ceramics-containers', 'ao/mobile-large/DP-578-001.jpg', 1.32),
SearchData(1400, 317215, 'Celt', 'celt|stone|stone-implements', 'ao/mobile-large/hz1994_35_348.jpg', 0.71),
SearchData(1400, 317213, 'Celt', 'celt|stone|stone-implements', 'ao/mobile-large/hz1994_35_346.jpg', 0.63),
SearchData(800, 316813, 'Jar, Ritual Scenes', 'jar|ceramic, slip, pigment|ceramics-containers', 'ao/mobile-large/1993.441_a.JPG', 0.83),
SearchData(500, 316645, 'Deity Head Pendant', 'pendant|jade|stone-ornaments', 'ao/mobile-large/vs1991_362_2.jpg', 0.73),
SearchData(500, 309557, 'Closed Yoke', 'yoke|stone|stone-sculpture', 'ao/mobile-large/DP-17792-001.jpg', 1.53),
SearchData(-950, 318473, 'Blackware Bowl', 'bowl|ceramic|ceramics-containers', 'ao/mobile-large/DP705410.jpg', 0.82),
SearchData(1400, 317107, 'Celt', 'celt|stone|stone-implements', 'ao/mobile-large/hz1994_35_342.jpg', 0.73),
SearchData(-300, 313316, 'Bench Figure', 'male figure|greenstone (muscovite-paragonite phyllite)|stone-sculpture', 'ao/mobile-large/DP23089.jpg', 0.78),
SearchData(1400, 317226, 'Celt', 'celt|stone|stone-implements', 'ao/mobile-large/hz1994_35_360.jpg', 0.58),
SearchData(500, 313235, 'Hacha in the Shape of Bound Hands', 'hacha|stone|stone-sculpture', 'ao/mobile-large/DP104825.jpg', 0.95),
SearchData(750, 312643, 'Yoke', 'yoke|serpentine|stone-sculpture', 'ao/mobile-large/DP-23864-001.jpg', 1.46),
SearchData(1400, 317359, 'Tubular Bead', 'bead|stone|beads-ornaments', 'ao/mobile-large/VS1994_35_509.JPG', 0.49),
SearchData(550, 318444, 'Grouped Pigment Jars', 'jars|ceramic, pigment|ceramics-sculpture', 'ao/mobile-large/DP-23881-001.jpg', 1.37),
SearchData(400, 313262, 'Deity Figure', 'figure|jade (pyroxene jadeite)|stone-sculpture', 'ao/mobile-large/DP-23472-001.jpg', 0.76),
SearchData(1400, 317270, 'Celt', 'celt|stone|stone-implements', 'ao/mobile-large/hz1994_35_404.jpg', 0.47),
SearchData(1400, 317301, 'Celt-Form Pendant', 'pendant|stone|stone-ornaments', 'ao/mobile-large/VS1994_35_445.JPG', 0.93),
SearchData(499, 313330, 'Bird Pendant', 'pendant|jadeite|stone-ornaments', 'ao/mobile-large/DP-17791-001.jpg', 0.80),
SearchData(600, 310527, 'Stela Fragment with Glyphs', 'stela fragment|stone|stone-sculpture', 'ao/mobile-large/DT10173.jpg', 1.03),
SearchData(1100, 307598, 'Eagle Relief', 'panel|andesite or dacite, paint|stone-sculpture', 'ao/mobile-large/DP-17616-001.jpg', 1.08),
SearchData(1400, 317350, 'Bead', 'bead|stone|beads-ornaments', 'ao/mobile-large/hz1994_35_500.jpg', 0.97),
SearchData(1400, 317352, 'Bead', 'bead|stone|beads-ornaments', 'ao/mobile-large/hz1994_35_502.jpg', 1.01),
SearchData(400, 312586, 'Tripod Vessel', 'vessel|ceramic, red ochre|ceramics-containers', 'ao/mobile-large/DP302441.jpg', 1.10),
SearchData(500, 314557, 'Seated Figure Censer (Incensario)', 'censer|ceramic|ceramics-containers', 'ao/mobile-large/DT7407.jpg', 0.80),
SearchData(750, 316274, 'Plate with Trumpeter', 'plate|ceramic|ceramics-containers', 'ao/mobile-large/DP-24261-001.jpg', 1.02),
SearchData(650, 313254, 'Animal Head Hacha', 'hacha|stone|stone-sculpture', 'ao/mobile-large/DP-23868-001.jpg', 1.13),
SearchData(550, 317121, 'Earflare', 'earflare|jade|stone-ornaments', 'ao/mobile-large/VS1994_35_583.JPG', 1.21),
SearchData(800, 320147, 'Figure', 'figure|ceramic|ceramics-sculpture', 'ao/mobile-large/DP221679.jpg', 0.75),
SearchData(1400, 317237, 'Celt', 'celt|stone|stone-implements', 'ao/mobile-large/hz1994_35_371.jpg', 0.79),
SearchData(50, 319227, 'House Model', 'house model|ceramic|ceramics-sculpture', 'ao/mobile-large/DP-23908-001.jpg', 0.90),
SearchData(700, 317712, 'Head Pendant', 'pendant|shell|shell-ornaments', 'ao/mobile-large/262187.jpg', 0.64),
SearchData(1400, 318653, 'Celt', 'celt|stone|stone-implements', 'ao/mobile-large/hz1994_35_352.jpg', 0.84),
SearchData(1400, 317297, 'Celt-Form Pendant', 'pendant|stone|stone-ornaments', 'ao/mobile-large/VS1994_35_441.JPG', 0.61),
SearchData(749, 718242, 'Tripod Plate, Mythological Scene', 'plate|ceramic with red, cream, and black slip|ceramics', 'ao/mobile-large/DP-23101-003.jpg', 1.02),
SearchData(800, 320205, 'Figure', 'figure|ceramic, hematite|ceramics-sculpture', 'ao/mobile-large/DP220954.jpg', 0.75),
SearchData(550, 317429, 'Earflare Set', 'earflare set|jade|stone-ornaments', 'ao/mobile-large/VS1994_35_590.JPG', 1.80),
SearchData(1400, 317265, 'Celt', 'celt|stone|stone-implements', 'ao/mobile-large/hz1994_35_399.jpg', 0.64),
SearchData(1400, 317235, 'Celt', 'celt|stone|stone-implements', 'ao/mobile-large/hz1994_35_369.jpg', 0.87),
SearchData(700, 313241, 'Vessel', 'vessel|ceramic|ceramics-containers', 'ao/mobile-large/1979.206.1048_a.JPG', 0.93),
SearchData(750, 313335, 'Crocodile Rattle', 'rattle|ceramic|ceramics-musical instruments', 'ao/mobile-large/DT9416.jpg', 1.25),
SearchData(1475, 307634, 'Cihuateotl', 'figure|stone, pigment|stone-sculpture', 'ao/mobile-large/DT5116.jpg', 0.80),
SearchData(550, 317760, 'Pair of Carved Ornaments', 'earflare frontals|shell|shell-ornaments', 'ao/mobile-large/DP-14786-044.jpg', 1.29),
SearchData(-1050, 316302, 'Bowl (Tecomate)', 'bowl|ceramic|ceramics-containers', 'ao/mobile-large/DP23126.jpg', 0.93),
SearchData(550, 318405, 'Carved Bowl', 'bowl|ceramic|ceramics-containers', 'ao/mobile-large/DT4631.jpg', 1.25),
SearchData(1400, 317597, 'Polishing Stone (?)', 'polishing stone|stone|stone-implements', 'ao/mobile-large/vs1994_35_764.jpg', 0.96),
SearchData(700, 310364, 'Vessel, Mythological Scene', 'vessel|ceramic, pigment|ceramics-containers', 'ao/mobile-large/DP-576-001.jpg', 0.74),
SearchData(300, 314827, 'Tripod Bird Bowl', 'bowl with lid|ceramic|ceramics-containers', 'ao/mobile-large/DT4867.jpg', 0.80),
SearchData(750, 312162, 'Bowl', 'bowl|ceramic|ceramics-containers', 'ao/mobile-large/1979.205.7.JPG', 1.50),
SearchData(1400, 317266, 'Celt', 'celt|stone|stone-implements', 'ao/mobile-large/hz1994_35_400.jpg', 0.60),
SearchData(300, 312161, 'Bottle (Florero)', 'bottle|ceramic|ceramics-containers', 'ao/mobile-large/DP101922.jpg', 0.90),
SearchData(700, 319586, 'Pendant with Seated Lord', 'pendant|jadeite|stone-ornaments', 'ao/mobile-large/DP131715.jpg', 0.75),
SearchData(450, 310542, 'Double-Chambered Vessel', 'vessel with lid|ceramic|ceramics-containers', 'ao/mobile-large/DP-23468-001.jpg', 0.77),
SearchData(1400, 317103, 'Celt', 'celt|stone|stone-implements', 'ao/mobile-large/hz1994_35_338.jpg', 0.95),
SearchData(700, 319009, 'Covered Bowl', 'bowl with lid|ceramic|ceramics-containers', 'ao/mobile-large/DP-23884-001.jpg', 0.93),
SearchData(1460, 316873, 'Temple Model', 'temple model|ceramic|ceramics-sculpture', 'ao/mobile-large/DP341942.jpg', 0.75),
SearchData(700, 310475, 'Head from a Figure', 'head|ceramic|ceramics-sculpture', 'ao/mobile-large/1978.412.19.JPG', 0.72),
SearchData(800, 316267, 'Ball Player', 'male figure|ceramic|ceramics-sculpture', 'ao/mobile-large/DP-23878-001.jpg', 0.67),
SearchData(150, 314524, 'Cylindrical Vessel', 'vessel|ceramic|ceramics-containers', 'ao/mobile-large/h1_1982.207.7.jpg', 0.71),
SearchData(-650, 313337, 'Ritual Spoon Pendant', 'pendant|jadeite|stone-ornaments', 'ao/mobile-large/DP-25108-001.jpg', 0.46),
SearchData(699, 53939, 'Head Pendant', 'pendant|jade (jadeite)|jade', 'as/mobile-large/DP-14791-008.jpg', 0.75),
SearchData(750, 313151, 'Costumed Figure', 'male figure|ceramic, pigment|ceramics-musical instruments', 'ao/mobile-large/1979.206.953_a.JPG', 0.67),
SearchData(1400, 317305, 'Celt', 'chisel|stone|stone-implements', 'ao/mobile-large/VS1994_35_449.JPG', 1.46),
SearchData(699, 662967, 'Codex-Style Vase with Mythological Scene', 'vase|ceramic|ceramics-vessels', 'ao/mobile-large/DP348021.jpg', 0.75),
SearchData(-650, 749344, 'Kneeling Bearded Figure', 'figure|serpentine|stone-sculpture', 'ao/mobile-large/DP15497-009-.jpg', 0.80),
SearchData(-1000, 316301, 'Bowl (Tecomate)', 'bowl|ceramic|ceramics-containers', 'ao/mobile-large/DP-23910-001.jpg', 1.16),
SearchData(1399, 705547, 'Necklace with Beads in the Shape of Jaguar Teeth', 'necklace|gold|metalwork-gold', 'ao/mobile-large/DP-14865-001.jpg', 1.33),
SearchData(-600, 310513, 'Pendant', 'pendant|jade|stone-ornaments', 'ao/mobile-large/vs1978_412_57.jpg', 1.66),
SearchData(800, 317619, 'Turkey Vessel', 'vessel|ceramic, slip, pigment|ceramics-containers', 'ao/mobile-large/hz1998_71.jpg', 1.31),
SearchData(750, 313325, 'Ceremonial Handle (?)', 'handle|jade (jadeite/omphacite)|stone-sculpture', 'ao/mobile-large/DP102172corrected.jpg', 0.87),
SearchData(-1000, 313319, 'Small Yoke with Face', 'yoke|stone|stone-sculpture', 'ao/mobile-large/DP-24242-001.jpg', 1.22),
SearchData(700, 313342, 'Figure with Helmet Mask', 'male figure|ceramic, pigment|ceramics-sculpture', 'ao/mobile-large/1979.206.1150_a1.JPG', 1.07),
SearchData(1400, 317106, 'Celt', 'celt|stone|stone-implements', 'ao/mobile-large/hz1994_35_341.jpg', 1.00),
SearchData(1400, 315730, 'Footed Vessel', 'bowl|calcite|stone-containers', 'ao/mobile-large/1989.314.25.JPG', 0.81),
SearchData(772, 313240, 'Relief with Enthroned Ruler', 'relief|limestone, paint|stone-sculpture', 'ao/mobile-large/DP104826.jpg', 0.99),
SearchData(-1000, 318464, 'Duck-Head Vessel', 'vessel|ceramic|ceramics-containers', 'ao/mobile-large/DP705381.jpg', 0.98),
SearchData(650, 701645, 'Pendant', 'pendant|jadeite, pigment|stone-ornaments', 'ao/mobile-large/DP-25104-001.jpg', 0.63),
SearchData(-750, 317697, 'Eagle Transformation Figure', 'figure|albitite, cinnabar|stone-sculpture', 'ao/mobile-large/DP-25107-001.jpg', 0.58),
SearchData(550, 313256, 'Mirror-Bearer', 'male figure|wood, red hematite|wood-sculpture', 'ao/mobile-large/DP-24340-001.jpg', 0.73),
SearchData(1400, 317295, 'Celt', 'celt|stone|stone-implements', 'ao/mobile-large/VS1994_35_439.JPG', 0.46),
SearchData(750, 318463, 'Pendant with Figure and Double-Headed Crocodilian', 'pendant|shell|shell-ornaments', 'ao/mobile-large/DP-25095-001.jpg', 1.33),
SearchData(700, 310555, 'Bird Ornament', 'ornament|shell|shell-ornaments', 'ao/mobile-large/DP-23474-001.jpg', 1.09),
SearchData(1400, 317225, 'Celt', 'celt|stone|stone-implements', 'ao/mobile-large/hz1994_35_359.jpg', 0.67),
SearchData(1400, 317275, 'Celt', 'celt|stone|stone-implements', 'ao/mobile-large/hz1994_35_409.jpg', 2.77),
SearchData(700, 319873, 'Deity Face Pendant', 'pendant|jadeite/omphacite, iron ochre|stone-ornaments', 'ao/mobile-large/DP148420.jpg', 0.75),
SearchData(700, 316711, 'Vessel with Seated Lord', 'vessel|ceramic, stucco|ceramics-containers', 'ao/mobile-large/DP-24262-001.jpg', 0.86),
SearchData(700, 312595, 'Seated Female Figure', 'female figure|ceramic|ceramics-musical instruments', 'ao/mobile-large/DP-12659-001.jpg', 0.75),
SearchData(750, 318628, 'Cylinder Vessel', 'vessel|ceramic, slip, stucco|ceramics-containers', 'ao/mobile-large/1979.205.8.JPG', 0.85),
SearchData(1300, 313257, 'Crocodile-Head Figure Pendant', 'pendant|gold (cast alloy), pyrite inlay|metal-ornaments', 'ao/mobile-large/VS19792061064.JPG', 0.70),
SearchData(1400, 317263, 'Celt', 'celt|stone|stone-implements', 'ao/mobile-large/hz1994_35_397.jpg', 0.70),
SearchData(737, 318662, 'Vessel, Throne Scene', 'vessel|ceramic, pigment|ceramics-containers', 'ao/mobile-large/DT4514.jpg', 0.80),
SearchData(150, 316300, 'Cylindrical Vessel', 'vessel|ceramic|ceramics-containers', 'ao/mobile-large/DP242327.jpg', 1.03),
SearchData(-99, 314522, 'Tetrapod Jar', 'bowl|ceramic|ceramics-containers', 'ao/mobile-large/DP23127.jpg', 1.03),
SearchData(1400, 317320, 'Blade', 'blade|flint|stone-implements', 'ao/mobile-large/hz1994_35_464.jpg', 0.43),
SearchData(750, 312645, 'Palma with textile motif', 'palma|stone, pigment|stone-sculpture', 'ao/mobile-large/DP104834.jpg', 0.83),
SearchData(550, 314832, 'Shell Ornament', 'pendant|jade|stone-ornaments', 'ao/mobile-large/vs1985_216_2.jpg', 2.35),
SearchData(1400, 317246, 'Celt', 'celt|stone|stone-implements', 'ao/mobile-large/hz1994_35_380.jpg', 0.60),
SearchData(50, 677436, 'Human Figure', 'figure|clay|ceramics-sculpture', 'ao/mobile-large/LC-300_5434.jpg', 1.34),
SearchData(1843, 591853, 'Incidents of Travel in Yucatan', '|illustrated book|', 'li/mobile-large/liUDs83v2.R.jpg', 1.53),
SearchData(1470, 321292, 'Head from a figure, Xochipilli-Macuilxochitl', 'head|obsidian|glass-sculpture', 'ao/mobile-large/TR.451.2.2012_a.jpg', 1.60),
SearchData(300, 313035, 'Ornament with Maya Glyph', 'ornament|jadeite|stone-ornaments', 'ao/mobile-large/VS1979206858A.JPG', 1.23),
SearchData(900, 316304, 'Tripod Plate', 'plate|ceramic|ceramics-containers', 'ao/mobile-large/DP219258.jpg', 0.81),
SearchData(700, 310644, 'Scepter with Profile Figures', 'scepter|flint|stone-sculpture', 'ao/mobile-large/DT10197.jpg', 0.79),
SearchData(1400, 317358, 'Tubular Bead', 'bead|stone|beads-ornaments', 'ao/mobile-large/VS1994_35_508.JPG', 2.59),
SearchData(1000, 310480, 'Head of a Rain God', 'head|fossiliferous limestone|stone-sculpture', 'ao/mobile-large/DP102948.jpg', 0.99),
SearchData(800, 318678, 'Standing Figure', 'figure|ceramic|ceramics-sculpture', 'ao/mobile-large/vs00_5_176.jpg', 0.96),
SearchData(749, 761272, 'Vessel with Water Bird and Hieroglyphic Text', 'vessel|ceramic|ceramics-vessels', 'ao/mobile-large/DP-15497-005.jpg', 1.21),
SearchData(-650, 316288, 'Celt', 'celt|jade|stone-ornaments', 'ao/mobile-large/1989.314.4.jpg', 0.67),
SearchData(700, 312818, 'Ornamental Figure', 'ornament|shell|shell-ornaments', 'ao/mobile-large/vs1979_206_622.jpg', 0.38),
SearchData(900, 307443, 'Fragmentary Relief', 'relief|stone|stone-sculpture', 'ao/mobile-large/DP-20489-002.jpg', 1.43),
SearchData(300, 315884, 'Lidded Vessel', 'bowl with lid|ceramic, slip, pigment|ceramics-containers', 'ao/mobile-large/1987.450.2ab1.JPG', 1.30),
SearchData(1400, 317365, 'Tubular Bead', 'bead|stone|beads-ornaments', 'ao/mobile-large/VS1994_35_515.JPG', 3.53),
SearchData(-650, 310495, 'Yoke', 'yoke|stone, pigment|stone-sculpture', 'ao/mobile-large/DT10169.jpg', 0.80),
SearchData(700, 314305, 'Bowl', 'bowl|ceramic, slip, pigment|ceramics-containers', 'ao/mobile-large/1983.505_a.JPG', 1.50),
SearchData(550, 317430, 'Earflare Set', 'earflare set|jade|stone-ornaments', 'ao/mobile-large/VS1994_35_591.JPG', 1.79),
SearchData(800, 320206, 'Figure', 'figure|ceramic|ceramics-sculpture', 'ao/mobile-large/DP220955.jpg', 0.75),
SearchData(500, 310354, 'Bowl with Pouring Lip', 'bowl|ceramic|ceramics-containers', 'ao/mobile-large/1978.309.1.JPG', 1.12),
SearchData(1400, 317212, 'Celt', 'celt|stone|stone-implements', 'ao/mobile-large/hz1994_35_345.jpg', 0.64),
SearchData(750, 312804, 'Figure Rattle', 'rattle|ceramic, pigment|ceramics-musical instruments', 'ao/mobile-large/1979.206.608.JPG', 0.70),
SearchData(900, 313242, 'Bowl', 'bowl|ceramic|ceramics-containers', 'ao/mobile-large/1979.206.1049_a.JPG', 1.23),
SearchData(550, 315035, 'Head Pendant', 'pendant|stone|stone-ornaments', 'ao/mobile-large/vs1986_483.jpg', 0.57),
SearchData(200, 314518, 'Tetrapod Bowl', 'vessel|ceramic|ceramics-containers', 'ao/mobile-large/DP-13003-001.jpg', 1.25),
];
SearchData(500, 317885, 'Bowl', 'bowl|ceramic|ceramics-containers'),
SearchData(1550, 310589, 'Figure Vessel', 'vessel|ceramic|ceramics-containers'),
SearchData(8, 312915, 'Maize God emerging from a flower', 'figure|ceramic, pigment|ceramics-sculpture'),
SearchData(550, 317430, 'Earflare Set', 'earflare set|jade|stone-ornaments'),
SearchData(550, 315035, 'Head Pendant', 'pendant|stone|stone-ornaments'),
SearchData(1000, 310480, 'Head of a Rain God', 'head|fossiliferous limestone|stone-sculpture'),
SearchData(1400, 317275, 'Celt', 'celt|stone|stone-implements'),
SearchData(1400, 317266, 'Celt', 'celt|stone|stone-implements'),
SearchData(50, 319227, 'House Model', 'house model|ceramic|ceramics-sculpture'),
SearchData(-950, 318473, 'Blackware Bowl', 'bowl|ceramic|ceramics-containers'),
SearchData(1400, 317101, 'Stone Chisel', 'chisel|stone|stone-implements'),
SearchData(700, 313336, 'Handle (?)', 'tube|bone|bone/ivory-sculpture'),
SearchData(1400, 317247, 'Celt', 'celt|stone|stone-implements'),
SearchData(400, 316299, 'Pair of Earflare Frontals', 'earflare frontals|jade (jadeite)|stone-ornaments'),
SearchData(700, 317712, 'Head Pendant', 'pendant|shell|shell-ornaments'),
SearchData(1475, 307634, 'Cihuateotl', 'figure|volcanic stone (porphyritic andesite), pigment|stone-sculpture'),
SearchData(1400, 317107, 'Celt', 'celt|stone|stone-implements'),
SearchData(550, 318444, 'Grouped Pigment Jars', 'jars|ceramic, pigment|ceramics-sculpture'),
SearchData(-300, 313316, 'Bench Figure', 'male figure|greenstone (muscovite-paragonite phyllite)|stone-sculpture'),
SearchData(1400, 317352, 'Bead', 'bead|stone|beads-ornaments'),
SearchData(-650, 749344, 'Kneeling Bearded Figure', 'figure|serpentine, pigment (probably cinnabar)|stone-sculpture'),
SearchData(737, 318662, 'Vessel, Throne Scene', 'vessel|ceramic, pigment|ceramics-containers'),
SearchData(1000, 313091, 'Ceremonial Metate', 'metate|diabase|stone-implements'),
SearchData(1400, 317241, 'Celt', 'celt|stone|stone-implements'),
SearchData(700, 313241, 'Vessel', 'vessel|ceramic|ceramics-containers'),
SearchData(750, 312162, 'Bowl', 'bowl|ceramic|ceramics-containers'),
SearchData(1400, 317246, 'Celt', 'celt|stone|stone-implements'),
SearchData(1400, 317263, 'Celt', 'celt|stone|stone-implements'),
SearchData(1400, 317215, 'Celt', 'celt|stone|stone-implements'),
SearchData(1420, 307748, 'Stamp, Monkey', 'stamp|ceramic|ceramics-implements'),
SearchData(499, 313330, 'Bird Pendant', 'pendant|jadeite|stone-ornaments'),
SearchData(150, 314524, 'Cylindrical Vessel', 'vessel|ceramic|ceramics-containers'),
SearchData(-650, 313138, 'Seated Bench Figure', 'figure|serpentine|stone-sculpture'),
SearchData(550, 317121, 'Earflare', 'earflare|jade|stone-ornaments'),
SearchData(350, 318345, 'Censer, Seated King', 'censer|ceramic|ceramics-containers'),
SearchData(1400, 317211, 'Celt', 'celt|stone|stone-implements'),
SearchData(0, 314523, 'Cylindrical Vessel', 'vessel|ceramic, slip|ceramics-containers'),
SearchData(1400, 317102, 'Stone Chisel', 'chisel|stone|stone-implements'),
SearchData(700, 310475, 'Head from a Figure', 'head|ceramic|ceramics-sculpture'),
SearchData(1400, 317212, 'Celt', 'celt|stone|stone-implements'),
SearchData(0, 701645, 'Pendant', 'pendant|jadeite, pigment|stone-ornaments'),
SearchData(-99, 314522, 'Tetrapod Jar', 'bowl|ceramic|ceramics-containers'),
SearchData(150, 316300, 'Cylindrical Vessel', 'vessel|ceramic|ceramics-containers'),
SearchData(-1050, 316302, 'Bowl (Tecomate)', 'bowl|ceramic|ceramics-containers'),
SearchData(1400, 317297, 'Celt-Form Pendant', 'pendant|stone|stone-ornaments'),
SearchData(400, 313262, 'Deity figure', 'figure|jade (pyroxene jadeite)|stone-sculpture'),
SearchData(700, 314305, 'Bowl', 'bowl|ceramic, slip, pigment|ceramics-containers'),
SearchData(750, 316274, 'Plate with Trumpeter', 'plate|ceramic|ceramics-containers'),
SearchData(700, 316711, 'Vessel with Seated Lord', 'vessel|ceramic, stucco|ceramics-containers'),
SearchData(749, 761272, 'Vessel with water bird and hieroglyphic text', 'vessel|ceramic|ceramics-vessels'),
SearchData(1400, 317635, 'Gouge', 'chisel|stone|stone-implements'),
SearchData(500, 313235, 'Hacha in the Shape of Bound Hands', 'hacha|stone|stone-sculpture'),
SearchData(550, 318405, 'Carved Bowl', 'bowl|ceramic|ceramics-containers'),
SearchData(1400, 317303, 'Chisel', 'chisel|stone|stone-implements'),
SearchData(1159, 310268, 'Eagle Pendant', 'pendant|gold|metal-ornaments'),
SearchData(700, 312818, 'Ornamental Figure', 'ornament|shell|shell-ornaments'),
SearchData(700, 310555, 'Bird ornament', 'ornament|shell|shell-ornaments'),
SearchData(300, 312161, 'Bottle (Florero)', 'bottle|ceramic|ceramics-containers'),
SearchData(50, 677436, 'Human Figure', 'figure|clay|ceramics-sculpture'),
SearchData(700, 312596, 'Seated Female Figure', 'female figure|ceramic|ceramics-musical instruments'),
SearchData(1400, 317248, 'Celt', 'celt|stone|stone-implements'),
SearchData(1400, 315730, 'Footed Vessel', 'bowl|calcite|stone-containers'),
SearchData(900, 313242, 'Bowl', 'bowl|ceramic|ceramics-containers'),
SearchData(-1000, 313319, 'Small Yoke with Face', 'yoke|stone|stone-sculpture'),
SearchData(1400, 317213, 'Celt', 'celt|stone|stone-implements'),
SearchData(750, 315883, 'Bowl, Mythological Scene', 'bowl|ceramic|ceramics-containers'),
SearchData(750, 310474, 'Hacha', 'hacha|stone, pigment|stone-sculpture'),
SearchData(750, 312804, 'Figure Rattle', 'rattle|ceramic, pigment|ceramics-musical instruments'),
SearchData(750, 313151, 'Costumed Figure', 'male figure|ceramic, pigment|ceramics-musical instruments'),
SearchData(750, 501839, 'Pottery Rattle', 'pottery rattle|clay|idiophone-shaken-rattle'),
SearchData(-650, 310495, 'Yoke', 'yoke|stone, pigment|stone-sculpture'),
SearchData(700, 310364, 'Vessel with mythological scene', 'vessel|ceramic, pigment|ceramics-containers'),
SearchData(1399, 705547, 'Necklace with Beads in the Shape of Jaguar Teeth', 'necklace|gold|metalwork-gold'),
SearchData(-650, 316288, 'Celt', 'celt|jade|stone-ornaments'),
SearchData(550, 317429, 'Earflare Set', 'earflare set|jade|stone-ornaments'),
SearchData(900, 316304, 'Tripod Plate', 'plate|ceramic|ceramics-containers'),
SearchData(800, 316267, 'Ball Player', 'male figure|ceramic|ceramics-sculpture'),
SearchData(1300, 313257, 'Crocodile-Head Figure Pendant', 'pendant|gold (cast alloy), pyrite inlay|metal-ornaments'),
SearchData(-1000, 316301, 'Bowl (Tecomate)', 'bowl|ceramic|ceramics-containers'),
SearchData(-650, 309987, 'Duck-Face Ornament', 'ornament|jadeite, pigment|stone-ornaments'),
SearchData(1400, 317291, 'Adze', 'adze|stone|stone-implements'),
SearchData(1399, 318679, 'Monkey stamp', 'stamp|ceramic|ceramics-implements'),
SearchData(1400, 317099, 'Stone Chisel', 'chisel|stone|stone-implements'),
SearchData(1400, 317359, 'Tubular Bead', 'bead|stone|beads-ornaments'),
SearchData(650, 313254, 'Animal Head Hacha', 'hacha|stone|stone-sculpture'),
SearchData(772, 313240, 'Relief with Enthroned Ruler', 'relief|limestone, paint|stone-sculpture'),
SearchData(700, 313342, 'Figure with Helmet Mask', 'male figure|ceramic, pigment|ceramics-sculpture'),
SearchData(800, 316813, 'Jar, Ritual Scenes', 'jar|ceramic, slip, pigment|ceramics-containers'),
SearchData(1400, 317314, 'Eccentric Flint', 'flint|flint|stone-implements'),
SearchData(1400, 317270, 'Celt', 'celt|stone|stone-implements'),
SearchData(1400, 317226, 'Celt', 'celt|stone|stone-implements'),
SearchData(850, 310540, 'Column', 'column|limestone|stone-sculpture'),
SearchData(-1000, 312589, 'Relief-Carved Bowl', 'vessel|ceramic|ceramics-containers'),
SearchData(1400, 317350, 'Bead', 'bead|stone|beads-ornaments'),
SearchData(1470, 321292, 'Head from a figure, Xochipilli-Macuilxochitl', 'head|obsidian|glass-sculpture'),
SearchData(1400, 317237, 'Celt', 'celt|stone|stone-implements'),
SearchData(750, 313325, 'Ceremonial Handle (?)', 'handle|jade (jadeite/omphacite)|stone-sculpture'),
SearchData(900, 309901, 'Pedestal Bowl', 'bowl|marble|stone-containers'),
SearchData(800, 320205, 'Figure', 'figure|ceramic, hematite|ceramics-sculpture'),
SearchData(1400, 317365, 'Tubular Bead', 'bead|stone|beads-ornaments'),
SearchData(1400, 317265, 'Celt', 'celt|stone|stone-implements'),
SearchData(0, 319873, 'Deity face pendant', 'pendant|jadeite or omphacite, iron ochre|stone-ornaments'),
SearchData(0, 312581, 'House Model', 'house model|ceramic|ceramics-sculpture'),
SearchData(700, 313315, 'Vessel with Deity Figures', 'vessel|ceramic|ceramics-containers'),
SearchData(600, 310527, 'Stela Fragment with Glyphs', 'stela fragment|stone|stone-sculpture'),
SearchData(1400, 317216, 'Celt', 'celt|stone|stone-implements'),
SearchData(300, 313035, 'Ornament with Maya Glyph', 'ornament|jadeite|stone-ornaments'),
SearchData(1400, 317295, 'Celt', 'celt|stone|stone-implements'),
SearchData(500, 314557, 'Seated Figure Censer (Incensario)', 'censer|ceramic|ceramics-containers'),
SearchData(850, 309404, 'Chahk', 'figure|limestone|stone-sculpture'),
SearchData(750, 313386, '"Smiling" Figure', 'male figure|ceramic|ceramics-sculpture'),
SearchData(-1000, 318464, 'Duck-Head Vessel', 'vessel|ceramic|ceramics-containers'),
SearchData(
749, 718242, 'Tripod plate with mythological scene', 'plate|ceramic with red, cream, and black slip|ceramics'),
SearchData(800, 317619, 'Turkey Vessel', 'vessel|ceramic, slip, pigment|ceramics-containers'),
SearchData(700, 310468, 'Standing Male Figure', 'male figure|ceramic|ceramics-sculpture'),
SearchData(700, 314311, 'Cylindrical Vessel', 'vessel|ceramic, slip, pigment|stone-containers'),
SearchData(-650, 313337, 'Ritual Spoon Pendant', 'pendant|jadeite|stone-ornaments'),
SearchData(1400, 317222, 'Celt', 'celt|stone|stone-implements'),
SearchData(1400, 317106, 'Celt', 'celt|stone|stone-implements'),
SearchData(1400, 317267, 'Celt', 'celt|stone|stone-implements'),
SearchData(749, 503940, 'Double Whistle', 'double whistle|pottery, paint|aerophone-whistle flute'),
SearchData(700, 314217, 'Vessel with mythological scene', 'vessel|ceramic|ceramics-containers'),
SearchData(500, 310354, 'Bowl with Pouring Lip', 'bowl|ceramic|ceramics-containers'),
SearchData(25, 318346, 'Spouted Jar', 'jar|indurated limestone|stone-containers'),
SearchData(1400, 317235, 'Celt', 'celt|stone|stone-implements'),
SearchData(1400, 317597, 'Polishing Stone (?)', 'polishing stone|stone|stone-implements'),
SearchData(1400, 317100, 'Stone Chisel', 'chisel|stone|stone-implements'),
SearchData(1400, 317103, 'Celt', 'celt|stone|stone-implements'),
SearchData(700, 312595, 'Seated Female Figure', 'female figure|ceramic|ceramics-musical instruments'),
SearchData(1350, 312599, 'Pedestal Bowl', 'bowl|ceramic|ceramics-containers'),
SearchData(550, 314832, 'Shell Ornament', 'pendant|jade|stone-ornaments'),
SearchData(550, 317120, 'Earflare', 'earflare|jade|stone-ornaments'),
SearchData(699, 662967, 'Vessel with mythological scene', 'vase|ceramic|ceramics-vessels'),
SearchData(700, 310651, 'Vessel, Palace Scene', 'vessel|ceramic|ceramics-containers'),
SearchData(1049, 319238, 'Female figure', 'figure|stone|stone-sculpture'),
SearchData(750, 313335, 'Crocodile whistle and rattle', 'rattle|ceramic, pigment|ceramics-musical instruments'),
SearchData(400, 312586, 'Tripod Vessel', 'vessel|ceramic, red ochre|ceramics-containers'),
SearchData(750, 318628, 'Cylinder Vessel', 'vessel|ceramic, slip, stucco|ceramics-containers'),
SearchData(800, 312593, 'Hacha, Head', 'hacha|andesite, pigment|stone-sculpture'),
SearchData(700, 319633, 'Cylindrical Vessel', 'vessel|ceramic|ceramics-containers'),
SearchData(699, 53939, 'Head Pendant', 'pendant|jade (jadeite)|jade'),
SearchData(700, 313149, 'Canine Ornament', 'ornament|shell (spondylus)|shell-ornaments'),
SearchData(1400, 317217, 'Celt', 'celt|stone|stone-implements'),
SearchData(750, 318463, 'Pendant with Figure and Double-Headed Crocodilian', 'pendant|shell|shell-ornaments'),
SearchData(1100, 313348, 'Monkey Vessel', 'vessel|onyx marble, pyrite, shell|stone-containers'),
SearchData(700, 319009, 'Covered Bowl', 'bowl with lid|ceramic|ceramics-containers'),
SearchData(750, 312645, 'Palma with textile motif',
'palma|stone, pigment hazardous materials: contains mercury and lead|stone-sculpture'),
SearchData(450, 310542, 'Whistling vessel', 'vessel with lid|ceramic|ceramics-containers'),
SearchData(1400, 317244, 'Stone Chisel', 'chisel|stone|stone-implements'),
SearchData(500, 316645, 'Deity Head Pendant', 'pendant|jade|stone-ornaments'),
SearchData(1460, 316873, 'Temple Model', 'temple model|ceramic|ceramics-sculpture'),
SearchData(550, 317760, 'Pair of carved ornaments with the Maize God', 'earflare frontals|shell|shell-ornaments'),
SearchData(1400, 317227, 'Celt', 'celt|stone|stone-implements'),
SearchData(1360, 309861, 'Deity Censer (Xantil)', 'censer|ceramic, pigment|ceramics-sculpture'),
SearchData(300, 314827, 'Tripod Bird Bowl', 'bowl with lid|ceramic|ceramics-containers'),
SearchData(1400, 317225, 'Celt', 'celt|stone|stone-implements'),
SearchData(1400, 317214, 'Celt', 'celt|stone|stone-implements'),
SearchData(1400, 317234, 'Celt', 'celt|stone|stone-implements'),
SearchData(500, 309557, 'Closed Yoke', 'yoke|volcanic rhyolitic tuff|stone-sculpture'),
SearchData(800, 320147, 'Figure', 'figure|ceramic|ceramics-sculpture'),
SearchData(200, 314518, 'Tetrapod Bowl', 'vessel|ceramic|ceramics-containers'),
SearchData(800, 318678, 'Standing Figure', 'figure|ceramic|ceramics-sculpture'),
SearchData(1420, 307744, 'Stamp, Monkey', 'stamp|ceramic|ceramics-implements'),
SearchData(-600, 310513, 'Pendant', 'pendant|jade|stone-ornaments'),
SearchData(-650, 310467, 'Celt with Incised Profile', 'celt|jade (jadeite), traces of red pigment|stone-implements'),
SearchData(300, 315884, 'Lidded Vessel', 'bowl with lid|ceramic, slip, pigment|ceramics-containers'),
SearchData(-1000, 314946, 'Bird Vessel', 'vessel|ceramic, red ochre|ceramics-containers'),
SearchData(1400, 317210, 'Celt', 'celt|stone|stone-implements'),
SearchData(700, 319586, 'Pendant with Seated Lord', 'pendant|jadeite|stone-ornaments'),
SearchData(800, 320206, 'Figure', 'figure|ceramic|ceramics-sculpture'),
SearchData(1400, 317358, 'Tubular Bead', 'bead|stone|beads-ornaments'),
SearchData(-1000, 310556, 'Bottle', 'bottle|ceramic, pigment|ceramics-containers'),
SearchData(900, 307443, 'Fragmentary Relief', 'relief|stone|stone-sculpture'),
SearchData(1100, 307598, 'Eagle Relief', 'panel|andesite or dacite, paint|stone-sculpture'),
SearchData(1100, 307599, 'Eagle Relief', 'panel|andesite/dacite, paint|stone-sculpture'),
SearchData(1400, 317301, 'Celt-Form Pendant', 'pendant|stone|stone-ornaments'),
SearchData(0, 317600, 'Temple Model', 'temple model|ceramic|ceramics-sculpture'),
SearchData(1250, 318229, 'Metate Fragment', 'metate fragment|stone|stone-sculpture'),
SearchData(1400, 318653, 'Celt', 'celt|stone|stone-implements'),
SearchData(775, 310551, 'Censer Support', 'censer support|ceramic|ceramics-sculpture'),
SearchData(600, 310607, 'Vessel, Seated Deities', 'vessel|ceramic|ceramics-containers'),
SearchData(700, 310644, 'Scepter with profile figures', 'scepter|flint|stone-sculpture'),
SearchData(1843, 591853, 'Incidents of Travel in Yucatan', '|illustrated book|'),
SearchData(-750, 317697, 'Eagle Transformation Figure', 'figure|albitite, cinnabar, stone|stone-sculpture'),
SearchData(1400, 317233, 'Celt', 'celt|stone|stone-implements'),
SearchData(750, 312643, 'Yoke', 'yoke|serpentine|stone-sculpture'),
SearchData(1400, 317305, 'Celt', 'chisel|stone|stone-implements'),
SearchData(1400, 317320, 'Blade', 'blade|flint|stone-implements'),
SearchData(
400, 309713, 'Yoke-Form Vessel', 'vessel with lid|ceramic, red pigment (possibly cinnabar)|ceramics-containers'),
];

View File

@ -1,24 +1,40 @@
part of '../christ_redeemer_data.dart';
// Search suggestions (11)
List<String> _searchSuggestions = const ['ivory', 'blown', 'cane', 'hole', 'vibrated', 'aerophone', 'blow', 'fan', 'flute', 'bamboo', 'lip', ];
List<String> _searchSuggestions = const [
'ivory',
'blown',
'cane',
'hole',
'vibrated',
'aerophone',
'blow',
'fan',
'flute',
'bamboo',
'lip',
];
// Christ the Redeemer (16)
// Christ the Redeemer (17)
List<SearchData> _searchData = const [
SearchData(1850, 501336, 'Flute', 'flute|bamboo|aerophone-blow hole-end-blown flute (vertical)', 'mi/mobile-large/midp89.4.720 (2).jpg', 1.78),
SearchData(1875, 501319, 'Pluriarc', 'pluriarc||chordophone-musical bow', 'mi/mobile-large/midp89.4.703.jpg', 0.60),
SearchData(1875, 501302, 'Engraved Horn', 'engraved horn|horn|aerophone-lip vibrated-horn', 'mi/mobile-large/MUS550A2.jpg', 0.58),
SearchData(1850, 502019, 'Rattle', 'rattle|fruit or nut shells, fiber rope, cord|idiophone-shaken-rattle', 'mi/mobile-large/midp89.4.1453.jpg', 1.78),
SearchData(950, 319556, 'Plate', 'plate|ceramic|ceramics-containers', 'ao/mobile-large/2005.461_a.jpg', 1.50),
SearchData(1850, 502107, 'Caracasha', 'caracasha|bamboo, basketry, oxhorn, fiber, rubber or resin|aerophone-lip vibrated-trumpet / trombone', 'mi/mobile-large/MUS563A21.jpg', 0.40),
SearchData(1850, 227759, 'Handkerchiefs (one of two)', 'handkerchief||', 'ad/mobile-large/DP2896.jpg', 0.95),
SearchData(1850, 501338, 'Poo-Do-Parana (flute)', 'poo-do-parana (flute)|bamboo, dried grass|aerophone-blow hole-side-blown flute (transverse)', 'mi/mobile-large/midp89.4.722.jpg', 2.26),
SearchData(1850, 227758, 'Handkerchiefs (one of two)', 'handkerchief||', 'ad/mobile-large/DP2927.jpg', 1.01),
SearchData(1850, 501337, 'Flute', 'flute|cane|aerophone-blow hole-end-blown flute (vertical)', 'mi/mobile-large/midp89.4.721.jpg', 1.78),
SearchData(1850, 501335, 'Flute', 'flute|bamboo or cane|aerophone-blow hole-side-blown flute (transverse)', 'mi/mobile-large/midp89.4.719.jpg', 1.78),
SearchData(1887, 122578, 'Fan', 'fan|feathers, ivory|', 'ci/mobile-large/CI43.45.1.jpg', 1.09),
SearchData(1850, 502182, 'Caracasha', 'caracasha|gourd, cane or bamboo, basketry, fibercord, rubber or resin|aerophone-lip vibrated-trumpet / trombone', 'mi/mobile-large/MUS563A19.jpg', 5.25),
SearchData(1850, 501334, 'Whistle', 'whistle|wood|aerophone-whistle flute-whistle flute', 'mi/mobile-large/MUS563A5.jpg', 0.16),
SearchData(1870, 157985, 'Fixed fan', 'fixed fan|ivory, feather|', 'ci/mobile-large/48.60_front_CP4.jpg', 0.79),
SearchData(1887, 122579, 'Fan', 'fan|feathers, ivory|', 'ci/mobile-large/CI43.45.2.jpg', 1.01),
];
SearchData(1849, 215298, 'Square', 'square|drawnwork|'),
SearchData(1850, 501337, 'Flute', 'flute|cane|aerophone-blow hole-end-blown flute (vertical)'),
SearchData(950, 319556, 'Plate', 'plate|ceramic|ceramics-containers'),
SearchData(1870, 157985, 'Fixed fan', 'fixed fan|ivory, feather|'),
SearchData(1850, 501336, 'Flute', 'flute|bamboo|aerophone-blow hole-end-blown flute (vertical)'),
SearchData(1850, 227759, 'Handkerchiefs (one of two)', 'handkerchief||'),
SearchData(1850, 501334, 'Whistle', 'whistle|cane or bamboo|aerophone-whistle flute-whistle flute'),
SearchData(1875, 501319, 'Pluriarc', 'pluriarc||chordophone-musical bow'),
SearchData(1887, 122579, 'Fan', 'fan|feathers, ivory|'),
SearchData(1850, 227758, 'Handkerchiefs (one of two)', 'handkerchief||'),
SearchData(1850, 501335, 'Flute', 'flute|bamboo or cane|aerophone-blow hole-side-blown flute (transverse)'),
SearchData(1875, 501302, 'Engraved Horn', 'engraved horn|horn|aerophone-lip vibrated-horn'),
SearchData(1850, 502019, 'Rattle', 'rattle|fruit or nut shells, fiber rope, cord|idiophone-shaken-rattle'),
SearchData(1850, 502107, 'Caracasha',
'caracasha|bamboo, basketry, oxhorn, fiber, rubber or resin|aerophone-lip vibrated-trumpet / trombone'),
SearchData(1850, 501338, 'Poo-Do-Parana (flute)',
'poo-do-parana (flute)|bamboo, dried grass|aerophone-blow hole-side-blown flute (transverse)'),
SearchData(1850, 502182, 'Caracasha',
'caracasha|gourd, cane or bamboo, basketry, fibercord, rubber or resin|aerophone-lip vibrated-trumpet / trombone'),
SearchData(1887, 122578, 'Fan', 'fan|feathers, ivory|'),
];

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,374 +1,474 @@
part of '../machu_picchu_data.dart';
// Search suggestions (78)
List<String> _searchSuggestions = const ['hat', 'figure', 'earflare', 'prosopis', 'fiber', 'ornament', 'paccha', 'copper', 'feline', 'bronze', 'canopa', 'figurine', 'costumes', 'dish', 'tomb', 'lime', 'miniature', 'top', 'bottle', 'wood', 'gilded', 'inlay', 'tumi', 'alloy', 'silver', 'pin', 'slip', 'resin', 'warrior', 'woven', 'tupu', 'gold', 'implements', 'stirrup', 'tunic', 'votive', 'jar', 'camelid', 'stone', 'sculpture', 'spoon', 'cornered', 'knife', 'sheet', 'ceramics', 'turquoise', 'ornaments', 'pigment', 'metal', 'profile', 'post', 'head', 'spout', 'pigmented', 'sling', 'cast', 'ceramic', 'cotton', 'shell', 'hammered', 'containers', 'kero', 'bird', 'double', 'escallonia', 'textiles', 'ceremonial', 'hair', 'bag', 'staff', 'tapestry', 'vessel', 'funerary', 'feathers', 'paint', 'disk', 'fragment', 'container', ];
// Search suggestions (79)
List<String> _searchSuggestions = const [
'hat',
'figure',
'earflare',
'prosopis',
'fiber',
'ornament',
'paccha',
'copper',
'feline',
'bronze',
'canopa',
'costumes',
'dish',
'tomb',
'lime',
'miniature',
'top',
'wood',
'bottle',
'gilded',
'inlay',
'tumi',
'alloy',
'silver',
'pin',
'slip',
'resin',
'warrior',
'woven',
'tupu',
'gold',
'implements',
'tunic',
'stirrup',
'votive',
'jar',
'camelid',
'stone',
'sculpture',
'spoon',
'cornered',
'knife',
'sheet',
'ceramics',
'turquoise',
'ornaments',
'pigment',
'effigy',
'metal',
'profile',
'post',
'head',
'spout',
'pigmented',
'sling',
'cast',
'ceramic',
'cotton',
'shell',
'beaker',
'hammered',
'containers',
'kero',
'bird',
'double',
'escallonia',
'textiles',
'ceremonial',
'hair',
'bag',
'staff',
'tapestry',
'vessel',
'funerary',
'feathers',
'paint',
'disk',
'fragment',
'container',
];
// Machu Picchu (366)
// Machu Picchu (377)
List<SearchData> _searchData = const [
SearchData(1400, 310616, 'Double Vessel, Monkey', 'vessel|silver|metal-containers', 'ao/mobile-large/DT10189.jpg', 0.78),
SearchData(600, 318644, 'Profile Warrior Ornament', 'ornament|gilded copper, shell, turquoise|metal-ornaments', 'ao/mobile-large/1987.394.72.JPG', 0.82),
SearchData(1500, 313275, 'Vessel', 'bottle|ceramic|ceramics-containers', 'ao/mobile-large/vs1979_206_1082.jpg', 0.84),
SearchData(1500, 315620, 'Copper Pin', 'pin|silver (hammered)|metal-ornaments', 'ao/mobile-large/vs1987_394_560.jpg', 0.39),
SearchData(750, 316963, 'Four-Cornered Hat', 'hat|camelid hair|textiles-costumes', 'ao/mobile-large/HZ1994_35_138.jpg', 1.11),
SearchData(1500, 315624, 'Ornamented Knife', 'knife|copper|metal-implements', 'ao/mobile-large/hz1987_394_564.jpg', 1.15),
SearchData(1500, 313287, 'Storage Jar (aryballos)', 'bottle|ceramic, pigment|ceramics-containers', 'ao/mobile-large/vs1979_206_1094.jpg', 0.88),
SearchData(1650, 316847, 'Kero', 'kero|wood, metal inlay, red pigment|wood-containers', 'ao/mobile-large/1994.35.19_a.JPG', 0.78),
SearchData(1385, 312796, 'Hanging', 'hanging|cotton|textiles-woven', 'ao/mobile-large/DT9943.jpg', 0.76),
SearchData(1500, 315228, 'Bronze Mace Head in Feline Form', 'mace head|bronze (cast)|metal-implements', 'ao/mobile-large/1987.394.166_a.jpg', 1.47),
SearchData(1500, 315283, 'Pin', 'pin|copper, gilt|metal-ornaments', 'ao/mobile-large/vs1987_394_223A.JPG', 0.36),
SearchData(1500, 313222, 'Ceremonial Implement', 'implement|wood, resin paint, metal|wood-implements', 'ao/mobile-large/DP-23805-001.jpg', 0.39),
SearchData(1400, 315609, 'Pin', 'pin|silver (hammered)|metal-ornaments', 'ao/mobile-large/DP216738.jpg', 0.64),
SearchData(1500, 315490, 'Copper Tumi with Figure', 'knife|copper (cast)|metal-implements', 'ao/mobile-large/vs1987_394_415.jpg', 0.78),
SearchData(1400, 315608, 'Pin', 'pin|silver (hammered)|metal-ornaments', 'ao/mobile-large/DP216737.jpg', 0.65),
SearchData(1475, 313341, 'Double bowl', 'bowl|ceramic, slip|ceramics-containers', 'ao/mobile-large/DP-24356-001.jpg', 1.33),
SearchData(1500, 313152, 'Tunic', 'tunic|camelid hair|textiles-woven', 'ao/mobile-large/DP244273.jpg', 1.33),
SearchData(1500, 313205, 'Dish with Bird Head', 'dish|ceramic, pigment|ceramics-containers', 'ao/mobile-large/1979.206.1008.jpg', 1.55),
SearchData(1500, 315285, 'Copper Pin', 'pin|copper, gilt|metal-ornaments', 'ao/mobile-large/vs1987_394_225.JPG', 0.42),
SearchData(750, 316970, 'Four-Cornered Hat', 'hat|camelid hair|textiles-costumes', 'ao/mobile-large/HZ1994_35_145.jpg', 1.08),
SearchData(1500, 314528, 'Tunic with Diamond Band', 'tunic|camelid hair, cotton|textiles-woven', 'ao/mobile-large/DP107698.jpg', 0.90),
SearchData(500, 314681, 'Prisoner jar', 'jar|ceramic, slip|ceramics-containers', 'ao/mobile-large/DP-24362-001.jpg', 0.75),
SearchData(1140, 309105, 'Tupu (pin)', 'pin|copper|metal-ornaments', 'ao/mobile-large/hz64_228_607.jpg', 0.36),
SearchData(1466, 317753, 'Female figurine', 'figure|silver-gold alloy|sculpture-sheet metal', 'ao/mobile-large/DP-13440-036.jpg', 0.67),
SearchData(550, 309427, 'Ear Ornament, Winged Runner', 'earflare|gold, turquoise, sodalite, shell|metal-ornaments', 'ao/mobile-large/66.196.40.jpg', 0.77),
SearchData(825, 307975, 'Tunic with Confronting Catfish', 'tunic|camelid hair, tapestry-weave|textiles-woven', 'ao/mobile-large/DT829.jpg', 1.98),
SearchData(1350, 307467, 'Tweezers', 'tweezers|silver|metal-implements', 'ao/mobile-large/82.1.23.JPG', 0.93),
SearchData(400, 309411, 'Headdress Ornament', 'headdress ornament|gold|metal-ornaments', 'ao/mobile-large/DP-14786-039.jpg', 1.34),
SearchData(1500, 313225, 'Funerary Staff', 'tomb post|wood, silver, nails|wood-sculpture', 'ao/mobile-large/DP-23803-001.jpg', 0.42),
SearchData(1500, 315618, 'Silver Pin', 'pin|silver (hammered)|metal-ornaments', 'ao/mobile-large/vs1987_394_558.JPG', 0.77),
SearchData(1500, 313226, 'Funerary Staff', 'staff|wood, paint, metal sheathing|wood-sculpture', 'ao/mobile-large/DP-23808-001.jpg', 0.33),
SearchData(750, 308121, 'Four-Cornered Hat', 'hat|camelid hair, cotton|textiles-woven', 'ao/mobile-large/DP264889.jpg', 0.75),
SearchData(750, 316962, 'Four-Cornered Hat', 'hat|camelid hair|textiles-costumes', 'ao/mobile-large/hz1994_35_137.jpg', 1.17),
SearchData(1300, 310476, 'Feathered Tabard', 'tunic|cotton, feathers|feathers-costumes', 'ao/mobile-large/DP218937.jpg', 1.33),
SearchData(750, 316339, 'Four-Cornered Hat', 'hat|camelid hair|textiles-costumes', 'ao/mobile-large/HZ1994_35_149.jpg', 1.03),
SearchData(1500, 307941, 'Bag Tassel', 'bag fragment|camelid hair, cotton|textiles-woven', 'ao/mobile-large/DP18687_28.171.4,1.jpg', 0.60),
SearchData(1650, 316841, 'Kero', 'kero|wood (escallonia), pigmented resin inlay|wood-containers', 'ao/mobile-large/DP104798.jpg', 1.00),
SearchData(1466, 309227, 'Tupu (pin)', 'pin|copper alloy|metal-ornaments', 'ao/mobile-large/vs64_228_701.jpg', 0.48),
SearchData(750, 316980, 'Four-Cornered Hat', 'hat|camelid hair|textiles-costumes', 'ao/mobile-large/HZ1994_35_160.jpg', 1.09),
SearchData(1500, 313269, 'Deer Stick', 'staff|wood, paint|wood-sculpture', 'ao/mobile-large/1979.206.1076.jpg', 1.50),
SearchData(750, 312911, 'Four-Cornered Hat', 'hat|camelid hair, cotton|textiles-costumes', 'ao/mobile-large/1979.206.724 a.jpg', 0.99),
SearchData(1650, 316846, 'Kero', 'kero|wood, tin inlay|wood-containers', 'ao/mobile-large/DP-24246-001.jpg', 0.86),
SearchData(1500, 313271, 'Headband', 'head ornament|gold (hammered)|metal-ornaments', 'ao/mobile-large/vs1979_206_1078.jpg', 0.16),
SearchData(1500, 313206, 'Dish with Bird Head', 'dish|ceramic, pigment|ceramics-containers', 'ao/mobile-large/1979.206.1009.jpg', 1.50),
SearchData(1466, 313251, 'Female figurine', 'figure|gold|sculpture-sheet metal', 'ao/mobile-large/DP-13440-033.jpg', 0.70),
SearchData(1500, 315286, 'Ceremonial Knife (Tumi)', 'knife|copper (cast)|metal-implements', 'ao/mobile-large/vs1987_394_226.jpg', 1.00),
SearchData(1500, 315227, 'Ceremonial Knife (Tumi)', 'knife|bronze (cast)|metal-implements', 'ao/mobile-large/1987.394.165_a.jpg', 1.36),
SearchData(1700, 316855, 'Kero', 'kero|wood, pigmented resin inlay|wood-containers', 'ao/mobile-large/DP104805.jpg', 0.95),
SearchData(550, 308526, 'Stirrup Spout Bottle with Bird and Snake', 'bottle|ceramic, slip|ceramics-containers', 'ao/mobile-large/64.228.20.JPG', 0.75),
SearchData(550, 308508, 'Owl Warrior Bottle', 'bottle|ceramic|ceramics-containers', 'ao/mobile-large/64.228.2.JPG', 0.67),
SearchData(750, 316973, 'Four-Cornered Hat', 'hat|camelid hair|textiles-costumes', 'ao/mobile-large/HZ1994_35_148.jpg', 1.07),
SearchData(-250, 307617, 'Bowl', 'bowl|ceramic, post-fired paint|ceramics-containers', 'ao/mobile-large/63.232.73_b.jpg', 1.36),
SearchData(400, 308535, 'Figure Jar', 'jar|ceramic, slip|ceramics-containers', 'ao/mobile-large/64.228.29_a.JPG', 0.67),
SearchData(1475, 309389, 'Storage Jar (Aryballus)', 'bottle|ceramic|ceramics-containers', 'ao/mobile-large/66.30.6_a.jpg', 0.80),
SearchData(1500, 317591, 'Votive Container (Canopa)', 'vessel|stone|stone-containers', 'ao/mobile-large/1994.35.758.jpg', 1.50),
SearchData(1600, 316843, 'Kero', 'kero|wood, pigmented resin inlay|wood-containers', 'ao/mobile-large/hz1994_35_15.jpg', 0.71),
SearchData(-1000, 310662, 'Feline-shaped stirrup-spout bottle', 'bottle|ceramic|ceramics-containers', 'ao/mobile-large/DP-24349-001.jpg', 0.75),
SearchData(325, 309145, 'Chisel or tupu (pin)', 'pin|copper|metal-implements', 'ao/mobile-large/vs64_228_619.jpg', 0.31),
SearchData(1600, 316845, 'Kero', 'kero|wood (prosopis?), pigmented resin inlay|wood-containers', 'ao/mobile-large/hz1994_35_17.jpg', 0.80),
SearchData(1250, 316723, 'Serpent (tunjo)', 'figure|gold|metal-ornaments', 'ao/mobile-large/vs1992_92_1.jpg', 0.30),
SearchData(1500, 312635, 'Bronze Tumi with Figures', 'knife|bronze|metal-implements', 'ao/mobile-large/1979.206.415.JPG', 0.67),
SearchData(750, 316965, 'Four-Cornered Hat', 'hat|camelid hair|textiles-costumes', 'ao/mobile-large/HZ1994_35_140.jpg', 1.12),
SearchData(1466, 315606, 'Tupu (pin)', 'pin|copper alloy|metal-ornaments', 'ao/mobile-large/vs1987_394_546.JPG', 0.64),
SearchData(1450, 314615, 'Woven Sling Shot', 'sling shot|camelid hair|textiles-woven', 'ao/mobile-large/250581.jpg', 2.65),
SearchData(600, 315161, 'Disk Ornament', 'ornament|gilded copper|metal-ornaments', 'ao/mobile-large/1987.394.99.JPG', 1.24),
SearchData(1500, 315290, 'Knife (Tumi)', 'knife|copper (cast)|metal-implements', 'ao/mobile-large/1987.394.230_a.jpg', 0.92),
SearchData(1475, 315486, 'Ornamented Knife (tumi)', 'knife|tin bronze|metal-implements', 'ao/mobile-large/DP108299.jpg', 1.03),
SearchData(-250, 308498, 'Bowl', 'bowl|ceramic, post-fired paint|ceramics-containers', 'ao/mobile-large/63.232.95a.jpg', 1.61),
SearchData(800, 309104, 'Tupu (pin)', 'pin|copper and gold|metal-ornaments', 'ao/mobile-large/hz64_228_606.jpg', 0.37),
SearchData(1499, 308287, 'Feathered Tabard', 'tabard|cotton, feathers|feathers-costumes', 'ao/mobile-large/DP216335.jpg', 0.83),
SearchData(1500, 315249, 'Copper Lime Spoon with Bird Top', 'lime spoon|copper (cast)|metal-implements', 'ao/mobile-large/VS1987_394_188.JPG', 0.50),
SearchData(-50, 310550, 'Bottle, Trophy-Head', 'bottle|ceramic|ceramics-containers', 'ao/mobile-large/vs1978_412_98.jpg', 0.77),
SearchData(600, 315147, 'Profile Warrior Ornament', 'ornament|gilded copper, shell|metal-ornaments', 'ao/mobile-large/1987.394.85.JPG', 0.84),
SearchData(600, 315119, 'Disk with Owl', 'ornament|gilded copper, silvered copper, shell, beads, fibers, organic pseudomorphs|metal-ornaments', 'ao/mobile-large/AOA49.jpg', 0.95),
SearchData(1700, 316850, 'Kero', 'kero|wood, tin studs, and pigmented resin inlays|wood-containers', 'ao/mobile-large/hz1994_35_22.jpg', 0.72),
SearchData(1500, 315333, 'Copper Lime Spoon with Feline Top', 'lime spoon|copper (cast)|metal-implements', 'ao/mobile-large/VS1987_394_288.JPG', 0.45),
SearchData(1500, 315265, 'Copper Lime Spoon', 'lime spoon|copper (cast)|metal-implements', 'ao/mobile-large/vs1987_394_205a.jpg', 0.78),
SearchData(650, 308408, 'Bottle with fox head', 'bottle|ceramic, slip|ceramics-containers', 'ao/mobile-large/DP-23624-001.jpg', 0.98),
SearchData(1250, 309540, 'Figure Pendant', 'pendant|gold|metal-ornaments', 'ao/mobile-large/DP-17780-001.jpg', 1.33),
SearchData(1420, 316939, 'Miniature Tunic', 'miniature tunic|cotton, camelid hair|textiles-woven', 'ao/mobile-large/DP-13440-003.jpg', 1.27),
SearchData(1475, 309396, 'Miniature Jar with Two Handles', 'jar|ceramic|ceramics-containers', 'ao/mobile-large/66.30.13.jpg', 1.05),
SearchData(1500, 315622, 'Silver Pin', 'pin|silver (hammered), gold|metal-ornaments', 'ao/mobile-large/VS1987_394_562.JPG', 0.27),
SearchData(1400, 310205, 'Bottle, Anthropomorphic Crab', 'bottle|ceramic, slip|ceramics-containers', 'ao/mobile-large/1976.287.14.JPG', 0.67),
SearchData(750, 316964, 'Four-Cornered Hat', 'hat|camelid hair|textiles-costumes', 'ao/mobile-large/HZ1994_35_139.jpg', 1.24),
SearchData(1300, 698331, 'Pair of Earflares with Multifigure Scenes', 'earflare|gold|metal-ornaments', 'ao/mobile-large/DP370838.jpg', 1.82),
SearchData(500, 308415, 'Architectural Vessel', 'vessel|ceramic|ceramics-containers', 'ao/mobile-large/DP-23896-001.jpg', 0.65),
SearchData(1500, 315303, 'Lime Spoon, Bird', 'lime spoon|silver (hammered)|metal-implements', 'ao/mobile-large/VS1987_394_243.JPG', 0.45),
SearchData(1700, 316849, 'Kero', 'kero|wood (prosopis?)|wood-containers', 'ao/mobile-large/hz1994_35_21.jpg', 0.81),
SearchData(1700, 698427, 'Pair of Keros with Carved Feline Handles', 'kero|wood, pigmented resin inlays|wood-containers', 'ao/mobile-large/DP104803.jpg', 1.16),
SearchData(1600, 318145, 'Tunic', 'tunic|camelid hair|textiles-woven', 'ao/mobile-large/DP137345.jpg', 1.99),
SearchData(1450, 309753, 'Stirrup Spout Bottle with Fish', 'bottle|ceramic|ceramics-containers', 'ao/mobile-large/1970.245.38.jpg', 0.67),
SearchData(700, 316978, 'Four-Cornered Hat', 'hat|camelid fiber|textiles-costumes', 'ao/mobile-large/DP212590.jpg', 0.76),
SearchData(1500, 315253, 'Copper Lime Spoon with Bird Top', 'lime spoon|copper (cast)|metal-implements', 'ao/mobile-large/VS1987_394_192.JPG', 0.61),
SearchData(1500, 317593, 'Votive Container (Canopa)', 'container|stone|stone-containers', 'ao/mobile-large/1994.35.760.jpg', 1.51),
SearchData(1500, 313223, 'Funerary Staff', 'tomb post|wood, metal, paint, silver, gold (?)|wood-sculpture', 'ao/mobile-large/DP-23804-001.jpg', 0.39),
SearchData(800, 309229, 'Tupu (pin)', 'pin|silver|metal-ornaments', 'ao/mobile-large/DP-13440-018.jpg', 1.69),
SearchData(1500, 313227, 'Funerary Staffs', 'tomb staff|wood|wood-sculpture', 'ao/mobile-large/DP-23811-001.jpg', 0.42),
SearchData(1475, 309398, 'Miniature Jar with Two Handles', 'jar|ceramic|ceramics-containers', 'ao/mobile-large/66.30.15.jpg', 1.12),
SearchData(1475, 316822, 'Feathered Tunic', 'tunic fragment|cotton, feathers|textiles-featherwork', 'ao/mobile-large/lb1993_474.jpg', 0.71),
SearchData(950, 309414, 'Beaker, Figure with Shell', 'beaker|gold|metal-containers', 'ao/mobile-large/66.196.27_a.JPG', 0.67),
SearchData(750, 316727, 'Four-Cornered Hat', 'hat|camelid hair|textiles-costumes', 'ao/mobile-large/vs1994.35164a.jpg', 0.98),
SearchData(750, 316972, 'Four-Cornered Hat', 'hat|camelid hair|textiles-costumes', 'ao/mobile-large/HZ1994_35_147.jpg', 1.09),
SearchData(1400, 318888, 'Headband', 'headband|camelid hair|textiles-woven', 'ao/mobile-large/DP-13440-001.jpg', 0.95),
SearchData(1550, 316930, 'Sling', 'sling|camelid hair|textiles-woven', 'ao/mobile-large/DP101341.jpg', 0.51),
SearchData(1550, 316920, 'Bag', 'bag|camelid hair|textiles-woven', 'ao/mobile-large/DP18714.jpg', 1.19),
SearchData(650, 313010, 'Figure with Ceremonial Objects', 'male figure|stone|stone-sculpture', 'ao/mobile-large/DP-23813-001.jpg', 0.51),
SearchData(1550, 316923, 'Bag', 'bag|cotton, camelid hair|textiles-woven', 'ao/mobile-large/DP101296.jpg', 0.94),
SearchData(1500, 317752, 'Lime Spoon, Bird', 'lime spoon|copper alloy (cast)|metal-implements', 'ao/mobile-large/DP-18884-002.jpg', 0.75),
SearchData(1250, 312669, 'Panel', 'panel|cotton, paint|textiles-woven', 'ao/mobile-large/1979_206_459_EX_01.jpg', 1.77),
SearchData(750, 316987, 'Four-Cornered Hat', 'hat|camelid hair|textiles-costumes', 'ao/mobile-large/HZ1994_35_167.jpg', 1.06),
SearchData(750, 316343, 'Four-Cornered Hat', 'hat|camelid hair|textiles-costumes', 'ao/mobile-large/HZ1994_35_153.jpg', 1.12),
SearchData(600, 315155, 'Stirrup Spout Bottle with Warrior', 'bottle|ceramic, slip|ceramics-containers', 'ao/mobile-large/1987.394.93.JPG', 0.67),
SearchData(1450, 308770, 'Ceremonial Knife (Tumi)', 'knife|copper|metal-implements', 'ao/mobile-large/64.228.242.JPG', 1.26),
SearchData(1475, 316838, 'Kero', 'kero|wood|wood-containers', 'ao/mobile-large/vs1994_35_10.jpg', 0.75),
SearchData(1491, 316938, 'Serpent ornament', 'ornament|cotton, camelid hair|textiles-woven', 'ao/mobile-large/1994.35.113_d.JPG', 1.50),
SearchData(1500, 312726, 'Ornamental Knife', 'knife|copper|metal-implements', 'ao/mobile-large/1979.206.516.JPG', 0.67),
SearchData(1475, 310233, 'Blackware Paccha with Feline', 'paccha|ceramic|ceramics-containers', 'ao/mobile-large/1976.287.42.jpg', 1.23),
SearchData(1450, 318338, 'Votive Container (Canopa)', 'container|stone|stone-containers', 'ao/mobile-large/1999.367.1.jpg', 1.50),
SearchData(1700, 316851, 'Kero', 'kero|wood, metal stud and pigmented resin inlays|wood-containers', 'ao/mobile-large/hz1994_35_23.jpg', 0.68),
SearchData(1600, 320804, 'Hanging (?) Fragment', 'tapestry fragment|camelid hair, cotton|textiles-woven', 'ao/mobile-large/TR.489.2010_a.jpg', 0.52),
SearchData(1500, 310667, 'Tomb Post', 'tomb post|wood, silver sheathing, feathers|metal-sculpture', 'ao/mobile-large/vs1978.412.222.jpg', 0.28),
SearchData(750, 314621, 'Four-Cornered Hat', 'hat|camelid hair|textiles-costumes', 'ao/mobile-large/HZ1983_497_4.jpg', 1.03),
SearchData(450, 314679, 'Fox Warrior Bottle', 'bottle|ceramic, slip, pigment|ceramics-containers', 'ao/mobile-large/DP227399.jpg', 0.75),
SearchData(1500, 315254, 'Copper Lime Spoon with Bird Top', 'lime spoon|copper (cast)|metal-implements', 'ao/mobile-large/VS1987_394_193.JPG', 0.48),
SearchData(550, 309428, 'Ear Ornament, Winged Runner', 'earflare|gold, turquoise, sodalite, shell|metal-ornaments', 'ao/mobile-large/66.196.41.jpg', 0.90),
SearchData(750, 314620, 'Four-Cornered Hat', 'hat|camelid hair|textiles-costumes', 'ao/mobile-large/hz1983_497_3.jpg', 1.15),
SearchData(800, 315686, 'Four-Cornered Hat', 'hat|camelid hair|textiles-costumes', 'ao/mobile-large/250467.jpg', 0.90),
SearchData(1500, 315426, 'Copper Lime Spoon in Snake Form', 'lime spoon|copper (cast)|metal-ornaments', 'ao/mobile-large/VS1987_394_577.JPG', 0.27),
SearchData(1500, 315307, 'Ball', 'ball|brass (cast), copper|metal-implements', 'ao/mobile-large/vs1987_394_246_7.JPG', 0.72),
SearchData(1450, 318339, 'Votive Container (Canopa)', 'container|stone|stone-containers', 'ao/mobile-large/1999.367.2.jpg', 1.27),
SearchData(1500, 313056, 'Funerary Staffs', 'tomb staff|wood, paint|wood-sculpture', 'ao/mobile-large/DP-23810-001.jpg', 0.43),
SearchData(1500, 308123, 'Beaker with scroll ornamentation', 'beaker|silver, gold|metal-containers', 'ao/mobile-large/vs33_149_103.jpg', 0.55),
SearchData(1450, 314614, 'Cap Woven with Human Hair', 'hat|camelid hair, human hair|textiles-woven', 'ao/mobile-large/250580.jpg', 0.58),
SearchData(1600, 314616, 'Woven Sling Shot', 'sling shot|camelid hair|textiles-woven', 'ao/mobile-large/250582.jpg', 2.14),
SearchData(1500, 315487, 'Ornamented Knife', 'knife|copper|metal-implements', 'ao/mobile-large/hz1987_394_412.jpg', 1.18),
SearchData(1500, 313274, 'Male Effigy Vessel', 'vessel|ceramic, pigment|ceramics-containers', 'ao/mobile-large/1979.206.1081_a.jpg', 0.71),
SearchData(1465, 319574, 'Tunic', 'tunic|camelid fiber|textiles-woven', 'ao/mobile-large/DP120795.jpg', 0.95),
SearchData(1400, 315610, 'Group of pins', 'pin|silver (hammered)|metal-ornaments', 'ao/mobile-large/DP219006.jpg', 0.67),
SearchData(1500, 315284, 'Copper Pin', 'pin|copper, gilt|metal-ornaments', 'ao/mobile-large/vs1987_394_224.JPG', 0.33),
SearchData(500, 309438, 'Bird Warrior Bottle', 'bottle|ceramic, pigment|ceramics-containers', 'ao/mobile-large/67.167.2.jpg', 0.67),
SearchData(1466, 309943, 'Male figurine', 'figure|gold-silver alloy|sculpture-sheet metal', 'ao/mobile-large/DP-13440-014.jpg', 0.76),
SearchData(1530, 313273, 'Ear Spool', 'ear spool|gold, silver|metal-ornaments', 'ao/mobile-large/vs1979_206_1079_80.jpg', 1.84),
SearchData(1650, 316848, 'Kero', 'kero|wood (prosopis?), copper/silver alloy inlay|wood-containers', 'ao/mobile-large/DT239579.jpg', 0.80),
SearchData(1500, 308083, 'Tapestry Fragment', 'textile fragment|camelid hair|textiles-woven', 'ao/mobile-large/DP101353.jpg', 1.31),
SearchData(1491, 316929, 'Sling', 'sling|camelid hair|textiles-woven', 'ao/mobile-large/DP101340.jpg', 0.72),
SearchData(600, 315133, 'Profile Warrior Ornament', 'ornament|gilded copper, shell turquoise|metal-ornaments', 'ao/mobile-large/1987.394.70.JPG', 0.76),
SearchData(1500, 315635, 'Figure Lime Spoon', 'lime spoon|copper|metal-implements', 'ao/mobile-large/1987.394.586.jpg', 0.67),
SearchData(1500, 310702, 'Storage Jar (aryballos)', 'bottle|ceramic|ceramics-containers', 'ao/mobile-large/vs1978_412_258.jpg', 0.79),
SearchData(1500, 313053, 'Funerary Staffs', 'tomb staff|wood, paint, metal|wood-sculpture', 'ao/mobile-large/DP-23809-001.jpg', 0.28),
SearchData(1500, 315425, 'Lime Spoon', 'lime spoon|silver (cast)|metal-ornaments', 'ao/mobile-large/VS1987_394_576.JPG', 0.38),
SearchData(1049, 309959, 'Funerary Mask', 'mask|gold, silver-copper overlays, cinnabar|metal-sculpture', 'ao/mobile-large/DT1274.jpg', 1.25),
SearchData(200, 314874, 'Cutout Disk, Crab and Fish', 'disk|gilded copper|metal-ornaments', 'ao/mobile-large/DT5791.jpg', 0.80),
SearchData(1500, 315260, 'Pin', 'pin|silver (cast)|metal-ornaments', 'ao/mobile-large/vs1987_394_200.JPG', 0.40),
SearchData(1650, 320054, 'Miniature Tabard', 'tunic|cotton, camelid hair, silk, metal|textiles-woven', 'ao/mobile-large/DP107700.jpg', 0.79),
SearchData(600, 315191, 'Disc', 'ornament|gilded copper|metal-ornaments', 'ao/mobile-large/1987.394.129.JPG', 1.30),
SearchData(1250, 319053, 'Collar', 'collar|spondylus shell and black stone beads, cotton|beads-costumes', 'ao/mobile-large/DP216742.jpg', 1.37),
SearchData(1500, 315354, 'Ceremonial Knife (Tumi)', 'knife|copper (cast), silver (?)|metal-implements', 'ao/mobile-large/vs1987_394_309.jpg', 0.93),
SearchData(1500, 315251, 'Copper Lime Spoon with Bird Top', 'lime spoon|copper (cast)|metal-implements', 'ao/mobile-large/VS1987_394_190.JPG', 0.38),
SearchData(750, 316985, 'Four-Cornered Hat', 'hat|camelid hair|textiles-costumes', 'ao/mobile-large/HZ1994_35_165.jpg', 1.02),
SearchData(400, 310601, 'Ritual Scene Vessel', 'vessel|ceramic|ceramics-containers', 'ao/mobile-large/DP-24357-001.jpg', 1.33),
SearchData(1475, 316837, 'Kero', 'kero|wood (prosopis ?)|wood-containers', 'ao/mobile-large/DP104801.jpg', 0.83),
SearchData(500, 309304, 'Stirrup Spout Bottle with Cat', 'bottle|ceramic, slip|ceramics-containers', 'ao/mobile-large/65.266.6.JPG', 0.67),
SearchData(1500, 315248, 'Copper Pin', 'pin|copper (cast)|metal-ornaments', 'ao/mobile-large/vs1987_394_187.JPG', 0.34),
SearchData(1500, 315690, 'Bag', 'bag|camelid hair, cotton|textiles-woven', 'ao/mobile-large/DP18706_1987.394.642.jpg', 0.82),
SearchData(1466, 312558, 'Female Figurine', 'figure|silver|sculpture-sheet metal', 'ao/mobile-large/DP-13440-027.jpg', 0.67),
SearchData(500, 308527, 'Portrait Head Bottle', 'bottle|ceramic, slip, pigment|ceramics-containers', 'ao/mobile-large/DP-23630-001.jpg', 0.75),
SearchData(-500, 308426, 'Bottle, Feline face', 'bottle|ceramic, post-fired paint|ceramics-containers', 'ao/mobile-large/63.232.9.jpg', 0.75),
SearchData(1500, 315708, 'Band Fragment', 'textile fragment|cotton, camelid hair|textiles-woven', 'ao/mobile-large/DP18703.jpg', 0.35),
SearchData(1500, 314954, 'Paccha (ritual vessel)', 'vessel|ceramic, slip|ceramics-containers', 'ao/mobile-large/DP-23632-001.jpg', 1.06),
SearchData(1500, 312636, 'Ornamental Pin (Tupu)', 'pin|bronze|metal-ornaments', 'ao/mobile-large/vs1979_206_416aa.jpg', 0.38),
SearchData(1850, 29313, 'Pair of Stirrups', 'stirrups|wood, iron|equestrian equipment-stirrups', 'aa/mobile-large/LC-42_50_440_441-007.jpg', 1.50),
SearchData(750, 316968, 'Four-Cornered Hat', 'hat|camelid hair|textiles-costumes', 'ao/mobile-large/HZ1994_35_143.jpg', 1.13),
SearchData(750, 312672, 'Mantle', 'mantle|cotton, camelid hair|textiles-woven', 'ao/mobile-large/DP264884.jpg', 1.02),
SearchData(1500, 315242, 'Ceremonial Knife (Tumi)', 'knife|copper (cast)|metal-implements', 'ao/mobile-large/1987.394.181.jpg', 0.67),
SearchData(600, 313398, 'Nose Ornament, Turbaned Head', 'ornament|gold (partially silvered), silver|metal-ornaments', 'ao/mobile-large/DP-16100-001.jpg', 1.33),
SearchData(1200, 307471, 'Border Fragment', 'border fragment|camelid hair, cotton|textiles-woven', 'ao/mobile-large/DP101363.jpg', 1.12),
SearchData(1500, 313054, 'Funerary Staffs', 'tomb staff|wood, paint|wood-sculpture', 'ao/mobile-large/DP-22195-004.jpg', 0.65),
SearchData(550, 316983, 'Four-Cornered Hat', 'hat|camelid hair|textiles-costumes', 'ao/mobile-large/HZ1994_35_163.jpg', 0.90),
SearchData(1515, 313324, 'Sleeveless Tunic', 'tunic|cotton, camelid hair|textiles-woven', 'ao/mobile-large/1979.206.1131_a.jpg', 0.77),
SearchData(550, 319459, 'Pair of Ear Ornaments with Winged Runners', 'earflare|gold, turquoise, sodalite, shell|metal-ornaments', 'ao/mobile-large/DP-10734-01.jpg', 1.35),
SearchData(1500, 315338, 'Knife (?)', 'knife|copper|metal-implements', 'ao/mobile-large/vs1987_394_293.jpg', 1.29),
SearchData(1410, 316437, 'Earflare with Multifigure Scene', 'earflare|gold|metal-ornaments', 'ao/mobile-large/DP370837.jpg', 0.99),
SearchData(1500, 315613, 'Silver Pin', 'pin|silver (hammered)|metal-ornaments', 'ao/mobile-large/vs1987_394_553.JPG', 0.39),
SearchData(1475, 316836, 'Kero', 'kero|wood (prosopis ?)|wood-containers', 'ao/mobile-large/hz1994_35_8.jpg', 0.77),
SearchData(-550, 307622, 'Double Spout and Bridge Bottle', 'bottle|ceramic, pigment|ceramics-containers', 'ao/mobile-large/64.228.97_a.jpg', 1.09),
SearchData(1500, 313267, 'Kero', 'kero|wood|wood-containers', 'ao/mobile-large/1979.206.1074.jpg', 1.00),
SearchData(1500, 308120, 'Eight-Pointed Star Tunic', 'tunic|camelid hair, cotton|textiles-woven', 'ao/mobile-large/ra33.149.100.R.jpg', 0.81),
SearchData(1462, 319524, 'Fragmentary Woman\'s Dress', 'dress fragment|camelid fiber|textiles-woven', 'ao/mobile-large/2004.406_detail.jpg', 0.67),
SearchData(600, 313411, 'Nose Ornament with Shrimp', 'nose ornament|gold, silver, stone|metal-ornaments', 'ao/mobile-large/DT9425.jpg', 1.25),
SearchData(450, 318746, 'Belt', 'belt|camelid fiber|textiles-woven', 'ao/mobile-large/2001.172_b.jpg', 0.38),
SearchData(500, 309441, 'Raptorial Bird Bottle', 'bottle|ceramic, pigment|ceramics-containers', 'ao/mobile-large/67.167.6.JPG', 0.67),
SearchData(850, 316976, 'Four-Cornered Hat', 'hat|camelid hair|textiles-costumes', 'ao/mobile-large/HZ1994_35_156.jpg', 1.24),
SearchData(650, 316979, 'Four-Cornered Hat', 'hat|camelid hair|textiles-costumes', 'ao/mobile-large/DT3833.jpg', 0.80),
SearchData(1500, 315653, 'Copper Tumi with Figure', 'knife|copper|metal-implements', 'ao/mobile-large/vs1987_394_605.jpg', 1.02),
SearchData(550, 308383, 'Spectacled Bear Bottle', 'bottle|ceramic, slip|ceramics-containers', 'ao/mobile-large/63.112.5.JPG', 0.67),
SearchData(1475, 317726, 'Tumi with Figure', 'knife|copper|metal-implements', 'ao/mobile-large/VS1995_63_1.JPG', 1.06),
SearchData(1399, 310619, 'Bottle, Audiencias with Figures', 'vessel|silver|metal-containers', 'ao/mobile-large/DP338094.jpg', 1.33),
SearchData(800, 316975, 'Four-Cornered Hat', 'hat|camelid hair|textiles-costumes', 'ao/mobile-large/HZ1994_35_155.jpg', 1.10),
SearchData(1700, 316892, 'Woman\'s Mantle (lliclla)', 'mantle|camelid hair|textiles-woven', 'ao/mobile-large/DT3832rev.jpg', 1.25),
SearchData(1475, 316834, 'Paccha', 'paccha|wood|wood-containers', 'ao/mobile-large/vs1994_35_6.jpg', 1.52),
SearchData(0, 308455, 'Bottle, Monkey', 'bottle|ceramic, slip|ceramics-containers', 'ao/mobile-large/DP234684.jpg', 1.13),
SearchData(600, 314537, 'Disk', 'ornament|gilded copper, silvered copper, shell inlay|metal-ornaments', 'ao/mobile-large/1982.392.8.jpg', 1.50),
SearchData(1500, 315636, 'Lime Spoon, Figure', 'lime spoon|copper|metal-implements', 'ao/mobile-large/1987.394.587.jpg', 0.67),
SearchData(300, 316270, 'Corn stalk-shaped vessel', 'bottle|ceramic, slip|ceramics-containers', 'ao/mobile-large/DP-23629-001.jpg', 0.75),
SearchData(650, 844007, 'Warrior Figure', 'figure|turquoise|stone-sculpture', 'ao/mobile-large/DP-20565-001.jpg', 0.85),
SearchData(1450, 316928, 'Sling', 'sling|camelid hair|textiles-woven', 'ao/mobile-large/vs1994.35.103a.jpg', 1.03),
SearchData(1500, 315268, 'Copper Lime Spoon with Bird Top', 'lime spoon|copper|metal-implements', 'ao/mobile-large/VS1987_394_208.jpg', 0.36),
SearchData(700, 310308, 'Prisoner Lime Container', 'lime container|wood, bone inlay, paint, fiber|wood-containers', 'ao/mobile-large/DP270994.jpg', 0.90),
SearchData(800, 309106, 'Tupu (pin)', 'pin|copper and gold|metal-ornaments', 'ao/mobile-large/hz64_228_608.jpg', 0.40),
SearchData(850, 314624, 'Four-Cornered Hat', 'hat|camelid hair|textiles-costumes', 'ao/mobile-large/HZ1983_497_7.jpg', 1.13),
SearchData(350, 308507, 'Bottle with Runners', 'bottle|ceramic, slip|ceramics-containers', 'ao/mobile-large/64.228.1.JPG', 0.67),
SearchData(100, 314776, 'Ornamental Plume', 'ornament|gold|metal-ornaments', 'ao/mobile-large/DT7665.jpg', 0.57),
SearchData(1450, 315363, 'Face Beaker', 'beaker|silver|metal-containers', 'ao/mobile-large/DT5795.jpg', 0.61),
SearchData(1750, 316852, 'Kero', 'kero|wood (escallonia?), pigmented resin inlay|wood-containers', 'ao/mobile-large/hz1994_35_24.jpg', 1.02),
SearchData(800, 316982, 'Four-Cornered Hat', 'hat|camelid hair|textiles-costumes', 'ao/mobile-large/HZ1994_35_162.jpg', 1.01),
SearchData(1500, 315804, 'Copper Tumi with Figure', 'knife|copper|metal-implements', 'ao/mobile-large/vs1987_394_723.jpg', 0.89),
SearchData(1849, 126673, 'Mantle pin (ttipqui)', 'pin|silver, glass|metal-ornaments', 'ao/mobile-large/1982.420.13.jpg', 0.25),
SearchData(750, 316977, 'Four-Cornered Hat', 'hat|camelid hair|textiles-costumes', 'ao/mobile-large/HZ1994_35_157.jpg', 1.16),
SearchData(1500, 315266, 'Copper Lime Spoon with Bird Top', 'lime spoon|copper (cast)|metal-implements', 'ao/mobile-large/VS1987_394_206.JPG', 0.87),
SearchData(1400, 315611, 'Pin', 'pin|silver (hammered)|metal-ornaments', 'ao/mobile-large/vs1987_394_551.JPG', 0.70),
SearchData(1500, 315306, 'Ball', 'ball|brass (cast)|metal-implements', 'ao/mobile-large/vs1987_394_246_7.JPG', 0.72),
SearchData(1500, 319536, 'Seated Figure Ornament with Dangles', 'ornament|silver and thread|metal-ornaments', 'ao/mobile-large/vs565.jpg', 0.71),
SearchData(1420, 317727, 'Feline Bowl', 'bowl|stone|stone-containers', 'ao/mobile-large/1995.63.2_a.jpg', 1.47),
SearchData(1500, 315633, 'Figure Lime Spoon', 'lime spoon|copper|metal-implements', 'ao/mobile-large/1987.394.584.jpg', 0.67),
SearchData(1500, 317592, 'Votive Container (Canopa)', 'vessel|stone|stone-containers', 'ao/mobile-large/1994.35.759.jpg', 1.50),
SearchData(750, 316340, 'Four-Cornered Hat', 'hat|camelid hair|textiles-costumes', 'ao/mobile-large/HZ1994_35_150.jpg', 1.04),
SearchData(1500, 309528, 'Band', 'band|camelid hair|textiles-woven', 'ao/mobile-large/189514.jpg', 2.68),
SearchData(1475, 309393, 'Miniature Vessel', 'miniature dish|ceramic|ceramics-containers', 'ao/mobile-large/DP-25093-001.jpg', 2.15),
SearchData(1530, 313272, 'Ear Spool', 'ear spool|gold, silver|metal-ornaments', 'ao/mobile-large/vs1979_206_1079_80.jpg', 1.84),
SearchData(1505, 502538, 'Whistling Jar', 'whistling jar|clay|aerophone-blow hole-vessel flute', 'mi/mobile-large/188965.jpg', 0.91),
SearchData(1500, 317594, 'Votive Container (Canopa)', 'container|stone|stone-containers', 'ao/mobile-large/1994.35.761.jpg', 1.42),
SearchData(1600, 214310, 'Woman\'s wedding mantle (lliclla) with interlace and tocapu design', 'mantle|tapestry weave, cotton warp and camelid weft|', 'ad/mobile-large/DP265667.jpg', 1.12),
SearchData(-650, 310655, 'Bottle: Leaf-Nosed Bat Head', 'bottle|ceramic, pigment|ceramics-containers', 'ao/mobile-large/DP-24265-003.jpg', 0.78),
SearchData(1500, 313224, 'Funerary Staffs', 'tomb post|wood, paint, metal|wood-sculpture', 'ao/mobile-large/DP-23802-001.jpg', 0.36),
SearchData(1500, 315252, 'Copper Lime Spoon with Bird Top', 'lime spoon|copper (cast)|metal-implements', 'ao/mobile-large/VS1987_394_191.JPG', 0.42),
SearchData(600, 315148, 'Profile Warrior Ornament', 'ornament|gilded copper, shell, turquoise|metal-ornaments', 'ao/mobile-large/1987.394.86.JPG', 0.88),
SearchData(1500, 315667, 'Copper Atlatl Spear Thrower', 'spear thrower|copper (cast)|metal-implements', 'ao/mobile-large/vs1987_394_619.JPG', 1.33),
SearchData(700, 314623, 'Four-Cornered Hat', 'hat|camelid fiber|textiles-costumes', 'ao/mobile-large/DP264888.jpg', 0.83),
SearchData(1500, 310668, 'Tomb Post', 'tomb post|wood, silver sheathing, feathers|metal-sculpture', 'ao/mobile-large/vs1978.412.223.jpg', 0.27),
SearchData(1466, 309960, 'Camelid figurine', 'figure|alloys of silver, gold and copper|metalwork-sculpture', 'ao/mobile-large/DP-13440-031.jpg', 0.76),
SearchData(1250, 313148, 'Weaving Basket', 'basket with weaving implements|cane, shell, bone, fiber, camelid hair, wood, pigment, metal, stone|textiles-implements', 'ao/mobile-large/1979.206.950.1_a.JPG', 1.50),
SearchData(1550, 316840, 'Kero', 'kero|wood, pigmented resin inlay|wood-containers', 'ao/mobile-large/hz1994_35_12.jpg', 0.75),
SearchData(1500, 319319, 'Kero', 'kero|ceramic|ceramics-containers', 'ao/mobile-large/hzTR355_1_2003.jpg', 0.86),
SearchData(600, 314878, 'Cutout Disk', 'ornament|gilded copper|metal-ornaments', 'ao/mobile-large/1987.394.50.JPG', 1.22),
SearchData(1500, 313204, 'Dish with Bird Head', 'dish|ceramic, pigment|ceramics-containers', 'ao/mobile-large/1979.206.1007.jpg', 1.58),
SearchData(1500, 315771, 'Votive Container (Canopa)', 'container|stone|stone-containers', 'ao/mobile-large/vs1987.394.691.jpg', 1.17),
SearchData(350, 308510, 'Bottle, Warriors', 'bottle|ceramic, slip, pigment|ceramics-containers', 'ao/mobile-large/64.228.4.JPG', 0.67),
SearchData(750, 316989, 'Four-Cornered Hat', 'hat|camelid hair|textiles-costumes', 'ao/mobile-large/HZ1994_35_169.jpg', 1.12),
SearchData(1150, 320329, 'Monkey Pendant', 'pendant|gold|metal-ornaments', 'ao/mobile-large/TR.394.18.2008 Back.jpg', 2.21),
SearchData(1500, 315639, 'Silver Lime Spoon with Fish Top', 'lime spoon|silver (cast)|metal-implements', 'ao/mobile-large/vs1987_394_590.jpg', 0.48),
SearchData(550, 316984, 'Four-Cornered Hat', 'hat|camelid hair|textiles-costumes', 'ao/mobile-large/1994.35.164_b.jpg', 0.74),
SearchData(400, 308540, 'Stirrup Spout Bottle with Seated Figure', 'bottle|ceramic, slip|ceramics-containers', 'ao/mobile-large/LC-64_228_34_TMS3.jpg', 0.66),
SearchData(1200, 312826, 'Miniature Dress', 'miniature dress|cotton, feathers|textiles-featherwork', 'ao/mobile-large/DP224272.jpg', 1.33),
SearchData(1650, 316853, 'Kero', 'kero|wood (escallonia), pigmented resin inlay|wood-containers', 'ao/mobile-large/hz1994_35_25.jpg', 1.36),
SearchData(50, 313364, 'Nose Ornament with Spiders', 'nose ornament|gold|metal-ornaments', 'ao/mobile-large/DP313281.jpg', 1.33),
SearchData(650, 308410, 'Stirrup spout bottle with warrior', 'bottle|ceramic, slip|ceramics-containers', 'ao/mobile-large/DP-23622-001.jpg', 0.75),
SearchData(1400, 308555, 'Double Chambered Bottle', 'bottle|ceramic|ceramics-containers', 'ao/mobile-large/64.228.54_b.jpg', 1.05),
SearchData(1466, 315668, 'Tupu (pin)', 'pin|copper or alloy of copper|metal-ornaments', 'ao/mobile-large/DP-13440-020.jpg', 1.69),
SearchData(1500, 315294, 'Mace Head', 'mace head|silver (cast)|metal-implements', 'ao/mobile-large/DP-20709-001.jpg', 1.09),
SearchData(1238, 646249, 'Man\'s Tunic', 'tunic|camelid and cotton fibers|textiles-costumes', 'ao/mobile-large/TR.113.2014_image_001.jpg', 0.89),
SearchData(1549, 751901, 'Checkerboard Tunic', 'tunic|camelid fiber|textiles-costumes', 'ao/mobile-large/DP-14281-001.jpg', 0.88),
SearchData(1475, 317791, 'Kero', 'kero|wood (prosopis?)|wood-containers', 'ao/mobile-large/DP104877.jpg', 1.01),
SearchData(1500, 313289, 'Vessel, Hand with Kero', 'kero|ceramic, pigment|ceramics-containers', 'ao/mobile-large/1979.206.1096_b.jpg', 1.40),
SearchData(1475, 309399, 'Miniature Jar', 'jar|ceramic|ceramics-containers', 'ao/mobile-large/66.30.16.jpg', 1.09),
SearchData(750, 316969, 'Four-Cornered Hat', 'hat|camelid hair|textiles-costumes', 'ao/mobile-large/HZ1994_35_144.jpg', 1.07),
SearchData(1462, 319487, 'Kero', 'kero|wood|wood-containers', 'ao/mobile-large/DP-13440-026.jpg', 0.86),
SearchData(1500, 315476, 'Axe', 'axe|bronze|metal-implements', 'ao/mobile-large/vs1987_394_401.JPG', 0.45),
SearchData(1550, 316922, 'Bag', 'bag|cotton, camelid hair|textiles-woven', 'ao/mobile-large/DP101295.jpg', 0.93),
SearchData(1420, 313295, 'Face Beaker', 'beaker|silver|metal-containers', 'ao/mobile-large/DT9410.jpg', 0.80),
SearchData(1600, 314617, 'Woven Sling Shot', 'sling shot|camelid hair|textiles-woven', 'ao/mobile-large/250583.jpg', 2.00),
SearchData(750, 833953, 'Tapestry Tunic', 'tunic|camelid wool|textiles-woven', 'ao/mobile-large/DP-18736-001.jpg', 0.95),
SearchData(850, 316974, 'Four-Cornered Hat', 'hat|camelid hair|textiles-costumes', 'ao/mobile-large/HZ1994_35_154.jpg', 1.08),
SearchData(750, 316967, 'Four-Cornered Hat', 'hat|camelid hair|textiles-costumes', 'ao/mobile-large/HZ1994_35_142.jpg', 1.04),
SearchData(1500, 315773, 'Sling Shot', 'sling shot|camelid hair|textiles-woven', 'ao/mobile-large/250471.jpg', 2.17),
SearchData(650, 307472, 'Bottle with portrait head', 'bottle|ceramic, slip|ceramics-containers', 'ao/mobile-large/DP-24066-002.jpg', 0.75),
SearchData(1500, 315637, 'Figure Lime Spoon', 'lime spoon|copper (cast)|metal-implements', 'ao/mobile-large/1987.394.588.jpg', 0.67),
SearchData(1500, 315619, 'Silver Pin', 'pin|silver (hammered)|metal-ornaments', 'ao/mobile-large/vs1987_394_559.JPG', 0.64),
SearchData(1500, 314955, 'Paccha (ritual vessel)', 'vessel|ceramic, slip|ceramics-containers', 'ao/mobile-large/vs1986_383_2.jpg', 1.22),
SearchData(-400, 308487, 'Double Spouted Vessel with Snake', 'bottle|ceramic, post-fired paint|ceramics-containers', 'ao/mobile-large/63.232.84.jpg', 1.40),
SearchData(1500, 315770, 'Votive Container (Canopa)', 'container|stone|stone-containers', 'ao/mobile-large/1987.394.690.jpg', 1.31),
SearchData(500, 309447, 'Spotted Feline Bottle', 'bottle|ceramic, pigment|ceramics-containers', 'ao/mobile-large/67.167.12.JPG', 0.67),
SearchData(-350, 308590, 'Double Spout and Bridge Bottle with Snake', 'bottle|ceramic, pigment|ceramics-containers', 'ao/mobile-large/64.228.89_a.jpg', 1.17),
SearchData(1500, 309760, 'Painted Aryballus Jar', 'bottle|ceramic, pigment, slip|ceramics-containers', 'ao/mobile-large/1970.246.7.jpg', 0.84),
SearchData(-250, 308491, 'Miniature Effigy Vessel', 'bottle|ceramic, post-fired paint|ceramics-containers', 'ao/mobile-large/63.232.88.jpg', 1.02),
SearchData(1500, 315255, 'Copper Lime Spoon with Bird Top', 'lime spoon|copper (cast)|metal-implements', 'ao/mobile-large/VS1987_394_194.JPG', 0.42),
SearchData(250, 308537, 'Stirrup Spout Bottle with Warrior Figure', 'bottle|ceramic, slip|ceramics-containers', 'ao/mobile-large/64.228.31.jpg', 0.67),
SearchData(1410, 316436, 'Earflare with Multifigure Scene', 'earflare|gold|metal-ornaments', 'ao/mobile-large/DP370836.jpg', 0.99),
SearchData(750, 316981, 'Four-Cornered Hat', 'hat|camelid hair|textiles-costumes', 'ao/mobile-large/HZ1994_35_161.jpg', 0.99),
SearchData(1466, 315492, 'Male Figurine', 'figure|silver|sculpture-sheet metal', 'ao/mobile-large/DP-13440-021.jpg', 0.68),
SearchData(1500, 307846, 'Panel with Birds', 'panel|camelid hair|textiles-woven', 'ao/mobile-large/88392.jpg', 1.07),
SearchData(75, 319223, 'Neck Emblem or Sash', 'emblem or sash|camelid and human hair|textiles-woven', 'ao/mobile-large/DT5611.jpg', 0.28),
SearchData(800, 309228, 'Tupu', 'pin|silver|metal-ornaments', 'ao/mobile-large/DP-13440-016.jpg', 1.69),
SearchData(1500, 315638, 'Figure Lime Spoon', 'lime spoon|copper|metal-implements', 'ao/mobile-large/1987.394.589.jpg', 0.67),
SearchData(1500, 315701, 'Vessel, Leg', 'vessel|ceramic, pigment|ceramics-containers', 'ao/mobile-large/1987.394.653_a.jpg', 0.67),
SearchData(1600, 316844, 'Kero', 'kero|wood, pigmented resin inlay|wood-containers', 'ao/mobile-large/hz1994_35_16.jpg', 0.70),
SearchData(1500, 308079, 'Tapestry Panel with Stars', 'panel|camelid hair, cotton|textiles-woven', 'ao/mobile-large/DP18702_33.149.44.jpg', 0.71),
SearchData(1300, 312568, 'Standing Female Figure', 'figure|wood, pigment|wood-sculpture', 'ao/mobile-large/DP-23635-002.jpg', 0.52),
SearchData(1500, 315614, 'Silver Pin', 'pin|silver (hammered)|metal-ornaments', 'ao/mobile-large/vs1987_394_554.JPG', 0.64),
SearchData(1600, 698417, 'Pair of Keros', 'kero|wood, pigmented resin inlay|wood-containers', 'ao/mobile-large/DP104802.jpg', 1.06),
SearchData(1500, 315250, 'Copper Lime Spoon with Bird Top', 'lime spoon|copper (cast)|metal-implements', 'ao/mobile-large/VS1987_394_189.JPG', 0.49),
SearchData(1650, 318164, 'Poncho', 'poncho|wool|textiles-woven', 'ao/mobile-large/DP137349.jpg', 1.76),
SearchData(400, 308732, 'Figure of an Owl', 'figure|bone, cinnabar|bone/ivory-sculpture', 'ao/mobile-large/DP224140.jpg', 0.75),
SearchData(1500, 313055, 'Funerary Staff', 'tomb staff|wood, paint, metal, copper|wood-sculpture', 'ao/mobile-large/DP-23806-001.jpg', 0.32),
SearchData(1475, 309391, 'Miniature Vessel', 'miniature dish|ceramic|ceramics-containers', 'ao/mobile-large/DP-24276-001.jpg', 1.11),
SearchData(-200, 308298, 'Bottle, Falcon', 'bottle|ceramic, pigment|ceramics-containers', 'ao/mobile-large/62.266.8.jpg', 0.93),
SearchData(1500, 307475, 'Knife (Tumi)', 'knife|copper|metal-implements', 'ao/mobile-large/82.1.31_a.JPG', 1.50),
SearchData(1500, 315479, 'Knife', 'knife|copper|metal-implements', 'ao/mobile-large/vs1987_394_404.jpg', 0.37),
SearchData(1500, 315616, 'Pin', 'pin|silver (hammered)|metal-ornaments', 'ao/mobile-large/vs1987_394_556.JPG', 0.62),
SearchData(650, 312940, 'Bird Pin or Spatula', 'lime spatula or pin|gold|metal-implements', 'ao/mobile-large/271370.jpg', 1.30),
SearchData(500, 309439, 'Warrior Bottle', 'bottle|ceramic|ceramics-containers', 'ao/mobile-large/DP229470.jpg', 0.75),
SearchData(750, 316971, 'Four-Cornered Hat', 'hat|camelid hair|textiles-costumes', 'ao/mobile-large/HZ1994_35_146.jpg', 1.12),
SearchData(1575, 316842, 'Kero', 'kero|wood (escallonia ?), pigmented resin inlay|wood-containers', 'ao/mobile-large/DP104799.jpg', 0.97),
SearchData(1475, 316839, 'Kero', 'kero|wood (escallonia ?)|wood-containers', 'ao/mobile-large/DP104864.jpg', 0.94),
SearchData(1500, 315615, 'Silver Pin', 'pin|silver (hammered)|metal-ornaments', 'ao/mobile-large/vs1987_394_555.JPG', 0.82),
SearchData(600, 315135, 'Profile Warrior Ornament', 'ornament|copper, shell|metal-ornaments', 'ao/mobile-large/1987.394.73.JPG', 0.74),
SearchData(1466, 315651, 'Tupu (pin)', 'pin|copper|metal-ornaments', 'ao/mobile-large/VS1987_394_603.JPG', 0.58),
SearchData(1475, 310520, 'Small urpu (Jar)', 'bottle|ceramic, slip|ceramics-containers', 'ao/mobile-large/DP-24355-001.jpg', 0.75),
SearchData(1500, 315612, 'Pin', 'pin|silver (hammered)|metal-ornaments', 'ao/mobile-large/vs1987_394_552.JPG', 0.44),
SearchData(650, 315136, 'Profile Warrior Ornament', 'ornament|silvered copper, shell|metal-ornaments', 'ao/mobile-large/1987.394.74.JPG', 0.71),
SearchData(750, 316966, 'Four-Cornered Hat', 'hat|camelid hair|textiles-costumes', 'ao/mobile-large/HZ1994_35_141.jpg', 1.06),
SearchData(1500, 315623, 'Silver Pin', 'pin|silver|metal-ornaments', 'ao/mobile-large/VS1987_394_563.jpg', 0.39),
SearchData(1475, 316926, 'Feathered Bag', 'bag|cotton, feathers|textiles-featherwork', 'ao/mobile-large/DP158704.jpg', 0.75),
SearchData(600, 314705, 'Cutout Disk', 'ornament|gilded copper|metal-ornaments', 'ao/mobile-large/1987.394.35.JPG', 1.50),
SearchData(1650, 316854, 'Kero', 'kero|wood (escallonia), pigmented resin inlay|wood-containers', 'ao/mobile-large/1994.35.26_a.JPG', 0.67),
SearchData(1350, 313268, 'Lime Spoon with Seated Figure', 'lime spoon|silver (cast)|metal-implements', 'ao/mobile-large/vs1979_206_1075.jpg', 0.29),
SearchData(1000, 309123, 'Crown', 'crown|gold|metal-ornaments', 'ao/mobile-large/DP-12423-001.jpg', 0.88),
SearchData(1475, 309392, 'Miniature Dish with Handle', 'dish|ceramic|ceramics-containers', 'ao/mobile-large/DP-13440-005.jpg', 1.82),
SearchData(750, 316342, 'Four-Cornered Hat', 'hat|camelid hair|textiles-costumes', 'ao/mobile-large/HZ1994_35_152.jpg', 1.17),
SearchData(1475, 309395, 'Miniature Vessel', 'miniature bowl|ceramic|ceramics-containers', 'ao/mobile-large/DP-13440-010.jpg', 0.99),
SearchData(600, 313414, 'Nose Ornament', 'nose ornament|gold|metal-ornaments', 'ao/mobile-large/vs1979_206_1239.jpg', 1.64),
SearchData(1466, 309944, 'Female Figurine', 'figure|gold-rich silver alloy|sculpture-sheet metal', 'ao/mobile-large/DP-13440-023.jpg', 0.69),
SearchData(1500, 310656, 'Hunchback Paccha', 'paccha|wood, beads|wood-containers', 'ao/mobile-large/vs1978_412_211.jpg', 0.76),
SearchData(750, 314625, 'Four-Cornered Hat', 'hat|camelid hair|textiles-costumes', 'ao/mobile-large/HZ1983_497_8.jpg', 1.17),
SearchData(600, 314872, 'Cutout Disk', 'ornament|gilded copper|metal-ornaments', 'ao/mobile-large/1987.394.34.jpg', 1.50),
SearchData(1475, 309401, 'Single Spout Bottle with Strap Handles', 'bottle|ceramic, pigment|ceramics-containers', 'ao/mobile-large/66.30.18_a.jpg', 1.29),
SearchData(550, 316913, 'Coca Bag', 'bag|camelid hair, cotton|textiles-woven', 'ao/mobile-large/LC-1994_35_88_TMS.jpg', 0.66),
SearchData(600, 315174, 'Disk Ornament', 'ornament|gilded copper|metal-ornaments', 'ao/mobile-large/DP-16099-001.jpg', 1.33),
SearchData(750, 316988, 'Four-Cornered Hat', 'hat|camelid hair|textiles-costumes', 'ao/mobile-large/HZ1994_35_168.jpg', 1.18),
SearchData(750, 316341, 'Four-Cornered Hat', 'hat|camelid hair|textiles-costumes', 'ao/mobile-large/HZ1994_35_151.jpg', 1.13),
SearchData(1050, 316986, 'Four-Cornered Hat', 'hat|camelid hair|textiles-costumes', 'ao/mobile-large/HZ1994_35_166.jpg', 1.19),
SearchData(1475, 314823, 'Votive Container (Canopa)', 'container|stone|stone-containers', 'ao/mobile-large/vs1984_524_1.jpg', 1.40),
SearchData(1350, 315748, 'Sling shot', 'sling shot|silver (hammered), feathers|metal-implements', 'ao/mobile-large/SlingShot_1987_394_668_1.jpg', 1.11),
SearchData(500, 309436, 'Stirrup Spout Bottle with Felines', 'bottle|ceramic, pigment|ceramics-containers', 'ao/mobile-large/67.92.jpg', 0.67),
SearchData(750, 312244, 'Feathered Panel', 'panel|feathers, cotton, camelid hair|textiles-featherwork', 'ao/mobile-large/DP-15008-019.jpg', 2.24),
SearchData(1500, 307449, 'Bag', 'bag|cotton|textiles-woven', 'ao/mobile-large/50407.jpg', 0.72),
SearchData(1500, 315332, 'Lime Spoon, Bird', 'lime spoon|copper (cast)|metal-implements', 'ao/mobile-large/VS1987_394_287.JPG', 0.57),
SearchData(1543, 751900, 'Votive Checkerboard Tunic', 'tunic|camelid fiber|textiles-costumes', 'ao/mobile-large/DP-14285-001.jpg', 0.84),
SearchData(1475, 309394, 'Storage Jar (Aryballus)', 'bottle|ceramic|ceramics-containers', 'ao/mobile-large/DP-13440-012.jpg', 1.00),
SearchData(250, 308539, 'Stirrup Spout Bottle with Sleeping Warrior', 'bottle|ceramic, slip, pigment|ceramics-containers', 'ao/mobile-large/64.228.33.JPG', 0.67),
SearchData(1650, 307469, 'Knife, Figures', 'knife|bronze|metal-implements', 'ao/mobile-large/82.1.25_a.JPG', 0.67),
SearchData(1500, 317751, 'Paccha', 'paccha|ceramic, pigment|ceramics-containers', 'ao/mobile-large/1995.481.3_b.jpg', 1.99),
SearchData(750, 314622, 'Four-Cornered Hat', 'hat|camelid hair|textiles-costumes', 'ao/mobile-large/HZ1983_497_5.jpg', 1.19),
SearchData(1500, 315267, 'Copper Lime Spoon with Bird Top', 'lime spoon|copper (cast)|metal-implements', 'ao/mobile-large/VS1987_394_207.jpg', 0.44),
SearchData(1000, 316431, 'Beaker with Figure Displaying a Shell', 'beaker|gold|metal-containers', 'ao/mobile-large/DP215719.jpg', 0.80),
SearchData(1385, 312952, 'Standing Male Figure', 'male figure|wood|wood-sculpture', 'ao/mobile-large/DP-24345-001.jpg', 0.52),
SearchData(600, 315134, 'Profile Warrior Ornament', 'ornament|gilded copper, shell|metal-ornaments', 'ao/mobile-large/1987.394.71.JPG', 0.67),
SearchData(1400, 310566, 'Copper Knife with Figure Handle', 'knife|copper|metal-implements', 'ao/mobile-large/1978.412.114_a.JPG', 1.50),
SearchData(1500, 315634, 'Figure Lime Spoon', 'lime spoon|copper|metal-implements', 'ao/mobile-large/1987.394.585.jpg', 0.67),
SearchData(1475, 316835, 'Paccha', 'paccha|wood|wood-containers', 'ao/mobile-large/1994.35.7.jpg', 0.64),
SearchData(1500, 315617, 'Silver Pin', 'pin|silver (hammered)|metal-ornaments', 'ao/mobile-large/vs1987_394_557.JPG', 0.50),
SearchData(1475, 309390, 'Miniature Vessel', 'miniature dish|ceramic|ceramics-containers', 'ao/mobile-large/DP-24277-001.jpg', 1.09),
SearchData(1350, 312801, 'Plume', 'plume|gold|metal-ornaments', 'ao/mobile-large/rlf1979.206.605b.jpg', 0.75),
SearchData(1425, 317736, 'Woman\'s Dress', 'dress|camelid hair|textiles-woven', 'ao/mobile-large/DT1275.jpg', 1.25),
SearchData(1500, 313310, 'Single Spout Bottle', 'bottle|ceramic|ceramics-containers', 'ao/mobile-large/1979.206.1117.jpg', 0.80),
SearchData(1475, 309397, 'Miniature Jar with Two Handles', 'jar|ceramic|ceramics-containers', 'ao/mobile-large/66.30.14.jpg', 1.09),
SearchData(1500, 315621, 'Silver Pin', 'pin|silver (hammered)|metal-ornaments', 'ao/mobile-large/VS1987_394_561.JPG', 0.37),
];
SearchData(1467, 313287, 'Urpu (jar)', 'bottle|ceramic, slip|ceramics-containers'),
SearchData(1500, 314528, 'Tunic with Diamond Band', 'tunic|camelid hair, cotton|textiles-woven'),
SearchData(750, 316969, 'Four-Cornered Hat', 'hat|camelid hair|textiles-costumes'),
SearchData(800, 309228, 'Tupu', 'pin|silver|metal-ornaments'),
SearchData(700, 316978, 'Four-Cornered Hat', 'hat|camelid fiber|textiles-costumes'),
SearchData(1400, 315611, 'Pin', 'pin|silver (hammered)|metal-ornaments'),
SearchData(1450, 318338, 'Votive Container (Canopa)', 'container|stone|stone-containers'),
SearchData(1600, 214310, 'Woman\'s wedding mantle (lliclla) with interlace and tocapu design',
'mantle|tapestry weave, cotton warp and camelid weft|'),
SearchData(1250, 309540, 'Figure Pendant', 'pendant|gold|metal-ornaments'),
SearchData(1500, 307475, 'Knife (Tumi)', 'knife|copper|metal-implements'),
SearchData(750, 316727, 'Four-Cornered Hat', 'hat|camelid hair|textiles-costumes'),
SearchData(725, 844007, 'Figurine', 'figure|turquoise|stone-sculpture'),
SearchData(1650, 316846, 'Kero (beaker)', 'kero|wood, tin inlay|wood-containers'),
SearchData(1450, 318339, 'Votive Container (Canopa)', 'container|stone|stone-containers'),
SearchData(1500, 310702, 'Storage Jar (aryballos)', 'bottle|ceramic|ceramics-containers'),
SearchData(1475, 309397, 'Miniature Jar with Two Handles', 'jar|ceramic|ceramics-containers'),
SearchData(1467, 309389, 'Urpu (jar)', 'bottle|ceramic, slip|ceramics-containers'),
SearchData(1400, 310566, 'Copper Knife with Figure Handle', 'knife|copper|metal-implements'),
SearchData(1530, 313272, 'Ear Spool', 'ear spool|gold, silver|metal-ornaments'),
SearchData(750, 316987, 'Four-Cornered Hat', 'hat|camelid hair|textiles-costumes'),
SearchData(1475, 309391, 'Miniature Vessel', 'miniature dish|ceramic|ceramics-containers'),
SearchData(
1650, 316848, 'Kero', 'kero|wood (prosopis?), copper-silver alloy, nickel, gold, lead, zinc|wood-containers'),
SearchData(-500, 308426, 'Bottle, Feline face', 'bottle|ceramic, post-fired paint|ceramics-containers'),
SearchData(500, 308527, 'Portrait Head Bottle', 'bottle|ceramic, slip, pigment|ceramics-containers'),
SearchData(1500, 312636, 'Ornamental Pin (Tupu)', 'pin|bronze|metal-ornaments'),
SearchData(800, 316975, 'Four-Cornered Hat', 'hat|camelid hair|textiles-costumes'),
SearchData(1600, 316845, 'Kero', 'kero|wood (prosopis?), pigmented resin inlay|wood-containers'),
SearchData(1500, 309760, 'Painted Aryballus Jar', 'bottle|ceramic, pigment, slip|ceramics-containers'),
SearchData(600, 315117, 'Disk with Figure', 'disk|gilded copper, silvered copper, shell, turquoise|metal-ornaments'),
SearchData(1367, 313223, 'Ceremonial digging stick',
'tomb post|wood, metal, paint, silver, gold (?), cinnabar|wood-sculpture'),
SearchData(1600, 316844, 'Kero', 'kero|wood, pigmented resin inlay|wood-containers'),
SearchData(750, 316967, 'Four-Cornered Hat', 'hat|camelid hair|textiles-costumes'),
SearchData(1500, 315804, 'Copper Tumi with Figure', 'knife|copper|metal-implements'),
SearchData(1500, 315617, 'Silver Pin', 'pin|silver (hammered)|metal-ornaments'),
SearchData(850, 314624, 'Four-Cornered Hat', 'hat|camelid hair|textiles-costumes'),
SearchData(1500, 315338, 'Knife (?)', 'knife|copper|metal-implements'),
SearchData(650, 312940, 'Bird Pin or Spatula', 'lime spatula or pin|gold|metal-implements'),
SearchData(1500, 315701, 'Vessel, Leg', 'vessel|ceramic, pigment|ceramics-containers'),
SearchData(850, 309503, 'Double-chambered bottle', 'bottle|ceramic, slip|ceramics-containers'),
SearchData(1410, 316437, 'Earflare with ritual procession', 'earflare|gold|metal-ornaments'),
SearchData(1467, 314955, 'Paccha (ritual vessel)', 'vessel|ceramic, slip|ceramics-containers'),
SearchData(1350, 318771, 'Bag with fringe', 'bag|camelid hair|textiles-woven'),
SearchData(16, 309229, 'Tupu (pin)', 'pin|silver|metal-ornaments'),
SearchData(1385, 312796, 'Hanging', 'hanging|cotton|textiles-woven'),
SearchData(750, 833953, 'Tapestry Tunic', 'tunic|camelid wool|textiles-woven'),
SearchData(1500, 315616, 'Pin', 'pin|silver (hammered)|metal-ornaments'),
SearchData(600, 315135, 'Profile Warrior Ornament', 'ornament|copper, shell|metal-ornaments'),
SearchData(1700, 316892, 'Woman\'s Mantle (lliclla)', 'mantle|camelid hair|textiles-woven'),
SearchData(750, 314622, 'Four-Cornered Hat', 'hat|camelid hair|textiles-costumes'),
SearchData(1475, 309398, 'Miniature Jar with Two Handles', 'jar|ceramic|ceramics-containers'),
SearchData(1235, 310619, 'Stirrup-spout bottle with palace scene', 'vessel|silver|metal-containers'),
SearchData(1400, 318888, 'Headband', 'headband|camelid hair|textiles-woven'),
SearchData(1467, 310520, 'Urpu (jar)', 'bottle|ceramic, slip|ceramics-containers'),
SearchData(1500, 315638, 'Figure Lime Spoon', 'lime spoon|copper|metal-implements'),
SearchData(-1000, 310655, 'Bottle with leaf-nosed bat head',
'bottle|ceramic, post-fire paint (cinnabar)|ceramics-containers'),
SearchData(1491, 316938, 'Serpent ornament', 'ornament|cotton, camelid hair|textiles-woven'),
SearchData(1300, 698331, 'Pair of Earflares with Multifigure Scenes', 'earflare|gold|metal-ornaments'),
SearchData(
1700, 698427, 'Pair of Keros with Carved Feline Handles', 'kero|wood, pigmented resin inlays|wood-containers'),
SearchData(1600, 318145, 'Tunic', 'tunic|camelid hair|textiles-woven'),
SearchData(550, 309427, 'Ear Ornament, Winged Runner', 'earflare|gold, turquoise, sodalite, shell|metal-ornaments'),
SearchData(1500, 315612, 'Pin', 'pin|silver (hammered)|metal-ornaments'),
SearchData(1467, 315486, 'Tumi (knife) with a talon', 'knife|tin bronze|metal-implements'),
SearchData(600, 313398, 'Nose Ornament, Turbaned Head', 'ornament|gold (partially silvered), silver|metal-ornaments'),
SearchData(1500, 315251, 'Copper Lime Spoon with Bird Top', 'lime spoon|copper (cast)|metal-implements'),
SearchData(1467, 309944, 'Miniature female effigy', 'figure|gold-rich silver alloy|sculpture-sheet metal'),
SearchData(100, 314776, 'Ornamental Plume', 'ornament|gold|metal-ornaments'),
SearchData(1549, 751901, 'Tunic', 'tunic|camelid fiber|textiles-costumes'),
SearchData(1500, 312635, 'Bronze Tumi with Figures', 'knife|bronze|metal-implements'),
SearchData(1475, 316836, 'Kero', 'kero|wood (prosopis ?)|wood-containers'),
SearchData(550, 316983, 'Four-Cornered Hat', 'hat|camelid hair|textiles-costumes'),
SearchData(750, 316989, 'Four-Cornered Hat', 'hat|camelid hair|textiles-costumes'),
SearchData(450, 310601, 'Vessel with ritual scene', 'vessel|ceramic, slip|ceramics-containers'),
SearchData(1500, 315260, 'Pin', 'pin|silver (cast)|metal-ornaments'),
SearchData(325, 309145, 'Chisel or tupu (pin)', 'pin|copper|metal-implements'),
SearchData(1410, 316436, 'Earflare with ritual procession', 'earflare|gold|metal-ornaments'),
SearchData(1500, 307941, 'Bag Tassel', 'bag fragment|camelid hair, cotton|textiles-woven'),
SearchData(750, 312911, 'Four-Cornered Hat', 'hat|camelid hair, cotton|textiles-costumes'),
SearchData(1400, 310205, 'Bottle, Anthropomorphic Crab', 'bottle|ceramic, slip|ceramics-containers'),
SearchData(400, 308732, 'Figure of an Owl', 'figure|bone, cinnabar|bone/ivory-sculpture'),
SearchData(750, 316985, 'Four-Cornered Hat', 'hat|camelid hair|textiles-costumes'),
SearchData(800, 315686, 'Four-Cornered Hat', 'hat|camelid hair|textiles-costumes'),
SearchData(1467, 315363, 'Beaker with face', 'beaker|silver|metal-containers'),
SearchData(1700, 316851, 'Kero', 'kero|wood, metal stud and pigmented resin inlays|wood-containers'),
SearchData(1466, 315492, 'Male Figurine', 'figure|silver|sculpture-sheet metal'),
SearchData(1500, 315621, 'Silver Pin', 'pin|silver (hammered)|metal-ornaments'),
SearchData(600, 315133, 'Profile Warrior Ornament', 'ornament|gilded copper, shell turquoise|metal-ornaments'),
SearchData(400, 308535, 'Figure Jar', 'jar|ceramic, slip|ceramics-containers'),
SearchData(1475, 309390, 'Miniature Vessel', 'miniature dish|ceramic|ceramics-containers'),
SearchData(1466, 317753, 'Female figurine', 'figure|silver-gold alloy|sculpture-sheet metal'),
SearchData(1475, 316835, 'Paccha', 'paccha|wood|wood-containers'),
SearchData(1500, 315622, 'Silver Pin', 'pin|silver (hammered), gold|metal-ornaments'),
SearchData(1400, 315608, 'Pin', 'pin|silver (hammered)|metal-ornaments'),
SearchData(1500, 315268, 'Copper Lime Spoon with Bird Top', 'lime spoon|copper|metal-implements'),
SearchData(600, 315174, 'Disk Ornament', 'ornament|gilded copper|metal-ornaments'),
SearchData(1466, 315668, 'Tupu (pin)', 'pin|copper or alloy of copper|metal-ornaments'),
SearchData(600, 314705, 'Cutout Disk', 'ornament|gilded copper|metal-ornaments'),
SearchData(1450, 314614, 'Cap Woven with Human Hair', 'hat|camelid hair, human hair|textiles-woven'),
SearchData(750, 316340, 'Four-Cornered Hat', 'hat|camelid hair|textiles-costumes'),
SearchData(500, 309439, 'Warrior Bottle', 'bottle|ceramic|ceramics-containers'),
SearchData(1500, 313205, 'Dish with Bird Head', 'dish|ceramic, pigment|ceramics-containers'),
SearchData(1500, 314618, 'Shirt', 'shirt|camelid hair, cotton|textiles-woven'),
SearchData(1500, 319536, 'Seated Figure Ornament with Dangles', 'ornament|silver and thread|metal-ornaments'),
SearchData(1543, 751900, 'Votive Checkerboard Tunic', 'tunic|camelid fiber|textiles-costumes'),
SearchData(1410, 310616, 'Double-chambered vessel with a monkey', 'vessel|silver|metal-containers'),
SearchData(1466, 315606, 'Tupu (pin)', 'pin|copper alloy|metal-ornaments'),
SearchData(1475, 316837, 'Kero', 'kero|wood (prosopis ?)|wood-containers'),
SearchData(1050, 316986, 'Four-Cornered Hat', 'hat|camelid hair|textiles-costumes'),
SearchData(1350, 313268, 'Lime Spoon with Seated Figure', 'lime spoon|silver (cast)|metal-implements'),
SearchData(600, 314537, 'Disk', 'ornament|gilded copper, silvered copper, shell inlay|metal-ornaments'),
SearchData(1385, 312952, 'Standing male figure', 'male figure|wood|wood-sculpture'),
SearchData(1350, 307467, 'Tweezers', 'tweezers|silver|metal-implements'),
SearchData(1500, 315637, 'Figure Lime Spoon', 'lime spoon|copper (cast)|metal-implements'),
SearchData(1467, 313226, 'Funerary staff', 'staff|wood, paint, metal sheathing|wood-sculpture'),
SearchData(1500, 315773, 'Sling Shot', 'sling shot|camelid hair|textiles-woven'),
SearchData(1475, 316926, 'Feathered Bag', 'bag|cotton, feathers|textiles-featherwork'),
SearchData(1550, 316840, 'Kero', 'kero|wood, pigmented resin inlay|wood-containers'),
SearchData(
250, 308539, 'Stirrup Spout Bottle with Sleeping Warrior', 'bottle|ceramic, slip, pigment|ceramics-containers'),
SearchData(1475, 316822, 'Feathered Tunic', 'tunic fragment|cotton, feathers|textiles-featherwork'),
SearchData(1500, 315667, 'Copper Atlatl Spear Thrower', 'spear thrower|copper (cast)|metal-implements'),
SearchData(1500, 315620, 'Copper Pin', 'pin|silver (hammered)|metal-ornaments'),
SearchData(1500, 315624, 'Ornamented Knife', 'knife|copper|metal-implements'),
SearchData(1450, 316928, 'Sling', 'sling|camelid hair|textiles-woven'),
SearchData(1849, 90286, 'Mantle pin (ttipqui)', 'stickpin|silver, paste|metal-ornaments'),
SearchData(1500, 315708, 'Band Fragment', 'textile fragment|cotton, camelid hair|textiles-woven'),
SearchData(1650, 316853, 'Kero', 'kero|wood (escallonia), pigmented resin inlay|wood-containers'),
SearchData(825, 307975, 'Tunic with Confronting Catfish', 'tunic|camelid hair, tapestry-weave|textiles-woven'),
SearchData(1500, 315242, 'Ceremonial Knife (Tumi)', 'knife|copper (cast)|metal-implements'),
SearchData(550, 319459, 'Pair of Ear Ornaments with Winged Runners',
'earflare|gold, turquoise, sodalite, shell|metal-ornaments'),
SearchData(1500, 313152, 'Tunic', 'tunic|camelid hair|textiles-woven'),
SearchData(1650, 316841, 'Kero', 'kero|wood (escallonia), pigmented resin inlay|wood-containers'),
SearchData(1849, 126673, 'Pin (ttipqui)', 'pin|silver, glass|metal-ornaments'),
SearchData(1500, 315487, 'Ornamented Knife', 'knife|copper|metal-implements'),
SearchData(550, 316913, 'Coca Bag', 'bag|camelid hair, cotton|textiles-woven'),
SearchData(-50, 310550, 'Bottle, Trophy-Head', 'bottle|ceramic|ceramics-containers'),
SearchData(600, 315155, 'Stirrup Spout Bottle with Warrior', 'bottle|ceramic, slip|ceramics-containers'),
SearchData(1500, 315639, 'Silver Lime Spoon with Fish Top', 'lime spoon|silver (cast)|metal-implements'),
SearchData(1500, 315285, 'Copper Pin', 'pin|copper, gilt|metal-ornaments'),
SearchData(1515, 313324, 'Sleeveless Tunic', 'tunic|cotton, camelid hair|textiles-woven'),
SearchData(-400, 308487, 'Double Spouted Vessel with Snake', 'bottle|ceramic, post-fired paint|ceramics-containers'),
SearchData(550, 309428, 'Ear Ornament, Winged Runner', 'earflare|gold, turquoise, sodalite, shell|metal-ornaments'),
SearchData(75, 319223, 'Neck Emblem or Sash', 'emblem or sash|camelid and human hair|textiles-woven'),
SearchData(350, 308507, 'Bottle with Runners', 'bottle|ceramic, slip|ceramics-containers'),
SearchData(1466, 312558, 'Female Figurine', 'figure|silver|sculpture-sheet metal'),
SearchData(1600, 314617, 'Woven Sling Shot', 'sling shot|camelid hair|textiles-woven'),
SearchData(1000, 316431, 'Beaker with figure and Spondylus shell', 'beaker|gold|metal-containers'),
SearchData(1475, 309395, 'Miniature Vessel', 'miniature bowl|ceramic|ceramics-containers'),
SearchData(1600, 316843, 'Kero', 'kero|wood, pigmented resin inlay|wood-containers'),
SearchData(750, 314621, 'Four-Cornered Hat', 'hat|camelid hair|textiles-costumes'),
SearchData(750, 316988, 'Four-Cornered Hat', 'hat|camelid hair|textiles-costumes'),
SearchData(-250, 308491, 'Miniature Effigy Vessel', 'bottle|ceramic, post-fired paint|ceramics-containers'),
SearchData(550, 308383, 'Spectacled Bear Bottle', 'bottle|ceramic, slip|ceramics-containers'),
SearchData(1500, 315290, 'Knife (Tumi)', 'knife|copper (cast)|metal-implements'),
SearchData(1550, 316923, 'Bag', 'bag|cotton, camelid hair|textiles-woven'),
SearchData(1467, 313053, 'Funerary staff', 'tomb staff|wood, paint, metal|wood-sculpture'),
SearchData(1500, 315426, 'Copper Lime Spoon in Snake Form', 'lime spoon|copper (cast)|metal-ornaments'),
SearchData(600, 313414, 'Nose Ornament', 'nose ornament|gold|metal-ornaments'),
SearchData(1650, 318607, 'Double-chambered bottle', 'bottle|ceramic, glaze|ceramics-containers'),
SearchData(1500, 308120, 'Tunic', 'tunic|camelid hair, cotton|textiles-woven'),
SearchData(1500, 315249, 'Copper Lime Spoon with Bird Top', 'lime spoon|copper (cast)|metal-implements'),
SearchData(500, 309438, 'Bird Warrior Bottle', 'bottle|ceramic, pigment|ceramics-containers'),
SearchData(1500, 307846, 'Panel with Birds', 'panel|camelid hair|textiles-woven'),
SearchData(750, 312672, 'Mantle', 'mantle|cotton, camelid hair|textiles-woven'),
SearchData(750, 316342, 'Four-Cornered Hat', 'hat|camelid hair|textiles-costumes'),
SearchData(1500, 315634, 'Figure Lime Spoon', 'lime spoon|copper|metal-implements'),
SearchData(1467, 319487, 'Kero (beaker)', 'kero|wood|wood-containers'),
SearchData(1367, 313225, 'Ceremonial digging stick', 'tomb post|wood, silver, nails|wood-sculpture'),
SearchData(1500, 315653, 'Copper Tumi with Figure', 'knife|copper|metal-implements'),
SearchData(1235, 319053, 'Collar', 'collar|spondylus shell and black stone beads, cotton|beads-costumes'),
SearchData(1500, 315618, 'Silver Pin', 'pin|silver (hammered)|metal-ornaments'),
SearchData(650, 308528, 'Bottle with portrait head', 'bottle|ceramic, slip|ceramics-containers'),
SearchData(600, 315147, 'Profile Warrior Ornament', 'ornament|gilded copper, shell|metal-ornaments'),
SearchData(850, 316976, 'Four-Cornered Hat', 'hat|camelid hair|textiles-costumes'),
SearchData(750, 316981, 'Four-Cornered Hat', 'hat|camelid hair|textiles-costumes'),
SearchData(1500, 315254, 'Copper Lime Spoon with Bird Top', 'lime spoon|copper (cast)|metal-implements'),
SearchData(500, 308415, 'Architectural Vessel', 'vessel|ceramic|ceramics-containers'),
SearchData(-200, 308298, 'Bottle, Falcon', 'bottle|ceramic, pigment|ceramics-containers'),
SearchData(600, 315191, 'Disc', 'ornament|gilded copper|metal-ornaments'),
SearchData(850, 316974, 'Four-Cornered Hat', 'hat|camelid hair|textiles-costumes'),
SearchData(750, 312244, 'Feathered Panel', 'panel|feathers, cotton, camelid hair|textiles-featherwork'),
SearchData(1500, 313275, 'Vessel', 'bottle|ceramic|ceramics-containers'),
SearchData(1500, 315490, 'Copper Tumi with Figure', 'knife|copper (cast)|metal-implements'),
SearchData(750, 308121, 'Four-Cornered Hat', 'hat|camelid hair, cotton|textiles-woven'),
SearchData(700, 314623, 'Four-Cornered Hat', 'hat|camelid fiber|textiles-costumes'),
SearchData(1500, 315354, 'Ceremonial Knife (Tumi)', 'knife|copper (cast), silver (?)|metal-implements'),
SearchData(825, 310308, 'Lime container in the shape of a captive',
'lime container|wood, bone inlay, paint, fiber|wood-containers'),
SearchData(1400, 308555, 'Double Chambered Bottle', 'bottle|ceramic|ceramics-containers'),
SearchData(1500, 315770, 'Votive Container (Canopa)', 'container|stone|stone-containers'),
SearchData(1700, 316849, 'Kero', 'kero|wood (prosopis?)|wood-containers'),
SearchData(1500, 315307, 'Ball', 'ball|brass (cast), copper|metal-implements'),
SearchData(
1575, 316842, 'Kero (beaker)', 'kero|wood (escallonia ?), pigmented resin inlay, metal (tin?)|wood-containers'),
SearchData(1000, 309123, 'Crown', 'crown|gold|metal-ornaments'),
SearchData(1475, 316838, 'Kero', 'kero|wood|wood-containers'),
SearchData(250, 308537, 'Stirrup Spout Bottle with Warrior Figure', 'bottle|ceramic, slip|ceramics-containers'),
SearchData(1500, 315283, 'Pin', 'pin|copper, gilt|metal-ornaments'),
SearchData(350, 308510, 'Bottle, Warriors', 'bottle|ceramic, slip, pigment|ceramics-containers'),
SearchData(1467, 317752, 'Lime spoon with parrot and corn plant', 'lime spoon|copper alloy (cast)|metal-implements'),
SearchData(1475, 309394, 'Storage Jar (Aryballus)', 'bottle|ceramic|ceramics-containers'),
SearchData(500, 309304, 'Stirrup Spout Bottle with Cat', 'bottle|ceramic, slip|ceramics-containers'),
SearchData(650, 315136, 'Profile Warrior Ornament', 'ornament|silvered copper, shell|metal-ornaments'),
SearchData(750, 316339, 'Four-Cornered Hat', 'hat|camelid hair|textiles-costumes'),
SearchData(1500, 315332, 'Lime Spoon, Bird', 'lime spoon|copper (cast)|metal-implements'),
SearchData(1467, 313289, 'Hand with beaker', 'kero|ceramic, pigment, slip|ceramics-containers'),
SearchData(1500, 315248, 'Copper Pin', 'pin|copper (cast)|metal-ornaments'),
SearchData(1462, 319524, 'Fragmentary Woman\'s Dress', 'dress fragment|camelid fiber|textiles-woven'),
SearchData(1450, 309753, 'Stirrup Spout Bottle with Fish', 'bottle|ceramic|ceramics-containers'),
SearchData(1467, 315771, 'Conopa (votive effigy)', 'container|stone|stone-containers'),
SearchData(1000, 309959, 'Funerary mask', 'mask|gold, silver-copper alloy, cinnabar paint|metal-musical instruments'),
SearchData(750, 316343, 'Four-Cornered Hat', 'hat|camelid hair|textiles-costumes'),
SearchData(1500, 317593, 'Votive Container (Canopa)', 'container|stone|stone-containers'),
SearchData(1467, 313054, 'Funerary staff', 'tomb staff|wood, paint|wood-sculpture'),
SearchData(1467, 309960, 'Miniature camelid effigy', 'figure|alloys of silver, gold and copper|metalwork-sculpture'),
SearchData(650, 307472, 'Bottle with portrait head', 'bottle|ceramic, slip|ceramics-containers'),
SearchData(1500, 315228, 'Bronze Mace Head in Feline Form', 'mace head|bronze (cast)|metal-implements'),
SearchData(300, 316270, 'Corn stalk-shaped vessel', 'bottle|ceramic, slip|ceramics-containers'),
SearchData(650, 316979, 'Four-Cornered Hat', 'hat|camelid hair|textiles-costumes'),
SearchData(750, 316971, 'Four-Cornered Hat', 'hat|camelid hair|textiles-costumes'),
SearchData(1500, 315476, 'Axe', 'axe|bronze|metal-implements'),
SearchData(500, 314681, 'Prisoner jar', 'jar|ceramic, slip|ceramics-containers'),
SearchData(1475, 309399, 'Miniature Jar', 'jar|ceramic|ceramics-containers'),
SearchData(1467, 309943, 'Miniature male effigy', 'figure|gold-silver alloy|sculpture-sheet metal'),
SearchData(1500, 312726, 'Ornamental Knife', 'knife|copper|metal-implements'),
SearchData(1500, 315255, 'Copper Lime Spoon with Bird Top', 'lime spoon|copper (cast)|metal-implements'),
SearchData(1700, 316855, 'Kero', 'kero|wood, pigmented resin inlay|wood-containers'),
SearchData(1500, 315265, 'Copper Lime Spoon', 'lime spoon|copper (cast)|metal-implements'),
SearchData(500, 309447, 'Spotted Feline Bottle', 'bottle|ceramic, pigment|ceramics-containers'),
SearchData(1410, 312568, 'Standing female figure', 'figure|wood, pigment|wood-sculpture'),
SearchData(1500, 317592, 'Votive Container (Canopa)', 'vessel|stone|stone-containers'),
SearchData(1500, 315636, 'Lime Spoon, Figure', 'lime spoon|copper|metal-implements'),
SearchData(1500, 315294, 'Mace Head', 'mace head|silver (cast)|metal-implements'),
SearchData(1475, 309396, 'Miniature Jar with Two Handles', 'jar|ceramic|ceramics-containers'),
SearchData(1500, 308079, 'Tapestry Panel with Stars', 'panel|camelid hair, cotton|textiles-woven'),
SearchData(1500, 310667, 'Tomb Post', 'tomb post|wood, silver sheathing, feathers|metal-sculpture'),
SearchData(1505, 502538, 'Whistling Jar', 'whistling jar|clay|aerophone-blow hole-vessel flute'),
SearchData(1450, 308770, 'Ceremonial Knife (Tumi)', 'knife|copper|metal-implements'),
SearchData(800, 316982, 'Four-Cornered Hat', 'hat|camelid hair|textiles-costumes'),
SearchData(1650, 307469, 'Knife, Figures', 'knife|bronze|metal-implements'),
SearchData(1425, 317736, 'Woman\'s Dress', 'dress|camelid hair|textiles-woven'),
SearchData(750, 316968, 'Four-Cornered Hat', 'hat|camelid hair|textiles-costumes'),
SearchData(1500, 317751, 'Paccha', 'paccha|ceramic, pigment|ceramics-containers'),
SearchData(1500, 315267, 'Copper Lime Spoon with Bird Top', 'lime spoon|copper (cast)|metal-implements'),
SearchData(750, 316972, 'Four-Cornered Hat', 'hat|camelid hair|textiles-costumes'),
SearchData(1500, 315623, 'Silver Pin', 'pin|silver|metal-ornaments'),
SearchData(650, 308410, 'Stirrup spout bottle with warrior', 'bottle|ceramic, slip|ceramics-containers'),
SearchData(1385, 315748, 'Miniature slingshot', 'sling shot|silver (hammered), feathers, wood|metal-implements'),
SearchData(1400, 315609, 'Pin', 'pin|silver (hammered)|metal-ornaments'),
SearchData(650, 308408, 'Bottle with fox head', 'bottle|ceramic, slip|ceramics-containers'),
SearchData(450, 314679, 'Fox Warrior Bottle', 'bottle|ceramic, slip, pigment|ceramics-containers'),
SearchData(1466, 313251, 'Female figurine', 'figure|gold|sculpture-sheet metal'),
SearchData(1475, 317726, 'Tumi with Figure', 'knife|copper|metal-implements'),
SearchData(1250, 313148, 'Weaving Basket',
'basket with weaving implements|cane, shell, bone, fiber, camelid hair, wood, pigment, metal, stone|textiles-implements'),
SearchData(1600, 314616, 'Woven Sling Shot', 'sling shot|camelid hair|textiles-woven'),
SearchData(1475, 309393, 'Miniature Vessel', 'miniature dish|ceramic|ceramics-containers'),
SearchData(750, 316962, 'Four-Cornered Hat', 'hat|camelid hair|textiles-costumes'),
SearchData(1500, 315266, 'Copper Lime Spoon with Bird Top', 'lime spoon|copper (cast)|metal-implements'),
SearchData(1500, 313206, 'Dish with Bird Head', 'dish|ceramic, pigment|ceramics-containers'),
SearchData(50, 313364, 'Nose Ornament with Spiders', 'nose ornament|gold|metal-ornaments'),
SearchData(1750, 316852, 'Kero', 'kero|wood (escallonia?), pigmented resin inlay|wood-containers'),
SearchData(1500, 310668, 'Tomb Post', 'tomb post|wood, silver sheathing, feathers|metal-sculpture'),
SearchData(750, 313010, 'Standing figure', 'male figure|stone|stone-sculpture'),
SearchData(1500, 315333, 'Copper Lime Spoon with Feline Top', 'lime spoon|copper (cast)|metal-implements'),
SearchData(1000, 309414, 'Beaker with figure and Spondylus shell', 'beaker|gold|metal-containers'),
SearchData(1150, 320329, 'Monkey Pendant', 'pendant|gold|metal-ornaments'),
SearchData(1467, 313295, 'Beaker with face', 'beaker|silver|metal-containers'),
SearchData(1367, 313224, 'Ceremonial digging stick', 'tomb post|wood, paint, metal|wood-sculpture'),
SearchData(400, 308540, 'Stirrup Spout Bottle with Seated Figure', 'bottle|ceramic, slip|ceramics-containers'),
SearchData(1500, 315613, 'Silver Pin', 'pin|silver (hammered)|metal-ornaments'),
SearchData(600, 312933, 'Headband', 'headdress|camelid fiber|textiles-woven'),
SearchData(550, 316984, 'Four-Cornered Hat', 'hat|camelid hair|textiles-costumes'),
SearchData(1467, 313267, 'Kero (beaker)', 'kero|wood|wood-containers'),
SearchData(750, 316970, 'Four-Cornered Hat', 'hat|camelid hair|textiles-costumes'),
SearchData(1550, 316920, 'Bag', 'bag|camelid hair|textiles-woven'),
SearchData(1250, 312669, 'Panel', 'panel|cotton, paint|textiles-woven'),
SearchData(1200, 312826, 'Miniature Dress', 'miniature dress|cotton, feathers|textiles-featherwork'),
SearchData(750, 316977, 'Four-Cornered Hat', 'hat|camelid hair|textiles-costumes'),
SearchData(1500, 315252, 'Copper Lime Spoon with Bird Top', 'lime spoon|copper (cast)|metal-implements'),
SearchData(1467, 314954, 'Paccha (ritual vessel)', 'vessel|ceramic, slip|ceramics-containers'),
SearchData(600, 314872, 'Cutout Disk', 'ornament|gilded copper|metal-ornaments'),
SearchData(-1000, 310662, 'Feline-shaped stirrup-spout bottle', 'bottle|ceramic|ceramics-containers'),
SearchData(1367, 313222, 'Ceremonial digging stick', 'implement|wood, resin paint, metal|wood-implements'),
SearchData(1500, 313310, 'Single Spout Bottle', 'bottle|ceramic|ceramics-containers'),
SearchData(1500, 315227, 'Ceremonial Knife (Tumi)', 'knife|bronze (cast)|metal-implements'),
SearchData(550, 308508, 'Owl Warrior Bottle', 'bottle|ceramic|ceramics-containers'),
SearchData(450, 318746, 'Belt', 'belt|camelid fiber|textiles-woven'),
SearchData(1500, 313274, 'Male Effigy Vessel', 'vessel|ceramic, pigment|ceramics-containers'),
SearchData(1500, 313227, 'Funerary Staffs', 'tomb staff|wood|wood-sculpture'),
SearchData(1475, 316839, 'Kero', 'kero|wood (escallonia ?)|wood-containers'),
SearchData(1500, 313271, 'Headband', 'head ornament|gold (hammered)|metal-ornaments'),
SearchData(650, 315700, 'Embroidered bag with fringe', 'bag|camelid hair|textiles-woven'),
SearchData(1499, 308287, 'Feathered Tabard', 'tabard|cotton, feathers|feathers-costumes'),
SearchData(500, 309436, 'Stirrup Spout Bottle with Felines', 'bottle|ceramic, pigment|ceramics-containers'),
SearchData(1467, 313341, 'Double bowl', 'bowl|ceramic, slip|ceramics-containers'),
SearchData(1500, 315615, 'Silver Pin', 'pin|silver (hammered)|metal-ornaments'),
SearchData(-250, 307617, 'Bowl', 'bowl|ceramic, post-fired paint|ceramics-containers'),
SearchData(1500, 315306, 'Ball', 'ball|brass (cast)|metal-implements'),
SearchData(600, 318644, 'Profile Warrior Ornament', 'ornament|gilded copper, shell, turquoise|metal-ornaments'),
SearchData(600, 315148, 'Profile Warrior Ornament', 'ornament|gilded copper, shell, turquoise|metal-ornaments'),
SearchData(750, 316963, 'Four-Cornered Hat', 'hat|camelid hair|textiles-costumes'),
SearchData(1462, 318529, 'Tunic', 'tunic|camelid hair, feathers|textiles-woven'),
SearchData(1550, 316922, 'Bag', 'bag|cotton, camelid hair|textiles-woven'),
SearchData(1650, 320054, 'Miniature Tabard', 'tunic|cotton, camelid hair, silk, metal|textiles-woven'),
SearchData(1475, 309392, 'Miniature Dish with Handle', 'dish|ceramic|ceramics-containers'),
SearchData(1200, 307471, 'Border Fragment', 'border fragment|camelid hair, cotton|textiles-woven'),
SearchData(1500, 319319, 'Kero', 'kero|ceramic|ceramics-containers'),
SearchData(750, 314625, 'Four-Cornered Hat', 'hat|camelid hair|textiles-costumes'),
SearchData(1650, 316847, 'Kero (beaker)', 'kero|wood, tin inlay, red pigment, resin|wood-containers'),
SearchData(600, 314878, 'Cutout Disk', 'ornament|gilded copper|metal-ornaments'),
SearchData(1420, 316939, 'Miniature Tunic', 'miniature tunic|cotton, camelid hair|textiles-woven'),
SearchData(1475, 310233, 'Blackware Paccha with Feline', 'paccha|ceramic|ceramics-containers'),
SearchData(1650, 318164, 'Poncho', 'poncho|wool|textiles-woven'),
SearchData(1500, 317591, 'Votive Container (Canopa)', 'vessel|stone|stone-containers'),
SearchData(1300, 310476, 'Feathered Tabard', 'tunic|cotton, feathers|feathers-costumes'),
SearchData(1530, 313273, 'Ear Spool', 'ear spool|gold, silver|metal-ornaments'),
SearchData(1400, 315610, 'Group of pins', 'pin|silver (hammered)|metal-ornaments'),
SearchData(1475, 309401, 'Single Spout Bottle with Strap Handles', 'bottle|ceramic, pigment|ceramics-containers'),
SearchData(650, 315119, 'Shield with owl figure',
'ornament|gilded copper, silvered copper, shell, beads, fibers|metal-ornaments'),
SearchData(600, 315161, 'Disk Ornament', 'ornament|gilded copper|metal-ornaments'),
SearchData(1500, 315425, 'Lime Spoon', 'lime spoon|silver (cast)|metal-ornaments'),
SearchData(1500, 315619, 'Silver Pin', 'pin|silver (hammered)|metal-ornaments'),
SearchData(1500, 317594, 'Votive Container (Canopa)', 'container|stone|stone-containers'),
SearchData(750, 316965, 'Four-Cornered Hat', 'hat|camelid hair|textiles-costumes'),
SearchData(-550, 307622, 'Double Spout and Bridge Bottle', 'bottle|ceramic, pigment|ceramics-containers'),
SearchData(1500, 315690, 'Bag', 'bag|camelid hair, cotton|textiles-woven'),
SearchData(1500, 310656, 'Hunchback Paccha', 'paccha|wood, beads|wood-containers'),
SearchData(1650, 316854, 'Kero', 'kero|wood (escallonia), pigmented resin inlay|wood-containers'),
SearchData(1600, 698417, 'Pair of Keros', 'kero|wood, pigmented resin inlay|wood-containers'),
SearchData(1500, 315633, 'Figure Lime Spoon', 'lime spoon|copper|metal-implements'),
SearchData(1450, 314615, 'Woven Sling Shot', 'sling shot|camelid hair|textiles-woven'),
SearchData(600, 315134, 'Profile Warrior Ornament', 'ornament|gilded copper, shell|metal-ornaments'),
SearchData(1467, 309227, 'Tupu (pin)', 'pin|copper alloy|metal-ornaments'),
SearchData(550, 314874, 'Shield with crab and fish figures', 'disk|gilded copper|metal-ornaments'),
SearchData(1491, 316929, 'Sling', 'sling|camelid hair|textiles-woven'),
SearchData(1500, 315253, 'Copper Lime Spoon with Bird Top', 'lime spoon|copper (cast)|metal-implements'),
SearchData(-250, 308498, 'Bowl', 'bowl|ceramic, post-fired paint|ceramics-containers'),
SearchData(750, 316966, 'Four-Cornered Hat', 'hat|camelid hair|textiles-costumes'),
SearchData(1500, 308083, 'Tapestry Fragment', 'textile fragment|camelid hair|textiles-woven'),
SearchData(750, 314620, 'Four-Cornered Hat', 'hat|camelid hair|textiles-costumes'),
SearchData(1500, 315635, 'Figure Lime Spoon', 'lime spoon|copper|metal-implements'),
SearchData(650, 308022, 'Embroidered bag with fringe', 'bag|camelid hair|textiles-woven'),
SearchData(1500, 315250, 'Copper Lime Spoon with Bird Top', 'lime spoon|copper (cast)|metal-implements'),
SearchData(1467, 313055, 'Funerary staff', 'tomb staff|wood, paint, metal, copper|wood-sculpture'),
SearchData(1500, 313056, 'Funerary Staffs', 'tomb staff|wood, paint|wood-sculpture'),
SearchData(1500, 308123, 'Beaker with scroll ornamentation', 'beaker|silver, gold|metal-containers'),
SearchData(800, 309106, 'Tupu (pin)', 'pin|copper and gold|metal-ornaments'),
SearchData(1500, 315303, 'Lime Spoon, Bird', 'lime spoon|silver (hammered)|metal-implements'),
SearchData(400, 309411, 'Headdress Ornament', 'headdress ornament|gold|metal-ornaments'),
SearchData(1238, 646249, 'Man\'s Tunic', 'tunic|camelid and cotton fibers|textiles-costumes'),
SearchData(1500, 315284, 'Copper Pin', 'pin|copper, gilt|metal-ornaments'),
SearchData(1500, 315286, 'Ceremonial Knife (Tumi)', 'knife|copper (cast)|metal-implements'),
SearchData(1420, 317727, 'Feline Bowl', 'bowl|stone|stone-containers'),
SearchData(1500, 313204, 'Dish with Bird Head', 'dish|ceramic, pigment|ceramics-containers'),
SearchData(1500, 315479, 'Knife', 'knife|copper|metal-implements'),
SearchData(1467, 314823, 'Conopa (votive effigy)', 'container|stone|stone-containers'),
SearchData(-350, 308590, 'Double Spout and Bridge Bottle with Snake', 'bottle|ceramic, pigment|ceramics-containers'),
SearchData(1475, 317791, 'Kero', 'kero|wood (prosopis?)|wood-containers'),
SearchData(800, 309104, 'Tupu (pin)', 'pin|copper and gold|metal-ornaments'),
SearchData(750, 316973, 'Four-Cornered Hat', 'hat|camelid hair|textiles-costumes'),
SearchData(1500, 313269, 'Deer Stick', 'staff|wood, paint|wood-sculpture'),
SearchData(1140, 309105, 'Tupu (pin)', 'pin|copper|metal-ornaments'),
SearchData(500, 309441, 'Raptorial Bird Bottle', 'bottle|ceramic, pigment|ceramics-containers'),
SearchData(1466, 315651, 'Tupu (pin)', 'pin|copper|metal-ornaments'),
SearchData(1700, 316850, 'Kero', 'kero|wood, tin studs, and pigmented resin inlays|wood-containers'),
SearchData(1150, 312801, 'Plume', 'plume|gold|metal-ornaments'),
SearchData(750, 316341, 'Four-Cornered Hat', 'hat|camelid hair|textiles-costumes'),
SearchData(1475, 316834, 'Paccha', 'paccha|wood|wood-containers'),
SearchData(-50, 308455, 'Double-spout bottle with monkey', 'bottle|ceramic, slip|ceramics-containers'),
SearchData(1550, 316930, 'Sling', 'sling|camelid hair|textiles-woven'),
SearchData(750, 316980, 'Four-Cornered Hat', 'hat|camelid hair|textiles-costumes'),
SearchData(1500, 307449, 'Bag', 'bag|cotton|textiles-woven'),
SearchData(1500, 315614, 'Silver Pin', 'pin|silver (hammered)|metal-ornaments'),
SearchData(1250, 316723, 'Serpent (tunjo)', 'figure|gold|metal-ornaments'),
SearchData(600, 313411, 'Nose Ornament with Shrimp', 'nose ornament|gold, silver, stone|metal-ornaments'),
SearchData(1500, 309528, 'Band', 'band|camelid hair|textiles-woven'),
SearchData(550, 308526, 'Stirrup Spout Bottle with Bird and Snake', 'bottle|ceramic, slip|ceramics-containers'),
SearchData(1600, 320804, 'Hanging (?) Fragment', 'tapestry fragment|camelid hair, cotton|textiles-woven'),
SearchData(750, 316964, 'Four-Cornered Hat', 'hat|camelid hair|textiles-costumes'),
];

Some files were not shown because too many files have changed in this diff Show More