fullstack-admin 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile +18 -0
- data/Gemfile.lock +229 -0
- data/README.md +28 -0
- data/Rakefile +53 -0
- data/VERSION +1 -0
- data/app/assets/images/iconic/gray/ampersand_10x16.png +0 -0
- data/app/assets/images/iconic/gray/ampersand_14x24.png +0 -0
- data/app/assets/images/iconic/gray/ampersand_19x32.png +0 -0
- data/app/assets/images/iconic/gray/ampersand_5x8.png +0 -0
- data/app/assets/images/iconic/gray/ampersand_7x12.png +0 -0
- data/app/assets/images/iconic/gray/aperture_12x12.png +0 -0
- data/app/assets/images/iconic/gray/aperture_16x16.png +0 -0
- data/app/assets/images/iconic/gray/aperture_24x24.png +0 -0
- data/app/assets/images/iconic/gray/aperture_32x32.png +0 -0
- data/app/assets/images/iconic/gray/aperture_8x8.png +0 -0
- data/app/assets/images/iconic/gray/aperture_alt_12x12.png +0 -0
- data/app/assets/images/iconic/gray/aperture_alt_16x16.png +0 -0
- data/app/assets/images/iconic/gray/aperture_alt_24x24.png +0 -0
- data/app/assets/images/iconic/gray/aperture_alt_32x32.png +0 -0
- data/app/assets/images/iconic/gray/aperture_alt_8x8.png +0 -0
- data/app/assets/images/iconic/gray/arrow_down_12x12.png +0 -0
- data/app/assets/images/iconic/gray/arrow_down_16x16.png +0 -0
- data/app/assets/images/iconic/gray/arrow_down_24x24.png +0 -0
- data/app/assets/images/iconic/gray/arrow_down_32x32.png +0 -0
- data/app/assets/images/iconic/gray/arrow_down_8x8.png +0 -0
- data/app/assets/images/iconic/gray/arrow_down_alt1_12x12.png +0 -0
- data/app/assets/images/iconic/gray/arrow_down_alt1_16x16.png +0 -0
- data/app/assets/images/iconic/gray/arrow_down_alt1_24x24.png +0 -0
- data/app/assets/images/iconic/gray/arrow_down_alt1_32x32.png +0 -0
- data/app/assets/images/iconic/gray/arrow_down_alt1_8x8.png +0 -0
- data/app/assets/images/iconic/gray/arrow_down_alt2_12x12.png +0 -0
- data/app/assets/images/iconic/gray/arrow_down_alt2_16x16.png +0 -0
- data/app/assets/images/iconic/gray/arrow_down_alt2_24x24.png +0 -0
- data/app/assets/images/iconic/gray/arrow_down_alt2_32x32.png +0 -0
- data/app/assets/images/iconic/gray/arrow_down_alt2_8x8.png +0 -0
- data/app/assets/images/iconic/gray/arrow_left_12x12.png +0 -0
- data/app/assets/images/iconic/gray/arrow_left_16x16.png +0 -0
- data/app/assets/images/iconic/gray/arrow_left_24x24.png +0 -0
- data/app/assets/images/iconic/gray/arrow_left_32x32.png +0 -0
- data/app/assets/images/iconic/gray/arrow_left_8x8.png +0 -0
- data/app/assets/images/iconic/gray/arrow_left_alt1_12x12.png +0 -0
- data/app/assets/images/iconic/gray/arrow_left_alt1_16x16.png +0 -0
- data/app/assets/images/iconic/gray/arrow_left_alt1_24x24.png +0 -0
- data/app/assets/images/iconic/gray/arrow_left_alt1_32x32.png +0 -0
- data/app/assets/images/iconic/gray/arrow_left_alt1_8x8.png +0 -0
- data/app/assets/images/iconic/gray/arrow_left_alt2_12x12.png +0 -0
- data/app/assets/images/iconic/gray/arrow_left_alt2_16x16.png +0 -0
- data/app/assets/images/iconic/gray/arrow_left_alt2_24x24.png +0 -0
- data/app/assets/images/iconic/gray/arrow_left_alt2_32x32.png +0 -0
- data/app/assets/images/iconic/gray/arrow_left_alt2_8x8.png +0 -0
- data/app/assets/images/iconic/gray/arrow_right_12x12.png +0 -0
- data/app/assets/images/iconic/gray/arrow_right_16x16.png +0 -0
- data/app/assets/images/iconic/gray/arrow_right_24x24.png +0 -0
- data/app/assets/images/iconic/gray/arrow_right_32x32.png +0 -0
- data/app/assets/images/iconic/gray/arrow_right_8x8.png +0 -0
- data/app/assets/images/iconic/gray/arrow_right_alt1_12x12.png +0 -0
- data/app/assets/images/iconic/gray/arrow_right_alt1_16x16.png +0 -0
- data/app/assets/images/iconic/gray/arrow_right_alt1_24x24.png +0 -0
- data/app/assets/images/iconic/gray/arrow_right_alt1_32x32.png +0 -0
- data/app/assets/images/iconic/gray/arrow_right_alt1_8x8.png +0 -0
- data/app/assets/images/iconic/gray/arrow_right_alt2_12x12.png +0 -0
- data/app/assets/images/iconic/gray/arrow_right_alt2_16x16.png +0 -0
- data/app/assets/images/iconic/gray/arrow_right_alt2_24x24.png +0 -0
- data/app/assets/images/iconic/gray/arrow_right_alt2_32x32.png +0 -0
- data/app/assets/images/iconic/gray/arrow_right_alt2_8x8.png +0 -0
- data/app/assets/images/iconic/gray/arrow_up_12x12.png +0 -0
- data/app/assets/images/iconic/gray/arrow_up_16x16.png +0 -0
- data/app/assets/images/iconic/gray/arrow_up_24x24.png +0 -0
- data/app/assets/images/iconic/gray/arrow_up_32x32.png +0 -0
- data/app/assets/images/iconic/gray/arrow_up_8x8.png +0 -0
- data/app/assets/images/iconic/gray/arrow_up_alt1_12x12.png +0 -0
- data/app/assets/images/iconic/gray/arrow_up_alt1_16x16.png +0 -0
- data/app/assets/images/iconic/gray/arrow_up_alt1_24x24.png +0 -0
- data/app/assets/images/iconic/gray/arrow_up_alt1_32x32.png +0 -0
- data/app/assets/images/iconic/gray/arrow_up_alt1_8x8.png +0 -0
- data/app/assets/images/iconic/gray/arrow_up_alt2_12x12.png +0 -0
- data/app/assets/images/iconic/gray/arrow_up_alt2_16x16.png +0 -0
- data/app/assets/images/iconic/gray/arrow_up_alt2_24x24.png +0 -0
- data/app/assets/images/iconic/gray/arrow_up_alt2_32x32.png +0 -0
- data/app/assets/images/iconic/gray/arrow_up_alt2_8x8.png +0 -0
- data/app/assets/images/iconic/gray/article_12x12.png +0 -0
- data/app/assets/images/iconic/gray/article_16x16.png +0 -0
- data/app/assets/images/iconic/gray/article_24x24.png +0 -0
- data/app/assets/images/iconic/gray/article_32x32.png +0 -0
- data/app/assets/images/iconic/gray/article_8x8.png +0 -0
- data/app/assets/images/iconic/gray/at_12x12.png +0 -0
- data/app/assets/images/iconic/gray/at_16x16.png +0 -0
- data/app/assets/images/iconic/gray/at_24x24.png +0 -0
- data/app/assets/images/iconic/gray/at_32x32.png +0 -0
- data/app/assets/images/iconic/gray/at_8x8.png +0 -0
- data/app/assets/images/iconic/gray/award_fill_12x24.png +0 -0
- data/app/assets/images/iconic/gray/award_fill_16x32.png +0 -0
- data/app/assets/images/iconic/gray/award_fill_4x8.png +0 -0
- data/app/assets/images/iconic/gray/award_fill_6x12.png +0 -0
- data/app/assets/images/iconic/gray/award_fill_8x16.png +0 -0
- data/app/assets/images/iconic/gray/award_stroke_12x24.png +0 -0
- data/app/assets/images/iconic/gray/award_stroke_16x32.png +0 -0
- data/app/assets/images/iconic/gray/award_stroke_4x8.png +0 -0
- data/app/assets/images/iconic/gray/award_stroke_6x12.png +0 -0
- data/app/assets/images/iconic/gray/award_stroke_8x16.png +0 -0
- data/app/assets/images/iconic/gray/bars_12x12.png +0 -0
- data/app/assets/images/iconic/gray/bars_16x16.png +0 -0
- data/app/assets/images/iconic/gray/bars_24x24.png +0 -0
- data/app/assets/images/iconic/gray/bars_32x32.png +0 -0
- data/app/assets/images/iconic/gray/bars_8x8.png +0 -0
- data/app/assets/images/iconic/gray/bars_alt_12x12.png +0 -0
- data/app/assets/images/iconic/gray/bars_alt_16x16.png +0 -0
- data/app/assets/images/iconic/gray/bars_alt_24x24.png +0 -0
- data/app/assets/images/iconic/gray/bars_alt_32x32.png +0 -0
- data/app/assets/images/iconic/gray/bars_alt_8x8.png +0 -0
- data/app/assets/images/iconic/gray/battery_charging_12x6.png +0 -0
- data/app/assets/images/iconic/gray/battery_charging_16x8.png +0 -0
- data/app/assets/images/iconic/gray/battery_charging_24x12.png +0 -0
- data/app/assets/images/iconic/gray/battery_charging_32x16.png +0 -0
- data/app/assets/images/iconic/gray/battery_charging_8x4.png +0 -0
- data/app/assets/images/iconic/gray/battery_empty_12x6.png +0 -0
- data/app/assets/images/iconic/gray/battery_empty_16x8.png +0 -0
- data/app/assets/images/iconic/gray/battery_empty_24x12.png +0 -0
- data/app/assets/images/iconic/gray/battery_empty_32x16.png +0 -0
- data/app/assets/images/iconic/gray/battery_empty_8x4.png +0 -0
- data/app/assets/images/iconic/gray/battery_full_12x6.png +0 -0
- data/app/assets/images/iconic/gray/battery_full_16x8.png +0 -0
- data/app/assets/images/iconic/gray/battery_full_24x12.png +0 -0
- data/app/assets/images/iconic/gray/battery_full_32x16.png +0 -0
- data/app/assets/images/iconic/gray/battery_full_8x4.png +0 -0
- data/app/assets/images/iconic/gray/battery_half_12x6.png +0 -0
- data/app/assets/images/iconic/gray/battery_half_16x8.png +0 -0
- data/app/assets/images/iconic/gray/battery_half_24x12.png +0 -0
- data/app/assets/images/iconic/gray/battery_half_32x16.png +0 -0
- data/app/assets/images/iconic/gray/battery_half_8x4.png +0 -0
- data/app/assets/images/iconic/gray/beaker_12x24.png +0 -0
- data/app/assets/images/iconic/gray/beaker_16x32.png +0 -0
- data/app/assets/images/iconic/gray/beaker_4x8.png +0 -0
- data/app/assets/images/iconic/gray/beaker_6x12.png +0 -0
- data/app/assets/images/iconic/gray/beaker_8x16.png +0 -0
- data/app/assets/images/iconic/gray/beaker_alt_12x24.png +0 -0
- data/app/assets/images/iconic/gray/beaker_alt_16x32.png +0 -0
- data/app/assets/images/iconic/gray/beaker_alt_4x8.png +0 -0
- data/app/assets/images/iconic/gray/beaker_alt_6x12.png +0 -0
- data/app/assets/images/iconic/gray/beaker_alt_8x16.png +0 -0
- data/app/assets/images/iconic/gray/bolt_12x12.png +0 -0
- data/app/assets/images/iconic/gray/bolt_16x16.png +0 -0
- data/app/assets/images/iconic/gray/bolt_24x24.png +0 -0
- data/app/assets/images/iconic/gray/bolt_32x32.png +0 -0
- data/app/assets/images/iconic/gray/bolt_8x8.png +0 -0
- data/app/assets/images/iconic/gray/book_12x11.png +0 -0
- data/app/assets/images/iconic/gray/book_12x12.png +0 -0
- data/app/assets/images/iconic/gray/book_16x14.png +0 -0
- data/app/assets/images/iconic/gray/book_16x16.png +0 -0
- data/app/assets/images/iconic/gray/book_24x21.png +0 -0
- data/app/assets/images/iconic/gray/book_24x24.png +0 -0
- data/app/assets/images/iconic/gray/book_32x24.png +0 -0
- data/app/assets/images/iconic/gray/book_32x32.png +0 -0
- data/app/assets/images/iconic/gray/book_8x7.png +0 -0
- data/app/assets/images/iconic/gray/book_8x8.png +0 -0
- data/app/assets/images/iconic/gray/book_alt2_12x11.png +0 -0
- data/app/assets/images/iconic/gray/book_alt2_16x14.png +0 -0
- data/app/assets/images/iconic/gray/book_alt2_24x21.png +0 -0
- data/app/assets/images/iconic/gray/book_alt2_32x24.png +0 -0
- data/app/assets/images/iconic/gray/book_alt2_8x7.png +0 -0
- data/app/assets/images/iconic/gray/book_alt_12x12.png +0 -0
- data/app/assets/images/iconic/gray/book_alt_16x16.png +0 -0
- data/app/assets/images/iconic/gray/book_alt_24x24.png +0 -0
- data/app/assets/images/iconic/gray/book_alt_32x32.png +0 -0
- data/app/assets/images/iconic/gray/book_alt_8x8.png +0 -0
- data/app/assets/images/iconic/gray/box_12x12.png +0 -0
- data/app/assets/images/iconic/gray/box_16x16.png +0 -0
- data/app/assets/images/iconic/gray/box_24x24.png +0 -0
- data/app/assets/images/iconic/gray/box_32x32.png +0 -0
- data/app/assets/images/iconic/gray/box_8x8.png +0 -0
- data/app/assets/images/iconic/gray/brush_12x12.png +0 -0
- data/app/assets/images/iconic/gray/brush_16x16.png +0 -0
- data/app/assets/images/iconic/gray/brush_24x24.png +0 -0
- data/app/assets/images/iconic/gray/brush_32x32.png +0 -0
- data/app/assets/images/iconic/gray/brush_8x8.png +0 -0
- data/app/assets/images/iconic/gray/brush_alt_12x12.png +0 -0
- data/app/assets/images/iconic/gray/brush_alt_16x16.png +0 -0
- data/app/assets/images/iconic/gray/brush_alt_24x24.png +0 -0
- data/app/assets/images/iconic/gray/brush_alt_32x32.png +0 -0
- data/app/assets/images/iconic/gray/brush_alt_8x8.png +0 -0
- data/app/assets/images/iconic/gray/calendar_12x12.png +0 -0
- data/app/assets/images/iconic/gray/calendar_16x16.png +0 -0
- data/app/assets/images/iconic/gray/calendar_24x24.png +0 -0
- data/app/assets/images/iconic/gray/calendar_32x32.png +0 -0
- data/app/assets/images/iconic/gray/calendar_8x8.png +0 -0
- data/app/assets/images/iconic/gray/calendar_alt_fill_12x12.png +0 -0
- data/app/assets/images/iconic/gray/calendar_alt_fill_16x16.png +0 -0
- data/app/assets/images/iconic/gray/calendar_alt_fill_24x24.png +0 -0
- data/app/assets/images/iconic/gray/calendar_alt_fill_32x32.png +0 -0
- data/app/assets/images/iconic/gray/calendar_alt_fill_8x8.png +0 -0
- data/app/assets/images/iconic/gray/calendar_alt_stroke_12x12.png +0 -0
- data/app/assets/images/iconic/gray/calendar_alt_stroke_16x16.png +0 -0
- data/app/assets/images/iconic/gray/calendar_alt_stroke_24x24.png +0 -0
- data/app/assets/images/iconic/gray/calendar_alt_stroke_32x32.png +0 -0
- data/app/assets/images/iconic/gray/calendar_alt_stroke_8x8.png +0 -0
- data/app/assets/images/iconic/gray/camera_12x12.png +0 -0
- data/app/assets/images/iconic/gray/camera_16x16.png +0 -0
- data/app/assets/images/iconic/gray/camera_24x24.png +0 -0
- data/app/assets/images/iconic/gray/camera_32x32.png +0 -0
- data/app/assets/images/iconic/gray/camera_8x8.png +0 -0
- data/app/assets/images/iconic/gray/cd_12x12.png +0 -0
- data/app/assets/images/iconic/gray/cd_16x16.png +0 -0
- data/app/assets/images/iconic/gray/cd_24x24.png +0 -0
- data/app/assets/images/iconic/gray/cd_32x32.png +0 -0
- data/app/assets/images/iconic/gray/cd_8x8.png +0 -0
- data/app/assets/images/iconic/gray/chart_12x12.png +0 -0
- data/app/assets/images/iconic/gray/chart_16x16.png +0 -0
- data/app/assets/images/iconic/gray/chart_24x24.png +0 -0
- data/app/assets/images/iconic/gray/chart_36x36.png +0 -0
- data/app/assets/images/iconic/gray/chart_8x8.png +0 -0
- data/app/assets/images/iconic/gray/chart_alt_12x12.png +0 -0
- data/app/assets/images/iconic/gray/chart_alt_16x16.png +0 -0
- data/app/assets/images/iconic/gray/chart_alt_24x24.png +0 -0
- data/app/assets/images/iconic/gray/chart_alt_32x32.png +0 -0
- data/app/assets/images/iconic/gray/chart_alt_8x8.png +0 -0
- data/app/assets/images/iconic/gray/chat_12x12.png +0 -0
- data/app/assets/images/iconic/gray/chat_16x16.png +0 -0
- data/app/assets/images/iconic/gray/chat_24x24.png +0 -0
- data/app/assets/images/iconic/gray/chat_32x32.png +0 -0
- data/app/assets/images/iconic/gray/chat_8x8.png +0 -0
- data/app/assets/images/iconic/gray/chat_alt_fill_12x12.png +0 -0
- data/app/assets/images/iconic/gray/chat_alt_fill_16x16.png +0 -0
- data/app/assets/images/iconic/gray/chat_alt_fill_24x24.png +0 -0
- data/app/assets/images/iconic/gray/chat_alt_fill_32x32.png +0 -0
- data/app/assets/images/iconic/gray/chat_alt_fill_8x8.png +0 -0
- data/app/assets/images/iconic/gray/chat_alt_stroke_12x12.png +0 -0
- data/app/assets/images/iconic/gray/chat_alt_stroke_16x16.png +0 -0
- data/app/assets/images/iconic/gray/chat_alt_stroke_24x24.png +0 -0
- data/app/assets/images/iconic/gray/chat_alt_stroke_32x32.png +0 -0
- data/app/assets/images/iconic/gray/chat_alt_stroke_8x8.png +0 -0
- data/app/assets/images/iconic/gray/check_12x10.png +0 -0
- data/app/assets/images/iconic/gray/check_16x13.png +0 -0
- data/app/assets/images/iconic/gray/check_24x20.png +0 -0
- data/app/assets/images/iconic/gray/check_32x26.png +0 -0
- data/app/assets/images/iconic/gray/check_8x7.png +0 -0
- data/app/assets/images/iconic/gray/check_alt_12x12.png +0 -0
- data/app/assets/images/iconic/gray/check_alt_16x16.png +0 -0
- data/app/assets/images/iconic/gray/check_alt_24x24.png +0 -0
- data/app/assets/images/iconic/gray/check_alt_32x32.png +0 -0
- data/app/assets/images/iconic/gray/check_alt_8x8.png +0 -0
- data/app/assets/images/iconic/gray/clock_12x12.png +0 -0
- data/app/assets/images/iconic/gray/clock_16x16.png +0 -0
- data/app/assets/images/iconic/gray/clock_24x24.png +0 -0
- data/app/assets/images/iconic/gray/clock_32x32.png +0 -0
- data/app/assets/images/iconic/gray/clock_8x8.png +0 -0
- data/app/assets/images/iconic/gray/cloud_12x8.png +0 -0
- data/app/assets/images/iconic/gray/cloud_16x10.png +0 -0
- data/app/assets/images/iconic/gray/cloud_24x15.png +0 -0
- data/app/assets/images/iconic/gray/cloud_32x20.png +0 -0
- data/app/assets/images/iconic/gray/cloud_8x5.png +0 -0
- data/app/assets/images/iconic/gray/cloud_download_12x12.png +0 -0
- data/app/assets/images/iconic/gray/cloud_download_16x16.png +0 -0
- data/app/assets/images/iconic/gray/cloud_download_24x24.png +0 -0
- data/app/assets/images/iconic/gray/cloud_download_32x32.png +0 -0
- data/app/assets/images/iconic/gray/cloud_download_8x8.png +0 -0
- data/app/assets/images/iconic/gray/cloud_upload_12x12.png +0 -0
- data/app/assets/images/iconic/gray/cloud_upload_16x16.png +0 -0
- data/app/assets/images/iconic/gray/cloud_upload_24x24.png +0 -0
- data/app/assets/images/iconic/gray/cloud_upload_32x32.png +0 -0
- data/app/assets/images/iconic/gray/cloud_upload_8x8.png +0 -0
- data/app/assets/images/iconic/gray/cog_12x12.png +0 -0
- data/app/assets/images/iconic/gray/cog_16x16.png +0 -0
- data/app/assets/images/iconic/gray/cog_24x24.png +0 -0
- data/app/assets/images/iconic/gray/cog_32x32.png +0 -0
- data/app/assets/images/iconic/gray/cog_8x8.png +0 -0
- data/app/assets/images/iconic/gray/cog_alt_12x12.png +0 -0
- data/app/assets/images/iconic/gray/cog_alt_16x16.png +0 -0
- data/app/assets/images/iconic/gray/cog_alt_24x24.png +0 -0
- data/app/assets/images/iconic/gray/cog_alt_32x32.png +0 -0
- data/app/assets/images/iconic/gray/cog_alt_8x8.png +0 -0
- data/app/assets/images/iconic/gray/comment_alt1_fill_12x12.png +0 -0
- data/app/assets/images/iconic/gray/comment_alt1_fill_16x16.png +0 -0
- data/app/assets/images/iconic/gray/comment_alt1_fill_24x24.png +0 -0
- data/app/assets/images/iconic/gray/comment_alt1_fill_32x32.png +0 -0
- data/app/assets/images/iconic/gray/comment_alt1_fill_8x8.png +0 -0
- data/app/assets/images/iconic/gray/comment_alt1_stroke_12x12.png +0 -0
- data/app/assets/images/iconic/gray/comment_alt1_stroke_16x16.png +0 -0
- data/app/assets/images/iconic/gray/comment_alt1_stroke_24x24.png +0 -0
- data/app/assets/images/iconic/gray/comment_alt1_stroke_32x32.png +0 -0
- data/app/assets/images/iconic/gray/comment_alt1_stroke_8x8.png +0 -0
- data/app/assets/images/iconic/gray/comment_alt2_fill_12x16.png +0 -0
- data/app/assets/images/iconic/gray/comment_alt2_fill_18x24.png +0 -0
- data/app/assets/images/iconic/gray/comment_alt2_fill_24x32.png +0 -0
- data/app/assets/images/iconic/gray/comment_alt2_fill_6x8.png +0 -0
- data/app/assets/images/iconic/gray/comment_alt2_fill_9x12.png +0 -0
- data/app/assets/images/iconic/gray/comment_alt2_stroke_12x9.png +0 -0
- data/app/assets/images/iconic/gray/comment_alt2_stroke_16x12.png +0 -0
- data/app/assets/images/iconic/gray/comment_alt2_stroke_24x18.png +0 -0
- data/app/assets/images/iconic/gray/comment_alt2_stroke_32x24.png +0 -0
- data/app/assets/images/iconic/gray/comment_alt2_stroke_8x6.png +0 -0
- data/app/assets/images/iconic/gray/comment_alt3_fill_11x12.png +0 -0
- data/app/assets/images/iconic/gray/comment_alt3_fill_14x16.png +0 -0
- data/app/assets/images/iconic/gray/comment_alt3_fill_21x24.png +0 -0
- data/app/assets/images/iconic/gray/comment_alt3_fill_28x32.png +0 -0
- data/app/assets/images/iconic/gray/comment_alt3_fill_7x8.png +0 -0
- data/app/assets/images/iconic/gray/comment_alt3_stroke_11x12.png +0 -0
- data/app/assets/images/iconic/gray/comment_alt3_stroke_14x16.png +0 -0
- data/app/assets/images/iconic/gray/comment_alt3_stroke_21x24.png +0 -0
- data/app/assets/images/iconic/gray/comment_alt3_stroke_28x32.png +0 -0
- data/app/assets/images/iconic/gray/comment_alt3_stroke_7x8.png +0 -0
- data/app/assets/images/iconic/gray/comment_fill_12x11.png +0 -0
- data/app/assets/images/iconic/gray/comment_fill_16x14.png +0 -0
- data/app/assets/images/iconic/gray/comment_fill_24x21.png +0 -0
- data/app/assets/images/iconic/gray/comment_fill_32x28.png +0 -0
- data/app/assets/images/iconic/gray/comment_fill_8x7.png +0 -0
- data/app/assets/images/iconic/gray/comment_stroke_12x11.png +0 -0
- data/app/assets/images/iconic/gray/comment_stroke_16x14.png +0 -0
- data/app/assets/images/iconic/gray/comment_stroke_24x21.png +0 -0
- data/app/assets/images/iconic/gray/comment_stroke_32x28.png +0 -0
- data/app/assets/images/iconic/gray/comment_stroke_8x7.png +0 -0
- data/app/assets/images/iconic/gray/compass_12x12.png +0 -0
- data/app/assets/images/iconic/gray/compass_16x16.png +0 -0
- data/app/assets/images/iconic/gray/compass_24x24.png +0 -0
- data/app/assets/images/iconic/gray/compass_32x32.png +0 -0
- data/app/assets/images/iconic/gray/compass_8x8.png +0 -0
- data/app/assets/images/iconic/gray/cursor_12x12.png +0 -0
- data/app/assets/images/iconic/gray/cursor_16x16.png +0 -0
- data/app/assets/images/iconic/gray/cursor_24x24.png +0 -0
- data/app/assets/images/iconic/gray/cursor_32x32.png +0 -0
- data/app/assets/images/iconic/gray/cursor_8x8.png +0 -0
- data/app/assets/images/iconic/gray/curved_arrow_12x9.png +0 -0
- data/app/assets/images/iconic/gray/curved_arrow_16x12.png +0 -0
- data/app/assets/images/iconic/gray/curved_arrow_24x18.png +0 -0
- data/app/assets/images/iconic/gray/curved_arrow_32x24.png +0 -0
- data/app/assets/images/iconic/gray/curved_arrow_8x6.png +0 -0
- data/app/assets/images/iconic/gray/denied_12x12.png +0 -0
- data/app/assets/images/iconic/gray/denied_16x16.png +0 -0
- data/app/assets/images/iconic/gray/denied_24x24.png +0 -0
- data/app/assets/images/iconic/gray/denied_32x32.png +0 -0
- data/app/assets/images/iconic/gray/denied_8x8.png +0 -0
- data/app/assets/images/iconic/gray/denied_alt_12x12.png +0 -0
- data/app/assets/images/iconic/gray/denied_alt_16x16.png +0 -0
- data/app/assets/images/iconic/gray/denied_alt_24x24.png +0 -0
- data/app/assets/images/iconic/gray/denied_alt_32x32.png +0 -0
- data/app/assets/images/iconic/gray/denied_alt_8x8.png +0 -0
- data/app/assets/images/iconic/gray/dial_12x12.png +0 -0
- data/app/assets/images/iconic/gray/dial_16x16.png +0 -0
- data/app/assets/images/iconic/gray/dial_24x24.png +0 -0
- data/app/assets/images/iconic/gray/dial_32x32.png +0 -0
- data/app/assets/images/iconic/gray/dial_8x8.png +0 -0
- data/app/assets/images/iconic/gray/document_alt_fill_12x16.png +0 -0
- data/app/assets/images/iconic/gray/document_alt_fill_18x24.png +0 -0
- data/app/assets/images/iconic/gray/document_alt_fill_24x32.png +0 -0
- data/app/assets/images/iconic/gray/document_alt_fill_6x8.png +0 -0
- data/app/assets/images/iconic/gray/document_alt_fill_9x12.png +0 -0
- data/app/assets/images/iconic/gray/document_alt_stroke_12x16.png +0 -0
- data/app/assets/images/iconic/gray/document_alt_stroke_18x24.png +0 -0
- data/app/assets/images/iconic/gray/document_alt_stroke_24x32.png +0 -0
- data/app/assets/images/iconic/gray/document_alt_stroke_6x8.png +0 -0
- data/app/assets/images/iconic/gray/document_alt_stroke_9x12.png +0 -0
- data/app/assets/images/iconic/gray/document_fill_12x12.png +0 -0
- data/app/assets/images/iconic/gray/document_fill_16x16.png +0 -0
- data/app/assets/images/iconic/gray/document_fill_24x24.png +0 -0
- data/app/assets/images/iconic/gray/document_fill_32x32.png +0 -0
- data/app/assets/images/iconic/gray/document_fill_8x8.png +0 -0
- data/app/assets/images/iconic/gray/document_stroke_12x12.png +0 -0
- data/app/assets/images/iconic/gray/document_stroke_16x16.png +0 -0
- data/app/assets/images/iconic/gray/document_stroke_24x24.png +0 -0
- data/app/assets/images/iconic/gray/document_stroke_32x32.png +0 -0
- data/app/assets/images/iconic/gray/document_stroke_8x8.png +0 -0
- data/app/assets/images/iconic/gray/download_12x24.png +0 -0
- data/app/assets/images/iconic/gray/download_16x32.png +0 -0
- data/app/assets/images/iconic/gray/download_4x8.png +0 -0
- data/app/assets/images/iconic/gray/download_6x12.png +0 -0
- data/app/assets/images/iconic/gray/download_8x16.png +0 -0
- data/app/assets/images/iconic/gray/eject_12x12.png +0 -0
- data/app/assets/images/iconic/gray/eject_16x16.png +0 -0
- data/app/assets/images/iconic/gray/eject_24x24.png +0 -0
- data/app/assets/images/iconic/gray/eject_32x32.png +0 -0
- data/app/assets/images/iconic/gray/eject_8x8.png +0 -0
- data/app/assets/images/iconic/gray/equalizer_12x12.png +0 -0
- data/app/assets/images/iconic/gray/equalizer_16x16.png +0 -0
- data/app/assets/images/iconic/gray/equalizer_24x24.png +0 -0
- data/app/assets/images/iconic/gray/equalizer_32x32.png +0 -0
- data/app/assets/images/iconic/gray/equalizer_8x8.png +0 -0
- data/app/assets/images/iconic/gray/eye_12x9.png +0 -0
- data/app/assets/images/iconic/gray/eye_16x12.png +0 -0
- data/app/assets/images/iconic/gray/eye_24x18.png +0 -0
- data/app/assets/images/iconic/gray/eye_32x24.png +0 -0
- data/app/assets/images/iconic/gray/eye_8x6.png +0 -0
- data/app/assets/images/iconic/gray/eyedropper_12x12.png +0 -0
- data/app/assets/images/iconic/gray/eyedropper_16x16.png +0 -0
- data/app/assets/images/iconic/gray/eyedropper_24x24.png +0 -0
- data/app/assets/images/iconic/gray/eyedropper_32x32.png +0 -0
- data/app/assets/images/iconic/gray/eyedropper_8x8.png +0 -0
- data/app/assets/images/iconic/gray/first_12x12.png +0 -0
- data/app/assets/images/iconic/gray/first_16x16.png +0 -0
- data/app/assets/images/iconic/gray/first_24x24.png +0 -0
- data/app/assets/images/iconic/gray/first_32x32.png +0 -0
- data/app/assets/images/iconic/gray/first_8x8.png +0 -0
- data/app/assets/images/iconic/gray/folder_fill_12x12.png +0 -0
- data/app/assets/images/iconic/gray/folder_fill_16x16.png +0 -0
- data/app/assets/images/iconic/gray/folder_fill_24x24.png +0 -0
- data/app/assets/images/iconic/gray/folder_fill_32x32.png +0 -0
- data/app/assets/images/iconic/gray/folder_fill_8x8.png +0 -0
- data/app/assets/images/iconic/gray/folder_stroke_12x12.png +0 -0
- data/app/assets/images/iconic/gray/folder_stroke_16x16.png +0 -0
- data/app/assets/images/iconic/gray/folder_stroke_24x24.png +0 -0
- data/app/assets/images/iconic/gray/folder_stroke_32x32.png +0 -0
- data/app/assets/images/iconic/gray/folder_stroke_8x8.png +0 -0
- data/app/assets/images/iconic/gray/fork_11x12.png +0 -0
- data/app/assets/images/iconic/gray/fork_14x16.png +0 -0
- data/app/assets/images/iconic/gray/fork_21x24.png +0 -0
- data/app/assets/images/iconic/gray/fork_28x32.png +0 -0
- data/app/assets/images/iconic/gray/fork_7x8.png +0 -0
- data/app/assets/images/iconic/gray/fullscreen_12x12.png +0 -0
- data/app/assets/images/iconic/gray/fullscreen_16x16.png +0 -0
- data/app/assets/images/iconic/gray/fullscreen_24x24.png +0 -0
- data/app/assets/images/iconic/gray/fullscreen_32x32.png +0 -0
- data/app/assets/images/iconic/gray/fullscreen_8x8.png +0 -0
- data/app/assets/images/iconic/gray/fullscreen_alt_12x12.png +0 -0
- data/app/assets/images/iconic/gray/fullscreen_alt_16x16.png +0 -0
- data/app/assets/images/iconic/gray/fullscreen_alt_24x24.png +0 -0
- data/app/assets/images/iconic/gray/fullscreen_alt_32x32.png +0 -0
- data/app/assets/images/iconic/gray/fullscreen_alt_8x8.png +0 -0
- data/app/assets/images/iconic/gray/fullscreen_exit_12x12.png +0 -0
- data/app/assets/images/iconic/gray/fullscreen_exit_16x16.png +0 -0
- data/app/assets/images/iconic/gray/fullscreen_exit_24x24.png +0 -0
- data/app/assets/images/iconic/gray/fullscreen_exit_32x32.png +0 -0
- data/app/assets/images/iconic/gray/fullscreen_exit_8x8.png +0 -0
- data/app/assets/images/iconic/gray/fullscreen_exit_alt_12x12.png +0 -0
- data/app/assets/images/iconic/gray/fullscreen_exit_alt_16x16.png +0 -0
- data/app/assets/images/iconic/gray/fullscreen_exit_alt_24x24.png +0 -0
- data/app/assets/images/iconic/gray/fullscreen_exit_alt_32x32.png +0 -0
- data/app/assets/images/iconic/gray/fullscreen_exit_alt_8x8.png +0 -0
- data/app/assets/images/iconic/gray/hash_11x12.png +0 -0
- data/app/assets/images/iconic/gray/hash_14x16.png +0 -0
- data/app/assets/images/iconic/gray/hash_21x24.png +0 -0
- data/app/assets/images/iconic/gray/hash_28x32.png +0 -0
- data/app/assets/images/iconic/gray/hash_7x8.png +0 -0
- data/app/assets/images/iconic/gray/heaphones_12x11.png +0 -0
- data/app/assets/images/iconic/gray/heaphones_16x14.png +0 -0
- data/app/assets/images/iconic/gray/heaphones_24x21.png +0 -0
- data/app/assets/images/iconic/gray/heaphones_32x28.png +0 -0
- data/app/assets/images/iconic/gray/heaphones_8x7.png +0 -0
- data/app/assets/images/iconic/gray/heart_fill_12x11.png +0 -0
- data/app/assets/images/iconic/gray/heart_fill_16x14.png +0 -0
- data/app/assets/images/iconic/gray/heart_fill_24x21.png +0 -0
- data/app/assets/images/iconic/gray/heart_fill_32x38.png +0 -0
- data/app/assets/images/iconic/gray/heart_fill_8x7.png +0 -0
- data/app/assets/images/iconic/gray/heart_stroke_12x11.png +0 -0
- data/app/assets/images/iconic/gray/heart_stroke_16x14.png +0 -0
- data/app/assets/images/iconic/gray/heart_stroke_24x21.png +0 -0
- data/app/assets/images/iconic/gray/heart_stroke_32x28.png +0 -0
- data/app/assets/images/iconic/gray/heart_stroke_8x7.png +0 -0
- data/app/assets/images/iconic/gray/home_12x12.png +0 -0
- data/app/assets/images/iconic/gray/home_16x16.png +0 -0
- data/app/assets/images/iconic/gray/home_24x24.png +0 -0
- data/app/assets/images/iconic/gray/home_32x32.png +0 -0
- data/app/assets/images/iconic/gray/home_8x8.png +0 -0
- data/app/assets/images/iconic/gray/image_12x12.png +0 -0
- data/app/assets/images/iconic/gray/image_16x16.png +0 -0
- data/app/assets/images/iconic/gray/image_24x24.png +0 -0
- data/app/assets/images/iconic/gray/image_32x32.png +0 -0
- data/app/assets/images/iconic/gray/image_8x8.png +0 -0
- data/app/assets/images/iconic/gray/info_12x24.png +0 -0
- data/app/assets/images/iconic/gray/info_16x32.png +0 -0
- data/app/assets/images/iconic/gray/info_4x8.png +0 -0
- data/app/assets/images/iconic/gray/info_6x12.png +0 -0
- data/app/assets/images/iconic/gray/info_8x16.png +0 -0
- data/app/assets/images/iconic/gray/iphone_12x16.png +0 -0
- data/app/assets/images/iconic/gray/iphone_18x24.png +0 -0
- data/app/assets/images/iconic/gray/iphone_24x32.png +0 -0
- data/app/assets/images/iconic/gray/iphone_6x8.png +0 -0
- data/app/assets/images/iconic/gray/iphone_9x12.png +0 -0
- data/app/assets/images/iconic/gray/key_fill_12x12.png +0 -0
- data/app/assets/images/iconic/gray/key_fill_16x16.png +0 -0
- data/app/assets/images/iconic/gray/key_fill_24x24.png +0 -0
- data/app/assets/images/iconic/gray/key_fill_32x32.png +0 -0
- data/app/assets/images/iconic/gray/key_fill_8x8.png +0 -0
- data/app/assets/images/iconic/gray/key_stroke_12x12.png +0 -0
- data/app/assets/images/iconic/gray/key_stroke_16x16.png +0 -0
- data/app/assets/images/iconic/gray/key_stroke_24x24.png +0 -0
- data/app/assets/images/iconic/gray/key_stroke_32x32.png +0 -0
- data/app/assets/images/iconic/gray/key_stroke_8x8.png +0 -0
- data/app/assets/images/iconic/gray/last_12x12.png +0 -0
- data/app/assets/images/iconic/gray/last_16x16.png +0 -0
- data/app/assets/images/iconic/gray/last_24x24.png +0 -0
- data/app/assets/images/iconic/gray/last_32x32.png +0 -0
- data/app/assets/images/iconic/gray/last_8x8.png +0 -0
- data/app/assets/images/iconic/gray/layers_12x11.png +0 -0
- data/app/assets/images/iconic/gray/layers_16x14.png +0 -0
- data/app/assets/images/iconic/gray/layers_24x21.png +0 -0
- data/app/assets/images/iconic/gray/layers_32x28.png +0 -0
- data/app/assets/images/iconic/gray/layers_8x7.png +0 -0
- data/app/assets/images/iconic/gray/layers_alt_12x12.png +0 -0
- data/app/assets/images/iconic/gray/layers_alt_16x16.png +0 -0
- data/app/assets/images/iconic/gray/layers_alt_24x24.png +0 -0
- data/app/assets/images/iconic/gray/layers_alt_32x32.png +0 -0
- data/app/assets/images/iconic/gray/layers_alt_8x8.png +0 -0
- data/app/assets/images/iconic/gray/left_quote_12x12.png +0 -0
- data/app/assets/images/iconic/gray/left_quote_16x16.png +0 -0
- data/app/assets/images/iconic/gray/left_quote_24x24.png +0 -0
- data/app/assets/images/iconic/gray/left_quote_32x32.png +0 -0
- data/app/assets/images/iconic/gray/left_quote_8x8.png +0 -0
- data/app/assets/images/iconic/gray/left_quote_alt_12x12.png +0 -0
- data/app/assets/images/iconic/gray/left_quote_alt_16x16.png +0 -0
- data/app/assets/images/iconic/gray/left_quote_alt_24x24.png +0 -0
- data/app/assets/images/iconic/gray/left_quote_alt_32x32.png +0 -0
- data/app/assets/images/iconic/gray/left_quote_alt_8x8.png +0 -0
- data/app/assets/images/iconic/gray/lightbulb_10x16.png +0 -0
- data/app/assets/images/iconic/gray/lightbulb_15x24.png +0 -0
- data/app/assets/images/iconic/gray/lightbulb_20x32.png +0 -0
- data/app/assets/images/iconic/gray/lightbulb_5x8.png +0 -0
- data/app/assets/images/iconic/gray/lightbulb_8x12.png +0 -0
- data/app/assets/images/iconic/gray/link_12x12.png +0 -0
- data/app/assets/images/iconic/gray/link_16x16.png +0 -0
- data/app/assets/images/iconic/gray/link_24x24.png +0 -0
- data/app/assets/images/iconic/gray/link_32x32.png +0 -0
- data/app/assets/images/iconic/gray/link_8x8.png +0 -0
- data/app/assets/images/iconic/gray/list_12x11.png +0 -0
- data/app/assets/images/iconic/gray/list_16x14.png +0 -0
- data/app/assets/images/iconic/gray/list_24x21.png +0 -0
- data/app/assets/images/iconic/gray/list_32x28.png +0 -0
- data/app/assets/images/iconic/gray/list_8x7.png +0 -0
- data/app/assets/images/iconic/gray/lock_fill_12x16.png +0 -0
- data/app/assets/images/iconic/gray/lock_fill_18x24.png +0 -0
- data/app/assets/images/iconic/gray/lock_fill_24x32.png +0 -0
- data/app/assets/images/iconic/gray/lock_fill_6x8.png +0 -0
- data/app/assets/images/iconic/gray/lock_fill_9x12.png +0 -0
- data/app/assets/images/iconic/gray/lock_stroke_12x16.png +0 -0
- data/app/assets/images/iconic/gray/lock_stroke_18x24.png +0 -0
- data/app/assets/images/iconic/gray/lock_stroke_24x32.png +0 -0
- data/app/assets/images/iconic/gray/lock_stroke_6x8.png +0 -0
- data/app/assets/images/iconic/gray/lock_stroke_9x12.png +0 -0
- data/app/assets/images/iconic/gray/loop_12x12.png +0 -0
- data/app/assets/images/iconic/gray/loop_16x16.png +0 -0
- data/app/assets/images/iconic/gray/loop_24x24.png +0 -0
- data/app/assets/images/iconic/gray/loop_32x32.png +0 -0
- data/app/assets/images/iconic/gray/loop_8x8.png +0 -0
- data/app/assets/images/iconic/gray/loop_alt1_12x9.png +0 -0
- data/app/assets/images/iconic/gray/loop_alt1_16x12.png +0 -0
- data/app/assets/images/iconic/gray/loop_alt1_24x18.png +0 -0
- data/app/assets/images/iconic/gray/loop_alt1_32x24.png +0 -0
- data/app/assets/images/iconic/gray/loop_alt1_8x6.png +0 -0
- data/app/assets/images/iconic/gray/loop_alt2_12x11.png +0 -0
- data/app/assets/images/iconic/gray/loop_alt2_16x14.png +0 -0
- data/app/assets/images/iconic/gray/loop_alt2_24x21.png +0 -0
- data/app/assets/images/iconic/gray/loop_alt2_32x28.png +0 -0
- data/app/assets/images/iconic/gray/loop_alt2_8x7.png +0 -0
- data/app/assets/images/iconic/gray/loop_alt3_12x9.png +0 -0
- data/app/assets/images/iconic/gray/loop_alt3_16x12.png +0 -0
- data/app/assets/images/iconic/gray/loop_alt3_24x18.png +0 -0
- data/app/assets/images/iconic/gray/loop_alt3_32x24.png +0 -0
- data/app/assets/images/iconic/gray/loop_alt3_8x6.png +0 -0
- data/app/assets/images/iconic/gray/loop_alt4_12x9.png +0 -0
- data/app/assets/images/iconic/gray/loop_alt4_16x12.png +0 -0
- data/app/assets/images/iconic/gray/loop_alt4_24x18.png +0 -0
- data/app/assets/images/iconic/gray/loop_alt4_32x24.png +0 -0
- data/app/assets/images/iconic/gray/loop_alt4_8x6.png +0 -0
- data/app/assets/images/iconic/gray/magnifying_glass_12x12.png +0 -0
- data/app/assets/images/iconic/gray/magnifying_glass_16x16.png +0 -0
- data/app/assets/images/iconic/gray/magnifying_glass_24x24.png +0 -0
- data/app/assets/images/iconic/gray/magnifying_glass_32x32.png +0 -0
- data/app/assets/images/iconic/gray/magnifying_glass_8x8.png +0 -0
- data/app/assets/images/iconic/gray/magnifying_glass_alt_12x12.png +0 -0
- data/app/assets/images/iconic/gray/magnifying_glass_alt_16x16.png +0 -0
- data/app/assets/images/iconic/gray/magnifying_glass_alt_24x24.png +0 -0
- data/app/assets/images/iconic/gray/magnifying_glass_alt_32x32.png +0 -0
- data/app/assets/images/iconic/gray/magnifying_glass_alt_8x8.png +0 -0
- data/app/assets/images/iconic/gray/mail_12x9.png +0 -0
- data/app/assets/images/iconic/gray/mail_16x12.png +0 -0
- data/app/assets/images/iconic/gray/mail_24x18.png +0 -0
- data/app/assets/images/iconic/gray/mail_32x24.png +0 -0
- data/app/assets/images/iconic/gray/mail_8x6.png +0 -0
- data/app/assets/images/iconic/gray/mail_alt_12x9.png +0 -0
- data/app/assets/images/iconic/gray/mail_alt_16x12.png +0 -0
- data/app/assets/images/iconic/gray/mail_alt_24x18.png +0 -0
- data/app/assets/images/iconic/gray/mail_alt_32x24.png +0 -0
- data/app/assets/images/iconic/gray/mail_alt_8x6.png +0 -0
- data/app/assets/images/iconic/gray/map_pin_alt_12x24.png +0 -0
- data/app/assets/images/iconic/gray/map_pin_alt_16x32.png +0 -0
- data/app/assets/images/iconic/gray/map_pin_alt_4x8.png +0 -0
- data/app/assets/images/iconic/gray/map_pin_alt_6x12.png +0 -0
- data/app/assets/images/iconic/gray/map_pin_alt_8x16.png +0 -0
- data/app/assets/images/iconic/gray/map_pin_fill_12x12.png +0 -0
- data/app/assets/images/iconic/gray/map_pin_fill_16x16.png +0 -0
- data/app/assets/images/iconic/gray/map_pin_fill_24x24.png +0 -0
- data/app/assets/images/iconic/gray/map_pin_fill_32x32.png +0 -0
- data/app/assets/images/iconic/gray/map_pin_fill_8x8.png +0 -0
- data/app/assets/images/iconic/gray/map_pin_stroke_12x12.png +0 -0
- data/app/assets/images/iconic/gray/map_pin_stroke_16x16.png +0 -0
- data/app/assets/images/iconic/gray/map_pin_stroke_24x24.png +0 -0
- data/app/assets/images/iconic/gray/map_pin_stroke_32x32.png +0 -0
- data/app/assets/images/iconic/gray/map_pin_stroke_8x8.png +0 -0
- data/app/assets/images/iconic/gray/mic_12x16.png +0 -0
- data/app/assets/images/iconic/gray/mic_18x24.png +0 -0
- data/app/assets/images/iconic/gray/mic_24x32.png +0 -0
- data/app/assets/images/iconic/gray/mic_6x8.png +0 -0
- data/app/assets/images/iconic/gray/mic_9x12.png +0 -0
- data/app/assets/images/iconic/gray/minus_12x3.png +0 -0
- data/app/assets/images/iconic/gray/minus_16x4.png +0 -0
- data/app/assets/images/iconic/gray/minus_24x6.png +0 -0
- data/app/assets/images/iconic/gray/minus_32x8.png +0 -0
- data/app/assets/images/iconic/gray/minus_8x2.png +0 -0
- data/app/assets/images/iconic/gray/minus_alt_12x12.png +0 -0
- data/app/assets/images/iconic/gray/minus_alt_16x16.png +0 -0
- data/app/assets/images/iconic/gray/minus_alt_24x24.png +0 -0
- data/app/assets/images/iconic/gray/minus_alt_32x32.png +0 -0
- data/app/assets/images/iconic/gray/minus_alt_8x8.png +0 -0
- data/app/assets/images/iconic/gray/moon_fill_12x12.png +0 -0
- data/app/assets/images/iconic/gray/moon_fill_16x16.png +0 -0
- data/app/assets/images/iconic/gray/moon_fill_24x24.png +0 -0
- data/app/assets/images/iconic/gray/moon_fill_32x32.png +0 -0
- data/app/assets/images/iconic/gray/moon_fill_8x8.png +0 -0
- data/app/assets/images/iconic/gray/moon_stroke_12x12.png +0 -0
- data/app/assets/images/iconic/gray/moon_stroke_16x16.png +0 -0
- data/app/assets/images/iconic/gray/moon_stroke_24x24.png +0 -0
- data/app/assets/images/iconic/gray/moon_stroke_32x32.png +0 -0
- data/app/assets/images/iconic/gray/moon_stroke_8x8.png +0 -0
- data/app/assets/images/iconic/gray/move_12x12.png +0 -0
- data/app/assets/images/iconic/gray/move_16x16.png +0 -0
- data/app/assets/images/iconic/gray/move_24x24.png +0 -0
- data/app/assets/images/iconic/gray/move_32x32.png +0 -0
- data/app/assets/images/iconic/gray/move_8x8.png +0 -0
- data/app/assets/images/iconic/gray/move_alt1_12x12.png +0 -0
- data/app/assets/images/iconic/gray/move_alt1_16x16.png +0 -0
- data/app/assets/images/iconic/gray/move_alt1_24x24.png +0 -0
- data/app/assets/images/iconic/gray/move_alt1_32x32.png +0 -0
- data/app/assets/images/iconic/gray/move_alt1_8x8.png +0 -0
- data/app/assets/images/iconic/gray/move_alt2_12x12.png +0 -0
- data/app/assets/images/iconic/gray/move_alt2_16x16.png +0 -0
- data/app/assets/images/iconic/gray/move_alt2_24x24.png +0 -0
- data/app/assets/images/iconic/gray/move_alt2_32x32.png +0 -0
- data/app/assets/images/iconic/gray/move_alt2_8x8.png +0 -0
- data/app/assets/images/iconic/gray/move_horizontal_12x32.png +0 -0
- data/app/assets/images/iconic/gray/move_horizontal_3x8.png +0 -0
- data/app/assets/images/iconic/gray/move_horizontal_5x12.png +0 -0
- data/app/assets/images/iconic/gray/move_horizontal_6x16.png +0 -0
- data/app/assets/images/iconic/gray/move_horizontal_9x24.png +0 -0
- data/app/assets/images/iconic/gray/move_horizontal_alt1_12x32.png +0 -0
- data/app/assets/images/iconic/gray/move_horizontal_alt1_3x8.png +0 -0
- data/app/assets/images/iconic/gray/move_horizontal_alt1_5x12.png +0 -0
- data/app/assets/images/iconic/gray/move_horizontal_alt1_6x16.png +0 -0
- data/app/assets/images/iconic/gray/move_horizontal_alt1_9x24.png +0 -0
- data/app/assets/images/iconic/gray/move_horizontal_alt2_12x12.png +0 -0
- data/app/assets/images/iconic/gray/move_horizontal_alt2_16x16.png +0 -0
- data/app/assets/images/iconic/gray/move_horizontal_alt2_24x24.png +0 -0
- data/app/assets/images/iconic/gray/move_horizontal_alt2_32x32.png +0 -0
- data/app/assets/images/iconic/gray/move_horizontal_alt2_8x8.png +0 -0
- data/app/assets/images/iconic/gray/move_vertical_12x32.png +0 -0
- data/app/assets/images/iconic/gray/move_vertical_3x8.png +0 -0
- data/app/assets/images/iconic/gray/move_vertical_5x12.png +0 -0
- data/app/assets/images/iconic/gray/move_vertical_6x16.png +0 -0
- data/app/assets/images/iconic/gray/move_vertical_9x24.png +0 -0
- data/app/assets/images/iconic/gray/move_vertical_alt1_12x32.png +0 -0
- data/app/assets/images/iconic/gray/move_vertical_alt1_3x8.png +0 -0
- data/app/assets/images/iconic/gray/move_vertical_alt1_5x12.png +0 -0
- data/app/assets/images/iconic/gray/move_vertical_alt1_6x16.png +0 -0
- data/app/assets/images/iconic/gray/move_vertical_alt1_9x24.png +0 -0
- data/app/assets/images/iconic/gray/move_vertical_alt2_12x12.png +0 -0
- data/app/assets/images/iconic/gray/move_vertical_alt2_16x16.png +0 -0
- data/app/assets/images/iconic/gray/move_vertical_alt2_24x24.png +0 -0
- data/app/assets/images/iconic/gray/move_vertical_alt2_32x32.png +0 -0
- data/app/assets/images/iconic/gray/move_vertical_alt2_8x8.png +0 -0
- data/app/assets/images/iconic/gray/movie_12x12.png +0 -0
- data/app/assets/images/iconic/gray/movie_16x16.png +0 -0
- data/app/assets/images/iconic/gray/movie_24x24.png +0 -0
- data/app/assets/images/iconic/gray/movie_32x32.png +0 -0
- data/app/assets/images/iconic/gray/movie_8x8.png +0 -0
- data/app/assets/images/iconic/gray/new_window_12x12.png +0 -0
- data/app/assets/images/iconic/gray/new_window_16x16.png +0 -0
- data/app/assets/images/iconic/gray/new_window_24x24.png +0 -0
- data/app/assets/images/iconic/gray/new_window_32x32.png +0 -0
- data/app/assets/images/iconic/gray/new_window_8x8.png +0 -0
- data/app/assets/images/iconic/gray/pause_12x16.png +0 -0
- data/app/assets/images/iconic/gray/pause_18x24.png +0 -0
- data/app/assets/images/iconic/gray/pause_24x32.png +0 -0
- data/app/assets/images/iconic/gray/pause_6x8.png +0 -0
- data/app/assets/images/iconic/gray/pause_9x12.png +0 -0
- data/app/assets/images/iconic/gray/pen_12x12.png +0 -0
- data/app/assets/images/iconic/gray/pen_16x16.png +0 -0
- data/app/assets/images/iconic/gray/pen_24x24.png +0 -0
- data/app/assets/images/iconic/gray/pen_32x32.png +0 -0
- data/app/assets/images/iconic/gray/pen_8x8.png +0 -0
- data/app/assets/images/iconic/gray/pen_alt2_12x12.png +0 -0
- data/app/assets/images/iconic/gray/pen_alt2_16x16.png +0 -0
- data/app/assets/images/iconic/gray/pen_alt2_24x24.png +0 -0
- data/app/assets/images/iconic/gray/pen_alt2_32x32.png +0 -0
- data/app/assets/images/iconic/gray/pen_alt2_8x8.png +0 -0
- data/app/assets/images/iconic/gray/pen_alt_fill_12x12.png +0 -0
- data/app/assets/images/iconic/gray/pen_alt_fill_16x16.png +0 -0
- data/app/assets/images/iconic/gray/pen_alt_fill_24x24.png +0 -0
- data/app/assets/images/iconic/gray/pen_alt_fill_32x32.png +0 -0
- data/app/assets/images/iconic/gray/pen_alt_fill_8x8.png +0 -0
- data/app/assets/images/iconic/gray/pen_alt_stroke_12x12.png +0 -0
- data/app/assets/images/iconic/gray/pen_alt_stroke_16x16.png +0 -0
- data/app/assets/images/iconic/gray/pen_alt_stroke_24x24.png +0 -0
- data/app/assets/images/iconic/gray/pen_alt_stroke_32x32.png +0 -0
- data/app/assets/images/iconic/gray/pen_alt_stroke_8x8.png +0 -0
- data/app/assets/images/iconic/gray/pilcrow_12x16.png +0 -0
- data/app/assets/images/iconic/gray/pilcrow_18x24.png +0 -0
- data/app/assets/images/iconic/gray/pilcrow_24x32.png +0 -0
- data/app/assets/images/iconic/gray/pilcrow_6x8.png +0 -0
- data/app/assets/images/iconic/gray/pilcrow_9x12.png +0 -0
- data/app/assets/images/iconic/gray/pin_12x12.png +0 -0
- data/app/assets/images/iconic/gray/pin_16x16.png +0 -0
- data/app/assets/images/iconic/gray/pin_24x24.png +0 -0
- data/app/assets/images/iconic/gray/pin_32x32.png +0 -0
- data/app/assets/images/iconic/gray/pin_8x8.png +0 -0
- data/app/assets/images/iconic/gray/play_12x16.png +0 -0
- data/app/assets/images/iconic/gray/play_18x24.png +0 -0
- data/app/assets/images/iconic/gray/play_24x32.png +0 -0
- data/app/assets/images/iconic/gray/play_6x8.png +0 -0
- data/app/assets/images/iconic/gray/play_9x12.png +0 -0
- data/app/assets/images/iconic/gray/play_alt_12x12.png +0 -0
- data/app/assets/images/iconic/gray/play_alt_16x16.png +0 -0
- data/app/assets/images/iconic/gray/play_alt_24x24.png +0 -0
- data/app/assets/images/iconic/gray/play_alt_32x32.png +0 -0
- data/app/assets/images/iconic/gray/play_alt_8x8.png +0 -0
- data/app/assets/images/iconic/gray/plus_12x12.png +0 -0
- data/app/assets/images/iconic/gray/plus_16x16.png +0 -0
- data/app/assets/images/iconic/gray/plus_24x24.png +0 -0
- data/app/assets/images/iconic/gray/plus_32x32.png +0 -0
- data/app/assets/images/iconic/gray/plus_8x8.png +0 -0
- data/app/assets/images/iconic/gray/plus_alt_12x12.png +0 -0
- data/app/assets/images/iconic/gray/plus_alt_16x16.png +0 -0
- data/app/assets/images/iconic/gray/plus_alt_24x24.png +0 -0
- data/app/assets/images/iconic/gray/plus_alt_32x32.png +0 -0
- data/app/assets/images/iconic/gray/plus_alt_8x8.png +0 -0
- data/app/assets/images/iconic/gray/question_mark_12x24.png +0 -0
- data/app/assets/images/iconic/gray/question_mark_16x32.png +0 -0
- data/app/assets/images/iconic/gray/question_mark_4x8.png +0 -0
- data/app/assets/images/iconic/gray/question_mark_6x12.png +0 -0
- data/app/assets/images/iconic/gray/question_mark_8x16.png +0 -0
- data/app/assets/images/iconic/gray/rain_12x11.png +0 -0
- data/app/assets/images/iconic/gray/rain_16x14.png +0 -0
- data/app/assets/images/iconic/gray/rain_24x21.png +0 -0
- data/app/assets/images/iconic/gray/rain_32x28.png +0 -0
- data/app/assets/images/iconic/gray/rain_8x7.png +0 -0
- data/app/assets/images/iconic/gray/read_more_12x12.png +0 -0
- data/app/assets/images/iconic/gray/read_more_16x16.png +0 -0
- data/app/assets/images/iconic/gray/read_more_24x24.png +0 -0
- data/app/assets/images/iconic/gray/read_more_32x32.png +0 -0
- data/app/assets/images/iconic/gray/read_more_8x8.png +0 -0
- data/app/assets/images/iconic/gray/reload_12x14.png +0 -0
- data/app/assets/images/iconic/gray/reload_18x21.png +0 -0
- data/app/assets/images/iconic/gray/reload_24x28.png +0 -0
- data/app/assets/images/iconic/gray/reload_6x7.png +0 -0
- data/app/assets/images/iconic/gray/reload_9x11.png +0 -0
- data/app/assets/images/iconic/gray/reload_alt1_12x14.png +0 -0
- data/app/assets/images/iconic/gray/reload_alt1_18x21.png +0 -0
- data/app/assets/images/iconic/gray/reload_alt1_24x28.png +0 -0
- data/app/assets/images/iconic/gray/reload_alt1_6x7.png +0 -0
- data/app/assets/images/iconic/gray/reload_alt1_9x11.png +0 -0
- data/app/assets/images/iconic/gray/right_quote_12x12.png +0 -0
- data/app/assets/images/iconic/gray/right_quote_16x16.png +0 -0
- data/app/assets/images/iconic/gray/right_quote_24x24.png +0 -0
- data/app/assets/images/iconic/gray/right_quote_32x32.png +0 -0
- data/app/assets/images/iconic/gray/right_quote_8x8.png +0 -0
- data/app/assets/images/iconic/gray/right_quote_alt_12x12.png +0 -0
- data/app/assets/images/iconic/gray/right_quote_alt_16x16.png +0 -0
- data/app/assets/images/iconic/gray/right_quote_alt_24x24.png +0 -0
- data/app/assets/images/iconic/gray/right_quote_alt_32x32.png +0 -0
- data/app/assets/images/iconic/gray/right_quote_alt_8x8.png +0 -0
- data/app/assets/images/iconic/gray/rss_12x12.png +0 -0
- data/app/assets/images/iconic/gray/rss_16x16.png +0 -0
- data/app/assets/images/iconic/gray/rss_24x24.png +0 -0
- data/app/assets/images/iconic/gray/rss_32x32.png +0 -0
- data/app/assets/images/iconic/gray/rss_8x8.png +0 -0
- data/app/assets/images/iconic/gray/rss_alt_12x12.png +0 -0
- data/app/assets/images/iconic/gray/rss_alt_16x16.png +0 -0
- data/app/assets/images/iconic/gray/rss_alt_24x24.png +0 -0
- data/app/assets/images/iconic/gray/rss_alt_32x32.png +0 -0
- data/app/assets/images/iconic/gray/rss_alt_8x8.png +0 -0
- data/app/assets/images/iconic/gray/share_12x12.png +0 -0
- data/app/assets/images/iconic/gray/share_16x16.png +0 -0
- data/app/assets/images/iconic/gray/share_24x24.png +0 -0
- data/app/assets/images/iconic/gray/share_32x32.png +0 -0
- data/app/assets/images/iconic/gray/share_8x8.png +0 -0
- data/app/assets/images/iconic/gray/spin_11x12.png +0 -0
- data/app/assets/images/iconic/gray/spin_14x16.png +0 -0
- data/app/assets/images/iconic/gray/spin_21x24.png +0 -0
- data/app/assets/images/iconic/gray/spin_28x32.png +0 -0
- data/app/assets/images/iconic/gray/spin_7x8.png +0 -0
- data/app/assets/images/iconic/gray/spin_alt_12x12.png +0 -0
- data/app/assets/images/iconic/gray/spin_alt_16x16.png +0 -0
- data/app/assets/images/iconic/gray/spin_alt_24x24.png +0 -0
- data/app/assets/images/iconic/gray/spin_alt_32x32.png +0 -0
- data/app/assets/images/iconic/gray/spin_alt_8x8.png +0 -0
- data/app/assets/images/iconic/gray/star_12x12.png +0 -0
- data/app/assets/images/iconic/gray/star_16x16.png +0 -0
- data/app/assets/images/iconic/gray/star_24x24.png +0 -0
- data/app/assets/images/iconic/gray/star_32x32.png +0 -0
- data/app/assets/images/iconic/gray/star_8x8.png +0 -0
- data/app/assets/images/iconic/gray/steering_wheel_12x12.png +0 -0
- data/app/assets/images/iconic/gray/steering_wheel_16x16.png +0 -0
- data/app/assets/images/iconic/gray/steering_wheel_24x24.png +0 -0
- data/app/assets/images/iconic/gray/steering_wheel_32x32.png +0 -0
- data/app/assets/images/iconic/gray/steering_wheel_8x8.png +0 -0
- data/app/assets/images/iconic/gray/stop_12x12.png +0 -0
- data/app/assets/images/iconic/gray/stop_16x16.png +0 -0
- data/app/assets/images/iconic/gray/stop_24x24.png +0 -0
- data/app/assets/images/iconic/gray/stop_32x32.png +0 -0
- data/app/assets/images/iconic/gray/stop_8x8.png +0 -0
- data/app/assets/images/iconic/gray/sun_12x12.png +0 -0
- data/app/assets/images/iconic/gray/sun_16x16.png +0 -0
- data/app/assets/images/iconic/gray/sun_24x24.png +0 -0
- data/app/assets/images/iconic/gray/sun_32x32.png +0 -0
- data/app/assets/images/iconic/gray/sun_8x8.png +0 -0
- data/app/assets/images/iconic/gray/sun_alt_fill_12x12.png +0 -0
- data/app/assets/images/iconic/gray/sun_alt_fill_16x16.png +0 -0
- data/app/assets/images/iconic/gray/sun_alt_fill_24x24.png +0 -0
- data/app/assets/images/iconic/gray/sun_alt_fill_32x32.png +0 -0
- data/app/assets/images/iconic/gray/sun_alt_fill_8x8.png +0 -0
- data/app/assets/images/iconic/gray/sun_alt_stroke_12x12.png +0 -0
- data/app/assets/images/iconic/gray/sun_alt_stroke_16x16.png +0 -0
- data/app/assets/images/iconic/gray/sun_alt_stroke_24x24.png +0 -0
- data/app/assets/images/iconic/gray/sun_alt_stroke_32x32.png +0 -0
- data/app/assets/images/iconic/gray/sun_alt_stroke_8x8.png +0 -0
- data/app/assets/images/iconic/gray/tag_fill_12x12.png +0 -0
- data/app/assets/images/iconic/gray/tag_fill_16x16.png +0 -0
- data/app/assets/images/iconic/gray/tag_fill_24x24.png +0 -0
- data/app/assets/images/iconic/gray/tag_fill_32x32.png +0 -0
- data/app/assets/images/iconic/gray/tag_fill_8x8.png +0 -0
- data/app/assets/images/iconic/gray/tag_stroke_12x12.png +0 -0
- data/app/assets/images/iconic/gray/tag_stroke_16x16.png +0 -0
- data/app/assets/images/iconic/gray/tag_stroke_24x24.png +0 -0
- data/app/assets/images/iconic/gray/tag_stroke_32x32.png +0 -0
- data/app/assets/images/iconic/gray/tag_stroke_8x8.png +0 -0
- data/app/assets/images/iconic/gray/target_12x12.png +0 -0
- data/app/assets/images/iconic/gray/target_16x16.png +0 -0
- data/app/assets/images/iconic/gray/target_24x24.png +0 -0
- data/app/assets/images/iconic/gray/target_32x32.png +0 -0
- data/app/assets/images/iconic/gray/target_8x8.png +0 -0
- data/app/assets/images/iconic/gray/transfer_12x9.png +0 -0
- data/app/assets/images/iconic/gray/transfer_16x12.png +0 -0
- data/app/assets/images/iconic/gray/transfer_24x18.png +0 -0
- data/app/assets/images/iconic/gray/transfer_32x24.png +0 -0
- data/app/assets/images/iconic/gray/transfer_8x6.png +0 -0
- data/app/assets/images/iconic/gray/trash_fill_12x12.png +0 -0
- data/app/assets/images/iconic/gray/trash_fill_16x16.png +0 -0
- data/app/assets/images/iconic/gray/trash_fill_24x24.png +0 -0
- data/app/assets/images/iconic/gray/trash_fill_32x32.png +0 -0
- data/app/assets/images/iconic/gray/trash_fill_8x8.png +0 -0
- data/app/assets/images/iconic/gray/trash_stroke_12x12.png +0 -0
- data/app/assets/images/iconic/gray/trash_stroke_16x16.png +0 -0
- data/app/assets/images/iconic/gray/trash_stroke_24x24.png +0 -0
- data/app/assets/images/iconic/gray/trash_stroke_32x32.png +0 -0
- data/app/assets/images/iconic/gray/trash_stroke_8x8.png +0 -0
- data/app/assets/images/iconic/gray/umbrella_12x12.png +0 -0
- data/app/assets/images/iconic/gray/umbrella_16x16.png +0 -0
- data/app/assets/images/iconic/gray/umbrella_24x24.png +0 -0
- data/app/assets/images/iconic/gray/umbrella_32x32.png +0 -0
- data/app/assets/images/iconic/gray/umbrella_8x8.png +0 -0
- data/app/assets/images/iconic/gray/undo_12x12.png +0 -0
- data/app/assets/images/iconic/gray/undo_16x16.png +0 -0
- data/app/assets/images/iconic/gray/undo_24x24.png +0 -0
- data/app/assets/images/iconic/gray/undo_32x32.png +0 -0
- data/app/assets/images/iconic/gray/undo_8x8.png +0 -0
- data/app/assets/images/iconic/gray/unlock_fill_12x16.png +0 -0
- data/app/assets/images/iconic/gray/unlock_fill_18x24.png +0 -0
- data/app/assets/images/iconic/gray/unlock_fill_24x32.png +0 -0
- data/app/assets/images/iconic/gray/unlock_fill_6x8.png +0 -0
- data/app/assets/images/iconic/gray/unlock_fill_9x12.png +0 -0
- data/app/assets/images/iconic/gray/unlock_stroke_12x9.png +0 -0
- data/app/assets/images/iconic/gray/unlock_stroke_16x12.png +0 -0
- data/app/assets/images/iconic/gray/unlock_stroke_24x18.png +0 -0
- data/app/assets/images/iconic/gray/unlock_stroke_32x24.png +0 -0
- data/app/assets/images/iconic/gray/unlock_stroke_8x6.png +0 -0
- data/app/assets/images/iconic/gray/upload_12x24.png +0 -0
- data/app/assets/images/iconic/gray/upload_16x32.png +0 -0
- data/app/assets/images/iconic/gray/upload_4x8.png +0 -0
- data/app/assets/images/iconic/gray/upload_6x12.png +0 -0
- data/app/assets/images/iconic/gray/upload_8x16.png +0 -0
- data/app/assets/images/iconic/gray/user_12x16.png +0 -0
- data/app/assets/images/iconic/gray/user_18x24.png +0 -0
- data/app/assets/images/iconic/gray/user_24x32.png +0 -0
- data/app/assets/images/iconic/gray/user_6x8.png +0 -0
- data/app/assets/images/iconic/gray/user_9x12.png +0 -0
- data/app/assets/images/iconic/gray/volume_12x9.png +0 -0
- data/app/assets/images/iconic/gray/volume_16x12.png +0 -0
- data/app/assets/images/iconic/gray/volume_24x18.png +0 -0
- data/app/assets/images/iconic/gray/volume_32x24.png +0 -0
- data/app/assets/images/iconic/gray/volume_8x6.png +0 -0
- data/app/assets/images/iconic/gray/volume_mute_12x9.png +0 -0
- data/app/assets/images/iconic/gray/volume_mute_16x12.png +0 -0
- data/app/assets/images/iconic/gray/volume_mute_24x18.png +0 -0
- data/app/assets/images/iconic/gray/volume_mute_32x24.png +0 -0
- data/app/assets/images/iconic/gray/volume_mute_8x6.png +0 -0
- data/app/assets/images/iconic/gray/wrench_12x12.png +0 -0
- data/app/assets/images/iconic/gray/wrench_16x16.png +0 -0
- data/app/assets/images/iconic/gray/wrench_24x24.png +0 -0
- data/app/assets/images/iconic/gray/wrench_32x32.png +0 -0
- data/app/assets/images/iconic/gray/wrench_8x8.png +0 -0
- data/app/assets/images/iconic/gray/x_11x11.png +0 -0
- data/app/assets/images/iconic/gray/x_14x14.png +0 -0
- data/app/assets/images/iconic/gray/x_21x21.png +0 -0
- data/app/assets/images/iconic/gray/x_28x28.png +0 -0
- data/app/assets/images/iconic/gray/x_7x7.png +0 -0
- data/app/assets/images/iconic/gray/x_alt_12x12.png +0 -0
- data/app/assets/images/iconic/gray/x_alt_16x16.png +0 -0
- data/app/assets/images/iconic/gray/x_alt_24x24.png +0 -0
- data/app/assets/images/iconic/gray/x_alt_32x32.png +0 -0
- data/app/assets/images/iconic/gray/x_alt_8x8.png +0 -0
- data/app/assets/images/loading.gif +0 -0
- data/app/assets/images/smoothness/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
- data/app/assets/images/smoothness/ui-bg_flat_75_ffffff_40x100.png +0 -0
- data/app/assets/images/smoothness/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
- data/app/assets/images/smoothness/ui-bg_glass_65_ffffff_1x400.png +0 -0
- data/app/assets/images/smoothness/ui-bg_glass_75_dadada_1x400.png +0 -0
- data/app/assets/images/smoothness/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
- data/app/assets/images/smoothness/ui-bg_glass_95_fef1ec_1x400.png +0 -0
- data/app/assets/images/smoothness/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
- data/app/assets/images/smoothness/ui-icons_222222_256x240.png +0 -0
- data/app/assets/images/smoothness/ui-icons_2e83ff_256x240.png +0 -0
- data/app/assets/images/smoothness/ui-icons_454545_256x240.png +0 -0
- data/app/assets/images/smoothness/ui-icons_888888_256x240.png +0 -0
- data/app/assets/images/smoothness/ui-icons_cd0a0a_256x240.png +0 -0
- data/app/assets/javascripts/support/ajax_loading.js.coffee +7 -0
- data/app/assets/javascripts/support/base.js.coffee +17 -0
- data/app/assets/javascripts/support/bootstrap.js.coffee +24 -0
- data/app/assets/javascripts/support/facebox.js.coffee +6 -0
- data/app/assets/javascripts/support/forms.js.coffee +82 -0
- data/app/assets/javascripts/support/gmap.js.coffee +22 -0
- data/app/assets/javascripts/support/pickers.js.coffee +14 -0
- data/app/assets/javascripts/support/plupload.js.coffee +32 -0
- data/app/assets/javascripts/support/uploads.js.coffee +2 -0
- data/app/assets/stylesheets/support/ajax_loading.css +36 -0
- data/app/assets/stylesheets/support/base.css +44 -0
- data/app/assets/stylesheets/support/bootstrap-customizable-responsive.less +8 -0
- data/app/assets/stylesheets/support/bootstrap-customizable.less +55 -0
- data/app/assets/stylesheets/support/bootstrap-responsive.css +5 -0
- data/app/assets/stylesheets/support/bootstrap-workarounds.css +35 -0
- data/app/assets/stylesheets/support/bootstrap.css +5 -0
- data/app/assets/stylesheets/support/elements.less +136 -0
- data/app/assets/stylesheets/support/facebox.css +11 -0
- data/app/assets/stylesheets/support/forms.css +161 -0
- data/app/assets/stylesheets/support/plupload.css +27 -0
- data/app/assets/stylesheets/support/uploads.css +4 -0
- data/app/controllers/admin/base_controller.rb +24 -0
- data/app/controllers/admin/responder.rb +39 -0
- data/app/helpers/admin_form_helper.rb +63 -0
- data/app/helpers/scaffold_helper.rb +29 -0
- data/app/inputs/boolean_input.rb +3 -0
- data/app/inputs/checkbox_input.rb +109 -0
- data/app/inputs/datepicker_input.rb +9 -0
- data/app/inputs/daterange_input.rb +30 -0
- data/app/inputs/datetime_input.rb +18 -0
- data/app/inputs/image_input.rb +10 -0
- data/app/inputs/markup_input.rb +12 -0
- data/app/inputs/photo_chooser_input.rb +8 -0
- data/app/inputs/simple_markup_input.rb +12 -0
- data/app/inputs/string_input.rb +5 -0
- data/app/inputs/tag_list_input.rb +2 -0
- data/app/inputs/taglist_input.rb +2 -0
- data/app/inputs/tags_input.rb +10 -0
- data/app/inputs/text_input.rb +5 -0
- data/app/models/authenticatable.rb +17 -0
- data/app/models/ckeditor/asset.rb +4 -0
- data/app/models/ckeditor/attachment_file.rb +12 -0
- data/app/models/ckeditor/picture.rb +13 -0
- data/app/models/confirmable.rb +14 -0
- data/app/models/recoverable.rb +13 -0
- data/app/models/registerable.rb +8 -0
- data/app/models/rememberable.rb +11 -0
- data/app/models/roleable.rb +53 -0
- data/app/models/suspendable.rb +29 -0
- data/app/models/trackable.rb +16 -0
- data/fullstack-admin.gemspec +1064 -0
- data/lib/fullstack-admin.rb +39 -0
- data/lib/fullstack-admin/engine.rb +7 -0
- data/lib/generators/fullstack/admin/install_generator.rb +62 -0
- data/lib/generators/fullstack/admin/templates/root/app/assets/javascripts/admin/admin.js.coffee +11 -0
- data/lib/generators/fullstack/admin/templates/root/app/assets/stylesheets/admin/admin.css +17 -0
- data/lib/generators/fullstack/admin/templates/root/app/models/user.rb +11 -0
- data/lib/generators/fullstack/admin/templates/root/lib/support/user_subject.rb +33 -0
- data/locales/en.yml +9 -0
- data/locales/it.yml +0 -0
- data/vendor/assets/javascripts/ajax-chosen.js +78 -0
- data/vendor/assets/javascripts/angular.js +157 -0
- data/vendor/assets/javascripts/bootstrap.js +1824 -0
- data/vendor/assets/javascripts/bootstrap_confirm_modal.js.coffee +29 -0
- data/vendor/assets/javascripts/combobox.js +101 -0
- data/vendor/assets/javascripts/jquery.noty.js +214 -0
- data/vendor/assets/javascripts/jquery.sticky.js +42 -0
- data/vendor/assets/javascripts/jquery.tagsinput.js +351 -0
- data/vendor/assets/javascripts/jquery.ui.datepicker-it.js +23 -0
- data/vendor/assets/javascripts/jquery.ui.map.js +2 -0
- data/vendor/assets/javascripts/jquery.validate.it.js +21 -0
- data/vendor/assets/javascripts/jquery.validate.js +1112 -0
- data/vendor/assets/javascripts/limit.js.coffee +34 -0
- data/vendor/assets/javascripts/notify.js.coffee +69 -0
- data/vendor/assets/javascripts/prevent_submit_on_enter.js.coffee +5 -0
- data/vendor/assets/javascripts/slider_input.js.coffee +31 -0
- data/vendor/assets/stylesheets/bootstrap-responsive.css +808 -0
- data/vendor/assets/stylesheets/bootstrap.css +4960 -0
- data/vendor/assets/stylesheets/jquery-ui.css +565 -0
- data/vendor/assets/stylesheets/jquery.noty.css +291 -0
- data/vendor/assets/stylesheets/jquery.tagsinput.css +8 -0
- metadata +1247 -0
@@ -0,0 +1,39 @@
|
|
1
|
+
# Author:: Maurizio Casimirri (mailto:maurizio.cas@gmail.com)
|
2
|
+
# Copyright:: Copyright (c) 2012 Maurizio Casimirri
|
3
|
+
#
|
4
|
+
# Permission is hereby granted, free of charge, to any person obtaining
|
5
|
+
# a copy of this software and associated documentation files (the
|
6
|
+
# "Software"), to deal in the Software without restriction, including
|
7
|
+
# without limitation the rights to use, copy, modify, merge, publish,
|
8
|
+
# distribute, sublicense, and/or sell copies of the Software, and to
|
9
|
+
# permit persons to whom the Software is furnished to do so, subject to
|
10
|
+
# the following conditions:
|
11
|
+
#
|
12
|
+
# The above copyright notice and this permission notice shall be
|
13
|
+
# included in all copies or substantial portions of the Software.
|
14
|
+
#
|
15
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
16
|
+
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
17
|
+
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
18
|
+
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
19
|
+
# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
20
|
+
# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
21
|
+
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
22
|
+
|
23
|
+
require "bootstrap-wysihtml5-rails"
|
24
|
+
require "bootstrap_helpers"
|
25
|
+
require "chosen-rails"
|
26
|
+
require "ckeditor"
|
27
|
+
require "facebox-rails"
|
28
|
+
require "formtastic"
|
29
|
+
require "formtastic-bootstrap"
|
30
|
+
require "kaminari"
|
31
|
+
require "less-rails-bootstrap"
|
32
|
+
require "meta_search"
|
33
|
+
require "plupload-rails"
|
34
|
+
require "fullstack"
|
35
|
+
|
36
|
+
require 'fullstack-admin/engine'
|
37
|
+
|
38
|
+
module FullstackAdmin
|
39
|
+
end
|
@@ -0,0 +1,62 @@
|
|
1
|
+
module Fullstack
|
2
|
+
module Admin
|
3
|
+
class InstallGenerator < Rails::Generators::Base
|
4
|
+
source_root File.expand_path('../templates', __FILE__)
|
5
|
+
|
6
|
+
class_option :fullstack, :type => :boolean, :default => true
|
7
|
+
|
8
|
+
class_option :host, :default => "remotehost"
|
9
|
+
class_option :user, :default => "ror"
|
10
|
+
class_option :title, :default => "title"
|
11
|
+
class_option :slogan, :default => "slogan"
|
12
|
+
|
13
|
+
def install_fullstack
|
14
|
+
if options[:fullstack]
|
15
|
+
generate "fullstack:install --host='#{host}' --user='#{user}' --title='#{title}' --slogan='#{slogan}'"
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
def copy_templates
|
20
|
+
directory "root", Rails.root
|
21
|
+
end
|
22
|
+
|
23
|
+
def assets
|
24
|
+
append_to_file "config/assets.yml" do
|
25
|
+
<<-eos
|
26
|
+
- admin/admin.css
|
27
|
+
- admin/admin.js
|
28
|
+
eos
|
29
|
+
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
protected
|
34
|
+
|
35
|
+
|
36
|
+
def host
|
37
|
+
options[:host]
|
38
|
+
end
|
39
|
+
|
40
|
+
def user
|
41
|
+
options[:user]
|
42
|
+
end
|
43
|
+
|
44
|
+
def app
|
45
|
+
Rails.application.class.to_s.split("::").first.underscore
|
46
|
+
end
|
47
|
+
|
48
|
+
def email
|
49
|
+
"info@#{host}"
|
50
|
+
end
|
51
|
+
|
52
|
+
def title
|
53
|
+
options[:title]
|
54
|
+
end
|
55
|
+
|
56
|
+
def slogan
|
57
|
+
options[:slogan]
|
58
|
+
end
|
59
|
+
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
data/lib/generators/fullstack/admin/templates/root/app/assets/javascripts/admin/admin.js.coffee
ADDED
@@ -0,0 +1,11 @@
|
|
1
|
+
#= require support/base
|
2
|
+
#= require support/bootstrap
|
3
|
+
#= require support/forms
|
4
|
+
#= require support/ajax_loading
|
5
|
+
#= require support/uploads
|
6
|
+
#= require support/plupload
|
7
|
+
#= require support/facebox
|
8
|
+
#= require admin/links
|
9
|
+
#= require ckeditor/init
|
10
|
+
|
11
|
+
# require support/gmap
|
@@ -0,0 +1,17 @@
|
|
1
|
+
/*
|
2
|
+
*= require support/base
|
3
|
+
*= require support/bootstrap
|
4
|
+
*= require support/forms
|
5
|
+
*= require support/ajax_loading
|
6
|
+
*= require support/uploads
|
7
|
+
*/
|
8
|
+
|
9
|
+
@media all and (min-width:980px) {
|
10
|
+
body {
|
11
|
+
position: relative;
|
12
|
+
padding-top: 68px;
|
13
|
+
}
|
14
|
+
}
|
15
|
+
|
16
|
+
|
17
|
+
|
@@ -0,0 +1,33 @@
|
|
1
|
+
class UserSubject < Checkin::Subject
|
2
|
+
|
3
|
+
role :guest, :alias => :anonymous do
|
4
|
+
!subject_model
|
5
|
+
end
|
6
|
+
|
7
|
+
role :logged_in, :alias => [:connected] do
|
8
|
+
!!subject_model
|
9
|
+
end
|
10
|
+
|
11
|
+
role :owner, :require => [:logged_in], :method => :own do |object|
|
12
|
+
object && ( object.respond_to?(:author) && ( subject_model == object.author ) ) || ( object.respond_to?(:owner) && ( subject_model == object.owner ) )
|
13
|
+
end
|
14
|
+
|
15
|
+
role :administrator, :require => :logged_in, :alias => :admin do
|
16
|
+
subject_model.has_role?(:administrator)
|
17
|
+
end
|
18
|
+
|
19
|
+
#
|
20
|
+
# Permissions
|
21
|
+
#
|
22
|
+
|
23
|
+
# Admin
|
24
|
+
|
25
|
+
scope :admin do
|
26
|
+
permissions do
|
27
|
+
allow :administrators
|
28
|
+
deny
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
end
|
33
|
+
|
data/locales/en.yml
ADDED
data/locales/it.yml
ADDED
File without changes
|
@@ -0,0 +1,78 @@
|
|
1
|
+
// Generated by CoffeeScript 1.3.1
|
2
|
+
|
3
|
+
(function($) {
|
4
|
+
return $.fn.ajaxChosen = function(settings, callback) {
|
5
|
+
var chosenXhr, defaultOptions, options, select;
|
6
|
+
if (settings == null) {
|
7
|
+
settings = {};
|
8
|
+
}
|
9
|
+
if (callback == null) {
|
10
|
+
callback = function() {};
|
11
|
+
}
|
12
|
+
defaultOptions = {
|
13
|
+
minTermLength: 3,
|
14
|
+
afterTypeDelay: 500,
|
15
|
+
jsonTermKey: "term"
|
16
|
+
};
|
17
|
+
select = this;
|
18
|
+
chosenXhr = null;
|
19
|
+
options = $.extend({}, defaultOptions, settings);
|
20
|
+
this.chosen();
|
21
|
+
return this.each(function() {
|
22
|
+
return $(this).next('.chzn-container').find(".search-field > input, .chzn-search > input").bind('keyup', function() {
|
23
|
+
var field, msg, success, val;
|
24
|
+
val = $.trim($(this).attr('value'));
|
25
|
+
msg = val.length < options.minTermLength ? "Keep typing..." : "Looking for '" + val + "'";
|
26
|
+
select.next('.chzn-container').find('.no-results').text(msg);
|
27
|
+
if (val === $(this).data('prevVal')) {
|
28
|
+
return false;
|
29
|
+
}
|
30
|
+
$(this).data('prevVal', val);
|
31
|
+
if (this.timer) {
|
32
|
+
clearTimeout(this.timer);
|
33
|
+
}
|
34
|
+
if (val.length < options.minTermLength) {
|
35
|
+
return false;
|
36
|
+
}
|
37
|
+
field = $(this);
|
38
|
+
if (!(options.data != null)) {
|
39
|
+
options.data = {};
|
40
|
+
}
|
41
|
+
options.data[options.jsonTermKey] = val;
|
42
|
+
success = options.success;
|
43
|
+
options.success = function(data) {
|
44
|
+
var items, selected_values;
|
45
|
+
if (!(data != null)) {
|
46
|
+
return;
|
47
|
+
}
|
48
|
+
selected_values = [];
|
49
|
+
select.find('option').each(function() {
|
50
|
+
if (!$(this).is(":selected")) {
|
51
|
+
return $(this).remove();
|
52
|
+
} else {
|
53
|
+
return selected_values.push($(this).val() + "-" + $(this).text());
|
54
|
+
}
|
55
|
+
});
|
56
|
+
items = callback(data);
|
57
|
+
$.each(items, function(value, text) {
|
58
|
+
if ($.inArray(value + "-" + text, selected_values) === -1) {
|
59
|
+
return $("<option />").attr('value', value).html(text).appendTo(select);
|
60
|
+
}
|
61
|
+
});
|
62
|
+
select.trigger("liszt:updated");
|
63
|
+
if (success != null) {
|
64
|
+
success(data);
|
65
|
+
}
|
66
|
+
field.attr('value', val);
|
67
|
+
return field.css('width', 'auto');
|
68
|
+
};
|
69
|
+
return this.timer = setTimeout(function() {
|
70
|
+
if (chosenXhr) {
|
71
|
+
chosenXhr.abort();
|
72
|
+
}
|
73
|
+
return chosenXhr = $.ajax(options);
|
74
|
+
}, options.afterTypeDelay);
|
75
|
+
});
|
76
|
+
});
|
77
|
+
};
|
78
|
+
})(jQuery);
|
@@ -0,0 +1,157 @@
|
|
1
|
+
/*
|
2
|
+
AngularJS v1.0.1
|
3
|
+
(c) 2010-2012 Google, Inc. http://angularjs.org
|
4
|
+
License: MIT
|
5
|
+
*/
|
6
|
+
(function(T,aa,p){'use strict';function m(b,a,c){var d;if(b)if(M(b))for(d in b)d!="prototype"&&d!="length"&&d!="name"&&b.hasOwnProperty(d)&&a.call(c,b[d],d);else if(b.forEach&&b.forEach!==m)b.forEach(a,c);else if(J(b)&&va(b.length))for(d=0;d<b.length;d++)a.call(c,b[d],d);else for(d in b)b.hasOwnProperty(d)&&a.call(c,b[d],d);return b}function kb(b){var a=[],c;for(c in b)b.hasOwnProperty(c)&&a.push(c);return a.sort()}function dc(b,a,c){for(var d=kb(b),e=0;e<d.length;e++)a.call(c,b[d[e]],d[e]);return d}
|
7
|
+
function lb(b){return function(a,c){b(c,a)}}function wa(){for(var b=Y.length,a;b;){b--;a=Y[b].charCodeAt(0);if(a==57)return Y[b]="A",Y.join("");if(a==90)Y[b]="0";else return Y[b]=String.fromCharCode(a+1),Y.join("")}Y.unshift("0");return Y.join("")}function D(b){m(arguments,function(a){a!==b&&m(a,function(a,d){b[d]=a})});return b}function H(b){return parseInt(b,10)}function xa(b,a){return D(new (D(function(){},{prototype:b})),a)}function x(){}function ya(b){return b}function B(b){return function(){return b}}
|
8
|
+
function v(b){return typeof b=="undefined"}function s(b){return typeof b!="undefined"}function J(b){return b!=null&&typeof b=="object"}function G(b){return typeof b=="string"}function va(b){return typeof b=="number"}function ma(b){return Sa.apply(b)=="[object Date]"}function K(b){return Sa.apply(b)=="[object Array]"}function M(b){return typeof b=="function"}function na(b){return b&&b.document&&b.location&&b.alert&&b.setInterval}function Q(b){return G(b)?b.replace(/^\s*/,"").replace(/\s*$/,""):b}function ec(b){return b&&
|
9
|
+
(b.nodeName||b.bind&&b.find)}function Ta(b,a,c){var d=[];m(b,function(b,g,h){d.push(a.call(c,b,g,h))});return d}function fc(b,a){var c=0,d;if(K(b)||G(b))return b.length;else if(J(b))for(d in b)(!a||b.hasOwnProperty(d))&&c++;return c}function Ua(b,a){if(b.indexOf)return b.indexOf(a);for(var c=0;c<b.length;c++)if(a===b[c])return c;return-1}function za(b,a){var c=Ua(b,a);c>=0&&b.splice(c,1);return a}function U(b,a){if(na(b)||b&&b.$evalAsync&&b.$watch)throw z("Can't copy Window or Scope");if(a){if(b===
|
10
|
+
a)throw z("Can't copy equivalent objects or arrays");if(K(b)){for(;a.length;)a.pop();for(var c=0;c<b.length;c++)a.push(U(b[c]))}else for(c in m(a,function(b,c){delete a[c]}),b)a[c]=U(b[c])}else(a=b)&&(K(b)?a=U(b,[]):ma(b)?a=new Date(b.getTime()):J(b)&&(a=U(b,{})));return a}function gc(b,a){var a=a||{},c;for(c in b)b.hasOwnProperty(c)&&c.substr(0,2)!=="$$"&&(a[c]=b[c]);return a}function fa(b,a){if(b===a)return!0;if(b===null||a===null)return!1;if(b!==b&&a!==a)return!0;var c=typeof b,d;if(c==typeof a&&
|
11
|
+
c=="object")if(K(b)){if((c=b.length)==a.length){for(d=0;d<c;d++)if(!fa(b[d],a[d]))return!1;return!0}}else if(ma(b))return ma(a)&&b.getTime()==a.getTime();else{if(b&&b.$evalAsync&&b.$watch||a&&a.$evalAsync&&a.$watch||na(b)||na(a))return!1;c={};for(d in b){if(d.charAt(0)!=="$"&&!M(b[d])&&!fa(b[d],a[d]))return!1;c[d]=!0}for(d in a)if(!c[d]&&d.charAt(0)!=="$"&&!M(a[d]))return!1;return!0}return!1}function Va(b,a){var c=arguments.length>2?ga.call(arguments,2):[];return M(a)&&!(a instanceof RegExp)?c.length?
|
12
|
+
function(){return arguments.length?a.apply(b,c.concat(ga.call(arguments,0))):a.apply(b,c)}:function(){return arguments.length?a.apply(b,arguments):a.call(b)}:a}function hc(b,a){var c=a;/^\$+/.test(b)?c=p:na(a)?c="$WINDOW":a&&aa===a?c="$DOCUMENT":a&&a.$evalAsync&&a.$watch&&(c="$SCOPE");return c}function ba(b,a){return JSON.stringify(b,hc,a?" ":null)}function mb(b){return G(b)?JSON.parse(b):b}function Wa(b){b&&b.length!==0?(b=C(""+b),b=!(b=="f"||b=="0"||b=="false"||b=="no"||b=="n"||b=="[]")):b=!1;
|
13
|
+
return b}function oa(b){b=u(b).clone();try{b.html("")}catch(a){}return u("<div>").append(b).html().match(/^(<[^>]+>)/)[1].replace(/^<([\w\-]+)/,function(a,b){return"<"+C(b)})}function Xa(b){var a={},c,d;m((b||"").split("&"),function(b){b&&(c=b.split("="),d=decodeURIComponent(c[0]),a[d]=s(c[1])?decodeURIComponent(c[1]):!0)});return a}function nb(b){var a=[];m(b,function(b,d){a.push(Ya(d,!0)+(b===!0?"":"="+Ya(b,!0)))});return a.length?a.join("&"):""}function Za(b){return Ya(b,!0).replace(/%26/gi,"&").replace(/%3D/gi,
|
14
|
+
"=").replace(/%2B/gi,"+")}function Ya(b,a){return encodeURIComponent(b).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(a?null:/%20/g,"+")}function ic(b,a){function c(a){a&&d.push(a)}var d=[b],e,g,h=["ng:app","ng-app","x-ng-app","data-ng-app"],f=/\sng[:\-]app(:\s*([\w\d_]+);?)?\s/;m(h,function(a){h[a]=!0;c(aa.getElementById(a));a=a.replace(":","\\:");b.querySelectorAll&&(m(b.querySelectorAll("."+a),c),m(b.querySelectorAll("."+a+"\\:"),c),m(b.querySelectorAll("["+
|
15
|
+
a+"]"),c))});m(d,function(a){if(!e){var b=f.exec(" "+a.className+" ");b?(e=a,g=(b[2]||"").replace(/\s+/g,",")):m(a.attributes,function(b){if(!e&&h[b.name])e=a,g=b.value})}});e&&a(e,g?[g]:[])}function ob(b,a){b=u(b);a=a||[];a.unshift(["$provide",function(a){a.value("$rootElement",b)}]);a.unshift("ng");var c=pb(a);c.invoke(["$rootScope","$rootElement","$compile","$injector",function(a,b,c,h){a.$apply(function(){b.data("$injector",h);c(b)(a)})}]);return c}function $a(b,a){a=a||"_";return b.replace(jc,
|
16
|
+
function(b,d){return(d?a:"")+b.toLowerCase()})}function pa(b,a,c){if(!b)throw new z("Argument '"+(a||"?")+"' is "+(c||"required"));return b}function qa(b,a,c){c&&K(b)&&(b=b[b.length-1]);pa(M(b),a,"not a function, got "+(b&&typeof b=="object"?b.constructor.name||"Object":typeof b));return b}function kc(b){function a(a,b,e){return a[b]||(a[b]=e())}return a(a(b,"angular",Object),"module",function(){var b={};return function(d,e,g){e&&b.hasOwnProperty(d)&&(b[d]=null);return a(b,d,function(){function a(c,
|
17
|
+
d,e){return function(){b[e||"push"]([c,d,arguments]);return k}}if(!e)throw z("No module: "+d);var b=[],c=[],j=a("$injector","invoke"),k={_invokeQueue:b,_runBlocks:c,requires:e,name:d,provider:a("$provide","provider"),factory:a("$provide","factory"),service:a("$provide","service"),value:a("$provide","value"),constant:a("$provide","constant","unshift"),filter:a("$filterProvider","register"),controller:a("$controllerProvider","register"),directive:a("$compileProvider","directive"),config:j,run:function(a){c.push(a);
|
18
|
+
return this}};g&&j(g);return k})}})}function qb(b){return b.replace(lc,function(a,b,d,e){return e?d.toUpperCase():d}).replace(mc,"Moz$1")}function ab(b,a){function c(){var e;for(var b=[this],c=a,h,f,i,j,k,l,n;b.length;){h=b.shift();f=0;for(i=h.length;f<i;f++){j=u(h[f]);c?(n=(k=j.data("events"))&&k.$destroy)&&m(n,function(a){a.handler()}):c=!c;k=0;for(e=(l=j.children()).length,j=e;k<j;k++)b.push(ha(l[k]))}}return d.apply(this,arguments)}var d=ha.fn[b],d=d.$original||d;c.$original=d;ha.fn[b]=c}function P(b){if(b instanceof
|
19
|
+
P)return b;if(!(this instanceof P)){if(G(b)&&b.charAt(0)!="<")throw z("selectors not implemented");return new P(b)}if(G(b)){var a=aa.createElement("div");a.innerHTML="<div> </div>"+b;a.removeChild(a.firstChild);bb(this,a.childNodes);this.remove()}else bb(this,b)}function cb(b){return b.cloneNode(!0)}function ra(b){rb(b);for(var a=0,b=b.childNodes||[];a<b.length;a++)ra(b[a])}function sb(b,a,c){var d=ca(b,"events");ca(b,"handle")&&(v(a)?m(d,function(a,c){tb(b,c,a);delete d[c]}):v(c)?(tb(b,a,d[a]),
|
20
|
+
delete d[a]):za(d[a],c))}function rb(b){var a=b[Aa],c=Ba[a];c&&(c.handle&&(c.events.$destroy&&c.handle({},"$destroy"),sb(b)),delete Ba[a],b[Aa]=p)}function ca(b,a,c){var d=b[Aa],d=Ba[d||-1];if(s(c))d||(b[Aa]=d=++nc,d=Ba[d]={}),d[a]=c;else return d&&d[a]}function ub(b,a,c){var d=ca(b,"data"),e=s(c),g=!e&&s(a),h=g&&!J(a);!d&&!h&&ca(b,"data",d={});if(e)d[a]=c;else if(g)if(h)return d&&d[a];else D(d,a);else return d}function Ca(b,a){return(" "+b.className+" ").replace(/[\n\t]/g," ").indexOf(" "+a+" ")>
|
21
|
+
-1}function vb(b,a){a&&m(a.split(" "),function(a){b.className=Q((" "+b.className+" ").replace(/[\n\t]/g," ").replace(" "+Q(a)+" "," "))})}function wb(b,a){a&&m(a.split(" "),function(a){if(!Ca(b,a))b.className=Q(b.className+" "+Q(a))})}function bb(b,a){if(a)for(var a=!a.nodeName&&s(a.length)&&!na(a)?a:[a],c=0;c<a.length;c++)b.push(a[c])}function xb(b,a){return Da(b,"$"+(a||"ngController")+"Controller")}function Da(b,a,c){b=u(b);for(b[0].nodeType==9&&(b=b.find("html"));b.length;){if(c=b.data(a))return c;
|
22
|
+
b=b.parent()}}function yb(b,a){var c=Ea[a.toLowerCase()];return c&&zb[b.nodeName]&&c}function oc(b,a){var c=function(c,e){if(!c.preventDefault)c.preventDefault=function(){c.returnValue=!1};if(!c.stopPropagation)c.stopPropagation=function(){c.cancelBubble=!0};if(!c.target)c.target=c.srcElement||aa;if(v(c.defaultPrevented)){var g=c.preventDefault;c.preventDefault=function(){c.defaultPrevented=!0;g.call(c)};c.defaultPrevented=!1}c.isDefaultPrevented=function(){return c.defaultPrevented};m(a[e||c.type],
|
23
|
+
function(a){a.call(b,c)});Z<=8?(c.preventDefault=null,c.stopPropagation=null,c.isDefaultPrevented=null):(delete c.preventDefault,delete c.stopPropagation,delete c.isDefaultPrevented)};c.elem=b;return c}function ia(b){var a=typeof b,c;if(a=="object"&&b!==null)if(typeof(c=b.$$hashKey)=="function")c=b.$$hashKey();else{if(c===p)c=b.$$hashKey=wa()}else c=b;return a+":"+c}function Fa(b){m(b,this.put,this)}function db(){}function Ab(b){var a,c;if(typeof b=="function"){if(!(a=b.$inject))a=[],c=b.toString().replace(pc,
|
24
|
+
""),c=c.match(qc),m(c[1].split(rc),function(b){b.replace(sc,function(b,c,d){a.push(d)})}),b.$inject=a}else K(b)?(c=b.length-1,qa(b[c],"fn"),a=b.slice(0,c)):qa(b,"fn",!0);return a}function pb(b){function a(a){return function(b,c){if(J(b))m(b,lb(a));else return a(b,c)}}function c(a,b){M(b)&&(b=l.instantiate(b));if(!b.$get)throw z("Provider "+a+" must define $get factory method.");return k[a+f]=b}function d(a,b){return c(a,{$get:b})}function e(a){var b=[];m(a,function(a){if(!j.get(a))if(j.put(a,!0),
|
25
|
+
G(a)){var c=sa(a);b=b.concat(e(c.requires)).concat(c._runBlocks);try{for(var d=c._invokeQueue,c=0,f=d.length;c<f;c++){var g=d[c],i=g[0]=="$injector"?l:l.get(g[0]);i[g[1]].apply(i,g[2])}}catch(h){throw h.message&&(h.message+=" from "+a),h;}}else if(M(a))try{b.push(l.invoke(a))}catch(o){throw o.message&&(o.message+=" from "+a),o;}else if(K(a))try{b.push(l.invoke(a))}catch(n){throw n.message&&(n.message+=" from "+String(a[a.length-1])),n;}else qa(a,"module")});return b}function g(a,b){function c(d){if(typeof d!==
|
26
|
+
"string")throw z("Service name expected");if(a.hasOwnProperty(d)){if(a[d]===h)throw z("Circular dependency: "+i.join(" <- "));return a[d]}else try{return i.unshift(d),a[d]=h,a[d]=b(d)}finally{i.shift()}}function d(a,b,e){var f=[],g=Ab(a),j,h,o;h=0;for(j=g.length;h<j;h++)o=g[h],f.push(e&&e.hasOwnProperty(o)?e[o]:c(o,i));a.$inject||(a=a[j]);switch(b?-1:f.length){case 0:return a();case 1:return a(f[0]);case 2:return a(f[0],f[1]);case 3:return a(f[0],f[1],f[2]);case 4:return a(f[0],f[1],f[2],f[3]);case 5:return a(f[0],
|
27
|
+
f[1],f[2],f[3],f[4]);case 6:return a(f[0],f[1],f[2],f[3],f[4],f[5]);case 7:return a(f[0],f[1],f[2],f[3],f[4],f[5],f[6]);case 8:return a(f[0],f[1],f[2],f[3],f[4],f[5],f[6],f[7]);case 9:return a(f[0],f[1],f[2],f[3],f[4],f[5],f[6],f[7],f[8]);case 10:return a(f[0],f[1],f[2],f[3],f[4],f[5],f[6],f[7],f[8],f[9]);default:return a.apply(b,f)}}return{invoke:d,instantiate:function(a,b){var c=function(){},e;c.prototype=(K(a)?a[a.length-1]:a).prototype;c=new c;e=d(a,c,b);return J(e)?e:c},get:c,annotate:Ab}}var h=
|
28
|
+
{},f="Provider",i=[],j=new Fa,k={$provide:{provider:a(c),factory:a(d),service:a(function(a,b){return d(a,["$injector",function(a){return a.instantiate(b)}])}),value:a(function(a,b){return d(a,B(b))}),constant:a(function(a,b){k[a]=b;n[a]=b}),decorator:function(a,b){var c=l.get(a+f),d=c.$get;c.$get=function(){var a=r.invoke(d,c);return r.invoke(b,null,{$delegate:a})}}}},l=g(k,function(){throw z("Unknown provider: "+i.join(" <- "));}),n={},r=n.$injector=g(n,function(a){a=l.get(a+f);return r.invoke(a.$get,
|
29
|
+
a)});m(e(b),function(a){r.invoke(a||x)});return r}function tc(){var b=!0;this.disableAutoScrolling=function(){b=!1};this.$get=["$window","$location","$rootScope",function(a,c,d){function e(a){var b=null;m(a,function(a){!b&&C(a.nodeName)==="a"&&(b=a)});return b}function g(){var b=c.hash(),d;b?(d=h.getElementById(b))?d.scrollIntoView():(d=e(h.getElementsByName(b)))?d.scrollIntoView():b==="top"&&a.scrollTo(0,0):a.scrollTo(0,0)}var h=a.document;b&&d.$watch(function(){return c.hash()},function(){d.$evalAsync(g)});
|
30
|
+
return g}]}function uc(b,a,c,d){function e(a){try{a.apply(null,ga.call(arguments,1))}finally{if(o--,o===0)for(;w.length;)try{w.pop()()}catch(b){c.error(b)}}}function g(a,b){(function da(){m(q,function(a){a()});t=b(da,a)})()}function h(){X!=f.url()&&(X=f.url(),m(y,function(a){a(f.url())}))}var f=this,i=a[0],j=b.location,k=b.history,l=b.setTimeout,n=b.clearTimeout,r={};f.isMock=!1;var o=0,w=[];f.$$completeOutstandingRequest=e;f.$$incOutstandingRequestCount=function(){o++};f.notifyWhenNoOutstandingRequests=
|
31
|
+
function(a){m(q,function(a){a()});o===0?a():w.push(a)};var q=[],t;f.addPollFn=function(a){v(t)&&g(100,l);q.push(a);return a};var X=j.href,A=a.find("base");f.url=function(a,b){if(a){if(X!=a)return X=a,d.history?b?k.replaceState(null,"",a):(k.pushState(null,"",a),A.attr("href",A.attr("href"))):b?j.replace(a):j.href=a,f}else return j.href.replace(/%27/g,"'")};var y=[],L=!1;f.onUrlChange=function(a){L||(d.history&&u(b).bind("popstate",h),d.hashchange?u(b).bind("hashchange",h):f.addPollFn(h),L=!0);y.push(a);
|
32
|
+
return a};f.baseHref=function(){var a=A.attr("href");return a?a.replace(/^https?\:\/\/[^\/]*/,""):a};var V={},I="",N=f.baseHref();f.cookies=function(a,b){var d,e,f,g;if(a)if(b===p)i.cookie=escape(a)+"=;path="+N+";expires=Thu, 01 Jan 1970 00:00:00 GMT";else{if(G(b))d=(i.cookie=escape(a)+"="+escape(b)+";path="+N).length+1,d>4096&&c.warn("Cookie '"+a+"' possibly not set or overflowed because it was too large ("+d+" > 4096 bytes)!"),V.length>20&&c.warn("Cookie '"+a+"' possibly not set or overflowed because too many cookies were already set ("+
|
33
|
+
V.length+" > 20 )")}else{if(i.cookie!==I){I=i.cookie;d=I.split("; ");V={};for(f=0;f<d.length;f++)e=d[f],g=e.indexOf("="),g>0&&(V[unescape(e.substring(0,g))]=unescape(e.substring(g+1)))}return V}};f.defer=function(a,b){var c;o++;c=l(function(){delete r[c];e(a)},b||0);r[c]=!0;return c};f.defer.cancel=function(a){return r[a]?(delete r[a],n(a),e(x),!0):!1}}function vc(){this.$get=["$window","$log","$sniffer","$document",function(b,a,c,d){return new uc(b,d,a,c)}]}function wc(){this.$get=function(){function b(b,
|
34
|
+
d){function e(a){if(a!=l){if(n){if(n==a)n=a.n}else n=a;g(a.n,a.p);g(a,l);l=a;l.n=null}}function g(a,b){if(a!=b){if(a)a.p=b;if(b)b.n=a}}if(b in a)throw z("cacheId "+b+" taken");var h=0,f=D({},d,{id:b}),i={},j=d&&d.capacity||Number.MAX_VALUE,k={},l=null,n=null;return a[b]={put:function(a,b){var c=k[a]||(k[a]={key:a});e(c);v(b)||(a in i||h++,i[a]=b,h>j&&this.remove(n.key))},get:function(a){var b=k[a];if(b)return e(b),i[a]},remove:function(a){var b=k[a];if(b==l)l=b.p;if(b==n)n=b.n;g(b.n,b.p);delete k[a];
|
35
|
+
delete i[a];h--},removeAll:function(){i={};h=0;k={};l=n=null},destroy:function(){k=f=i=null;delete a[b]},info:function(){return D({},f,{size:h})}}}var a={};b.info=function(){var b={};m(a,function(a,e){b[e]=a.info()});return b};b.get=function(b){return a[b]};return b}}function xc(){this.$get=["$cacheFactory",function(b){return b("templates")}]}function Bb(b){var a={},c="Directive",d=/^\s*directive\:\s*([\d\w\-_]+)\s+(.*)$/,e=/(([\d\w\-_]+)(?:\:([^;]+))?;?)/,g="Template must have exactly one root element. was: ";
|
36
|
+
this.directive=function f(d,e){G(d)?(pa(e,"directive"),a.hasOwnProperty(d)||(a[d]=[],b.factory(d+c,["$injector","$exceptionHandler",function(b,c){var e=[];m(a[d],function(a){try{var f=b.invoke(a);if(M(f))f={compile:B(f)};else if(!f.compile&&f.link)f.compile=B(f.link);f.priority=f.priority||0;f.name=f.name||d;f.require=f.require||f.controller&&f.name;f.restrict=f.restrict||"A";e.push(f)}catch(g){c(g)}});return e}])),a[d].push(e)):m(d,lb(f));return this};this.$get=["$injector","$interpolate","$exceptionHandler",
|
37
|
+
"$http","$templateCache","$parse","$controller","$rootScope",function(b,i,j,k,l,n,r,o){function w(a,b,c){a instanceof u||(a=u(a));m(a,function(b,c){b.nodeType==3&&(a[c]=u(b).wrap("<span>").parent()[0])});var d=t(a,b,a,c);return function(b,c){pa(b,"scope");var e=c?ta.clone.call(a):a;e.data("$scope",b);q(e,"ng-scope");c&&c(e,b);d&&d(b,e,e);return e}}function q(a,b){try{a.addClass(b)}catch(c){}}function t(a,b,c,d){function e(a,c,d,g){for(var j,i,n,k,l,o=0,r=0,q=f.length;o<q;r++)n=c[r],j=f[o++],i=f[o++],
|
38
|
+
j?(j.scope?(k=a.$new(J(j.scope)),u(n).data("$scope",k)):k=a,(l=j.transclude)||!g&&b?j(i,k,n,d,function(b){return function(c){var d=a.$new();return b(d,c).bind("$destroy",Va(d,d.$destroy))}}(l||b)):j(i,k,n,p,g)):i&&i(a,n.childNodes,p,g)}for(var f=[],g,j,i,n=0;n<a.length;n++)j=new da,g=X(a[n],[],j,d),j=(g=g.length?A(g,a[n],j,b,c):null)&&g.terminal?null:t(a[n].childNodes,g?g.transclude:b),f.push(g),f.push(j),i=i||g||j;return i?e:null}function X(a,b,c,f){var g=c.$attr,j;switch(a.nodeType){case 1:y(b,
|
39
|
+
ea(Cb(a).toLowerCase()),"E",f);var i,n,k;j=a.attributes;for(var l=0,o=j&&j.length;l<o;l++)if(i=j[l],i.specified)n=i.name,k=ea(n.toLowerCase()),g[k]=n,c[k]=i=Q(Z&&n=="href"?decodeURIComponent(a.getAttribute(n,2)):i.value),yb(a,k)&&(c[k]=!0),W(a,b,i,k),y(b,k,"A",f);a=a.className;if(G(a))for(;j=e.exec(a);)k=ea(j[2]),y(b,k,"C",f)&&(c[k]=Q(j[3])),a=a.substr(j.index+j[0].length);break;case 3:F(b,a.nodeValue);break;case 8:try{if(j=d.exec(a.nodeValue))k=ea(j[1]),y(b,k,"M",f)&&(c[k]=Q(j[2]))}catch(r){}}b.sort(I);
|
40
|
+
return b}function A(a,b,c,d,e){function f(a,b){if(a)a.require=E.require,o.push(a);if(b)b.require=E.require,t.push(b)}function i(a,b){var c,d="data",e=!1;if(G(a)){for(;(c=a.charAt(0))=="^"||c=="?";)a=a.substr(1),c=="^"&&(d="inheritedData"),e=e||c=="?";c=b[d]("$"+a+"Controller");if(!c&&!e)throw z("No controller: "+a);}else K(a)&&(c=[],m(a,function(a){c.push(i(a,b))}));return c}function k(a,d,e,f,g){var l,q,w,L,Ha;l=b===e?c:gc(c,new da(u(e),c.$attr));q=l.$$element;if(A&&J(A.scope)){var yc=/^\s*([@=&])\s*(\w*)\s*$/,
|
41
|
+
ja=d.$parent||d;m(A.scope,function(a,b){var c=a.match(yc)||[],e=c[2]||b,f,g,j;switch(c[1]){case "@":l.$observe(e,function(a){d[b]=a});l.$$observers[e].$$scope=ja;break;case "=":g=n(l[e]);j=g.assign||function(){f=d[b]=g(ja);throw z(Db+l[e]+" (directive: "+A.name+")");};f=d[b]=g(ja);d.$watch(function(){var a=g(ja);a!==d[b]&&(a!==f?f=d[b]=a:j(ja,f=d[b]));return a});break;case "&":g=n(l[e]);d[b]=function(a){return g(ja,a)};break;default:throw z("Invalid isolate scope definition for directive "+A.name+
|
42
|
+
": "+a);}})}s&&m(s,function(a){var b={$scope:d,$element:q,$attrs:l,$transclude:g};Ha=a.controller;Ha=="@"&&(Ha=l[a.name]);q.data("$"+a.name+"Controller",r(Ha,b))});f=0;for(w=o.length;f<w;f++)try{L=o[f],L(d,q,l,L.require&&i(L.require,q))}catch(y){j(y,oa(q))}a&&a(d,e.childNodes,p,g);f=0;for(w=t.length;f<w;f++)try{L=t[f],L(d,q,l,L.require&&i(L.require,q))}catch(X){j(X,oa(q))}}for(var l=-Number.MAX_VALUE,o=[],t=[],A=null,y=null,I=null,F=c.$$element=u(b),E,W,$,x,v=d,s,D,B,C=0,H=a.length;C<H;C++){E=a[C];
|
43
|
+
$=p;if(l>E.priority)break;if(B=E.scope)N("isolated scope",y,E,F),J(B)&&(q(F,"ng-isolate-scope"),y=E),q(F,"ng-scope"),A=A||E;W=E.name;if(B=E.controller)s=s||{},N("'"+W+"' controller",s[W],E,F),s[W]=E;if(B=E.transclude)N("transclusion",x,E,F),x=E,l=E.priority,B=="element"?($=u(b),F=c.$$element=u("<\!-- "+W+": "+c[W]+" --\>"),b=F[0],Ga(e,u($[0]),b),v=w($,d,l)):($=u(cb(b)).contents(),F.html(""),v=w($,d));if(B=E.template)if(N("template",I,E,F),I=E,$=u("<div>"+Q(B)+"</div>").contents(),b=$[0],E.replace){if($.length!=
|
44
|
+
1||b.nodeType!==1)throw new z(g+B);Ga(e,F,b);W={$attr:{}};a=a.concat(X(b,a.splice(C+1,a.length-(C+1)),W));L(c,W);H=a.length}else F.html(B);if(E.templateUrl)N("template",I,E,F),I=E,k=V(a.splice(C,a.length-C),k,F,c,e,E.replace,v),H=a.length;else if(E.compile)try{D=E.compile(F,c,v),M(D)?f(null,D):D&&f(D.pre,D.post)}catch(O){j(O,oa(F))}if(E.terminal)k.terminal=!0,l=Math.max(l,E.priority)}k.scope=A&&A.scope;k.transclude=x&&v;return k}function y(d,e,g,i){var n=!1;if(a.hasOwnProperty(e))for(var k,e=b.get(e+
|
45
|
+
c),l=0,o=e.length;l<o;l++)try{if(k=e[l],(i===p||i>k.priority)&&k.restrict.indexOf(g)!=-1)d.push(k),n=!0}catch(r){j(r)}return n}function L(a,b){var c=b.$attr,d=a.$attr,e=a.$$element;m(a,function(d,e){e.charAt(0)!="$"&&(b[e]&&(d+=(e==="style"?";":" ")+b[e]),a.$set(e,d,!0,c[e]))});m(b,function(b,f){f=="class"?(q(e,b),a["class"]=(a["class"]?a["class"]+" ":"")+b):f=="style"?e.attr("style",e.attr("style")+";"+b):f.charAt(0)!="$"&&!a.hasOwnProperty(f)&&(a[f]=b,d[f]=c[f])})}function V(a,b,c,d,e,f,j){var i=
|
46
|
+
[],n,o,r=c[0],q=a.shift(),w=D({},q,{controller:null,templateUrl:null,transclude:null});c.html("");k.get(q.templateUrl,{cache:l}).success(function(k){var l,q;if(f){q=u("<div>"+Q(k)+"</div>").contents();l=q[0];if(q.length!=1||l.nodeType!==1)throw new z(g+k);k={$attr:{}};Ga(e,c,l);X(l,a,k);L(d,k)}else l=r,c.html(k);a.unshift(w);n=A(a,c,d,j);for(o=t(c.contents(),j);i.length;){var m=i.pop(),k=i.pop();q=i.pop();var y=i.pop(),I=l;q!==r&&(I=cb(l),Ga(k,u(q),I));n(function(){b(o,y,I,e,m)},y,I,e,m)}i=null}).error(function(a,
|
47
|
+
b,c,d){throw z("Failed to load template: "+d.url);});return function(a,c,d,e,f){i?(i.push(c),i.push(d),i.push(e),i.push(f)):n(function(){b(o,c,d,e,f)},c,d,e,f)}}function I(a,b){return b.priority-a.priority}function N(a,b,c,d){if(b)throw z("Multiple directives ["+b.name+", "+c.name+"] asking for "+a+" on: "+oa(d));}function F(a,b){var c=i(b,!0);c&&a.push({priority:0,compile:B(function(a,b){var d=b.parent(),e=d.data("$binding")||[];e.push(c);q(d.data("$binding",e),"ng-binding");a.$watch(c,function(a){b[0].nodeValue=
|
48
|
+
a})})})}function W(a,b,c,d){var e=i(c,!0);e&&b.push({priority:100,compile:B(function(a,b,c){b=c.$$observers||(c.$$observers={});d==="class"&&(e=i(c[d],!0));c[d]=p;(b[d]||(b[d]=[])).$$inter=!0;(c.$$observers&&c.$$observers[d].$$scope||a).$watch(e,function(a){c.$set(d,a)})})})}function Ga(a,b,c){var d=b[0],e=d.parentNode,f,g;if(a){f=0;for(g=a.length;f<g;f++)if(a[f]==d){a[f]=c;break}}e&&e.replaceChild(c,d);c[u.expando]=d[u.expando];b[0]=c}var da=function(a,b){this.$$element=a;this.$attr=b||{}};da.prototype=
|
49
|
+
{$normalize:ea,$set:function(a,b,c,d){var e=yb(this.$$element[0],a),f=this.$$observers;e&&(this.$$element.prop(a,b),d=e);this[a]=b;d?this.$attr[a]=d:(d=this.$attr[a])||(this.$attr[a]=d=$a(a,"-"));c!==!1&&(b===null||b===p?this.$$element.removeAttr(d):this.$$element.attr(d,b));f&&m(f[a],function(a){try{a(b)}catch(c){j(c)}})},$observe:function(a,b){var c=this,d=c.$$observers||(c.$$observers={}),e=d[a]||(d[a]=[]);e.push(b);o.$evalAsync(function(){e.$$inter||b(c[a])});return b}};return w}]}function ea(b){return qb(b.replace(zc,
|
50
|
+
""))}function Ac(){var b={};this.register=function(a,c){J(a)?D(b,a):b[a]=c};this.$get=["$injector","$window",function(a,c){return function(d,e){if(G(d)){var g=d,d=b.hasOwnProperty(g)?b[g]:eb(e.$scope,g,!0)||eb(c,g,!0);qa(d,g,!0)}return a.instantiate(d,e)}}]}function Bc(){this.$get=["$window",function(b){return u(b.document)}]}function Cc(){this.$get=["$log",function(b){return function(a,c){b.error.apply(b,arguments)}}]}function Dc(){var b="{{",a="}}";this.startSymbol=function(a){return a?(b=a,this):
|
51
|
+
b};this.endSymbol=function(c){return c?(a=c,this):b};this.$get=["$parse",function(c){var d=b.length,e=a.length;return function(g,h){for(var f,i,j=0,k=[],l=g.length,n=!1,r=[];j<l;)(f=g.indexOf(b,j))!=-1&&(i=g.indexOf(a,f+d))!=-1?(j!=f&&k.push(g.substring(j,f)),k.push(j=c(n=g.substring(f+d,i))),j.exp=n,j=i+e,n=!0):(j!=l&&k.push(g.substring(j)),j=l);if(!(l=k.length))k.push(""),l=1;if(!h||n)return r.length=l,j=function(a){for(var b=0,c=l,d;b<c;b++){if(typeof(d=k[b])=="function")d=d(a),d==null||d==p?d=
|
52
|
+
"":typeof d!="string"&&(d=ba(d));r[b]=d}return r.join("")},j.exp=g,j.parts=k,j}}]}function Eb(b){for(var b=b.split("/"),a=b.length;a--;)b[a]=Za(b[a]);return b.join("/")}function ua(b,a){var c=Fb.exec(b),c={protocol:c[1],host:c[3],port:H(c[5])||Gb[c[1]]||null,path:c[6]||"/",search:c[8],hash:c[10]};if(a)a.$$protocol=c.protocol,a.$$host=c.host,a.$$port=c.port;return c}function ka(b,a,c){return b+"://"+a+(c==Gb[b]?"":":"+c)}function Ec(b,a,c){var d=ua(b);return decodeURIComponent(d.path)!=a||v(d.hash)||
|
53
|
+
d.hash.indexOf(c)!==0?b:ka(d.protocol,d.host,d.port)+a.substr(0,a.lastIndexOf("/"))+d.hash.substr(c.length)}function Fc(b,a,c){var d=ua(b);if(decodeURIComponent(d.path)==a)return b;else{var e=d.search&&"?"+d.search||"",g=d.hash&&"#"+d.hash||"",h=a.substr(0,a.lastIndexOf("/")),f=d.path.substr(h.length);if(d.path.indexOf(h)!==0)throw z('Invalid url "'+b+'", missing path prefix "'+h+'" !');return ka(d.protocol,d.host,d.port)+a+"#"+c+f+e+g}}function fb(b,a,c){a=a||"";this.$$parse=function(b){var c=ua(b,
|
54
|
+
this);if(c.path.indexOf(a)!==0)throw z('Invalid url "'+b+'", missing path prefix "'+a+'" !');this.$$path=decodeURIComponent(c.path.substr(a.length));this.$$search=Xa(c.search);this.$$hash=c.hash&&decodeURIComponent(c.hash)||"";this.$$compose()};this.$$compose=function(){var b=nb(this.$$search),c=this.$$hash?"#"+Za(this.$$hash):"";this.$$url=Eb(this.$$path)+(b?"?"+b:"")+c;this.$$absUrl=ka(this.$$protocol,this.$$host,this.$$port)+a+this.$$url};this.$$rewriteAppUrl=function(a){if(a.indexOf(c)==0)return a};
|
55
|
+
this.$$parse(b)}function Ia(b,a,c){var d;this.$$parse=function(b){var c=ua(b,this);if(c.hash&&c.hash.indexOf(a)!==0)throw z('Invalid url "'+b+'", missing hash prefix "'+a+'" !');d=c.path+(c.search?"?"+c.search:"");c=Gc.exec((c.hash||"").substr(a.length));this.$$path=c[1]?(c[1].charAt(0)=="/"?"":"/")+decodeURIComponent(c[1]):"";this.$$search=Xa(c[3]);this.$$hash=c[5]&&decodeURIComponent(c[5])||"";this.$$compose()};this.$$compose=function(){var b=nb(this.$$search),c=this.$$hash?"#"+Za(this.$$hash):
|
56
|
+
"";this.$$url=Eb(this.$$path)+(b?"?"+b:"")+c;this.$$absUrl=ka(this.$$protocol,this.$$host,this.$$port)+d+(this.$$url?"#"+a+this.$$url:"")};this.$$rewriteAppUrl=function(a){if(a.indexOf(c)==0)return a};this.$$parse(b)}function Hb(b,a,c,d){Ia.apply(this,arguments);this.$$rewriteAppUrl=function(b){if(b.indexOf(c)==0)return c+d+"#"+a+b.substr(c.length)}}function Ja(b){return function(){return this[b]}}function Ib(b,a){return function(c){if(v(c))return this[b];this[b]=a(c);this.$$compose();return this}}
|
57
|
+
function Hc(){var b="",a=!1;this.hashPrefix=function(a){return s(a)?(b=a,this):b};this.html5Mode=function(b){return s(b)?(a=b,this):a};this.$get=["$rootScope","$browser","$sniffer","$rootElement",function(c,d,e,g){function h(a){c.$broadcast("$locationChangeSuccess",f.absUrl(),a)}var f,i,j,k=d.url(),l=ua(k);a?(i=d.baseHref()||"/",j=i.substr(0,i.lastIndexOf("/")),l=ka(l.protocol,l.host,l.port)+j+"/",f=e.history?new fb(Ec(k,i,b),j,l):new Hb(Fc(k,i,b),b,l,i.substr(j.length+1))):(l=ka(l.protocol,l.host,
|
58
|
+
l.port)+(l.path||"")+(l.search?"?"+l.search:"")+"#"+b+"/",f=new Ia(k,b,l));g.bind("click",function(a){if(!a.ctrlKey&&!(a.metaKey||a.which==2)){for(var b=u(a.target);C(b[0].nodeName)!=="a";)if(b[0]===g[0]||!(b=b.parent())[0])return;var d=b.prop("href"),e=f.$$rewriteAppUrl(d);d&&!b.attr("target")&&e&&(f.$$parse(e),c.$apply(),a.preventDefault(),T.angular["ff-684208-preventDefault"]=!0)}});f.absUrl()!=k&&d.url(f.absUrl(),!0);d.onUrlChange(function(a){f.absUrl()!=a&&(c.$evalAsync(function(){var b=f.absUrl();
|
59
|
+
f.$$parse(a);h(b)}),c.$$phase||c.$digest())});var n=0;c.$watch(function(){var a=d.url();if(!n||a!=f.absUrl())n++,c.$evalAsync(function(){c.$broadcast("$locationChangeStart",f.absUrl(),a).defaultPrevented?f.$$parse(a):(d.url(f.absUrl(),f.$$replace),f.$$replace=!1,h(a))});return n});return f}]}function Ic(){this.$get=["$window",function(b){function a(a){a instanceof z&&(a.stack?a=a.message&&a.stack.indexOf(a.message)===-1?"Error: "+a.message+"\n"+a.stack:a.stack:a.sourceURL&&(a=a.message+"\n"+a.sourceURL+
|
60
|
+
":"+a.line));return a}function c(c){var e=b.console||{},g=e[c]||e.log||x;return g.apply?function(){var b=[];m(arguments,function(c){b.push(a(c))});return g.apply(e,b)}:function(a,b){g(a,b)}}return{log:c("log"),warn:c("warn"),info:c("info"),error:c("error")}}]}function Jc(b,a){function c(a){return a.indexOf(q)!=-1}function d(){return o+1<b.length?b.charAt(o+1):!1}function e(a){return"0"<=a&&a<="9"}function g(a){return a==" "||a=="\r"||a=="\t"||a=="\n"||a=="\u000b"||a=="\u00a0"}function h(a){return"a"<=
|
61
|
+
a&&a<="z"||"A"<=a&&a<="Z"||"_"==a||a=="$"}function f(a){return a=="-"||a=="+"||e(a)}function i(a,c,d){d=d||o;throw z("Lexer Error: "+a+" at column"+(s(c)?"s "+c+"-"+o+" ["+b.substring(c,d)+"]":" "+d)+" in expression ["+b+"].");}function j(){for(var a="",c=o;o<b.length;){var j=C(b.charAt(o));if(j=="."||e(j))a+=j;else{var g=d();if(j=="e"&&f(g))a+=j;else if(f(j)&&g&&e(g)&&a.charAt(a.length-1)=="e")a+=j;else if(f(j)&&(!g||!e(g))&&a.charAt(a.length-1)=="e")i("Invalid exponent");else break}o++}a*=1;n.push({index:c,
|
62
|
+
text:a,json:!0,fn:function(){return a}})}function k(){for(var c="",d=o,f,j,i;o<b.length;){var k=b.charAt(o);if(k=="."||h(k)||e(k))k=="."&&(f=o),c+=k;else break;o++}if(f)for(j=o;j<b.length;){k=b.charAt(j);if(k=="("){i=c.substr(f-d+1);c=c.substr(0,f-d);o=j;break}if(g(k))j++;else break}d={index:d,text:c};if(Ka.hasOwnProperty(c))d.fn=d.json=Ka[c];else{var l=Jb(c,a);d.fn=D(function(a,b){return l(a,b)},{assign:function(a,b){return Kb(a,c,b)}})}n.push(d);i&&(n.push({index:f,text:".",json:!1}),n.push({index:f+
|
63
|
+
1,text:i,json:!1}))}function l(a){var c=o;o++;for(var d="",f=a,e=!1;o<b.length;){var j=b.charAt(o);f+=j;if(e)j=="u"?(j=b.substring(o+1,o+5),j.match(/[\da-f]{4}/i)||i("Invalid unicode escape [\\u"+j+"]"),o+=4,d+=String.fromCharCode(parseInt(j,16))):(e=Kc[j],d+=e?e:j),e=!1;else if(j=="\\")e=!0;else if(j==a){o++;n.push({index:c,text:f,string:d,json:!0,fn:function(){return d}});return}else d+=j;o++}i("Unterminated quote",c)}for(var n=[],r,o=0,w=[],q,t=":";o<b.length;){q=b.charAt(o);if(c("\"'"))l(q);else if(e(q)||
|
64
|
+
c(".")&&e(d()))j();else if(h(q)){if(k(),"{,".indexOf(t)!=-1&&w[0]=="{"&&(r=n[n.length-1]))r.json=r.text.indexOf(".")==-1}else if(c("(){}[].,;:"))n.push({index:o,text:q,json:":[,".indexOf(t)!=-1&&c("{[")||c("}]:,")}),c("{[")&&w.unshift(q),c("}]")&&w.shift(),o++;else if(g(q)){o++;continue}else{var m=q+d(),A=Ka[q],y=Ka[m];y?(n.push({index:o,text:m,fn:y}),o+=2):A?(n.push({index:o,text:q,fn:A,json:"[,:".indexOf(t)!=-1&&c("+-")}),o+=1):i("Unexpected next character ",o,o+1)}t=q}return n}function Lc(b,a,
|
65
|
+
c,d){function e(a,c){throw z("Syntax Error: Token '"+c.text+"' "+a+" at column "+(c.index+1)+" of the expression ["+b+"] starting at ["+b.substring(c.index)+"].");}function g(){if(N.length===0)throw z("Unexpected end of expression: "+b);return N[0]}function h(a,b,c,d){if(N.length>0){var e=N[0],f=e.text;if(f==a||f==b||f==c||f==d||!a&&!b&&!c&&!d)return e}return!1}function f(b,c,d,f){return(b=h(b,c,d,f))?(a&&!b.json&&e("is not valid json",b),N.shift(),b):!1}function i(a){f(a)||e("is unexpected, expecting ["+
|
66
|
+
a+"]",h())}function j(a,b){return function(c,d){return a(c,d,b)}}function k(a,b,c){return function(d,f){return b(d,f,a,c)}}function l(){for(var a=[];;)if(N.length>0&&!h("}",")",";","]")&&a.push(v()),!f(";"))return a.length==1?a[0]:function(b,c){for(var d,f=0;f<a.length;f++){var e=a[f];e&&(d=e(b,c))}return d}}function n(){for(var a=f(),b=c(a.text),d=[];;)if(a=f(":"))d.push(F());else{var e=function(a,c,f){for(var f=[f],e=0;e<d.length;e++)f.push(d[e](a,c));return b.apply(a,f)};return function(){return e}}}
|
67
|
+
function r(){for(var a=o(),b;;)if(b=f("||"))a=k(a,b.fn,o());else return a}function o(){var a=w(),b;if(b=f("&&"))a=k(a,b.fn,o());return a}function w(){var a=q(),b;if(b=f("==","!="))a=k(a,b.fn,w());return a}function q(){var a;a=t();for(var b;b=f("+","-");)a=k(a,b.fn,t());if(b=f("<",">","<=",">="))a=k(a,b.fn,q());return a}function t(){for(var a=m(),b;b=f("*","/","%");)a=k(a,b.fn,m());return a}function m(){var a;return f("+")?A():(a=f("-"))?k(V,a.fn,m()):(a=f("!"))?j(a.fn,m()):A()}function A(){var a;
|
68
|
+
if(f("("))a=v(),i(")");else if(f("["))a=y();else if(f("{"))a=L();else{var b=f();(a=b.fn)||e("not a primary expression",b)}for(var c;b=f("(","[",".");)b.text==="("?(a=u(a,c),c=null):b.text==="["?(c=a,a=da(a)):b.text==="."?(c=a,a=s(a)):e("IMPOSSIBLE");return a}function y(){var a=[];if(g().text!="]"){do a.push(F());while(f(","))}i("]");return function(b,c){for(var d=[],f=0;f<a.length;f++)d.push(a[f](b,c));return d}}function L(){var a=[];if(g().text!="}"){do{var b=f(),b=b.string||b.text;i(":");var c=
|
69
|
+
F();a.push({key:b,value:c})}while(f(","))}i("}");return function(b,c){for(var d={},f=0;f<a.length;f++){var e=a[f],j=e.value(b,c);d[e.key]=j}return d}}var V=B(0),I,N=Jc(b,d),F=function(){var a=r(),c,d;return(d=f("="))?(a.assign||e("implies assignment but ["+b.substring(0,d.index)+"] can not be assigned to",d),c=r(),function(b,d){return a.assign(b,c(b,d),d)}):a},u=function(a,b){var c=[];if(g().text!=")"){do c.push(F());while(f(","))}i(")");return function(d,f){for(var e=[],j=b?b(d,f):d,g=0;g<c.length;g++)e.push(c[g](d,
|
70
|
+
f));g=a(d,f)||x;return g.apply?g.apply(j,e):g(e[0],e[1],e[2],e[3],e[4])}},s=function(a){var b=f().text,c=Jb(b,d);return D(function(b,d){return c(a(b,d),d)},{assign:function(c,d,f){return Kb(a(c,f),b,d)}})},da=function(a){var b=F();i("]");return D(function(c,d){var f=a(c,d),e=b(c,d),j;if(!f)return p;if((f=f[e])&&f.then){j=f;if(!("$$v"in f))j.$$v=p,j.then(function(a){j.$$v=a});f=f.$$v}return f},{assign:function(c,d,f){return a(c,f)[b(c,f)]=d}})},v=function(){for(var a=F(),b;;)if(b=f("|"))a=k(a,b.fn,
|
71
|
+
n());else return a};a?(F=r,u=s=da=v=function(){e("is not valid json",{text:b,index:0})},I=A()):I=l();N.length!==0&&e("is an unexpected token",N[0]);return I}function Kb(b,a,c){for(var a=a.split("."),d=0;a.length>1;d++){var e=a.shift(),g=b[e];g||(g={},b[e]=g);b=g}return b[a.shift()]=c}function eb(b,a,c){if(!a)return b;for(var a=a.split("."),d,e=b,g=a.length,h=0;h<g;h++)d=a[h],b&&(b=(e=b)[d]);return!c&&M(b)?Va(e,b):b}function Lb(b,a,c,d,e){return function(g,h){var f=h&&h.hasOwnProperty(b)?h:g,i;if(f===
|
72
|
+
null||f===p)return f;if((f=f[b])&&f.then){if(!("$$v"in f))i=f,i.$$v=p,i.then(function(a){i.$$v=a});f=f.$$v}if(!a||f===null||f===p)return f;if((f=f[a])&&f.then){if(!("$$v"in f))i=f,i.$$v=p,i.then(function(a){i.$$v=a});f=f.$$v}if(!c||f===null||f===p)return f;if((f=f[c])&&f.then){if(!("$$v"in f))i=f,i.$$v=p,i.then(function(a){i.$$v=a});f=f.$$v}if(!d||f===null||f===p)return f;if((f=f[d])&&f.then){if(!("$$v"in f))i=f,i.$$v=p,i.then(function(a){i.$$v=a});f=f.$$v}if(!e||f===null||f===p)return f;if((f=f[e])&&
|
73
|
+
f.then){if(!("$$v"in f))i=f,i.$$v=p,i.then(function(a){i.$$v=a});f=f.$$v}return f}}function Jb(b,a){if(gb.hasOwnProperty(b))return gb[b];var c=b.split("."),d=c.length,e;if(a)e=d<6?Lb(c[0],c[1],c[2],c[3],c[4]):function(a,b){var e=0,j;do j=Lb(c[e++],c[e++],c[e++],c[e++],c[e++])(a,b),b=p,a=j;while(e<d);return j};else{var g="var l, fn, p;\n";m(c,function(a,b){g+="if(s === null || s === undefined) return s;\nl=s;\ns="+(b?"s":'((k&&k.hasOwnProperty("'+a+'"))?k:s)')+'["'+a+'"];\nif (s && s.then) {\n if (!("$$v" in s)) {\n p=s;\n p.$$v = undefined;\n p.then(function(v) {p.$$v=v;});\n}\n s=s.$$v\n}\n'});
|
74
|
+
g+="return s;";e=Function("s","k",g);e.toString=function(){return g}}return gb[b]=e}function Mc(){var b={};this.$get=["$filter","$sniffer",function(a,c){return function(d){switch(typeof d){case "string":return b.hasOwnProperty(d)?b[d]:b[d]=Lc(d,!1,a,c.csp);case "function":return d;default:return x}}}]}function Nc(){this.$get=["$rootScope","$exceptionHandler",function(b,a){return Oc(function(a){b.$evalAsync(a)},a)}]}function Oc(b,a){function c(a){return a}function d(a){return h(a)}var e=function(){var f=
|
75
|
+
[],i,j;return j={resolve:function(a){if(f){var c=f;f=p;i=g(a);c.length&&b(function(){for(var a,b=0,d=c.length;b<d;b++)a=c[b],i.then(a[0],a[1])})}},reject:function(a){j.resolve(h(a))},promise:{then:function(b,j){var g=e(),h=function(d){try{g.resolve((b||c)(d))}catch(f){a(f),g.reject(f)}},o=function(b){try{g.resolve((j||d)(b))}catch(c){a(c),g.reject(c)}};f?f.push([h,o]):i.then(h,o);return g.promise}}}},g=function(a){return a&&a.then?a:{then:function(c){var d=e();b(function(){d.resolve(c(a))});return d.promise}}},
|
76
|
+
h=function(a){return{then:function(c,j){var g=e();b(function(){g.resolve((j||d)(a))});return g.promise}}};return{defer:e,reject:h,when:function(f,i,j){var k=e(),l,n=function(b){try{return(i||c)(b)}catch(d){return a(d),h(d)}},r=function(b){try{return(j||d)(b)}catch(c){return a(c),h(c)}};b(function(){g(f).then(function(a){l||(l=!0,k.resolve(g(a).then(n,r)))},function(a){l||(l=!0,k.resolve(r(a)))})});return k.promise},all:function(a){var b=e(),c=a.length,d=[];c?m(a,function(a,e){g(a).then(function(a){e in
|
77
|
+
d||(d[e]=a,--c||b.resolve(d))},function(a){e in d||b.reject(a)})}):b.resolve(d);return b.promise}}}function Pc(){var b={};this.when=function(a,c){b[a]=D({reloadOnSearch:!0},c);if(a){var d=a[a.length-1]=="/"?a.substr(0,a.length-1):a+"/";b[d]={redirectTo:a}}return this};this.otherwise=function(a){this.when(null,a);return this};this.$get=["$rootScope","$location","$routeParams","$q","$injector","$http","$templateCache",function(a,c,d,e,g,h,f){function i(){var b=j(),i=r.current;if(b&&i&&b.$route===i.$route&&
|
78
|
+
fa(b.pathParams,i.pathParams)&&!b.reloadOnSearch&&!n)i.params=b.params,U(i.params,d),a.$broadcast("$routeUpdate",i);else if(b||i)n=!1,a.$broadcast("$routeChangeStart",b,i),(r.current=b)&&b.redirectTo&&(G(b.redirectTo)?c.path(k(b.redirectTo,b.params)).search(b.params).replace():c.url(b.redirectTo(b.pathParams,c.path(),c.search())).replace()),e.when(b).then(function(){if(b){var a=[],c=[],d;m(b.resolve||{},function(b,d){a.push(d);c.push(M(b)?g.invoke(b):g.get(b))});if(!s(d=b.template))if(s(d=b.templateUrl))d=
|
79
|
+
h.get(d,{cache:f}).then(function(a){return a.data});s(d)&&(a.push("$template"),c.push(d));return e.all(c).then(function(b){var c={};m(b,function(b,d){c[a[d]]=b});return c})}}).then(function(c){if(b==r.current){if(b)b.locals=c,U(b.params,d);a.$broadcast("$routeChangeSuccess",b,i)}},function(c){b==r.current&&a.$broadcast("$routeChangeError",b,i,c)})}function j(){var a,d;m(b,function(b,e){if(!d&&(a=l(c.path(),e)))d=xa(b,{params:D({},c.search(),a),pathParams:a}),d.$route=b});return d||b[null]&&xa(b[null],
|
80
|
+
{params:{},pathParams:{}})}function k(a,b){var c=[];m((a||"").split(":"),function(a,d){if(d==0)c.push(a);else{var e=a.match(/(\w+)(.*)/),f=e[1];c.push(b[f]);c.push(e[2]||"");delete b[f]}});return c.join("")}var l=function(a,b){var c="^"+b.replace(/([\.\\\(\)\^\$])/g,"\\$1")+"$",d=[],e={};m(b.split(/\W/),function(a){if(a){var b=RegExp(":"+a+"([\\W])");c.match(b)&&(c=c.replace(b,"([^\\/]*)$1"),d.push(a))}});var f=a.match(RegExp(c));f&&m(d,function(a,b){e[a]=f[b+1]});return f?e:null},n=!1,r={routes:b,
|
81
|
+
reload:function(){n=!0;a.$evalAsync(i)}};a.$on("$locationChangeSuccess",i);return r}]}function Qc(){this.$get=B({})}function Rc(){var b=10;this.digestTtl=function(a){arguments.length&&(b=a);return b};this.$get=["$injector","$exceptionHandler","$parse",function(a,c,d){function e(){this.$id=wa();this.$$phase=this.$parent=this.$$watchers=this.$$nextSibling=this.$$prevSibling=this.$$childHead=this.$$childTail=null;this["this"]=this.$root=this;this.$$asyncQueue=[];this.$$listeners={}}function g(a){if(i.$$phase)throw z(i.$$phase+
|
82
|
+
" already in progress");i.$$phase=a}function h(a,b){var c=d(a);qa(c,b);return c}function f(){}e.prototype={$new:function(a){if(M(a))throw z("API-CHANGE: Use $controller to instantiate controllers.");a?(a=new e,a.$root=this.$root):(a=function(){},a.prototype=this,a=new a,a.$id=wa());a["this"]=a;a.$$listeners={};a.$parent=this;a.$$asyncQueue=[];a.$$watchers=a.$$nextSibling=a.$$childHead=a.$$childTail=null;a.$$prevSibling=this.$$childTail;this.$$childHead?this.$$childTail=this.$$childTail.$$nextSibling=
|
83
|
+
a:this.$$childHead=this.$$childTail=a;return a},$watch:function(a,b,c){var d=h(a,"watch"),e=this.$$watchers,g={fn:b,last:f,get:d,exp:a,eq:!!c};if(!M(b)){var i=h(b||x,"listener");g.fn=function(a,b,c){i(c)}}if(!e)e=this.$$watchers=[];e.unshift(g);return function(){za(e,g)}},$digest:function(){var a,d,e,h,r,o,m,q=b,t,p=[],A,y;g("$digest");do{m=!1;t=this;do{for(r=t.$$asyncQueue;r.length;)try{t.$eval(r.shift())}catch(L){c(L)}if(h=t.$$watchers)for(o=h.length;o--;)try{if(a=h[o],(d=a.get(t))!==(e=a.last)&&
|
84
|
+
!(a.eq?fa(d,e):typeof d=="number"&&typeof e=="number"&&isNaN(d)&&isNaN(e)))m=!0,a.last=a.eq?U(d):d,a.fn(d,e===f?d:e,t),q<5&&(A=4-q,p[A]||(p[A]=[]),y=M(a.exp)?"fn: "+(a.exp.name||a.exp.toString()):a.exp,y+="; newVal: "+ba(d)+"; oldVal: "+ba(e),p[A].push(y))}catch(V){c(V)}if(!(h=t.$$childHead||t!==this&&t.$$nextSibling))for(;t!==this&&!(h=t.$$nextSibling);)t=t.$parent}while(t=h);if(m&&!q--)throw i.$$phase=null,z(b+" $digest() iterations reached. Aborting!\nWatchers fired in the last 5 iterations: "+
|
85
|
+
ba(p));}while(m||r.length);i.$$phase=null},$destroy:function(){if(i!=this){var a=this.$parent;this.$broadcast("$destroy");if(a.$$childHead==this)a.$$childHead=this.$$nextSibling;if(a.$$childTail==this)a.$$childTail=this.$$prevSibling;if(this.$$prevSibling)this.$$prevSibling.$$nextSibling=this.$$nextSibling;if(this.$$nextSibling)this.$$nextSibling.$$prevSibling=this.$$prevSibling}},$eval:function(a,b){return d(a)(this,b)},$evalAsync:function(a){this.$$asyncQueue.push(a)},$apply:function(a){try{return g("$apply"),
|
86
|
+
this.$eval(a)}catch(b){c(b)}finally{i.$$phase=null;try{i.$digest()}catch(d){throw c(d),d;}}},$on:function(a,b){var c=this.$$listeners[a];c||(this.$$listeners[a]=c=[]);c.push(b);return function(){za(c,b)}},$emit:function(a,b){var d=[],e,f=this,g=!1,i={name:a,targetScope:f,stopPropagation:function(){g=!0},preventDefault:function(){i.defaultPrevented=!0},defaultPrevented:!1},h=[i].concat(ga.call(arguments,1)),m,p;do{e=f.$$listeners[a]||d;i.currentScope=f;m=0;for(p=e.length;m<p;m++)try{if(e[m].apply(null,
|
87
|
+
h),g)return i}catch(A){c(A)}f=f.$parent}while(f);return i},$broadcast:function(a,b){var d=this,e=this,f={name:a,targetScope:this,preventDefault:function(){f.defaultPrevented=!0},defaultPrevented:!1},g=[f].concat(ga.call(arguments,1));do if(d=e,f.currentScope=d,m(d.$$listeners[a],function(a){try{a.apply(null,g)}catch(b){c(b)}}),!(e=d.$$childHead||d!==this&&d.$$nextSibling))for(;d!==this&&!(e=d.$$nextSibling);)d=d.$parent;while(d=e);return f}};var i=new e;return i}]}function Sc(){this.$get=["$window",
|
88
|
+
function(b){var a={},c=H((/android (\d+)/.exec(C(b.navigator.userAgent))||[])[1]);return{history:!(!b.history||!b.history.pushState||c<4),hashchange:"onhashchange"in b&&(!b.document.documentMode||b.document.documentMode>7),hasEvent:function(c){if(c=="input"&&Z==9)return!1;if(v(a[c])){var e=b.document.createElement("div");a[c]="on"+c in e}return a[c]},csp:!1}}]}function Tc(){this.$get=B(T)}function Mb(b){var a={},c,d,e;if(!b)return a;m(b.split("\n"),function(b){e=b.indexOf(":");c=C(Q(b.substr(0,e)));
|
89
|
+
d=Q(b.substr(e+1));c&&(a[c]?a[c]+=", "+d:a[c]=d)});return a}function Nb(b){var a=J(b)?b:p;return function(c){a||(a=Mb(b));return c?a[C(c)]||null:a}}function Ob(b,a,c){if(M(c))return c(b,a);m(c,function(c){b=c(b,a)});return b}function Uc(){var b=/^\s*(\[|\{[^\{])/,a=/[\}\]]\s*$/,c=/^\)\]\}',?\n/,d=this.defaults={transformResponse:[function(d){G(d)&&(d=d.replace(c,""),b.test(d)&&a.test(d)&&(d=mb(d,!0)));return d}],transformRequest:[function(a){return J(a)&&Sa.apply(a)!=="[object File]"?ba(a):a}],headers:{common:{Accept:"application/json, text/plain, */*",
|
90
|
+
"X-Requested-With":"XMLHttpRequest"},post:{"Content-Type":"application/json;charset=utf-8"},put:{"Content-Type":"application/json;charset=utf-8"}}},e=this.responseInterceptors=[];this.$get=["$httpBackend","$browser","$cacheFactory","$rootScope","$q","$injector",function(a,b,c,i,j,k){function l(a){function c(a){var b=D({},a,{data:Ob(a.data,a.headers,f)});return 200<=a.status&&a.status<300?b:j.reject(b)}a.method=la(a.method);var e=a.transformRequest||d.transformRequest,f=a.transformResponse||d.transformResponse,
|
91
|
+
g=d.headers,g=D({"X-XSRF-TOKEN":b.cookies()["XSRF-TOKEN"]},g.common,g[C(a.method)],a.headers),e=Ob(a.data,Nb(g),e),i;v(a.data)&&delete g["Content-Type"];i=n(a,e,g);i=i.then(c,c);m(w,function(a){i=a(i)});i.success=function(b){i.then(function(c){b(c.data,c.status,c.headers,a)});return i};i.error=function(b){i.then(null,function(c){b(c.data,c.status,c.headers,a)});return i};return i}function n(b,c,d){function e(a,b,c){m&&(200<=a&&a<300?m.put(w,[a,b,Mb(c)]):m.remove(w));f(b,a,c);i.$apply()}function f(a,
|
92
|
+
c,d){c=Math.max(c,0);(200<=c&&c<300?n.resolve:n.reject)({data:a,status:c,headers:Nb(d),config:b})}function h(){var a=Ua(l.pendingRequests,b);a!==-1&&l.pendingRequests.splice(a,1)}var n=j.defer(),k=n.promise,m,p,w=r(b.url,b.params);l.pendingRequests.push(b);k.then(h,h);b.cache&&b.method=="GET"&&(m=J(b.cache)?b.cache:o);if(m)if(p=m.get(w))if(p.then)return p.then(h,h),p;else K(p)?f(p[1],p[0],U(p[2])):f(p,200,{});else m.put(w,k);p||a(b.method,w,c,e,d,b.timeout,b.withCredentials);return k}function r(a,
|
93
|
+
b){if(!b)return a;var c=[];dc(b,function(a,b){a==null||a==p||(J(a)&&(a=ba(a)),c.push(encodeURIComponent(b)+"="+encodeURIComponent(a)))});return a+(a.indexOf("?")==-1?"?":"&")+c.join("&")}var o=c("$http"),w=[];m(e,function(a){w.push(G(a)?k.get(a):k.invoke(a))});l.pendingRequests=[];(function(a){m(arguments,function(a){l[a]=function(b,c){return l(D(c||{},{method:a,url:b}))}})})("get","delete","head","jsonp");(function(a){m(arguments,function(a){l[a]=function(b,c,d){return l(D(d||{},{method:a,url:b,
|
94
|
+
data:c}))}})})("post","put");l.defaults=d;return l}]}function Vc(){this.$get=["$browser","$window","$document",function(b,a,c){return Wc(b,Xc,b.defer,a.angular.callbacks,c[0],a.location.protocol.replace(":",""))}]}function Wc(b,a,c,d,e,g){function h(a,b){var c=e.createElement("script"),d=function(){e.body.removeChild(c);b&&b()};c.type="text/javascript";c.src=a;Z?c.onreadystatechange=function(){/loaded|complete/.test(c.readyState)&&d()}:c.onload=c.onerror=d;e.body.appendChild(c)}return function(e,
|
95
|
+
i,j,k,l,n,r){function o(a,c,d,e){c=(i.match(Fb)||["",g])[1]=="file"?d?200:404:c;a(c==1223?204:c,d,e);b.$$completeOutstandingRequest(x)}b.$$incOutstandingRequestCount();i=i||b.url();if(C(e)=="jsonp"){var p="_"+(d.counter++).toString(36);d[p]=function(a){d[p].data=a};h(i.replace("JSON_CALLBACK","angular.callbacks."+p),function(){d[p].data?o(k,200,d[p].data):o(k,-2);delete d[p]})}else{var q=new a;q.open(e,i,!0);m(l,function(a,b){a&&q.setRequestHeader(b,a)});var t;q.onreadystatechange=function(){q.readyState==
|
96
|
+
4&&o(k,t||q.status,q.responseText,q.getAllResponseHeaders())};if(r)q.withCredentials=!0;q.send(j||"");n>0&&c(function(){t=-1;q.abort()},n)}}}function Yc(){this.$get=function(){return{id:"en-us",NUMBER_FORMATS:{DECIMAL_SEP:".",GROUP_SEP:",",PATTERNS:[{minInt:1,minFrac:0,maxFrac:3,posPre:"",posSuf:"",negPre:"-",negSuf:"",gSize:3,lgSize:3},{minInt:1,minFrac:2,maxFrac:2,posPre:"\u00a4",posSuf:"",negPre:"(\u00a4",negSuf:")",gSize:3,lgSize:3}],CURRENCY_SYM:"$"},DATETIME_FORMATS:{MONTH:"January,February,March,April,May,June,July,August,September,October,November,December".split(","),
|
97
|
+
SHORTMONTH:"Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec".split(","),DAY:"Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday".split(","),SHORTDAY:"Sun,Mon,Tue,Wed,Thu,Fri,Sat".split(","),AMPMS:["AM","PM"],medium:"MMM d, y h:mm:ss a","short":"M/d/yy h:mm a",fullDate:"EEEE, MMMM d, y",longDate:"MMMM d, y",mediumDate:"MMM d, y",shortDate:"M/d/yy",mediumTime:"h:mm:ss a",shortTime:"h:mm a"},pluralCat:function(b){return b===1?"one":"other"}}}}function Zc(){this.$get=["$rootScope","$browser","$q",
|
98
|
+
"$exceptionHandler",function(b,a,c,d){function e(e,f,i){var j=c.defer(),k=j.promise,l=s(i)&&!i,f=a.defer(function(){try{j.resolve(e())}catch(a){j.reject(a),d(a)}l||b.$apply()},f),i=function(){delete g[k.$$timeoutId]};k.$$timeoutId=f;g[f]=j;k.then(i,i);return k}var g={};e.cancel=function(b){return b&&b.$$timeoutId in g?(g[b.$$timeoutId].reject("canceled"),a.defer.cancel(b.$$timeoutId)):!1};return e}]}function Pb(b){function a(a,e){return b.factory(a+c,e)}var c="Filter";this.register=a;this.$get=["$injector",
|
99
|
+
function(a){return function(b){return a.get(b+c)}}];a("currency",Qb);a("date",Rb);a("filter",$c);a("json",ad);a("limitTo",bd);a("lowercase",cd);a("number",Sb);a("orderBy",Tb);a("uppercase",dd)}function $c(){return function(b,a){if(!(b instanceof Array))return b;var c=[];c.check=function(a){for(var b=0;b<c.length;b++)if(!c[b](a))return!1;return!0};var d=function(a,b){if(b.charAt(0)==="!")return!d(a,b.substr(1));switch(typeof a){case "boolean":case "number":case "string":return(""+a).toLowerCase().indexOf(b)>
|
100
|
+
-1;case "object":for(var c in a)if(c.charAt(0)!=="$"&&d(a[c],b))return!0;return!1;case "array":for(c=0;c<a.length;c++)if(d(a[c],b))return!0;return!1;default:return!1}};switch(typeof a){case "boolean":case "number":case "string":a={$:a};case "object":for(var e in a)e=="$"?function(){var b=(""+a[e]).toLowerCase();b&&c.push(function(a){return d(a,b)})}():function(){var b=e,f=(""+a[e]).toLowerCase();f&&c.push(function(a){return d(eb(a,b),f)})}();break;case "function":c.push(a);break;default:return b}for(var g=
|
101
|
+
[],h=0;h<b.length;h++){var f=b[h];c.check(f)&&g.push(f)}return g}}function Qb(b){var a=b.NUMBER_FORMATS;return function(b,d){if(v(d))d=a.CURRENCY_SYM;return Ub(b,a.PATTERNS[1],a.GROUP_SEP,a.DECIMAL_SEP,2).replace(/\u00A4/g,d)}}function Sb(b){var a=b.NUMBER_FORMATS;return function(b,d){return Ub(b,a.PATTERNS[0],a.GROUP_SEP,a.DECIMAL_SEP,d)}}function Ub(b,a,c,d,e){if(isNaN(b)||!isFinite(b))return"";var g=b<0,b=Math.abs(b),h=b+"",f="",i=[];if(h.indexOf("e")!==-1)f=h;else{h=(h.split(Vb)[1]||"").length;
|
102
|
+
v(e)&&(e=Math.min(Math.max(a.minFrac,h),a.maxFrac));var h=Math.pow(10,e),b=Math.round(b*h)/h,b=(""+b).split(Vb),h=b[0],b=b[1]||"",j=0,k=a.lgSize,l=a.gSize;if(h.length>=k+l)for(var j=h.length-k,n=0;n<j;n++)(j-n)%l===0&&n!==0&&(f+=c),f+=h.charAt(n);for(n=j;n<h.length;n++)(h.length-n)%k===0&&n!==0&&(f+=c),f+=h.charAt(n);for(;b.length<e;)b+="0";e&&(f+=d+b.substr(0,e))}i.push(g?a.negPre:a.posPre);i.push(f);i.push(g?a.negSuf:a.posSuf);return i.join("")}function hb(b,a,c){var d="";b<0&&(d="-",b=-b);for(b=
|
103
|
+
""+b;b.length<a;)b="0"+b;c&&(b=b.substr(b.length-a));return d+b}function O(b,a,c,d){return function(e){e=e["get"+b]();if(c>0||e>-c)e+=c;e===0&&c==-12&&(e=12);return hb(e,a,d)}}function La(b,a){return function(c,d){var e=c["get"+b](),g=la(a?"SHORT"+b:b);return d[g][e]}}function Rb(b){function a(a){var b;if(b=a.match(c)){var a=new Date(0),g=0,h=0;b[9]&&(g=H(b[9]+b[10]),h=H(b[9]+b[11]));a.setUTCFullYear(H(b[1]),H(b[2])-1,H(b[3]));a.setUTCHours(H(b[4]||0)-g,H(b[5]||0)-h,H(b[6]||0),H(b[7]||0))}return a}
|
104
|
+
var c=/^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d{3}))?)?)?(Z|([+-])(\d\d):?(\d\d)))?$/;return function(c,e){var g="",h=[],f,i,e=e||"mediumDate",e=b.DATETIME_FORMATS[e]||e;G(c)&&(c=ed.test(c)?H(c):a(c));va(c)&&(c=new Date(c));if(!ma(c))return c;for(;e;)(i=fd.exec(e))?(h=h.concat(ga.call(i,1)),e=h.pop()):(h.push(e),e=null);m(h,function(a){f=gd[a];g+=f?f(c,b.DATETIME_FORMATS):a.replace(/(^'|'$)/g,"").replace(/''/g,"'")});return g}}function ad(){return function(b){return ba(b,!0)}}
|
105
|
+
function bd(){return function(b,a){if(!(b instanceof Array))return b;var a=H(a),c=[],d,e;if(!b||!(b instanceof Array))return c;a>b.length?a=b.length:a<-b.length&&(a=-b.length);a>0?(d=0,e=a):(d=b.length+a,e=b.length);for(;d<e;d++)c.push(b[d]);return c}}function Tb(b){return function(a,c,d){function e(a,b){return Wa(b)?function(b,c){return a(c,b)}:a}if(!(a instanceof Array))return a;if(!c)return a;for(var c=K(c)?c:[c],c=Ta(c,function(a){var c=!1,d=a||ya;if(G(a)){if(a.charAt(0)=="+"||a.charAt(0)=="-")c=
|
106
|
+
a.charAt(0)=="-",a=a.substring(1);d=b(a)}return e(function(a,b){var c;c=d(a);var e=d(b),f=typeof c,g=typeof e;f==g?(f=="string"&&(c=c.toLowerCase()),f=="string"&&(e=e.toLowerCase()),c=c===e?0:c<e?-1:1):c=f<g?-1:1;return c},c)}),g=[],h=0;h<a.length;h++)g.push(a[h]);return g.sort(e(function(a,b){for(var d=0;d<c.length;d++){var e=c[d](a,b);if(e!==0)return e}return 0},d))}}function R(b){M(b)&&(b={link:b});b.restrict=b.restrict||"AC";return B(b)}function Wb(b,a){function c(a,c){c=c?"-"+$a(c,"-"):"";b.removeClass((a?
|
107
|
+
Ma:Na)+c).addClass((a?Na:Ma)+c)}var d=this,e=b.parent().controller("form")||Oa,g=0,h=d.$error={};d.$name=a.name;d.$dirty=!1;d.$pristine=!0;d.$valid=!0;d.$invalid=!1;e.$addControl(d);b.addClass(Pa);c(!0);d.$addControl=function(a){a.$name&&!d.hasOwnProperty(a.$name)&&(d[a.$name]=a)};d.$removeControl=function(a){a.$name&&d[a.$name]===a&&delete d[a.$name];m(h,function(b,c){d.$setValidity(c,!0,a)})};d.$setValidity=function(a,b,j){var k=h[a];if(b){if(k&&(za(k,j),!k.length)){g--;if(!g)c(b),d.$valid=!0,d.$invalid=
|
108
|
+
!1;h[a]=!1;c(!0,a);e.$setValidity(a,!0,d)}}else{g||c(b);if(k){if(Ua(k,j)!=-1)return}else h[a]=k=[],g++,c(!1,a),e.$setValidity(a,!1,d);k.push(j);d.$valid=!1;d.$invalid=!0}};d.$setDirty=function(){b.removeClass(Pa).addClass(Xb);d.$dirty=!0;d.$pristine=!1}}function S(b){return v(b)||b===""||b===null||b!==b}function Qa(b,a,c,d,e,g){var h=function(){var c=Q(a.val());d.$viewValue!==c&&b.$apply(function(){d.$setViewValue(c)})};if(e.hasEvent("input"))a.bind("input",h);else{var f;a.bind("keydown",function(a){a=
|
109
|
+
a.keyCode;a===91||15<a&&a<19||37<=a&&a<=40||f||(f=g.defer(function(){h();f=null}))});a.bind("change",h)}d.$render=function(){a.val(S(d.$viewValue)?"":d.$viewValue)};var i=c.ngPattern,j=function(a,b){return S(b)||a.test(b)?(d.$setValidity("pattern",!0),b):(d.$setValidity("pattern",!1),p)};i&&(i.match(/^\/(.*)\/$/)?(i=RegExp(i.substr(1,i.length-2)),e=function(a){return j(i,a)}):e=function(a){var c=b.$eval(i);if(!c||!c.test)throw new z("Expected "+i+" to be a RegExp but was "+c);return j(c,a)},d.$formatters.push(e),
|
110
|
+
d.$parsers.push(e));if(c.ngMinlength){var k=H(c.ngMinlength),e=function(a){return!S(a)&&a.length<k?(d.$setValidity("minlength",!1),p):(d.$setValidity("minlength",!0),a)};d.$parsers.push(e);d.$formatters.push(e)}if(c.ngMaxlength){var l=H(c.ngMaxlength),c=function(a){return!S(a)&&a.length>l?(d.$setValidity("maxlength",!1),p):(d.$setValidity("maxlength",!0),a)};d.$parsers.push(c);d.$formatters.push(c)}}function ib(b,a){b="ngClass"+b;return R(function(c,d,e){c.$watch(e[b],function(b,e){if(a===!0||c.$index%
|
111
|
+
2===a)e&&b!==e&&(J(e)&&!K(e)&&(e=Ta(e,function(a,b){if(a)return b})),d.removeClass(K(e)?e.join(" "):e)),J(b)&&!K(b)&&(b=Ta(b,function(a,b){if(a)return b})),b&&d.addClass(K(b)?b.join(" "):b)},!0)})}var C=function(b){return G(b)?b.toLowerCase():b},la=function(b){return G(b)?b.toUpperCase():b},z=T.Error,Z=H((/msie (\d+)/.exec(C(navigator.userAgent))||[])[1]),u,ha,ga=[].slice,Ra=[].push,Sa=Object.prototype.toString,Yb=T.angular||(T.angular={}),sa,Cb,Y=["0","0","0"];x.$inject=[];ya.$inject=[];Cb=Z<9?function(b){b=
|
112
|
+
b.nodeName?b:b[0];return b.scopeName&&b.scopeName!="HTML"?la(b.scopeName+":"+b.nodeName):b.nodeName}:function(b){return b.nodeName?b.nodeName:b[0].nodeName};var jc=/[A-Z]/g,hd={full:"1.0.1",major:1,minor:0,dot:1,codeName:"thorium-shielding"},Ba=P.cache={},Aa=P.expando="ng-"+(new Date).getTime(),nc=1,id=T.document.addEventListener?function(b,a,c){b.addEventListener(a,c,!1)}:function(b,a,c){b.attachEvent("on"+a,c)},tb=T.document.removeEventListener?function(b,a,c){b.removeEventListener(a,c,!1)}:function(b,
|
113
|
+
a,c){b.detachEvent("on"+a,c)},lc=/([\:\-\_]+(.))/g,mc=/^moz([A-Z])/,ta=P.prototype={ready:function(b){function a(){c||(c=!0,b())}var c=!1;this.bind("DOMContentLoaded",a);P(T).bind("load",a)},toString:function(){var b=[];m(this,function(a){b.push(""+a)});return"["+b.join(", ")+"]"},eq:function(b){return b>=0?u(this[b]):u(this[this.length+b])},length:0,push:Ra,sort:[].sort,splice:[].splice},Ea={};m("multiple,selected,checked,disabled,readOnly,required".split(","),function(b){Ea[C(b)]=b});var zb={};
|
114
|
+
m("input,select,option,textarea,button,form".split(","),function(b){zb[la(b)]=!0});m({data:ub,inheritedData:Da,scope:function(b){return Da(b,"$scope")},controller:xb,injector:function(b){return Da(b,"$injector")},removeAttr:function(b,a){b.removeAttribute(a)},hasClass:Ca,css:function(b,a,c){a=qb(a);if(s(c))b.style[a]=c;else{var d;Z<=8&&(d=b.currentStyle&&b.currentStyle[a],d===""&&(d="auto"));d=d||b.style[a];Z<=8&&(d=d===""?p:d);return d}},attr:function(b,a,c){var d=C(a);if(Ea[d])if(s(c))c?(b[a]=!0,
|
115
|
+
b.setAttribute(a,d)):(b[a]=!1,b.removeAttribute(d));else return b[a]||(b.attributes.getNamedItem(a)||x).specified?d:p;else if(s(c))b.setAttribute(a,c);else if(b.getAttribute)return b=b.getAttribute(a,2),b===null?p:b},prop:function(b,a,c){if(s(c))b[a]=c;else return b[a]},text:D(Z<9?function(b,a){if(b.nodeType==1){if(v(a))return b.innerText;b.innerText=a}else{if(v(a))return b.nodeValue;b.nodeValue=a}}:function(b,a){if(v(a))return b.textContent;b.textContent=a},{$dv:""}),val:function(b,a){if(v(a))return b.value;
|
116
|
+
b.value=a},html:function(b,a){if(v(a))return b.innerHTML;for(var c=0,d=b.childNodes;c<d.length;c++)ra(d[c]);b.innerHTML=a}},function(b,a){P.prototype[a]=function(a,d){var e,g;if((b.length==2&&b!==Ca&&b!==xb?a:d)===p)if(J(a)){for(e=0;e<this.length;e++)if(b===ub)b(this[e],a);else for(g in a)b(this[e],g,a[g]);return this}else{if(this.length)return b(this[0],a,d)}else{for(e=0;e<this.length;e++)b(this[e],a,d);return this}return b.$dv}});m({removeData:rb,dealoc:ra,bind:function a(c,d,e){var g=ca(c,"events"),
|
117
|
+
h=ca(c,"handle");g||ca(c,"events",g={});h||ca(c,"handle",h=oc(c,g));m(d.split(" "),function(d){var i=g[d];if(!i){if(d=="mouseenter"||d=="mouseleave"){var j=0;g.mouseenter=[];g.mouseleave=[];a(c,"mouseover",function(a){j++;j==1&&h(a,"mouseenter")});a(c,"mouseout",function(a){j--;j==0&&h(a,"mouseleave")})}else id(c,d,h),g[d]=[];i=g[d]}i.push(e)})},unbind:sb,replaceWith:function(a,c){var d,e=a.parentNode;ra(a);m(new P(c),function(c){d?e.insertBefore(c,d.nextSibling):e.replaceChild(c,a);d=c})},children:function(a){var c=
|
118
|
+
[];m(a.childNodes,function(a){a.nodeName!="#text"&&c.push(a)});return c},contents:function(a){return a.childNodes},append:function(a,c){m(new P(c),function(c){a.nodeType===1&&a.appendChild(c)})},prepend:function(a,c){if(a.nodeType===1){var d=a.firstChild;m(new P(c),function(c){d?a.insertBefore(c,d):(a.appendChild(c),d=c)})}},wrap:function(a,c){var c=u(c)[0],d=a.parentNode;d&&d.replaceChild(c,a);c.appendChild(a)},remove:function(a){ra(a);var c=a.parentNode;c&&c.removeChild(a)},after:function(a,c){var d=
|
119
|
+
a,e=a.parentNode;m(new P(c),function(a){e.insertBefore(a,d.nextSibling);d=a})},addClass:wb,removeClass:vb,toggleClass:function(a,c,d){v(d)&&(d=!Ca(a,c));(d?wb:vb)(a,c)},parent:function(a){return(a=a.parentNode)&&a.nodeType!==11?a:null},next:function(a){return a.nextSibling},find:function(a,c){return a.getElementsByTagName(c)},clone:cb},function(a,c){P.prototype[c]=function(c,e){for(var g,h=0;h<this.length;h++)g==p?(g=a(this[h],c,e),g!==p&&(g=u(g))):bb(g,a(this[h],c,e));return g==p?this:g}});Fa.prototype=
|
120
|
+
{put:function(a,c){this[ia(a)]=c},get:function(a){return this[ia(a)]},remove:function(a){var c=this[a=ia(a)];delete this[a];return c}};db.prototype={push:function(a,c){var d=this[a=ia(a)];d?d.push(c):this[a]=[c]},shift:function(a){var c=this[a=ia(a)];if(c)return c.length==1?(delete this[a],c[0]):c.shift()}};var qc=/^function\s*[^\(]*\(\s*([^\)]*)\)/m,rc=/,/,sc=/^\s*(_?)(.+?)\1\s*$/,pc=/((\/\/.*$)|(\/\*[\s\S]*?\*\/))/mg,Db="Non-assignable model expression: ";Bb.$inject=["$provide"];var zc=/^(x[\:\-_]|data[\:\-_])/i,
|
121
|
+
Fb=/^([^:]+):\/\/(\w+:{0,1}\w*@)?([\w\.-]*)(:([0-9]+))?(\/[^\?#]*)?(\?([^#]*))?(#(.*))?$/,Zb=/^([^\?#]*)?(\?([^#]*))?(#(.*))?$/,Gc=Zb,Gb={http:80,https:443,ftp:21};fb.prototype={$$replace:!1,absUrl:Ja("$$absUrl"),url:function(a,c){if(v(a))return this.$$url;var d=Zb.exec(a);d[1]&&this.path(decodeURIComponent(d[1]));if(d[2]||d[1])this.search(d[3]||"");this.hash(d[5]||"",c);return this},protocol:Ja("$$protocol"),host:Ja("$$host"),port:Ja("$$port"),path:Ib("$$path",function(a){return a.charAt(0)=="/"?
|
122
|
+
a:"/"+a}),search:function(a,c){if(v(a))return this.$$search;s(c)?c===null?delete this.$$search[a]:this.$$search[a]=c:this.$$search=G(a)?Xa(a):a;this.$$compose();return this},hash:Ib("$$hash",ya),replace:function(){this.$$replace=!0;return this}};Ia.prototype=xa(fb.prototype);Hb.prototype=xa(Ia.prototype);var Ka={"null":function(){return null},"true":function(){return!0},"false":function(){return!1},undefined:x,"+":function(a,c,d,e){d=d(a,c);e=e(a,c);return(s(d)?d:0)+(s(e)?e:0)},"-":function(a,c,d,
|
123
|
+
e){d=d(a,c);e=e(a,c);return(s(d)?d:0)-(s(e)?e:0)},"*":function(a,c,d,e){return d(a,c)*e(a,c)},"/":function(a,c,d,e){return d(a,c)/e(a,c)},"%":function(a,c,d,e){return d(a,c)%e(a,c)},"^":function(a,c,d,e){return d(a,c)^e(a,c)},"=":x,"==":function(a,c,d,e){return d(a,c)==e(a,c)},"!=":function(a,c,d,e){return d(a,c)!=e(a,c)},"<":function(a,c,d,e){return d(a,c)<e(a,c)},">":function(a,c,d,e){return d(a,c)>e(a,c)},"<=":function(a,c,d,e){return d(a,c)<=e(a,c)},">=":function(a,c,d,e){return d(a,c)>=e(a,c)},
|
124
|
+
"&&":function(a,c,d,e){return d(a,c)&&e(a,c)},"||":function(a,c,d,e){return d(a,c)||e(a,c)},"&":function(a,c,d,e){return d(a,c)&e(a,c)},"|":function(a,c,d,e){return e(a,c)(a,c,d(a,c))},"!":function(a,c,d){return!d(a,c)}},Kc={n:"\n",f:"\u000c",r:"\r",t:"\t",v:"\u000b","'":"'",'"':'"'},gb={},Xc=T.XMLHttpRequest||function(){try{return new ActiveXObject("Msxml2.XMLHTTP.6.0")}catch(a){}try{return new ActiveXObject("Msxml2.XMLHTTP.3.0")}catch(c){}try{return new ActiveXObject("Msxml2.XMLHTTP")}catch(d){}throw new z("This browser does not support XMLHttpRequest.");
|
125
|
+
};Pb.$inject=["$provide"];Qb.$inject=["$locale"];Sb.$inject=["$locale"];var Vb=".",gd={yyyy:O("FullYear",4),yy:O("FullYear",2,0,!0),y:O("FullYear",1),MMMM:La("Month"),MMM:La("Month",!0),MM:O("Month",2,1),M:O("Month",1,1),dd:O("Date",2),d:O("Date",1),HH:O("Hours",2),H:O("Hours",1),hh:O("Hours",2,-12),h:O("Hours",1,-12),mm:O("Minutes",2),m:O("Minutes",1),ss:O("Seconds",2),s:O("Seconds",1),EEEE:La("Day"),EEE:La("Day",!0),a:function(a,c){return a.getHours()<12?c.AMPMS[0]:c.AMPMS[1]},Z:function(a){a=a.getTimezoneOffset();
|
126
|
+
return hb(a/60,2)+hb(Math.abs(a%60),2)}},fd=/((?:[^yMdHhmsaZE']+)|(?:'(?:[^']|'')*')|(?:E+|y+|M+|d+|H+|h+|m+|s+|a|Z))(.*)/,ed=/^\d+$/;Rb.$inject=["$locale"];var cd=B(C),dd=B(la);Tb.$inject=["$parse"];var jd=B({restrict:"E",compile:function(a,c){c.href||c.$set("href","");return function(a,c){c.bind("click",function(a){c.attr("href")||a.preventDefault()})}}}),jb={};m(Ea,function(a,c){var d=ea("ng-"+c);jb[d]=function(){return{priority:100,compile:function(){return function(a,g,h){a.$watch(h[d],function(a){h.$set(c,
|
127
|
+
!!a)})}}}}});m(["src","href"],function(a){var c=ea("ng-"+a);jb[c]=function(){return{priority:99,link:function(d,e,g){g.$observe(c,function(c){g.$set(a,c);Z&&e.prop(a,c)})}}}});var Oa={$addControl:x,$removeControl:x,$setValidity:x,$setDirty:x};Wb.$inject=["$element","$attrs","$scope"];var Ra={name:"form",restrict:"E",controller:Wb,compile:function(){return{pre:function(a,c,d,e){d.action||c.bind("submit",function(a){a.preventDefault()});var g=c.parent().controller("form"),h=d.name||d.ngForm;h&&(a[h]=
|
128
|
+
e);g&&c.bind("$destroy",function(){g.$removeControl(e);h&&(a[h]=p);D(e,Oa)})}}}},kd=B(Ra),ld=B(D(U(Ra),{restrict:"EAC"})),md=/^(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?$/,nd=/^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/,od=/^\s*(\-|\+)?(\d+|(\d*(\.\d*)))\s*$/,$b={text:Qa,number:function(a,c,d,e,g,h){Qa(a,c,d,e,g,h);e.$parsers.push(function(a){var c=S(a);return c||od.test(a)?(e.$setValidity("number",!0),a===""?null:c?a:parseFloat(a)):(e.$setValidity("number",
|
129
|
+
!1),p)});e.$formatters.push(function(a){return S(a)?"":""+a});if(d.min){var f=parseFloat(d.min),a=function(a){return!S(a)&&a<f?(e.$setValidity("min",!1),p):(e.$setValidity("min",!0),a)};e.$parsers.push(a);e.$formatters.push(a)}if(d.max){var i=parseFloat(d.max),d=function(a){return!S(a)&&a>i?(e.$setValidity("max",!1),p):(e.$setValidity("max",!0),a)};e.$parsers.push(d);e.$formatters.push(d)}e.$formatters.push(function(a){return S(a)||va(a)?(e.$setValidity("number",!0),a):(e.$setValidity("number",!1),
|
130
|
+
p)})},url:function(a,c,d,e,g,h){Qa(a,c,d,e,g,h);a=function(a){return S(a)||md.test(a)?(e.$setValidity("url",!0),a):(e.$setValidity("url",!1),p)};e.$formatters.push(a);e.$parsers.push(a)},email:function(a,c,d,e,g,h){Qa(a,c,d,e,g,h);a=function(a){return S(a)||nd.test(a)?(e.$setValidity("email",!0),a):(e.$setValidity("email",!1),p)};e.$formatters.push(a);e.$parsers.push(a)},radio:function(a,c,d,e){v(d.name)&&c.attr("name",wa());c.bind("click",function(){c[0].checked&&a.$apply(function(){e.$setViewValue(d.value)})});
|
131
|
+
e.$render=function(){c[0].checked=d.value==e.$viewValue};d.$observe("value",e.$render)},checkbox:function(a,c,d,e){var g=d.ngTrueValue,h=d.ngFalseValue;G(g)||(g=!0);G(h)||(h=!1);c.bind("click",function(){a.$apply(function(){e.$setViewValue(c[0].checked)})});e.$render=function(){c[0].checked=e.$viewValue};e.$formatters.push(function(a){return a===g});e.$parsers.push(function(a){return a?g:h})},hidden:x,button:x,submit:x,reset:x},ac=["$browser","$sniffer",function(a,c){return{restrict:"E",require:"?ngModel",
|
132
|
+
link:function(d,e,g,h){h&&($b[C(g.type)]||$b.text)(d,e,g,h,c,a)}}}],Na="ng-valid",Ma="ng-invalid",Pa="ng-pristine",Xb="ng-dirty",pd=["$scope","$exceptionHandler","$attrs","$element","$parse",function(a,c,d,e,g){function h(a,c){c=c?"-"+$a(c,"-"):"";e.removeClass((a?Ma:Na)+c).addClass((a?Na:Ma)+c)}this.$modelValue=this.$viewValue=Number.NaN;this.$parsers=[];this.$formatters=[];this.$viewChangeListeners=[];this.$pristine=!0;this.$dirty=!1;this.$valid=!0;this.$invalid=!1;this.$name=d.name;var g=g(d.ngModel),
|
133
|
+
f=g.assign;if(!f)throw z(Db+d.ngModel+" ("+oa(e)+")");this.$render=x;var i=e.inheritedData("$formController")||Oa,j=0,k=this.$error={};e.addClass(Pa);h(!0);this.$setValidity=function(a,c){if(k[a]!==!c){if(c){if(k[a]&&j--,!j)h(!0),this.$valid=!0,this.$invalid=!1}else h(!1),this.$invalid=!0,this.$valid=!1,j++;k[a]=!c;h(c,a);i.$setValidity(a,c,this)}};this.$setViewValue=function(d){this.$viewValue=d;if(this.$pristine)this.$dirty=!0,this.$pristine=!1,e.removeClass(Pa).addClass(Xb),i.$setDirty();m(this.$parsers,
|
134
|
+
function(a){d=a(d)});if(this.$modelValue!==d)this.$modelValue=d,f(a,d),m(this.$viewChangeListeners,function(a){try{a()}catch(d){c(d)}})};var l=this;a.$watch(g,function(a){if(l.$modelValue!==a){var c=l.$formatters,d=c.length;for(l.$modelValue=a;d--;)a=c[d](a);if(l.$viewValue!==a)l.$viewValue=a,l.$render()}})}],qd=function(){return{require:["ngModel","^?form"],controller:pd,link:function(a,c,d,e){var g=e[0],h=e[1]||Oa;h.$addControl(g);c.bind("$destroy",function(){h.$removeControl(g)})}}},rd=B({require:"ngModel",
|
135
|
+
link:function(a,c,d,e){e.$viewChangeListeners.push(function(){a.$eval(d.ngChange)})}}),bc=function(){return{require:"?ngModel",link:function(a,c,d,e){if(e){d.required=!0;var g=function(a){if(d.required&&(S(a)||a===!1))e.$setValidity("required",!1);else return e.$setValidity("required",!0),a};e.$formatters.push(g);e.$parsers.unshift(g);d.$observe("required",function(){g(e.$viewValue)})}}}},sd=function(){return{require:"ngModel",link:function(a,c,d,e){var g=(a=/\/(.*)\//.exec(d.ngList))&&RegExp(a[1])||
|
136
|
+
d.ngList||",",h=function(a){var c=[];a&&m(a.split(g),function(a){a&&c.push(Q(a))});return c};e.$parsers.push(h);e.$formatters.push(function(a){return K(a)&&!fa(h(e.$viewValue),a)?a.join(", "):p})}}},td=/^(true|false|\d+)$/,ud=function(){return{priority:100,compile:function(a,c){return td.test(c.ngValue)?function(a,c,g){g.$set("value",a.$eval(g.ngValue))}:function(a,c,g){a.$watch(g.ngValue,function(a){g.$set("value",a,!1)})}}}},vd=R(function(a,c,d){c.addClass("ng-binding").data("$binding",d.ngBind);
|
137
|
+
a.$watch(d.ngBind,function(a){c.text(a==p?"":a)})}),wd=["$interpolate",function(a){return function(c,d,e){c=a(d.attr(e.$attr.ngBindTemplate));d.addClass("ng-binding").data("$binding",c);e.$observe("ngBindTemplate",function(a){d.text(a)})}}],xd=[function(){return function(a,c,d){c.addClass("ng-binding").data("$binding",d.ngBindHtmlUnsafe);a.$watch(d.ngBindHtmlUnsafe,function(a){c.html(a||"")})}}],yd=ib("",!0),zd=ib("Odd",0),Ad=ib("Even",1),Bd=R({compile:function(a,c){c.$set("ngCloak",p);a.removeClass("ng-cloak")}}),
|
138
|
+
Cd=[function(){return{scope:!0,controller:"@"}}],Dd=["$sniffer",function(a){return{priority:1E3,compile:function(){a.csp=!0}}}],cc={};m("click dblclick mousedown mouseup mouseover mouseout mousemove mouseenter mouseleave".split(" "),function(a){var c=ea("ng-"+a);cc[c]=["$parse",function(d){return function(e,g,h){var f=d(h[c]);g.bind(C(a),function(a){e.$apply(function(){f(e,{$event:a})})})}}]});var Ed=R(function(a,c,d){c.bind("submit",function(){a.$apply(d.ngSubmit)})}),Fd=["$http","$templateCache",
|
139
|
+
"$anchorScroll","$compile",function(a,c,d,e){return{restrict:"ECA",terminal:!0,compile:function(g,h){var f=h.ngInclude||h.src,i=h.onload||"",j=h.autoscroll;return function(g,h){var n=0,m,o=function(){m&&(m.$destroy(),m=null);h.html("")};g.$watch(f,function(f){var q=++n;f?a.get(f,{cache:c}).success(function(a){q===n&&(m&&m.$destroy(),m=g.$new(),h.html(a),e(h.contents())(m),s(j)&&(!j||g.$eval(j))&&d(),m.$emit("$includeContentLoaded"),g.$eval(i))}).error(function(){q===n&&o()}):o()})}}}}],Gd=R({compile:function(){return{pre:function(a,
|
140
|
+
c,d){a.$eval(d.ngInit)}}}}),Hd=R({terminal:!0,priority:1E3}),Id=["$locale","$interpolate",function(a,c){var d=/{}/g;return{restrict:"EA",link:function(e,g,h){var f=h.count,i=g.attr(h.$attr.when),j=h.offset||0,k=e.$eval(i),l={};m(k,function(a,e){l[e]=c(a.replace(d,"{{"+f+"-"+j+"}}"))});e.$watch(function(){var c=parseFloat(e.$eval(f));return isNaN(c)?"":(k[c]||(c=a.pluralCat(c-j)),l[c](e,g,!0))},function(a){g.text(a)})}}}],Jd=R({transclude:"element",priority:1E3,terminal:!0,compile:function(a,c,d){return function(a,
|
141
|
+
c,h){var f=h.ngRepeat,h=f.match(/^\s*(.+)\s+in\s+(.*)\s*$/),i,j,k;if(!h)throw z("Expected ngRepeat in form of '_item_ in _collection_' but got '"+f+"'.");f=h[1];i=h[2];h=f.match(/^(?:([\$\w]+)|\(([\$\w]+)\s*,\s*([\$\w]+)\))$/);if(!h)throw z("'item' in 'item in collection' should be identifier or (key, value) but got '"+f+"'.");j=h[3]||h[1];k=h[2];var l=new db;a.$watch(function(a){var e,f,h=a.$eval(i),m=fc(h,!0),p,u=new db,A,y,v,s,z=c;if(K(h))v=h||[];else{v=[];for(A in h)h.hasOwnProperty(A)&&A.charAt(0)!=
|
142
|
+
"$"&&v.push(A);v.sort()}e=0;for(f=v.length;e<f;e++){A=h===v?e:v[e];y=h[A];if(s=l.shift(y)){p=s.scope;u.push(y,s);if(e!==s.index)s.index=e,z.after(s.element);z=s.element}else p=a.$new();p[j]=y;k&&(p[k]=A);p.$index=e;p.$first=e===0;p.$last=e===m-1;p.$middle=!(p.$first||p.$last);s||d(p,function(a){z.after(a);s={scope:p,element:z=a,index:e};u.push(y,s)})}for(A in l)if(l.hasOwnProperty(A))for(v=l[A];v.length;)y=v.pop(),y.element.remove(),y.scope.$destroy();l=u})}}}),Kd=R(function(a,c,d){a.$watch(d.ngShow,
|
143
|
+
function(a){c.css("display",Wa(a)?"":"none")})}),Ld=R(function(a,c,d){a.$watch(d.ngHide,function(a){c.css("display",Wa(a)?"none":"")})}),Md=R(function(a,c,d){a.$watch(d.ngStyle,function(a,d){d&&a!==d&&m(d,function(a,d){c.css(d,"")});a&&c.css(a)},!0)}),Nd=B({restrict:"EA",compile:function(a,c){var d=c.ngSwitch||c.on,e={};a.data("ng-switch",e);return function(a,h){var f,i,j;a.$watch(d,function(d){i&&(j.$destroy(),i.remove(),i=j=null);if(f=e["!"+d]||e["?"])a.$eval(c.change),j=a.$new(),f(j,function(a){i=
|
144
|
+
a;h.append(a)})})}}}),Od=R({transclude:"element",priority:500,compile:function(a,c,d){a=a.inheritedData("ng-switch");pa(a);a["!"+c.ngSwitchWhen]=d}}),Pd=R({transclude:"element",priority:500,compile:function(a,c,d){a=a.inheritedData("ng-switch");pa(a);a["?"]=d}}),Qd=R({controller:["$transclude","$element",function(a,c){a(function(a){c.append(a)})}]}),Rd=["$http","$templateCache","$route","$anchorScroll","$compile","$controller",function(a,c,d,e,g,h){return{restrict:"ECA",terminal:!0,link:function(a,
|
145
|
+
c,j){function k(){var j=d.current&&d.current.locals,k=j&&j.$template;if(k){c.html(k);l&&(l.$destroy(),l=null);var k=g(c.contents()),m=d.current;l=m.scope=a.$new();if(m.controller)j.$scope=l,j=h(m.controller,j),c.contents().data("$ngControllerController",j);k(l);l.$emit("$viewContentLoaded");l.$eval(n);e()}else c.html(""),l&&(l.$destroy(),l=null)}var l,n=j.onload||"";a.$on("$routeChangeSuccess",k);k()}}}],Sd=["$templateCache",function(a){return{restrict:"E",terminal:!0,compile:function(c,d){d.type==
|
146
|
+
"text/ng-template"&&a.put(d.id,c[0].text)}}}],Td=B({terminal:!0}),Ud=["$compile","$parse",function(a,c){var d=/^\s*(.*?)(?:\s+as\s+(.*?))?(?:\s+group\s+by\s+(.*))?\s+for\s+(?:([\$\w][\$\w\d]*)|(?:\(\s*([\$\w][\$\w\d]*)\s*,\s*([\$\w][\$\w\d]*)\s*\)))\s+in\s+(.*)$/,e={$setViewValue:x};return{restrict:"E",require:["select","?ngModel"],controller:["$element","$scope","$attrs",function(a,c,d){var i=this,j={},k=e,l;i.databound=d.ngModel;i.init=function(a,c,d){k=a;l=d};i.addOption=function(c){j[c]=!0;k.$viewValue==
|
147
|
+
c&&(a.val(c),l.parent()&&l.remove())};i.removeOption=function(a){this.hasOption(a)&&(delete j[a],k.$viewValue==a&&this.renderUnknownOption(a))};i.renderUnknownOption=function(c){c="? "+ia(c)+" ?";l.val(c);a.prepend(l);a.val(c);l.prop("selected",!0)};i.hasOption=function(a){return j.hasOwnProperty(a)};c.$on("$destroy",function(){i.renderUnknownOption=x})}],link:function(e,h,f,i){function j(a,c,d,e){d.$render=function(){var a=d.$viewValue;e.hasOption(a)?(y.parent()&&y.remove(),c.val(a),a===""&&t.prop("selected",
|
148
|
+
!0)):v(a)&&t?c.val(""):e.renderUnknownOption(a)};c.bind("change",function(){a.$apply(function(){y.parent()&&y.remove();d.$setViewValue(c.val())})})}function k(a,c,d){var e;d.$render=function(){var a=new Fa(d.$viewValue);m(c.children(),function(c){c.selected=s(a.get(c.value))})};a.$watch(function(){fa(e,d.$viewValue)||(e=U(d.$viewValue),d.$render())});c.bind("change",function(){a.$apply(function(){var a=[];m(c.children(),function(c){c.selected&&a.push(c.value)});d.$setViewValue(a)})})}function l(e,
|
149
|
+
f,g){function i(){var a={"":[]},c=[""],d,h,s,u,t;s=g.$modelValue;u=r(e)||[];var y=l?kb(u):u,z,w,x;w={};t=!1;var B,C;if(o)t=new Fa(s);else if(s===null||q)a[""].push({selected:s===null,id:"",label:""}),t=!0;for(x=0;z=y.length,x<z;x++){w[k]=u[l?w[l]=y[x]:x];d=m(e,w)||"";if(!(h=a[d]))h=a[d]=[],c.push(d);o?d=t.remove(n(e,w))!=p:(d=s===n(e,w),t=t||d);h.push({id:l?y[x]:x,label:j(e,w)||"",selected:d})}!o&&!t&&a[""].unshift({id:"?",label:"",selected:!0});w=0;for(y=c.length;w<y;w++){d=c[w];h=a[d];if(v.length<=
|
150
|
+
w)s={element:A.clone().attr("label",d),label:h.label},u=[s],v.push(u),f.append(s.element);else if(u=v[w],s=u[0],s.label!=d)s.element.attr("label",s.label=d);B=null;x=0;for(z=h.length;x<z;x++)if(d=h[x],t=u[x+1]){B=t.element;if(t.label!==d.label)B.text(t.label=d.label);if(t.id!==d.id)B.val(t.id=d.id);if(t.element.selected!==d.selected)B.prop("selected",t.selected=d.selected)}else d.id===""&&q?C=q:(C=D.clone()).val(d.id).attr("selected",d.selected).text(d.label),u.push({element:C,label:d.label,id:d.id,
|
151
|
+
selected:d.selected}),B?B.after(C):s.element.append(C),B=C;for(x++;u.length>x;)u.pop().element.remove()}for(;v.length>w;)v.pop()[0].element.remove()}var h;if(!(h=w.match(d)))throw z("Expected ngOptions in form of '_select_ (as _label_)? for (_key_,)?_value_ in _collection_' but got '"+w+"'.");var j=c(h[2]||h[1]),k=h[4]||h[6],l=h[5],m=c(h[3]||""),n=c(h[2]?h[1]:k),r=c(h[7]),v=[[{element:f,label:""}]];q&&(a(q)(e),q.removeClass("ng-scope"),q.remove());f.html("");f.bind("change",function(){e.$apply(function(){var a,
|
152
|
+
c=r(e)||[],d={},h,i,j,m,q,s;if(o){i=[];m=0;for(s=v.length;m<s;m++){a=v[m];j=1;for(q=a.length;j<q;j++)if((h=a[j].element)[0].selected)h=h.val(),l&&(d[l]=h),d[k]=c[h],i.push(n(e,d))}}else h=f.val(),h=="?"?i=p:h==""?i=null:(d[k]=c[h],l&&(d[l]=h),i=n(e,d));g.$setViewValue(i)})});g.$render=i;e.$watch(i)}if(i[1]){for(var n=i[0],r=i[1],o=f.multiple,w=f.ngOptions,q=!1,t,D=u(aa.createElement("option")),A=u(aa.createElement("optgroup")),y=D.clone(),i=0,x=h.children(),B=x.length;i<B;i++)if(x[i].value==""){t=
|
153
|
+
q=x.eq(i);break}n.init(r,q,y);if(o&&(f.required||f.ngRequired)){var C=function(a){r.$setValidity("required",!f.required||a&&a.length);return a};r.$parsers.push(C);r.$formatters.unshift(C);f.$observe("required",function(){C(r.$viewValue)})}w?l(e,h,r):o?k(e,h,r):j(e,h,r,n)}}}}],Vd=["$interpolate",function(a){var c={addOption:x,removeOption:x};return{restrict:"E",priority:100,require:"^select",compile:function(d,e){if(v(e.value)){var g=a(d.text(),!0);g||e.$set("value",d.text())}return function(a,d,e,
|
154
|
+
j){j.databound?d.prop("selected",!1):j=c;g?a.$watch(g,function(a,c){e.$set("value",a);a!==c&&j.removeOption(c);j.addOption(a)}):j.addOption(e.value);d.bind("$destroy",function(){j.removeOption(e.value)})}}}}],Wd=B({restrict:"E",terminal:!0});(ha=T.jQuery)?(u=ha,D(ha.fn,{scope:ta.scope,controller:ta.controller,injector:ta.injector,inheritedData:ta.inheritedData}),ab("remove",!0),ab("empty"),ab("html")):u=P;Yb.element=u;(function(a){D(a,{bootstrap:ob,copy:U,extend:D,equals:fa,element:u,forEach:m,injector:pb,
|
155
|
+
noop:x,bind:Va,toJson:ba,fromJson:mb,identity:ya,isUndefined:v,isDefined:s,isString:G,isFunction:M,isObject:J,isNumber:va,isElement:ec,isArray:K,version:hd,isDate:ma,lowercase:C,uppercase:la,callbacks:{counter:0}});sa=kc(T);try{sa("ngLocale")}catch(c){sa("ngLocale",[]).provider("$locale",Yc)}sa("ng",["ngLocale"],["$provide",function(a){a.provider("$compile",Bb).directive({a:jd,input:ac,textarea:ac,form:kd,script:Sd,select:Ud,style:Wd,option:Vd,ngBind:vd,ngBindHtmlUnsafe:xd,ngBindTemplate:wd,ngClass:yd,
|
156
|
+
ngClassEven:Ad,ngClassOdd:zd,ngCsp:Dd,ngCloak:Bd,ngController:Cd,ngForm:ld,ngHide:Ld,ngInclude:Fd,ngInit:Gd,ngNonBindable:Hd,ngPluralize:Id,ngRepeat:Jd,ngShow:Kd,ngSubmit:Ed,ngStyle:Md,ngSwitch:Nd,ngSwitchWhen:Od,ngSwitchDefault:Pd,ngOptions:Td,ngView:Rd,ngTransclude:Qd,ngModel:qd,ngList:sd,ngChange:rd,required:bc,ngRequired:bc,ngValue:ud}).directive(jb).directive(cc);a.provider({$anchorScroll:tc,$browser:vc,$cacheFactory:wc,$controller:Ac,$document:Bc,$exceptionHandler:Cc,$filter:Pb,$interpolate:Dc,
|
157
|
+
$http:Uc,$httpBackend:Vc,$location:Hc,$log:Ic,$parse:Mc,$route:Pc,$routeParams:Qc,$rootScope:Rc,$q:Nc,$sniffer:Sc,$templateCache:xc,$timeout:Zc,$window:Tc})}])})(Yb);u(aa).ready(function(){ic(aa,ob)})})(window,document);angular.element(document).find("head").append('<style type="text/css">@charset "UTF-8";[ng\\:cloak],[ng-cloak],[data-ng-cloak],[x-ng-cloak],.ng-cloak,.x-ng-cloak{display:none;}ng\\:form{display:block;}</style>');
|
@@ -0,0 +1,1824 @@
|
|
1
|
+
/* ===================================================
|
2
|
+
* bootstrap-transition.js v2.0.3
|
3
|
+
* http://twitter.github.com/bootstrap/javascript.html#transitions
|
4
|
+
* ===================================================
|
5
|
+
* Copyright 2012 Twitter, Inc.
|
6
|
+
*
|
7
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
8
|
+
* you may not use this file except in compliance with the License.
|
9
|
+
* You may obtain a copy of the License at
|
10
|
+
*
|
11
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
12
|
+
*
|
13
|
+
* Unless required by applicable law or agreed to in writing, software
|
14
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
15
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
16
|
+
* See the License for the specific language governing permissions and
|
17
|
+
* limitations under the License.
|
18
|
+
* ========================================================== */
|
19
|
+
|
20
|
+
|
21
|
+
!function ($) {
|
22
|
+
|
23
|
+
$(function () {
|
24
|
+
|
25
|
+
"use strict"; // jshint ;_;
|
26
|
+
|
27
|
+
|
28
|
+
/* CSS TRANSITION SUPPORT (http://www.modernizr.com/)
|
29
|
+
* ======================================================= */
|
30
|
+
|
31
|
+
$.support.transition = (function () {
|
32
|
+
|
33
|
+
var transitionEnd = (function () {
|
34
|
+
|
35
|
+
var el = document.createElement('bootstrap')
|
36
|
+
, transEndEventNames = {
|
37
|
+
'WebkitTransition' : 'webkitTransitionEnd'
|
38
|
+
, 'MozTransition' : 'transitionend'
|
39
|
+
, 'OTransition' : 'oTransitionEnd'
|
40
|
+
, 'msTransition' : 'MSTransitionEnd'
|
41
|
+
, 'transition' : 'transitionend'
|
42
|
+
}
|
43
|
+
, name
|
44
|
+
|
45
|
+
for (name in transEndEventNames){
|
46
|
+
if (el.style[name] !== undefined) {
|
47
|
+
return transEndEventNames[name]
|
48
|
+
}
|
49
|
+
}
|
50
|
+
|
51
|
+
}())
|
52
|
+
|
53
|
+
return transitionEnd && {
|
54
|
+
end: transitionEnd
|
55
|
+
}
|
56
|
+
|
57
|
+
})()
|
58
|
+
|
59
|
+
})
|
60
|
+
|
61
|
+
}(window.jQuery);/* ==========================================================
|
62
|
+
* bootstrap-alert.js v2.0.3
|
63
|
+
* http://twitter.github.com/bootstrap/javascript.html#alerts
|
64
|
+
* ==========================================================
|
65
|
+
* Copyright 2012 Twitter, Inc.
|
66
|
+
*
|
67
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
68
|
+
* you may not use this file except in compliance with the License.
|
69
|
+
* You may obtain a copy of the License at
|
70
|
+
*
|
71
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
72
|
+
*
|
73
|
+
* Unless required by applicable law or agreed to in writing, software
|
74
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
75
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
76
|
+
* See the License for the specific language governing permissions and
|
77
|
+
* limitations under the License.
|
78
|
+
* ========================================================== */
|
79
|
+
|
80
|
+
|
81
|
+
!function ($) {
|
82
|
+
|
83
|
+
"use strict"; // jshint ;_;
|
84
|
+
|
85
|
+
|
86
|
+
/* ALERT CLASS DEFINITION
|
87
|
+
* ====================== */
|
88
|
+
|
89
|
+
var dismiss = '[data-dismiss="alert"]'
|
90
|
+
, Alert = function (el) {
|
91
|
+
$(el).on('click', dismiss, this.close)
|
92
|
+
}
|
93
|
+
|
94
|
+
Alert.prototype.close = function (e) {
|
95
|
+
var $this = $(this)
|
96
|
+
, selector = $this.attr('data-target')
|
97
|
+
, $parent
|
98
|
+
|
99
|
+
if (!selector) {
|
100
|
+
selector = $this.attr('href')
|
101
|
+
selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
|
102
|
+
}
|
103
|
+
|
104
|
+
$parent = $(selector)
|
105
|
+
|
106
|
+
e && e.preventDefault()
|
107
|
+
|
108
|
+
$parent.length || ($parent = $this.hasClass('alert') ? $this : $this.parent())
|
109
|
+
|
110
|
+
$parent.trigger(e = $.Event('close'))
|
111
|
+
|
112
|
+
if (e.isDefaultPrevented()) return
|
113
|
+
|
114
|
+
$parent.removeClass('in')
|
115
|
+
|
116
|
+
function removeElement() {
|
117
|
+
$parent
|
118
|
+
.trigger('closed')
|
119
|
+
.remove()
|
120
|
+
}
|
121
|
+
|
122
|
+
$.support.transition && $parent.hasClass('fade') ?
|
123
|
+
$parent.on($.support.transition.end, removeElement) :
|
124
|
+
removeElement()
|
125
|
+
}
|
126
|
+
|
127
|
+
|
128
|
+
/* ALERT PLUGIN DEFINITION
|
129
|
+
* ======================= */
|
130
|
+
|
131
|
+
$.fn.alert = function (option) {
|
132
|
+
return this.each(function () {
|
133
|
+
var $this = $(this)
|
134
|
+
, data = $this.data('alert')
|
135
|
+
if (!data) $this.data('alert', (data = new Alert(this)))
|
136
|
+
if (typeof option == 'string') data[option].call($this)
|
137
|
+
})
|
138
|
+
}
|
139
|
+
|
140
|
+
$.fn.alert.Constructor = Alert
|
141
|
+
|
142
|
+
|
143
|
+
/* ALERT DATA-API
|
144
|
+
* ============== */
|
145
|
+
|
146
|
+
$(function () {
|
147
|
+
$('body').on('click.alert.data-api', dismiss, Alert.prototype.close)
|
148
|
+
})
|
149
|
+
|
150
|
+
}(window.jQuery);/* ============================================================
|
151
|
+
* bootstrap-button.js v2.0.3
|
152
|
+
* http://twitter.github.com/bootstrap/javascript.html#buttons
|
153
|
+
* ============================================================
|
154
|
+
* Copyright 2012 Twitter, Inc.
|
155
|
+
*
|
156
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
157
|
+
* you may not use this file except in compliance with the License.
|
158
|
+
* You may obtain a copy of the License at
|
159
|
+
*
|
160
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
161
|
+
*
|
162
|
+
* Unless required by applicable law or agreed to in writing, software
|
163
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
164
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
165
|
+
* See the License for the specific language governing permissions and
|
166
|
+
* limitations under the License.
|
167
|
+
* ============================================================ */
|
168
|
+
|
169
|
+
|
170
|
+
!function ($) {
|
171
|
+
|
172
|
+
"use strict"; // jshint ;_;
|
173
|
+
|
174
|
+
|
175
|
+
/* BUTTON PUBLIC CLASS DEFINITION
|
176
|
+
* ============================== */
|
177
|
+
|
178
|
+
var Button = function (element, options) {
|
179
|
+
this.$element = $(element)
|
180
|
+
this.options = $.extend({}, $.fn.button.defaults, options)
|
181
|
+
}
|
182
|
+
|
183
|
+
Button.prototype.setState = function (state) {
|
184
|
+
var d = 'disabled'
|
185
|
+
, $el = this.$element
|
186
|
+
, data = $el.data()
|
187
|
+
, val = $el.is('input') ? 'val' : 'html'
|
188
|
+
|
189
|
+
state = state + 'Text'
|
190
|
+
data.resetText || $el.data('resetText', $el[val]())
|
191
|
+
|
192
|
+
$el[val](data[state] || this.options[state])
|
193
|
+
|
194
|
+
// push to event loop to allow forms to submit
|
195
|
+
setTimeout(function () {
|
196
|
+
state == 'loadingText' ?
|
197
|
+
$el.addClass(d).attr(d, d) :
|
198
|
+
$el.removeClass(d).removeAttr(d)
|
199
|
+
}, 0)
|
200
|
+
}
|
201
|
+
|
202
|
+
Button.prototype.toggle = function () {
|
203
|
+
var $parent = this.$element.parent('[data-toggle="buttons-radio"]')
|
204
|
+
|
205
|
+
$parent && $parent
|
206
|
+
.find('.active')
|
207
|
+
.removeClass('active')
|
208
|
+
|
209
|
+
this.$element.toggleClass('active')
|
210
|
+
}
|
211
|
+
|
212
|
+
|
213
|
+
/* BUTTON PLUGIN DEFINITION
|
214
|
+
* ======================== */
|
215
|
+
|
216
|
+
$.fn.button = function (option) {
|
217
|
+
return this.each(function () {
|
218
|
+
var $this = $(this)
|
219
|
+
, data = $this.data('button')
|
220
|
+
, options = typeof option == 'object' && option
|
221
|
+
if (!data) $this.data('button', (data = new Button(this, options)))
|
222
|
+
if (option == 'toggle') data.toggle()
|
223
|
+
else if (option) data.setState(option)
|
224
|
+
})
|
225
|
+
}
|
226
|
+
|
227
|
+
$.fn.button.defaults = {
|
228
|
+
loadingText: 'loading...'
|
229
|
+
}
|
230
|
+
|
231
|
+
$.fn.button.Constructor = Button
|
232
|
+
|
233
|
+
|
234
|
+
/* BUTTON DATA-API
|
235
|
+
* =============== */
|
236
|
+
|
237
|
+
$(function () {
|
238
|
+
$('body').on('click.button.data-api', '[data-toggle^=button]', function ( e ) {
|
239
|
+
var $btn = $(e.target)
|
240
|
+
if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn')
|
241
|
+
$btn.button('toggle')
|
242
|
+
})
|
243
|
+
})
|
244
|
+
|
245
|
+
}(window.jQuery);/* ==========================================================
|
246
|
+
* bootstrap-carousel.js v2.0.3
|
247
|
+
* http://twitter.github.com/bootstrap/javascript.html#carousel
|
248
|
+
* ==========================================================
|
249
|
+
* Copyright 2012 Twitter, Inc.
|
250
|
+
*
|
251
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
252
|
+
* you may not use this file except in compliance with the License.
|
253
|
+
* You may obtain a copy of the License at
|
254
|
+
*
|
255
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
256
|
+
*
|
257
|
+
* Unless required by applicable law or agreed to in writing, software
|
258
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
259
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
260
|
+
* See the License for the specific language governing permissions and
|
261
|
+
* limitations under the License.
|
262
|
+
* ========================================================== */
|
263
|
+
|
264
|
+
|
265
|
+
!function ($) {
|
266
|
+
|
267
|
+
"use strict"; // jshint ;_;
|
268
|
+
|
269
|
+
|
270
|
+
/* CAROUSEL CLASS DEFINITION
|
271
|
+
* ========================= */
|
272
|
+
|
273
|
+
var Carousel = function (element, options) {
|
274
|
+
this.$element = $(element)
|
275
|
+
this.options = options
|
276
|
+
this.options.slide && this.slide(this.options.slide)
|
277
|
+
this.options.pause == 'hover' && this.$element
|
278
|
+
.on('mouseenter', $.proxy(this.pause, this))
|
279
|
+
.on('mouseleave', $.proxy(this.cycle, this))
|
280
|
+
}
|
281
|
+
|
282
|
+
Carousel.prototype = {
|
283
|
+
|
284
|
+
cycle: function (e) {
|
285
|
+
if (!e) this.paused = false
|
286
|
+
this.options.interval
|
287
|
+
&& !this.paused
|
288
|
+
&& (this.interval = setInterval($.proxy(this.next, this), this.options.interval))
|
289
|
+
return this
|
290
|
+
}
|
291
|
+
|
292
|
+
, to: function (pos) {
|
293
|
+
var $active = this.$element.find('.active')
|
294
|
+
, children = $active.parent().children()
|
295
|
+
, activePos = children.index($active)
|
296
|
+
, that = this
|
297
|
+
|
298
|
+
if (pos > (children.length - 1) || pos < 0) return
|
299
|
+
|
300
|
+
if (this.sliding) {
|
301
|
+
return this.$element.one('slid', function () {
|
302
|
+
that.to(pos)
|
303
|
+
})
|
304
|
+
}
|
305
|
+
|
306
|
+
if (activePos == pos) {
|
307
|
+
return this.pause().cycle()
|
308
|
+
}
|
309
|
+
|
310
|
+
return this.slide(pos > activePos ? 'next' : 'prev', $(children[pos]))
|
311
|
+
}
|
312
|
+
|
313
|
+
, pause: function (e) {
|
314
|
+
if (!e) this.paused = true
|
315
|
+
clearInterval(this.interval)
|
316
|
+
this.interval = null
|
317
|
+
return this
|
318
|
+
}
|
319
|
+
|
320
|
+
, next: function () {
|
321
|
+
if (this.sliding) return
|
322
|
+
return this.slide('next')
|
323
|
+
}
|
324
|
+
|
325
|
+
, prev: function () {
|
326
|
+
if (this.sliding) return
|
327
|
+
return this.slide('prev')
|
328
|
+
}
|
329
|
+
|
330
|
+
, slide: function (type, next) {
|
331
|
+
var $active = this.$element.find('.active')
|
332
|
+
, $next = next || $active[type]()
|
333
|
+
, isCycling = this.interval
|
334
|
+
, direction = type == 'next' ? 'left' : 'right'
|
335
|
+
, fallback = type == 'next' ? 'first' : 'last'
|
336
|
+
, that = this
|
337
|
+
, e = $.Event('slide')
|
338
|
+
|
339
|
+
this.sliding = true
|
340
|
+
|
341
|
+
isCycling && this.pause()
|
342
|
+
|
343
|
+
$next = $next.length ? $next : this.$element.find('.item')[fallback]()
|
344
|
+
|
345
|
+
if ($next.hasClass('active')) return
|
346
|
+
|
347
|
+
if ($.support.transition && this.$element.hasClass('slide')) {
|
348
|
+
this.$element.trigger(e)
|
349
|
+
if (e.isDefaultPrevented()) return
|
350
|
+
$next.addClass(type)
|
351
|
+
$next[0].offsetWidth // force reflow
|
352
|
+
$active.addClass(direction)
|
353
|
+
$next.addClass(direction)
|
354
|
+
this.$element.one($.support.transition.end, function () {
|
355
|
+
$next.removeClass([type, direction].join(' ')).addClass('active')
|
356
|
+
$active.removeClass(['active', direction].join(' '))
|
357
|
+
that.sliding = false
|
358
|
+
setTimeout(function () { that.$element.trigger('slid') }, 0)
|
359
|
+
})
|
360
|
+
} else {
|
361
|
+
this.$element.trigger(e)
|
362
|
+
if (e.isDefaultPrevented()) return
|
363
|
+
$active.removeClass('active')
|
364
|
+
$next.addClass('active')
|
365
|
+
this.sliding = false
|
366
|
+
this.$element.trigger('slid')
|
367
|
+
}
|
368
|
+
|
369
|
+
isCycling && this.cycle()
|
370
|
+
|
371
|
+
return this
|
372
|
+
}
|
373
|
+
|
374
|
+
}
|
375
|
+
|
376
|
+
|
377
|
+
/* CAROUSEL PLUGIN DEFINITION
|
378
|
+
* ========================== */
|
379
|
+
|
380
|
+
$.fn.carousel = function (option) {
|
381
|
+
return this.each(function () {
|
382
|
+
var $this = $(this)
|
383
|
+
, data = $this.data('carousel')
|
384
|
+
, options = $.extend({}, $.fn.carousel.defaults, typeof option == 'object' && option)
|
385
|
+
if (!data) $this.data('carousel', (data = new Carousel(this, options)))
|
386
|
+
if (typeof option == 'number') data.to(option)
|
387
|
+
else if (typeof option == 'string' || (option = options.slide)) data[option]()
|
388
|
+
else if (options.interval) data.cycle()
|
389
|
+
})
|
390
|
+
}
|
391
|
+
|
392
|
+
$.fn.carousel.defaults = {
|
393
|
+
interval: 5000
|
394
|
+
, pause: 'hover'
|
395
|
+
}
|
396
|
+
|
397
|
+
$.fn.carousel.Constructor = Carousel
|
398
|
+
|
399
|
+
|
400
|
+
/* CAROUSEL DATA-API
|
401
|
+
* ================= */
|
402
|
+
|
403
|
+
$(function () {
|
404
|
+
$('body').on('click.carousel.data-api', '[data-slide]', function ( e ) {
|
405
|
+
var $this = $(this), href
|
406
|
+
, $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7
|
407
|
+
, options = !$target.data('modal') && $.extend({}, $target.data(), $this.data())
|
408
|
+
$target.carousel(options)
|
409
|
+
e.preventDefault()
|
410
|
+
})
|
411
|
+
})
|
412
|
+
|
413
|
+
}(window.jQuery);/* =============================================================
|
414
|
+
* bootstrap-collapse.js v2.0.3
|
415
|
+
* http://twitter.github.com/bootstrap/javascript.html#collapse
|
416
|
+
* =============================================================
|
417
|
+
* Copyright 2012 Twitter, Inc.
|
418
|
+
*
|
419
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
420
|
+
* you may not use this file except in compliance with the License.
|
421
|
+
* You may obtain a copy of the License at
|
422
|
+
*
|
423
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
424
|
+
*
|
425
|
+
* Unless required by applicable law or agreed to in writing, software
|
426
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
427
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
428
|
+
* See the License for the specific language governing permissions and
|
429
|
+
* limitations under the License.
|
430
|
+
* ============================================================ */
|
431
|
+
|
432
|
+
|
433
|
+
!function ($) {
|
434
|
+
|
435
|
+
"use strict"; // jshint ;_;
|
436
|
+
|
437
|
+
|
438
|
+
/* COLLAPSE PUBLIC CLASS DEFINITION
|
439
|
+
* ================================ */
|
440
|
+
|
441
|
+
var Collapse = function (element, options) {
|
442
|
+
this.$element = $(element)
|
443
|
+
this.options = $.extend({}, $.fn.collapse.defaults, options)
|
444
|
+
|
445
|
+
if (this.options.parent) {
|
446
|
+
this.$parent = $(this.options.parent)
|
447
|
+
}
|
448
|
+
|
449
|
+
this.options.toggle && this.toggle()
|
450
|
+
}
|
451
|
+
|
452
|
+
Collapse.prototype = {
|
453
|
+
|
454
|
+
constructor: Collapse
|
455
|
+
|
456
|
+
, dimension: function () {
|
457
|
+
var hasWidth = this.$element.hasClass('width')
|
458
|
+
return hasWidth ? 'width' : 'height'
|
459
|
+
}
|
460
|
+
|
461
|
+
, show: function () {
|
462
|
+
var dimension
|
463
|
+
, scroll
|
464
|
+
, actives
|
465
|
+
, hasData
|
466
|
+
|
467
|
+
if (this.transitioning) return
|
468
|
+
|
469
|
+
dimension = this.dimension()
|
470
|
+
scroll = $.camelCase(['scroll', dimension].join('-'))
|
471
|
+
actives = this.$parent && this.$parent.find('> .accordion-group > .in')
|
472
|
+
|
473
|
+
if (actives && actives.length) {
|
474
|
+
hasData = actives.data('collapse')
|
475
|
+
if (hasData && hasData.transitioning) return
|
476
|
+
actives.collapse('hide')
|
477
|
+
hasData || actives.data('collapse', null)
|
478
|
+
}
|
479
|
+
|
480
|
+
this.$element[dimension](0)
|
481
|
+
this.transition('addClass', $.Event('show'), 'shown')
|
482
|
+
this.$element[dimension](this.$element[0][scroll])
|
483
|
+
}
|
484
|
+
|
485
|
+
, hide: function () {
|
486
|
+
var dimension
|
487
|
+
if (this.transitioning) return
|
488
|
+
dimension = this.dimension()
|
489
|
+
this.reset(this.$element[dimension]())
|
490
|
+
this.transition('removeClass', $.Event('hide'), 'hidden')
|
491
|
+
this.$element[dimension](0)
|
492
|
+
}
|
493
|
+
|
494
|
+
, reset: function (size) {
|
495
|
+
var dimension = this.dimension()
|
496
|
+
|
497
|
+
this.$element
|
498
|
+
.removeClass('collapse')
|
499
|
+
[dimension](size || 'auto')
|
500
|
+
[0].offsetWidth
|
501
|
+
|
502
|
+
this.$element[size !== null ? 'addClass' : 'removeClass']('collapse')
|
503
|
+
|
504
|
+
return this
|
505
|
+
}
|
506
|
+
|
507
|
+
, transition: function (method, startEvent, completeEvent) {
|
508
|
+
var that = this
|
509
|
+
, complete = function () {
|
510
|
+
if (startEvent.type == 'show') that.reset()
|
511
|
+
that.transitioning = 0
|
512
|
+
that.$element.trigger(completeEvent)
|
513
|
+
}
|
514
|
+
|
515
|
+
this.$element.trigger(startEvent)
|
516
|
+
|
517
|
+
if (startEvent.isDefaultPrevented()) return
|
518
|
+
|
519
|
+
this.transitioning = 1
|
520
|
+
|
521
|
+
this.$element[method]('in')
|
522
|
+
|
523
|
+
$.support.transition && this.$element.hasClass('collapse') ?
|
524
|
+
this.$element.one($.support.transition.end, complete) :
|
525
|
+
complete()
|
526
|
+
}
|
527
|
+
|
528
|
+
, toggle: function () {
|
529
|
+
this[this.$element.hasClass('in') ? 'hide' : 'show']()
|
530
|
+
}
|
531
|
+
|
532
|
+
}
|
533
|
+
|
534
|
+
|
535
|
+
/* COLLAPSIBLE PLUGIN DEFINITION
|
536
|
+
* ============================== */
|
537
|
+
|
538
|
+
$.fn.collapse = function (option) {
|
539
|
+
return this.each(function () {
|
540
|
+
var $this = $(this)
|
541
|
+
, data = $this.data('collapse')
|
542
|
+
, options = typeof option == 'object' && option
|
543
|
+
if (!data) $this.data('collapse', (data = new Collapse(this, options)))
|
544
|
+
if (typeof option == 'string') data[option]()
|
545
|
+
})
|
546
|
+
}
|
547
|
+
|
548
|
+
$.fn.collapse.defaults = {
|
549
|
+
toggle: true
|
550
|
+
}
|
551
|
+
|
552
|
+
$.fn.collapse.Constructor = Collapse
|
553
|
+
|
554
|
+
|
555
|
+
/* COLLAPSIBLE DATA-API
|
556
|
+
* ==================== */
|
557
|
+
|
558
|
+
$(function () {
|
559
|
+
$('body').on('click.collapse.data-api', '[data-toggle=collapse]', function ( e ) {
|
560
|
+
var $this = $(this), href
|
561
|
+
, target = $this.attr('data-target')
|
562
|
+
|| e.preventDefault()
|
563
|
+
|| (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') //strip for ie7
|
564
|
+
, option = $(target).data('collapse') ? 'toggle' : $this.data()
|
565
|
+
$(target).collapse(option)
|
566
|
+
})
|
567
|
+
})
|
568
|
+
|
569
|
+
}(window.jQuery);/* ============================================================
|
570
|
+
* bootstrap-dropdown.js v2.0.3
|
571
|
+
* http://twitter.github.com/bootstrap/javascript.html#dropdowns
|
572
|
+
* ============================================================
|
573
|
+
* Copyright 2012 Twitter, Inc.
|
574
|
+
*
|
575
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
576
|
+
* you may not use this file except in compliance with the License.
|
577
|
+
* You may obtain a copy of the License at
|
578
|
+
*
|
579
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
580
|
+
*
|
581
|
+
* Unless required by applicable law or agreed to in writing, software
|
582
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
583
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
584
|
+
* See the License for the specific language governing permissions and
|
585
|
+
* limitations under the License.
|
586
|
+
* ============================================================ */
|
587
|
+
|
588
|
+
|
589
|
+
!function ($) {
|
590
|
+
|
591
|
+
"use strict"; // jshint ;_;
|
592
|
+
|
593
|
+
|
594
|
+
/* DROPDOWN CLASS DEFINITION
|
595
|
+
* ========================= */
|
596
|
+
|
597
|
+
var toggle = '[data-toggle="dropdown"]'
|
598
|
+
, Dropdown = function (element) {
|
599
|
+
var $el = $(element).on('click.dropdown.data-api', this.toggle)
|
600
|
+
$('html').on('click.dropdown.data-api', function () {
|
601
|
+
$el.parent().removeClass('open')
|
602
|
+
})
|
603
|
+
}
|
604
|
+
|
605
|
+
Dropdown.prototype = {
|
606
|
+
|
607
|
+
constructor: Dropdown
|
608
|
+
|
609
|
+
, toggle: function (e) {
|
610
|
+
var $this = $(this)
|
611
|
+
, $parent
|
612
|
+
, selector
|
613
|
+
, isActive
|
614
|
+
|
615
|
+
if ($this.is('.disabled, :disabled')) return
|
616
|
+
|
617
|
+
selector = $this.attr('data-target')
|
618
|
+
|
619
|
+
if (!selector) {
|
620
|
+
selector = $this.attr('href')
|
621
|
+
selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
|
622
|
+
}
|
623
|
+
|
624
|
+
$parent = $(selector)
|
625
|
+
$parent.length || ($parent = $this.parent())
|
626
|
+
|
627
|
+
isActive = $parent.hasClass('open')
|
628
|
+
|
629
|
+
clearMenus()
|
630
|
+
|
631
|
+
if (!isActive) $parent.toggleClass('open')
|
632
|
+
|
633
|
+
return false
|
634
|
+
}
|
635
|
+
|
636
|
+
}
|
637
|
+
|
638
|
+
function clearMenus() {
|
639
|
+
$(toggle).parent().removeClass('open')
|
640
|
+
}
|
641
|
+
|
642
|
+
|
643
|
+
/* DROPDOWN PLUGIN DEFINITION
|
644
|
+
* ========================== */
|
645
|
+
|
646
|
+
$.fn.dropdown = function (option) {
|
647
|
+
return this.each(function () {
|
648
|
+
var $this = $(this)
|
649
|
+
, data = $this.data('dropdown')
|
650
|
+
if (!data) $this.data('dropdown', (data = new Dropdown(this)))
|
651
|
+
if (typeof option == 'string') data[option].call($this)
|
652
|
+
})
|
653
|
+
}
|
654
|
+
|
655
|
+
$.fn.dropdown.Constructor = Dropdown
|
656
|
+
|
657
|
+
|
658
|
+
/* APPLY TO STANDARD DROPDOWN ELEMENTS
|
659
|
+
* =================================== */
|
660
|
+
|
661
|
+
$(function () {
|
662
|
+
$('html').on('click.dropdown.data-api', clearMenus)
|
663
|
+
$('body')
|
664
|
+
.on('click.dropdown', '.dropdown form', function (e) { e.stopPropagation() })
|
665
|
+
.on('click.dropdown.data-api', toggle, Dropdown.prototype.toggle)
|
666
|
+
})
|
667
|
+
|
668
|
+
}(window.jQuery);/* =========================================================
|
669
|
+
* bootstrap-modal.js v2.0.3
|
670
|
+
* http://twitter.github.com/bootstrap/javascript.html#modals
|
671
|
+
* =========================================================
|
672
|
+
* Copyright 2012 Twitter, Inc.
|
673
|
+
*
|
674
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
675
|
+
* you may not use this file except in compliance with the License.
|
676
|
+
* You may obtain a copy of the License at
|
677
|
+
*
|
678
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
679
|
+
*
|
680
|
+
* Unless required by applicable law or agreed to in writing, software
|
681
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
682
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
683
|
+
* See the License for the specific language governing permissions and
|
684
|
+
* limitations under the License.
|
685
|
+
* ========================================================= */
|
686
|
+
|
687
|
+
|
688
|
+
!function ($) {
|
689
|
+
|
690
|
+
"use strict"; // jshint ;_;
|
691
|
+
|
692
|
+
|
693
|
+
/* MODAL CLASS DEFINITION
|
694
|
+
* ====================== */
|
695
|
+
|
696
|
+
var Modal = function (content, options) {
|
697
|
+
this.options = options
|
698
|
+
this.$element = $(content)
|
699
|
+
.delegate('[data-dismiss="modal"]', 'click.dismiss.modal', $.proxy(this.hide, this))
|
700
|
+
}
|
701
|
+
|
702
|
+
Modal.prototype = {
|
703
|
+
|
704
|
+
constructor: Modal
|
705
|
+
|
706
|
+
, toggle: function () {
|
707
|
+
return this[!this.isShown ? 'show' : 'hide']()
|
708
|
+
}
|
709
|
+
|
710
|
+
, show: function () {
|
711
|
+
var that = this
|
712
|
+
, e = $.Event('show')
|
713
|
+
|
714
|
+
this.$element.trigger(e)
|
715
|
+
|
716
|
+
if (this.isShown || e.isDefaultPrevented()) return
|
717
|
+
|
718
|
+
$('body').addClass('modal-open')
|
719
|
+
|
720
|
+
this.isShown = true
|
721
|
+
|
722
|
+
escape.call(this)
|
723
|
+
backdrop.call(this, function () {
|
724
|
+
var transition = $.support.transition && that.$element.hasClass('fade')
|
725
|
+
|
726
|
+
if (!that.$element.parent().length) {
|
727
|
+
that.$element.appendTo(document.body) //don't move modals dom position
|
728
|
+
}
|
729
|
+
|
730
|
+
that.$element
|
731
|
+
.show()
|
732
|
+
|
733
|
+
if (transition) {
|
734
|
+
that.$element[0].offsetWidth // force reflow
|
735
|
+
}
|
736
|
+
|
737
|
+
that.$element.addClass('in')
|
738
|
+
|
739
|
+
transition ?
|
740
|
+
that.$element.one($.support.transition.end, function () { that.$element.trigger('shown') }) :
|
741
|
+
that.$element.trigger('shown')
|
742
|
+
|
743
|
+
})
|
744
|
+
}
|
745
|
+
|
746
|
+
, hide: function (e) {
|
747
|
+
e && e.preventDefault()
|
748
|
+
|
749
|
+
var that = this
|
750
|
+
|
751
|
+
e = $.Event('hide')
|
752
|
+
|
753
|
+
this.$element.trigger(e)
|
754
|
+
|
755
|
+
if (!this.isShown || e.isDefaultPrevented()) return
|
756
|
+
|
757
|
+
this.isShown = false
|
758
|
+
|
759
|
+
$('body').removeClass('modal-open')
|
760
|
+
|
761
|
+
escape.call(this)
|
762
|
+
|
763
|
+
this.$element.removeClass('in')
|
764
|
+
|
765
|
+
$.support.transition && this.$element.hasClass('fade') ?
|
766
|
+
hideWithTransition.call(this) :
|
767
|
+
hideModal.call(this)
|
768
|
+
}
|
769
|
+
|
770
|
+
}
|
771
|
+
|
772
|
+
|
773
|
+
/* MODAL PRIVATE METHODS
|
774
|
+
* ===================== */
|
775
|
+
|
776
|
+
function hideWithTransition() {
|
777
|
+
var that = this
|
778
|
+
, timeout = setTimeout(function () {
|
779
|
+
that.$element.off($.support.transition.end)
|
780
|
+
hideModal.call(that)
|
781
|
+
}, 500)
|
782
|
+
|
783
|
+
this.$element.one($.support.transition.end, function () {
|
784
|
+
clearTimeout(timeout)
|
785
|
+
hideModal.call(that)
|
786
|
+
})
|
787
|
+
}
|
788
|
+
|
789
|
+
function hideModal(that) {
|
790
|
+
this.$element
|
791
|
+
.hide()
|
792
|
+
.trigger('hidden')
|
793
|
+
|
794
|
+
backdrop.call(this)
|
795
|
+
}
|
796
|
+
|
797
|
+
function backdrop(callback) {
|
798
|
+
var that = this
|
799
|
+
, animate = this.$element.hasClass('fade') ? 'fade' : ''
|
800
|
+
|
801
|
+
if (this.isShown && this.options.backdrop) {
|
802
|
+
var doAnimate = $.support.transition && animate
|
803
|
+
|
804
|
+
this.$backdrop = $('<div class="modal-backdrop ' + animate + '" />')
|
805
|
+
.appendTo(document.body)
|
806
|
+
|
807
|
+
if (this.options.backdrop != 'static') {
|
808
|
+
this.$backdrop.click($.proxy(this.hide, this))
|
809
|
+
}
|
810
|
+
|
811
|
+
if (doAnimate) this.$backdrop[0].offsetWidth // force reflow
|
812
|
+
|
813
|
+
this.$backdrop.addClass('in')
|
814
|
+
|
815
|
+
doAnimate ?
|
816
|
+
this.$backdrop.one($.support.transition.end, callback) :
|
817
|
+
callback()
|
818
|
+
|
819
|
+
} else if (!this.isShown && this.$backdrop) {
|
820
|
+
this.$backdrop.removeClass('in')
|
821
|
+
|
822
|
+
$.support.transition && this.$element.hasClass('fade')?
|
823
|
+
this.$backdrop.one($.support.transition.end, $.proxy(removeBackdrop, this)) :
|
824
|
+
removeBackdrop.call(this)
|
825
|
+
|
826
|
+
} else if (callback) {
|
827
|
+
callback()
|
828
|
+
}
|
829
|
+
}
|
830
|
+
|
831
|
+
function removeBackdrop() {
|
832
|
+
this.$backdrop.remove()
|
833
|
+
this.$backdrop = null
|
834
|
+
}
|
835
|
+
|
836
|
+
function escape() {
|
837
|
+
var that = this
|
838
|
+
if (this.isShown && this.options.keyboard) {
|
839
|
+
$(document).on('keyup.dismiss.modal', function ( e ) {
|
840
|
+
e.which == 27 && that.hide()
|
841
|
+
})
|
842
|
+
} else if (!this.isShown) {
|
843
|
+
$(document).off('keyup.dismiss.modal')
|
844
|
+
}
|
845
|
+
}
|
846
|
+
|
847
|
+
|
848
|
+
/* MODAL PLUGIN DEFINITION
|
849
|
+
* ======================= */
|
850
|
+
|
851
|
+
$.fn.modal = function (option) {
|
852
|
+
return this.each(function () {
|
853
|
+
var $this = $(this)
|
854
|
+
, data = $this.data('modal')
|
855
|
+
, options = $.extend({}, $.fn.modal.defaults, $this.data(), typeof option == 'object' && option)
|
856
|
+
if (!data) $this.data('modal', (data = new Modal(this, options)))
|
857
|
+
if (typeof option == 'string') data[option]()
|
858
|
+
else if (options.show) data.show()
|
859
|
+
})
|
860
|
+
}
|
861
|
+
|
862
|
+
$.fn.modal.defaults = {
|
863
|
+
backdrop: true
|
864
|
+
, keyboard: true
|
865
|
+
, show: true
|
866
|
+
}
|
867
|
+
|
868
|
+
$.fn.modal.Constructor = Modal
|
869
|
+
|
870
|
+
|
871
|
+
/* MODAL DATA-API
|
872
|
+
* ============== */
|
873
|
+
|
874
|
+
$(function () {
|
875
|
+
$('body').on('click.modal.data-api', '[data-toggle="modal"]', function ( e ) {
|
876
|
+
var $this = $(this), href
|
877
|
+
, $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7
|
878
|
+
, option = $target.data('modal') ? 'toggle' : $.extend({}, $target.data(), $this.data())
|
879
|
+
|
880
|
+
e.preventDefault()
|
881
|
+
$target.modal(option)
|
882
|
+
})
|
883
|
+
})
|
884
|
+
|
885
|
+
}(window.jQuery);/* ===========================================================
|
886
|
+
* bootstrap-tooltip.js v2.0.3
|
887
|
+
* http://twitter.github.com/bootstrap/javascript.html#tooltips
|
888
|
+
* Inspired by the original jQuery.tipsy by Jason Frame
|
889
|
+
* ===========================================================
|
890
|
+
* Copyright 2012 Twitter, Inc.
|
891
|
+
*
|
892
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
893
|
+
* you may not use this file except in compliance with the License.
|
894
|
+
* You may obtain a copy of the License at
|
895
|
+
*
|
896
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
897
|
+
*
|
898
|
+
* Unless required by applicable law or agreed to in writing, software
|
899
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
900
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
901
|
+
* See the License for the specific language governing permissions and
|
902
|
+
* limitations under the License.
|
903
|
+
* ========================================================== */
|
904
|
+
|
905
|
+
|
906
|
+
!function ($) {
|
907
|
+
|
908
|
+
"use strict"; // jshint ;_;
|
909
|
+
|
910
|
+
|
911
|
+
/* TOOLTIP PUBLIC CLASS DEFINITION
|
912
|
+
* =============================== */
|
913
|
+
|
914
|
+
var Tooltip = function (element, options) {
|
915
|
+
this.init('tooltip', element, options)
|
916
|
+
}
|
917
|
+
|
918
|
+
Tooltip.prototype = {
|
919
|
+
|
920
|
+
constructor: Tooltip
|
921
|
+
|
922
|
+
, init: function (type, element, options) {
|
923
|
+
var eventIn
|
924
|
+
, eventOut
|
925
|
+
|
926
|
+
this.type = type
|
927
|
+
this.$element = $(element)
|
928
|
+
this.options = this.getOptions(options)
|
929
|
+
this.enabled = true
|
930
|
+
|
931
|
+
if (this.options.trigger != 'manual') {
|
932
|
+
eventIn = this.options.trigger == 'hover' ? 'mouseenter' : 'focus'
|
933
|
+
eventOut = this.options.trigger == 'hover' ? 'mouseleave' : 'blur'
|
934
|
+
this.$element.on(eventIn, this.options.selector, $.proxy(this.enter, this))
|
935
|
+
this.$element.on(eventOut, this.options.selector, $.proxy(this.leave, this))
|
936
|
+
}
|
937
|
+
|
938
|
+
this.options.selector ?
|
939
|
+
(this._options = $.extend({}, this.options, { trigger: 'manual', selector: '' })) :
|
940
|
+
this.fixTitle()
|
941
|
+
}
|
942
|
+
|
943
|
+
, getOptions: function (options) {
|
944
|
+
options = $.extend({}, $.fn[this.type].defaults, options, this.$element.data())
|
945
|
+
|
946
|
+
if (options.delay && typeof options.delay == 'number') {
|
947
|
+
options.delay = {
|
948
|
+
show: options.delay
|
949
|
+
, hide: options.delay
|
950
|
+
}
|
951
|
+
}
|
952
|
+
|
953
|
+
return options
|
954
|
+
}
|
955
|
+
|
956
|
+
, enter: function (e) {
|
957
|
+
var self = $(e.currentTarget)[this.type](this._options).data(this.type)
|
958
|
+
|
959
|
+
if (!self.options.delay || !self.options.delay.show) return self.show()
|
960
|
+
|
961
|
+
clearTimeout(this.timeout)
|
962
|
+
self.hoverState = 'in'
|
963
|
+
this.timeout = setTimeout(function() {
|
964
|
+
if (self.hoverState == 'in') self.show()
|
965
|
+
}, self.options.delay.show)
|
966
|
+
}
|
967
|
+
|
968
|
+
, leave: function (e) {
|
969
|
+
var self = $(e.currentTarget)[this.type](this._options).data(this.type)
|
970
|
+
|
971
|
+
if (!self.options.delay || !self.options.delay.hide) return self.hide()
|
972
|
+
|
973
|
+
clearTimeout(this.timeout)
|
974
|
+
self.hoverState = 'out'
|
975
|
+
this.timeout = setTimeout(function() {
|
976
|
+
if (self.hoverState == 'out') self.hide()
|
977
|
+
}, self.options.delay.hide)
|
978
|
+
}
|
979
|
+
|
980
|
+
, show: function () {
|
981
|
+
var $tip
|
982
|
+
, inside
|
983
|
+
, pos
|
984
|
+
, actualWidth
|
985
|
+
, actualHeight
|
986
|
+
, placement
|
987
|
+
, tp
|
988
|
+
|
989
|
+
if (this.hasContent() && this.enabled) {
|
990
|
+
$tip = this.tip()
|
991
|
+
this.setContent()
|
992
|
+
|
993
|
+
if (this.options.animation) {
|
994
|
+
$tip.addClass('fade')
|
995
|
+
}
|
996
|
+
|
997
|
+
placement = typeof this.options.placement == 'function' ?
|
998
|
+
this.options.placement.call(this, $tip[0], this.$element[0]) :
|
999
|
+
this.options.placement
|
1000
|
+
|
1001
|
+
inside = /in/.test(placement)
|
1002
|
+
|
1003
|
+
$tip
|
1004
|
+
.remove()
|
1005
|
+
.css({ top: 0, left: 0, display: 'block' })
|
1006
|
+
.appendTo(inside ? this.$element : document.body)
|
1007
|
+
|
1008
|
+
pos = this.getPosition(inside)
|
1009
|
+
|
1010
|
+
actualWidth = $tip[0].offsetWidth
|
1011
|
+
actualHeight = $tip[0].offsetHeight
|
1012
|
+
|
1013
|
+
switch (inside ? placement.split(' ')[1] : placement) {
|
1014
|
+
case 'bottom':
|
1015
|
+
tp = {top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2}
|
1016
|
+
break
|
1017
|
+
case 'top':
|
1018
|
+
tp = {top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2}
|
1019
|
+
break
|
1020
|
+
case 'left':
|
1021
|
+
tp = {top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth}
|
1022
|
+
break
|
1023
|
+
case 'right':
|
1024
|
+
tp = {top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width}
|
1025
|
+
break
|
1026
|
+
}
|
1027
|
+
|
1028
|
+
$tip
|
1029
|
+
.css(tp)
|
1030
|
+
.addClass(placement)
|
1031
|
+
.addClass('in')
|
1032
|
+
}
|
1033
|
+
}
|
1034
|
+
|
1035
|
+
, isHTML: function(text) {
|
1036
|
+
// html string detection logic adapted from jQuery
|
1037
|
+
return typeof text != 'string'
|
1038
|
+
|| ( text.charAt(0) === "<"
|
1039
|
+
&& text.charAt( text.length - 1 ) === ">"
|
1040
|
+
&& text.length >= 3
|
1041
|
+
) || /^(?:[^<]*<[\w\W]+>[^>]*$)/.exec(text)
|
1042
|
+
}
|
1043
|
+
|
1044
|
+
, setContent: function () {
|
1045
|
+
var $tip = this.tip()
|
1046
|
+
, title = this.getTitle()
|
1047
|
+
|
1048
|
+
$tip.find('.tooltip-inner')[this.isHTML(title) ? 'html' : 'text'](title)
|
1049
|
+
$tip.removeClass('fade in top bottom left right')
|
1050
|
+
}
|
1051
|
+
|
1052
|
+
, hide: function () {
|
1053
|
+
var that = this
|
1054
|
+
, $tip = this.tip()
|
1055
|
+
|
1056
|
+
$tip.removeClass('in')
|
1057
|
+
|
1058
|
+
function removeWithAnimation() {
|
1059
|
+
var timeout = setTimeout(function () {
|
1060
|
+
$tip.off($.support.transition.end).remove()
|
1061
|
+
}, 500)
|
1062
|
+
|
1063
|
+
$tip.one($.support.transition.end, function () {
|
1064
|
+
clearTimeout(timeout)
|
1065
|
+
$tip.remove()
|
1066
|
+
})
|
1067
|
+
}
|
1068
|
+
|
1069
|
+
$.support.transition && this.$tip.hasClass('fade') ?
|
1070
|
+
removeWithAnimation() :
|
1071
|
+
$tip.remove()
|
1072
|
+
}
|
1073
|
+
|
1074
|
+
, fixTitle: function () {
|
1075
|
+
var $e = this.$element
|
1076
|
+
if ($e.attr('title') || typeof($e.attr('data-original-title')) != 'string') {
|
1077
|
+
$e.attr('data-original-title', $e.attr('title') || '').removeAttr('title')
|
1078
|
+
}
|
1079
|
+
}
|
1080
|
+
|
1081
|
+
, hasContent: function () {
|
1082
|
+
return this.getTitle()
|
1083
|
+
}
|
1084
|
+
|
1085
|
+
, getPosition: function (inside) {
|
1086
|
+
return $.extend({}, (inside ? {top: 0, left: 0} : this.$element.offset()), {
|
1087
|
+
width: this.$element[0].offsetWidth
|
1088
|
+
, height: this.$element[0].offsetHeight
|
1089
|
+
})
|
1090
|
+
}
|
1091
|
+
|
1092
|
+
, getTitle: function () {
|
1093
|
+
var title
|
1094
|
+
, $e = this.$element
|
1095
|
+
, o = this.options
|
1096
|
+
|
1097
|
+
title = $e.attr('data-original-title')
|
1098
|
+
|| (typeof o.title == 'function' ? o.title.call($e[0]) : o.title)
|
1099
|
+
|
1100
|
+
return title
|
1101
|
+
}
|
1102
|
+
|
1103
|
+
, tip: function () {
|
1104
|
+
return this.$tip = this.$tip || $(this.options.template)
|
1105
|
+
}
|
1106
|
+
|
1107
|
+
, validate: function () {
|
1108
|
+
if (!this.$element[0].parentNode) {
|
1109
|
+
this.hide()
|
1110
|
+
this.$element = null
|
1111
|
+
this.options = null
|
1112
|
+
}
|
1113
|
+
}
|
1114
|
+
|
1115
|
+
, enable: function () {
|
1116
|
+
this.enabled = true
|
1117
|
+
}
|
1118
|
+
|
1119
|
+
, disable: function () {
|
1120
|
+
this.enabled = false
|
1121
|
+
}
|
1122
|
+
|
1123
|
+
, toggleEnabled: function () {
|
1124
|
+
this.enabled = !this.enabled
|
1125
|
+
}
|
1126
|
+
|
1127
|
+
, toggle: function () {
|
1128
|
+
this[this.tip().hasClass('in') ? 'hide' : 'show']()
|
1129
|
+
}
|
1130
|
+
|
1131
|
+
}
|
1132
|
+
|
1133
|
+
|
1134
|
+
/* TOOLTIP PLUGIN DEFINITION
|
1135
|
+
* ========================= */
|
1136
|
+
|
1137
|
+
$.fn.tooltip = function ( option ) {
|
1138
|
+
return this.each(function () {
|
1139
|
+
var $this = $(this)
|
1140
|
+
, data = $this.data('tooltip')
|
1141
|
+
, options = typeof option == 'object' && option
|
1142
|
+
if (!data) $this.data('tooltip', (data = new Tooltip(this, options)))
|
1143
|
+
if (typeof option == 'string') data[option]()
|
1144
|
+
})
|
1145
|
+
}
|
1146
|
+
|
1147
|
+
$.fn.tooltip.Constructor = Tooltip
|
1148
|
+
|
1149
|
+
$.fn.tooltip.defaults = {
|
1150
|
+
animation: true
|
1151
|
+
, placement: 'top'
|
1152
|
+
, selector: false
|
1153
|
+
, template: '<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>'
|
1154
|
+
, trigger: 'hover'
|
1155
|
+
, title: ''
|
1156
|
+
, delay: 0
|
1157
|
+
}
|
1158
|
+
|
1159
|
+
}(window.jQuery);/* ===========================================================
|
1160
|
+
* bootstrap-popover.js v2.0.3
|
1161
|
+
* http://twitter.github.com/bootstrap/javascript.html#popovers
|
1162
|
+
* ===========================================================
|
1163
|
+
* Copyright 2012 Twitter, Inc.
|
1164
|
+
*
|
1165
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
1166
|
+
* you may not use this file except in compliance with the License.
|
1167
|
+
* You may obtain a copy of the License at
|
1168
|
+
*
|
1169
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
1170
|
+
*
|
1171
|
+
* Unless required by applicable law or agreed to in writing, software
|
1172
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
1173
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
1174
|
+
* See the License for the specific language governing permissions and
|
1175
|
+
* limitations under the License.
|
1176
|
+
* =========================================================== */
|
1177
|
+
|
1178
|
+
|
1179
|
+
!function ($) {
|
1180
|
+
|
1181
|
+
"use strict"; // jshint ;_;
|
1182
|
+
|
1183
|
+
|
1184
|
+
/* POPOVER PUBLIC CLASS DEFINITION
|
1185
|
+
* =============================== */
|
1186
|
+
|
1187
|
+
var Popover = function ( element, options ) {
|
1188
|
+
this.init('popover', element, options)
|
1189
|
+
}
|
1190
|
+
|
1191
|
+
|
1192
|
+
/* NOTE: POPOVER EXTENDS BOOTSTRAP-TOOLTIP.js
|
1193
|
+
========================================== */
|
1194
|
+
|
1195
|
+
Popover.prototype = $.extend({}, $.fn.tooltip.Constructor.prototype, {
|
1196
|
+
|
1197
|
+
constructor: Popover
|
1198
|
+
|
1199
|
+
, setContent: function () {
|
1200
|
+
var $tip = this.tip()
|
1201
|
+
, title = this.getTitle()
|
1202
|
+
, content = this.getContent()
|
1203
|
+
|
1204
|
+
$tip.find('.popover-title')[this.isHTML(title) ? 'html' : 'text'](title)
|
1205
|
+
$tip.find('.popover-content > *')[this.isHTML(content) ? 'html' : 'text'](content)
|
1206
|
+
|
1207
|
+
$tip.removeClass('fade top bottom left right in')
|
1208
|
+
}
|
1209
|
+
|
1210
|
+
, hasContent: function () {
|
1211
|
+
return this.getTitle() || this.getContent()
|
1212
|
+
}
|
1213
|
+
|
1214
|
+
, getContent: function () {
|
1215
|
+
var content
|
1216
|
+
, $e = this.$element
|
1217
|
+
, o = this.options
|
1218
|
+
|
1219
|
+
content = $e.attr('data-content')
|
1220
|
+
|| (typeof o.content == 'function' ? o.content.call($e[0]) : o.content)
|
1221
|
+
|
1222
|
+
return content
|
1223
|
+
}
|
1224
|
+
|
1225
|
+
, tip: function () {
|
1226
|
+
if (!this.$tip) {
|
1227
|
+
this.$tip = $(this.options.template)
|
1228
|
+
}
|
1229
|
+
return this.$tip
|
1230
|
+
}
|
1231
|
+
|
1232
|
+
})
|
1233
|
+
|
1234
|
+
|
1235
|
+
/* POPOVER PLUGIN DEFINITION
|
1236
|
+
* ======================= */
|
1237
|
+
|
1238
|
+
$.fn.popover = function (option) {
|
1239
|
+
return this.each(function () {
|
1240
|
+
var $this = $(this)
|
1241
|
+
, data = $this.data('popover')
|
1242
|
+
, options = typeof option == 'object' && option
|
1243
|
+
if (!data) $this.data('popover', (data = new Popover(this, options)))
|
1244
|
+
if (typeof option == 'string') data[option]()
|
1245
|
+
})
|
1246
|
+
}
|
1247
|
+
|
1248
|
+
$.fn.popover.Constructor = Popover
|
1249
|
+
|
1250
|
+
$.fn.popover.defaults = $.extend({} , $.fn.tooltip.defaults, {
|
1251
|
+
placement: 'right'
|
1252
|
+
, content: ''
|
1253
|
+
, template: '<div class="popover"><div class="arrow"></div><div class="popover-inner"><h3 class="popover-title"></h3><div class="popover-content"><p></p></div></div></div>'
|
1254
|
+
})
|
1255
|
+
|
1256
|
+
}(window.jQuery);/* =============================================================
|
1257
|
+
* bootstrap-scrollspy.js v2.0.3
|
1258
|
+
* http://twitter.github.com/bootstrap/javascript.html#scrollspy
|
1259
|
+
* =============================================================
|
1260
|
+
* Copyright 2012 Twitter, Inc.
|
1261
|
+
*
|
1262
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
1263
|
+
* you may not use this file except in compliance with the License.
|
1264
|
+
* You may obtain a copy of the License at
|
1265
|
+
*
|
1266
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
1267
|
+
*
|
1268
|
+
* Unless required by applicable law or agreed to in writing, software
|
1269
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
1270
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
1271
|
+
* See the License for the specific language governing permissions and
|
1272
|
+
* limitations under the License.
|
1273
|
+
* ============================================================== */
|
1274
|
+
|
1275
|
+
|
1276
|
+
!function ($) {
|
1277
|
+
|
1278
|
+
"use strict"; // jshint ;_;
|
1279
|
+
|
1280
|
+
|
1281
|
+
/* SCROLLSPY CLASS DEFINITION
|
1282
|
+
* ========================== */
|
1283
|
+
|
1284
|
+
function ScrollSpy( element, options) {
|
1285
|
+
var process = $.proxy(this.process, this)
|
1286
|
+
, $element = $(element).is('body') ? $(window) : $(element)
|
1287
|
+
, href
|
1288
|
+
this.options = $.extend({}, $.fn.scrollspy.defaults, options)
|
1289
|
+
this.$scrollElement = $element.on('scroll.scroll.data-api', process)
|
1290
|
+
this.selector = (this.options.target
|
1291
|
+
|| ((href = $(element).attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7
|
1292
|
+
|| '') + ' .nav li > a'
|
1293
|
+
this.$body = $('body')
|
1294
|
+
this.refresh()
|
1295
|
+
this.process()
|
1296
|
+
}
|
1297
|
+
|
1298
|
+
ScrollSpy.prototype = {
|
1299
|
+
|
1300
|
+
constructor: ScrollSpy
|
1301
|
+
|
1302
|
+
, refresh: function () {
|
1303
|
+
var self = this
|
1304
|
+
, $targets
|
1305
|
+
|
1306
|
+
this.offsets = $([])
|
1307
|
+
this.targets = $([])
|
1308
|
+
|
1309
|
+
$targets = this.$body
|
1310
|
+
.find(this.selector)
|
1311
|
+
.map(function () {
|
1312
|
+
var $el = $(this)
|
1313
|
+
, href = $el.data('target') || $el.attr('href')
|
1314
|
+
, $href = /^#\w/.test(href) && $(href)
|
1315
|
+
return ( $href
|
1316
|
+
&& href.length
|
1317
|
+
&& [[ $href.position().top, href ]] ) || null
|
1318
|
+
})
|
1319
|
+
.sort(function (a, b) { return a[0] - b[0] })
|
1320
|
+
.each(function () {
|
1321
|
+
self.offsets.push(this[0])
|
1322
|
+
self.targets.push(this[1])
|
1323
|
+
})
|
1324
|
+
}
|
1325
|
+
|
1326
|
+
, process: function () {
|
1327
|
+
var scrollTop = this.$scrollElement.scrollTop() + this.options.offset
|
1328
|
+
, scrollHeight = this.$scrollElement[0].scrollHeight || this.$body[0].scrollHeight
|
1329
|
+
, maxScroll = scrollHeight - this.$scrollElement.height()
|
1330
|
+
, offsets = this.offsets
|
1331
|
+
, targets = this.targets
|
1332
|
+
, activeTarget = this.activeTarget
|
1333
|
+
, i
|
1334
|
+
|
1335
|
+
if (scrollTop >= maxScroll) {
|
1336
|
+
return activeTarget != (i = targets.last()[0])
|
1337
|
+
&& this.activate ( i )
|
1338
|
+
}
|
1339
|
+
|
1340
|
+
for (i = offsets.length; i--;) {
|
1341
|
+
activeTarget != targets[i]
|
1342
|
+
&& scrollTop >= offsets[i]
|
1343
|
+
&& (!offsets[i + 1] || scrollTop <= offsets[i + 1])
|
1344
|
+
&& this.activate( targets[i] )
|
1345
|
+
}
|
1346
|
+
}
|
1347
|
+
|
1348
|
+
, activate: function (target) {
|
1349
|
+
var active
|
1350
|
+
, selector
|
1351
|
+
|
1352
|
+
this.activeTarget = target
|
1353
|
+
|
1354
|
+
$(this.selector)
|
1355
|
+
.parent('.active')
|
1356
|
+
.removeClass('active')
|
1357
|
+
|
1358
|
+
selector = this.selector
|
1359
|
+
+ '[data-target="' + target + '"],'
|
1360
|
+
+ this.selector + '[href="' + target + '"]'
|
1361
|
+
|
1362
|
+
active = $(selector)
|
1363
|
+
.parent('li')
|
1364
|
+
.addClass('active')
|
1365
|
+
|
1366
|
+
if (active.parent('.dropdown-menu')) {
|
1367
|
+
active = active.closest('li.dropdown').addClass('active')
|
1368
|
+
}
|
1369
|
+
|
1370
|
+
active.trigger('activate')
|
1371
|
+
}
|
1372
|
+
|
1373
|
+
}
|
1374
|
+
|
1375
|
+
|
1376
|
+
/* SCROLLSPY PLUGIN DEFINITION
|
1377
|
+
* =========================== */
|
1378
|
+
|
1379
|
+
$.fn.scrollspy = function ( option ) {
|
1380
|
+
return this.each(function () {
|
1381
|
+
var $this = $(this)
|
1382
|
+
, data = $this.data('scrollspy')
|
1383
|
+
, options = typeof option == 'object' && option
|
1384
|
+
if (!data) $this.data('scrollspy', (data = new ScrollSpy(this, options)))
|
1385
|
+
if (typeof option == 'string') data[option]()
|
1386
|
+
})
|
1387
|
+
}
|
1388
|
+
|
1389
|
+
$.fn.scrollspy.Constructor = ScrollSpy
|
1390
|
+
|
1391
|
+
$.fn.scrollspy.defaults = {
|
1392
|
+
offset: 10
|
1393
|
+
}
|
1394
|
+
|
1395
|
+
|
1396
|
+
/* SCROLLSPY DATA-API
|
1397
|
+
* ================== */
|
1398
|
+
|
1399
|
+
$(function () {
|
1400
|
+
$('[data-spy="scroll"]').each(function () {
|
1401
|
+
var $spy = $(this)
|
1402
|
+
$spy.scrollspy($spy.data())
|
1403
|
+
})
|
1404
|
+
})
|
1405
|
+
|
1406
|
+
}(window.jQuery);/* ========================================================
|
1407
|
+
* bootstrap-tab.js v2.0.3
|
1408
|
+
* http://twitter.github.com/bootstrap/javascript.html#tabs
|
1409
|
+
* ========================================================
|
1410
|
+
* Copyright 2012 Twitter, Inc.
|
1411
|
+
*
|
1412
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
1413
|
+
* you may not use this file except in compliance with the License.
|
1414
|
+
* You may obtain a copy of the License at
|
1415
|
+
*
|
1416
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
1417
|
+
*
|
1418
|
+
* Unless required by applicable law or agreed to in writing, software
|
1419
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
1420
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
1421
|
+
* See the License for the specific language governing permissions and
|
1422
|
+
* limitations under the License.
|
1423
|
+
* ======================================================== */
|
1424
|
+
|
1425
|
+
|
1426
|
+
!function ($) {
|
1427
|
+
|
1428
|
+
"use strict"; // jshint ;_;
|
1429
|
+
|
1430
|
+
|
1431
|
+
/* TAB CLASS DEFINITION
|
1432
|
+
* ==================== */
|
1433
|
+
|
1434
|
+
var Tab = function ( element ) {
|
1435
|
+
this.element = $(element)
|
1436
|
+
}
|
1437
|
+
|
1438
|
+
Tab.prototype = {
|
1439
|
+
|
1440
|
+
constructor: Tab
|
1441
|
+
|
1442
|
+
, show: function () {
|
1443
|
+
var $this = this.element
|
1444
|
+
, $ul = $this.closest('ul:not(.dropdown-menu)')
|
1445
|
+
, selector = $this.attr('data-target')
|
1446
|
+
, previous
|
1447
|
+
, $target
|
1448
|
+
, e
|
1449
|
+
|
1450
|
+
if (!selector) {
|
1451
|
+
selector = $this.attr('href')
|
1452
|
+
selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
|
1453
|
+
}
|
1454
|
+
|
1455
|
+
if ( $this.parent('li').hasClass('active') ) return
|
1456
|
+
|
1457
|
+
previous = $ul.find('.active a').last()[0]
|
1458
|
+
|
1459
|
+
e = $.Event('show', {
|
1460
|
+
relatedTarget: previous
|
1461
|
+
})
|
1462
|
+
|
1463
|
+
$this.trigger(e)
|
1464
|
+
|
1465
|
+
if (e.isDefaultPrevented()) return
|
1466
|
+
|
1467
|
+
$target = $(selector)
|
1468
|
+
|
1469
|
+
this.activate($this.parent('li'), $ul)
|
1470
|
+
this.activate($target, $target.parent(), function () {
|
1471
|
+
$this.trigger({
|
1472
|
+
type: 'shown'
|
1473
|
+
, relatedTarget: previous
|
1474
|
+
})
|
1475
|
+
})
|
1476
|
+
}
|
1477
|
+
|
1478
|
+
, activate: function ( element, container, callback) {
|
1479
|
+
var $active = container.find('> .active')
|
1480
|
+
, transition = callback
|
1481
|
+
&& $.support.transition
|
1482
|
+
&& $active.hasClass('fade')
|
1483
|
+
|
1484
|
+
function next() {
|
1485
|
+
$active
|
1486
|
+
.removeClass('active')
|
1487
|
+
.find('> .dropdown-menu > .active')
|
1488
|
+
.removeClass('active')
|
1489
|
+
|
1490
|
+
element.addClass('active')
|
1491
|
+
|
1492
|
+
if (transition) {
|
1493
|
+
element[0].offsetWidth // reflow for transition
|
1494
|
+
element.addClass('in')
|
1495
|
+
} else {
|
1496
|
+
element.removeClass('fade')
|
1497
|
+
}
|
1498
|
+
|
1499
|
+
if ( element.parent('.dropdown-menu') ) {
|
1500
|
+
element.closest('li.dropdown').addClass('active')
|
1501
|
+
}
|
1502
|
+
|
1503
|
+
callback && callback()
|
1504
|
+
}
|
1505
|
+
|
1506
|
+
transition ?
|
1507
|
+
$active.one($.support.transition.end, next) :
|
1508
|
+
next()
|
1509
|
+
|
1510
|
+
$active.removeClass('in')
|
1511
|
+
}
|
1512
|
+
}
|
1513
|
+
|
1514
|
+
|
1515
|
+
/* TAB PLUGIN DEFINITION
|
1516
|
+
* ===================== */
|
1517
|
+
|
1518
|
+
$.fn.tab = function ( option ) {
|
1519
|
+
return this.each(function () {
|
1520
|
+
var $this = $(this)
|
1521
|
+
, data = $this.data('tab')
|
1522
|
+
if (!data) $this.data('tab', (data = new Tab(this)))
|
1523
|
+
if (typeof option == 'string') data[option]()
|
1524
|
+
})
|
1525
|
+
}
|
1526
|
+
|
1527
|
+
$.fn.tab.Constructor = Tab
|
1528
|
+
|
1529
|
+
|
1530
|
+
/* TAB DATA-API
|
1531
|
+
* ============ */
|
1532
|
+
|
1533
|
+
$(function () {
|
1534
|
+
$('body').on('click.tab.data-api', '[data-toggle="tab"], [data-toggle="pill"]', function (e) {
|
1535
|
+
e.preventDefault()
|
1536
|
+
$(this).tab('show')
|
1537
|
+
})
|
1538
|
+
})
|
1539
|
+
|
1540
|
+
}(window.jQuery);/* =============================================================
|
1541
|
+
* bootstrap-typeahead.js v2.0.3
|
1542
|
+
* http://twitter.github.com/bootstrap/javascript.html#typeahead
|
1543
|
+
* =============================================================
|
1544
|
+
* Copyright 2012 Twitter, Inc.
|
1545
|
+
*
|
1546
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
1547
|
+
* you may not use this file except in compliance with the License.
|
1548
|
+
* You may obtain a copy of the License at
|
1549
|
+
*
|
1550
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
1551
|
+
*
|
1552
|
+
* Unless required by applicable law or agreed to in writing, software
|
1553
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
1554
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
1555
|
+
* See the License for the specific language governing permissions and
|
1556
|
+
* limitations under the License.
|
1557
|
+
* ============================================================ */
|
1558
|
+
|
1559
|
+
|
1560
|
+
!function($){
|
1561
|
+
|
1562
|
+
"use strict"; // jshint ;_;
|
1563
|
+
|
1564
|
+
|
1565
|
+
/* TYPEAHEAD PUBLIC CLASS DEFINITION
|
1566
|
+
* ================================= */
|
1567
|
+
|
1568
|
+
var Typeahead = function (element, options) {
|
1569
|
+
this.$element = $(element)
|
1570
|
+
this.options = $.extend({}, $.fn.typeahead.defaults, options)
|
1571
|
+
this.matcher = this.options.matcher || this.matcher
|
1572
|
+
this.sorter = this.options.sorter || this.sorter
|
1573
|
+
this.highlighter = this.options.highlighter || this.highlighter
|
1574
|
+
this.updater = this.options.updater || this.updater
|
1575
|
+
this.$menu = $(this.options.menu).appendTo('body')
|
1576
|
+
this.source = this.options.source
|
1577
|
+
this.shown = false
|
1578
|
+
this.listen()
|
1579
|
+
}
|
1580
|
+
|
1581
|
+
Typeahead.prototype = {
|
1582
|
+
|
1583
|
+
constructor: Typeahead
|
1584
|
+
|
1585
|
+
, select: function () {
|
1586
|
+
var val = this.$menu.find('.active').attr('data-value')
|
1587
|
+
this.$element
|
1588
|
+
.val(this.updater(val))
|
1589
|
+
.change()
|
1590
|
+
return this.hide()
|
1591
|
+
}
|
1592
|
+
|
1593
|
+
, updater: function (item) {
|
1594
|
+
return item
|
1595
|
+
}
|
1596
|
+
|
1597
|
+
, show: function () {
|
1598
|
+
var pos = $.extend({}, this.$element.offset(), {
|
1599
|
+
height: this.$element[0].offsetHeight
|
1600
|
+
})
|
1601
|
+
|
1602
|
+
this.$menu.css({
|
1603
|
+
top: pos.top + pos.height
|
1604
|
+
, left: pos.left
|
1605
|
+
})
|
1606
|
+
|
1607
|
+
this.$menu.show()
|
1608
|
+
this.shown = true
|
1609
|
+
return this
|
1610
|
+
}
|
1611
|
+
|
1612
|
+
, hide: function () {
|
1613
|
+
this.$menu.hide()
|
1614
|
+
this.shown = false
|
1615
|
+
return this
|
1616
|
+
}
|
1617
|
+
|
1618
|
+
, lookup: function (event) {
|
1619
|
+
var that = this
|
1620
|
+
, items
|
1621
|
+
, q
|
1622
|
+
|
1623
|
+
this.query = this.$element.val()
|
1624
|
+
|
1625
|
+
if (!this.query) {
|
1626
|
+
return this.shown ? this.hide() : this
|
1627
|
+
}
|
1628
|
+
|
1629
|
+
items = $.grep(this.source, function (item) {
|
1630
|
+
return that.matcher(item)
|
1631
|
+
})
|
1632
|
+
|
1633
|
+
items = this.sorter(items)
|
1634
|
+
|
1635
|
+
if (!items.length) {
|
1636
|
+
return this.shown ? this.hide() : this
|
1637
|
+
}
|
1638
|
+
|
1639
|
+
return this.render(items.slice(0, this.options.items)).show()
|
1640
|
+
}
|
1641
|
+
|
1642
|
+
, matcher: function (item) {
|
1643
|
+
return ~item.toLowerCase().indexOf(this.query.toLowerCase())
|
1644
|
+
}
|
1645
|
+
|
1646
|
+
, sorter: function (items) {
|
1647
|
+
var beginswith = []
|
1648
|
+
, caseSensitive = []
|
1649
|
+
, caseInsensitive = []
|
1650
|
+
, item
|
1651
|
+
|
1652
|
+
while (item = items.shift()) {
|
1653
|
+
if (!item.toLowerCase().indexOf(this.query.toLowerCase())) beginswith.push(item)
|
1654
|
+
else if (~item.indexOf(this.query)) caseSensitive.push(item)
|
1655
|
+
else caseInsensitive.push(item)
|
1656
|
+
}
|
1657
|
+
|
1658
|
+
return beginswith.concat(caseSensitive, caseInsensitive)
|
1659
|
+
}
|
1660
|
+
|
1661
|
+
, highlighter: function (item) {
|
1662
|
+
var query = this.query.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, '\\$&')
|
1663
|
+
return item.replace(new RegExp('(' + query + ')', 'ig'), function ($1, match) {
|
1664
|
+
return '<strong>' + match + '</strong>'
|
1665
|
+
})
|
1666
|
+
}
|
1667
|
+
|
1668
|
+
, render: function (items) {
|
1669
|
+
var that = this
|
1670
|
+
|
1671
|
+
items = $(items).map(function (i, item) {
|
1672
|
+
i = $(that.options.item).attr('data-value', item)
|
1673
|
+
i.find('a').html(that.highlighter(item))
|
1674
|
+
return i[0]
|
1675
|
+
})
|
1676
|
+
|
1677
|
+
items.first().addClass('active')
|
1678
|
+
this.$menu.html(items)
|
1679
|
+
return this
|
1680
|
+
}
|
1681
|
+
|
1682
|
+
, next: function (event) {
|
1683
|
+
var active = this.$menu.find('.active').removeClass('active')
|
1684
|
+
, next = active.next()
|
1685
|
+
|
1686
|
+
if (!next.length) {
|
1687
|
+
next = $(this.$menu.find('li')[0])
|
1688
|
+
}
|
1689
|
+
|
1690
|
+
next.addClass('active')
|
1691
|
+
}
|
1692
|
+
|
1693
|
+
, prev: function (event) {
|
1694
|
+
var active = this.$menu.find('.active').removeClass('active')
|
1695
|
+
, prev = active.prev()
|
1696
|
+
|
1697
|
+
if (!prev.length) {
|
1698
|
+
prev = this.$menu.find('li').last()
|
1699
|
+
}
|
1700
|
+
|
1701
|
+
prev.addClass('active')
|
1702
|
+
}
|
1703
|
+
|
1704
|
+
, listen: function () {
|
1705
|
+
this.$element
|
1706
|
+
.on('blur', $.proxy(this.blur, this))
|
1707
|
+
.on('keypress', $.proxy(this.keypress, this))
|
1708
|
+
.on('keyup', $.proxy(this.keyup, this))
|
1709
|
+
|
1710
|
+
if ($.browser.webkit || $.browser.msie) {
|
1711
|
+
this.$element.on('keydown', $.proxy(this.keypress, this))
|
1712
|
+
}
|
1713
|
+
|
1714
|
+
this.$menu
|
1715
|
+
.on('click', $.proxy(this.click, this))
|
1716
|
+
.on('mouseenter', 'li', $.proxy(this.mouseenter, this))
|
1717
|
+
}
|
1718
|
+
|
1719
|
+
, keyup: function (e) {
|
1720
|
+
switch(e.keyCode) {
|
1721
|
+
case 40: // down arrow
|
1722
|
+
case 38: // up arrow
|
1723
|
+
break
|
1724
|
+
|
1725
|
+
case 9: // tab
|
1726
|
+
case 13: // enter
|
1727
|
+
if (!this.shown) return
|
1728
|
+
this.select()
|
1729
|
+
break
|
1730
|
+
|
1731
|
+
case 27: // escape
|
1732
|
+
if (!this.shown) return
|
1733
|
+
this.hide()
|
1734
|
+
break
|
1735
|
+
|
1736
|
+
default:
|
1737
|
+
this.lookup()
|
1738
|
+
}
|
1739
|
+
|
1740
|
+
e.stopPropagation()
|
1741
|
+
e.preventDefault()
|
1742
|
+
}
|
1743
|
+
|
1744
|
+
, keypress: function (e) {
|
1745
|
+
if (!this.shown) return
|
1746
|
+
|
1747
|
+
switch(e.keyCode) {
|
1748
|
+
case 9: // tab
|
1749
|
+
case 13: // enter
|
1750
|
+
case 27: // escape
|
1751
|
+
e.preventDefault()
|
1752
|
+
break
|
1753
|
+
|
1754
|
+
case 38: // up arrow
|
1755
|
+
if (e.type != 'keydown') break
|
1756
|
+
e.preventDefault()
|
1757
|
+
this.prev()
|
1758
|
+
break
|
1759
|
+
|
1760
|
+
case 40: // down arrow
|
1761
|
+
if (e.type != 'keydown') break
|
1762
|
+
e.preventDefault()
|
1763
|
+
this.next()
|
1764
|
+
break
|
1765
|
+
}
|
1766
|
+
|
1767
|
+
e.stopPropagation()
|
1768
|
+
}
|
1769
|
+
|
1770
|
+
, blur: function (e) {
|
1771
|
+
var that = this
|
1772
|
+
setTimeout(function () { that.hide() }, 150)
|
1773
|
+
}
|
1774
|
+
|
1775
|
+
, click: function (e) {
|
1776
|
+
e.stopPropagation()
|
1777
|
+
e.preventDefault()
|
1778
|
+
this.select()
|
1779
|
+
}
|
1780
|
+
|
1781
|
+
, mouseenter: function (e) {
|
1782
|
+
this.$menu.find('.active').removeClass('active')
|
1783
|
+
$(e.currentTarget).addClass('active')
|
1784
|
+
}
|
1785
|
+
|
1786
|
+
}
|
1787
|
+
|
1788
|
+
|
1789
|
+
/* TYPEAHEAD PLUGIN DEFINITION
|
1790
|
+
* =========================== */
|
1791
|
+
|
1792
|
+
$.fn.typeahead = function (option) {
|
1793
|
+
return this.each(function () {
|
1794
|
+
var $this = $(this)
|
1795
|
+
, data = $this.data('typeahead')
|
1796
|
+
, options = typeof option == 'object' && option
|
1797
|
+
if (!data) $this.data('typeahead', (data = new Typeahead(this, options)))
|
1798
|
+
if (typeof option == 'string') data[option]()
|
1799
|
+
})
|
1800
|
+
}
|
1801
|
+
|
1802
|
+
$.fn.typeahead.defaults = {
|
1803
|
+
source: []
|
1804
|
+
, items: 8
|
1805
|
+
, menu: '<ul class="typeahead dropdown-menu"></ul>'
|
1806
|
+
, item: '<li><a href="#"></a></li>'
|
1807
|
+
}
|
1808
|
+
|
1809
|
+
$.fn.typeahead.Constructor = Typeahead
|
1810
|
+
|
1811
|
+
|
1812
|
+
/* TYPEAHEAD DATA-API
|
1813
|
+
* ================== */
|
1814
|
+
|
1815
|
+
$(function () {
|
1816
|
+
$('body').on('focus.typeahead.data-api', '[data-provide="typeahead"]', function (e) {
|
1817
|
+
var $this = $(this)
|
1818
|
+
if ($this.data('typeahead')) return
|
1819
|
+
e.preventDefault()
|
1820
|
+
$this.typeahead($this.data())
|
1821
|
+
})
|
1822
|
+
})
|
1823
|
+
|
1824
|
+
}(window.jQuery);
|