first 867 daemons/controld/controld_remote_ra.c GList *first = NULL; first 875 daemons/controld/controld_remote_ra.c first = ra_data->cmds; first 876 daemons/controld/controld_remote_ra.c cmd = first->data; first 882 daemons/controld/controld_remote_ra.c ra_data->cmds = g_list_remove_link(ra_data->cmds, first); first 883 daemons/controld/controld_remote_ra.c g_list_free_1(first); first 1371 daemons/execd/execd_commands.c GList *first = rsc->pending_ops; first 1373 daemons/execd/execd_commands.c cmd = first->data; first 1380 daemons/execd/execd_commands.c rsc->pending_ops = g_list_remove_link(rsc->pending_ops, first); first 1381 daemons/execd/execd_commands.c g_list_free_1(first); first 76 daemons/execd/remoted_pidone.c find_env_var_name(char *line, char **first, char **last) first 79 daemons/execd/remoted_pidone.c *first = line; first 80 daemons/execd/remoted_pidone.c while (isspace(**first)) { first 81 daemons/execd/remoted_pidone.c ++*first; first 84 daemons/execd/remoted_pidone.c if (isalpha(**first) || (**first == '_')) { // Valid first character first 85 daemons/execd/remoted_pidone.c *last = *first; first 92 daemons/execd/remoted_pidone.c *first = *last = NULL; first 1325 daemons/fenced/fenced_commands.c device_params_diff(GHashTable *first, GHashTable *second) { first 1330 daemons/fenced/fenced_commands.c g_hash_table_iter_init(&gIter, first); first 558 lib/cluster/cpg.c cmp_member_list_nodeid(const void *first, const void *second) first 560 lib/cluster/cpg.c const struct cpg_address *const a = *((const struct cpg_address **) first), first 243 lib/pacemaker/libpacemaker_private.h uint32_t (*update_ordered_actions)(pe_action_t *first, pe_action_t *then, first 305 lib/pacemaker/libpacemaker_private.h uint32_t pcmk__update_ordered_actions(pe_action_t *first, pe_action_t *then, first 735 lib/pacemaker/libpacemaker_private.h uint32_t pcmk__group_update_ordered_actions(pe_action_t *first, first 819 lib/pacemaker/libpacemaker_private.h uint32_t pcmk__instance_update_ordered_actions(pe_action_t *first, first 218 lib/pacemaker/pcmk_sched_actions.c update_action_for_ordering_flags(pe_action_t *first, pe_action_t *then, first 241 lib/pacemaker/pcmk_sched_actions.c node = first->node; first 245 lib/pacemaker/pcmk_sched_actions.c first->uuid, then->uuid, pe__node_name(node)); first 250 lib/pacemaker/pcmk_sched_actions.c changed |= then->rsc->cmds->update_ordered_actions(first, then, first 259 lib/pacemaker/pcmk_sched_actions.c pcmk__set_updated_flags(changed, first, pcmk__updated_then); first 262 lib/pacemaker/pcmk_sched_actions.c first->uuid, then->uuid, first 269 lib/pacemaker/pcmk_sched_actions.c changed |= then->rsc->cmds->update_ordered_actions(first, then, node, first 274 lib/pacemaker/pcmk_sched_actions.c first->uuid, then->uuid, first 279 lib/pacemaker/pcmk_sched_actions.c if (first->rsc != NULL) { first 280 lib/pacemaker/pcmk_sched_actions.c changed |= first->rsc->cmds->update_ordered_actions(first, then, first 287 lib/pacemaker/pcmk_sched_actions.c && pcmk_is_set(first->flags, pe_action_runnable)) { first 288 lib/pacemaker/pcmk_sched_actions.c pe__clear_action_flags(first, pe_action_runnable); first 289 lib/pacemaker/pcmk_sched_actions.c pcmk__set_updated_flags(changed, first, pcmk__updated_first); first 292 lib/pacemaker/pcmk_sched_actions.c first->uuid, then->uuid, first 298 lib/pacemaker/pcmk_sched_actions.c changed |= then->rsc->cmds->update_ordered_actions(first, then, first 307 lib/pacemaker/pcmk_sched_actions.c first->uuid, then->uuid, first 313 lib/pacemaker/pcmk_sched_actions.c changed |= then->rsc->cmds->update_ordered_actions(first, then, first 331 lib/pacemaker/pcmk_sched_actions.c pcmk__set_updated_flags(changed, first, pcmk__updated_then); first 335 lib/pacemaker/pcmk_sched_actions.c first->uuid, then->uuid, first 341 lib/pacemaker/pcmk_sched_actions.c && (first->rsc->running_on != NULL)) { first 345 lib/pacemaker/pcmk_sched_actions.c first->uuid, then->uuid); first 348 lib/pacemaker/pcmk_sched_actions.c changed |= then->rsc->cmds->update_ordered_actions(first, then, first 356 lib/pacemaker/pcmk_sched_actions.c first->uuid, then->uuid, first 362 lib/pacemaker/pcmk_sched_actions.c changed |= then->rsc->cmds->update_ordered_actions(first, then, first 373 lib/pacemaker/pcmk_sched_actions.c pcmk__set_updated_flags(changed, first, pcmk__updated_then); first 376 lib/pacemaker/pcmk_sched_actions.c first->uuid, then->uuid, first 382 lib/pacemaker/pcmk_sched_actions.c changed |= then->rsc->cmds->update_ordered_actions(first, then, first 391 lib/pacemaker/pcmk_sched_actions.c first->uuid, then->uuid, first 397 lib/pacemaker/pcmk_sched_actions.c changed |= then->rsc->cmds->update_ordered_actions(first, then, first 405 lib/pacemaker/pcmk_sched_actions.c first->uuid, then->uuid, first 411 lib/pacemaker/pcmk_sched_actions.c changed |= then->rsc->cmds->update_ordered_actions(first, then, first 419 lib/pacemaker/pcmk_sched_actions.c first->uuid, then->uuid, first 425 lib/pacemaker/pcmk_sched_actions.c changed |= then->rsc->cmds->update_ordered_actions(first, then, first 433 lib/pacemaker/pcmk_sched_actions.c first->uuid, then->uuid, first 437 lib/pacemaker/pcmk_sched_actions.c if (pcmk_is_set(first->flags, pe_action_runnable) first 442 lib/pacemaker/pcmk_sched_actions.c then->uuid, first->uuid); first 451 lib/pacemaker/pcmk_sched_actions.c first->uuid, then->uuid); first 452 lib/pacemaker/pcmk_sched_actions.c pe__set_action_flags(first, pe_action_print_always); first 459 lib/pacemaker/pcmk_sched_actions.c && (first->rsc != NULL) first 460 lib/pacemaker/pcmk_sched_actions.c && !pcmk_is_set(first->rsc->flags, pe_rsc_managed) first 461 lib/pacemaker/pcmk_sched_actions.c && pcmk_is_set(first->rsc->flags, pe_rsc_block) first 462 lib/pacemaker/pcmk_sched_actions.c && !pcmk_is_set(first->flags, pe_action_runnable) first 463 lib/pacemaker/pcmk_sched_actions.c && pcmk__str_eq(first->task, RSC_STOP, pcmk__str_casei)) { first 467 lib/pacemaker/pcmk_sched_actions.c pcmk__set_updated_flags(changed, first, pcmk__updated_then); first 471 lib/pacemaker/pcmk_sched_actions.c first->uuid, then->uuid, first 534 lib/pacemaker/pcmk_sched_actions.c pe_action_t *first = other->action; first 537 lib/pacemaker/pcmk_sched_actions.c pe_node_t *first_node = first->node; first 539 lib/pacemaker/pcmk_sched_actions.c if ((first->rsc != NULL) first 540 lib/pacemaker/pcmk_sched_actions.c && (first->rsc->variant == pe_group) first 541 lib/pacemaker/pcmk_sched_actions.c && pcmk__str_eq(first->task, RSC_START, pcmk__str_casei)) { first 543 lib/pacemaker/pcmk_sched_actions.c first_node = first->rsc->fns->location(first->rsc, NULL, FALSE); first 545 lib/pacemaker/pcmk_sched_actions.c pe_rsc_trace(first->rsc, "Found %s for 'first' %s", first 546 lib/pacemaker/pcmk_sched_actions.c pe__node_name(first_node), first->uuid); first 576 lib/pacemaker/pcmk_sched_actions.c if ((first->rsc != NULL) first 584 lib/pacemaker/pcmk_sched_actions.c if (!strcmp(first->task, CRMD_ACTION_RELOAD_AGENT)) { first 585 lib/pacemaker/pcmk_sched_actions.c pe__clear_resource_flags(first->rsc, pe_rsc_reload); first 589 lib/pacemaker/pcmk_sched_actions.c if ((first->rsc != NULL) && (then->rsc != NULL) first 590 lib/pacemaker/pcmk_sched_actions.c && (first->rsc != then->rsc) && !is_parent(then->rsc, first->rsc)) { first 591 lib/pacemaker/pcmk_sched_actions.c first = action_for_ordering(first); first 593 lib/pacemaker/pcmk_sched_actions.c if (first != other->action) { first 595 lib/pacemaker/pcmk_sched_actions.c then->uuid, first->uuid, other->action->uuid); first 600 lib/pacemaker/pcmk_sched_actions.c first->uuid, first->flags, then->uuid, then->flags, first 601 lib/pacemaker/pcmk_sched_actions.c other->type, action_node_str(first)); first 603 lib/pacemaker/pcmk_sched_actions.c if (first == other->action) { first 610 lib/pacemaker/pcmk_sched_actions.c first_flags = action_flags_for_ordering(first, then_node); first 613 lib/pacemaker/pcmk_sched_actions.c changed |= update_action_for_ordering_flags(first, then, first 620 lib/pacemaker/pcmk_sched_actions.c } else if (order_actions(first, then, other->type)) { first 627 lib/pacemaker/pcmk_sched_actions.c other->action->uuid, then->uuid, first->uuid, first 635 lib/pacemaker/pcmk_sched_actions.c "because it changed", first->uuid); first 636 lib/pacemaker/pcmk_sched_actions.c for (GList *lpc2 = first->actions_after; lpc2 != NULL; first 642 lib/pacemaker/pcmk_sched_actions.c pcmk__update_action_for_orderings(first, data_set); first 707 lib/pacemaker/pcmk_sched_actions.c handle_asymmetric_ordering(const pe_action_t *first, pe_action_t *then) first 712 lib/pacemaker/pcmk_sched_actions.c if ((then->rsc == NULL) || pcmk_is_set(first->flags, pe_action_runnable)) { first 737 lib/pacemaker/pcmk_sched_actions.c clear_action_flag_because(then, pe_action_optional, first); first 738 lib/pacemaker/pcmk_sched_actions.c clear_action_flag_because(then, pe_action_runnable, first); first 753 lib/pacemaker/pcmk_sched_actions.c handle_restart_ordering(pe_action_t *first, pe_action_t *then, uint32_t filter) first 757 lib/pacemaker/pcmk_sched_actions.c CRM_ASSERT(is_primitive_action(first)); first 774 lib/pacemaker/pcmk_sched_actions.c && (first->rsc == then->rsc)) { first 782 lib/pacemaker/pcmk_sched_actions.c pe_rsc_trace(first->rsc, "Handling %s -> %s for %s", first 783 lib/pacemaker/pcmk_sched_actions.c first->uuid, then->uuid, reason); first 786 lib/pacemaker/pcmk_sched_actions.c if (pcmk_is_set(first->flags, pe_action_runnable)) { first 787 lib/pacemaker/pcmk_sched_actions.c clear_action_flag_because(first, pe_action_optional, then); first 792 lib/pacemaker/pcmk_sched_actions.c clear_action_flag_because(first, pe_action_optional, then); first 797 lib/pacemaker/pcmk_sched_actions.c clear_action_flag_because(first, pe_action_migrate_runnable, then); first 801 lib/pacemaker/pcmk_sched_actions.c if (!pcmk_is_set(first->flags, pe_action_optional) first 802 lib/pacemaker/pcmk_sched_actions.c && !pcmk_is_set(first->flags, pe_action_runnable)) { first 803 lib/pacemaker/pcmk_sched_actions.c clear_action_flag_because(then, pe_action_runnable, first); first 830 lib/pacemaker/pcmk_sched_actions.c pcmk__update_ordered_actions(pe_action_t *first, pe_action_t *then, first 837 lib/pacemaker/pcmk_sched_actions.c uint32_t first_flags = first->flags; first 840 lib/pacemaker/pcmk_sched_actions.c handle_asymmetric_ordering(first, then); first 850 lib/pacemaker/pcmk_sched_actions.c clear_action_flag_because(first, pe_action_optional, then); first 855 lib/pacemaker/pcmk_sched_actions.c clear_action_flag_because(first, pe_action_migrate_runnable, then); first 864 lib/pacemaker/pcmk_sched_actions.c clear_action_flag_because(first, pe_action_optional, then); first 866 lib/pacemaker/pcmk_sched_actions.c if (pcmk_is_set(first->flags, pe_action_migrate_runnable) first 868 lib/pacemaker/pcmk_sched_actions.c clear_action_flag_because(first, pe_action_migrate_runnable, first 878 lib/pacemaker/pcmk_sched_actions.c clear_action_flag_because(first, pe_action_runnable, then); first 882 lib/pacemaker/pcmk_sched_actions.c clear_action_flag_because(first, pe_action_optional, then); first 888 lib/pacemaker/pcmk_sched_actions.c && !pcmk_is_set(first->flags, pe_action_runnable)) { first 890 lib/pacemaker/pcmk_sched_actions.c clear_action_flag_because(then, pe_action_migrate_runnable, first); first 899 lib/pacemaker/pcmk_sched_actions.c clear_action_flag_because(then, pe_action_runnable, first); first 900 lib/pacemaker/pcmk_sched_actions.c clear_action_flag_because(then, pe_action_migrate_runnable, first); first 907 lib/pacemaker/pcmk_sched_actions.c && !pcmk_is_set(first->flags, pe_action_migrate_runnable)) { first 909 lib/pacemaker/pcmk_sched_actions.c clear_action_flag_because(then, pe_action_optional, first); first 913 lib/pacemaker/pcmk_sched_actions.c handle_restart_ordering(first, then, filter); first 917 lib/pacemaker/pcmk_sched_actions.c pcmk__set_updated_flags(changed, first, pcmk__updated_then); first 922 lib/pacemaker/pcmk_sched_actions.c then->flags, then_flags, first->uuid, first->flags); first 930 lib/pacemaker/pcmk_sched_actions.c if (first_flags != first->flags) { first 931 lib/pacemaker/pcmk_sched_actions.c pcmk__set_updated_flags(changed, first, pcmk__updated_first); first 932 lib/pacemaker/pcmk_sched_actions.c pe_rsc_trace(first->rsc, first 935 lib/pacemaker/pcmk_sched_actions.c first->uuid, pe__node_name(first->node), first 936 lib/pacemaker/pcmk_sched_actions.c first->flags, first_flags, then->uuid, then->flags); first 542 lib/pacemaker/pcmk_sched_group.c pcmk__group_update_ordered_actions(pe_action_t *first, pe_action_t *then, first 549 lib/pacemaker/pcmk_sched_group.c CRM_ASSERT((first != NULL) && (then != NULL) && (data_set != NULL)); first 555 lib/pacemaker/pcmk_sched_group.c changed |= pcmk__update_ordered_actions(first, then, node, flags, filter, first 566 lib/pacemaker/pcmk_sched_group.c changed |= member->cmds->update_ordered_actions(first, first 1145 lib/pacemaker/pcmk_sched_instances.c unassign_if_mandatory(const pe_action_t *first, const pe_action_t *then, first 1153 lib/pacemaker/pcmk_sched_instances.c first->rsc->id, then_instance->id); first 1163 lib/pacemaker/pcmk_sched_instances.c then_instance->id, first->rsc->id); first 1297 lib/pacemaker/pcmk_sched_instances.c update_interleaved_actions(pe_action_t *first, pe_action_t *then, first 1303 lib/pacemaker/pcmk_sched_instances.c const char *orig_first_task = orig_action_name(first); first 1306 lib/pacemaker/pcmk_sched_instances.c bool current = pcmk__ends_with(first->uuid, "_" CRMD_ACTION_STOPPED "_0") first 1307 lib/pacemaker/pcmk_sched_instances.c || pcmk__ends_with(first->uuid, first 1321 lib/pacemaker/pcmk_sched_instances.c first->rsc, first 1326 lib/pacemaker/pcmk_sched_instances.c if (unassign_if_mandatory(first, then, then_instance, type, first 1328 lib/pacemaker/pcmk_sched_instances.c pcmk__set_updated_flags(changed, first, pcmk__updated_then); first 1333 lib/pacemaker/pcmk_sched_instances.c first_action = find_instance_action(first, first_instance, first 1346 lib/pacemaker/pcmk_sched_instances.c pcmk__set_updated_flags(changed, first, first 1369 lib/pacemaker/pcmk_sched_instances.c can_interleave_actions(const pe_action_t *first, const pe_action_t *then) first 1374 lib/pacemaker/pcmk_sched_instances.c if ((first->rsc == NULL) || (then->rsc == NULL)) { first 1376 lib/pacemaker/pcmk_sched_instances.c first->uuid, then->uuid); first 1380 lib/pacemaker/pcmk_sched_instances.c if (first->rsc == then->rsc) { first 1382 lib/pacemaker/pcmk_sched_instances.c first->uuid, then->uuid); first 1386 lib/pacemaker/pcmk_sched_instances.c if ((first->rsc->variant < pe_clone) || (then->rsc->variant < pe_clone)) { first 1388 lib/pacemaker/pcmk_sched_instances.c first->uuid, then->uuid); first 1394 lib/pacemaker/pcmk_sched_instances.c rsc = first->rsc; first 1402 lib/pacemaker/pcmk_sched_instances.c first->uuid, then->uuid, (interleave? "" : "not "), rsc->id); first 1429 lib/pacemaker/pcmk_sched_instances.c update_noninterleaved_actions(pe_resource_t *instance, pe_action_t *first, first 1451 lib/pacemaker/pcmk_sched_instances.c changed = instance->cmds->update_ordered_actions(first, instance_action, first 1492 lib/pacemaker/pcmk_sched_instances.c pcmk__instance_update_ordered_actions(pe_action_t *first, pe_action_t *then, first 1500 lib/pacemaker/pcmk_sched_instances.c } else if (can_interleave_actions(first, then)) { first 1501 lib/pacemaker/pcmk_sched_instances.c return update_interleaved_actions(first, then, node, filter, type); first 1508 lib/pacemaker/pcmk_sched_instances.c changed |= pcmk__update_ordered_actions(first, then, node, flags, first 1515 lib/pacemaker/pcmk_sched_instances.c changed |= update_noninterleaved_actions(instance, first, then, first 177 lib/pacemaker/pcmk_sched_ordering.c ordering_flags_for_kind(enum pe_order_kind kind, const char *first, first 200 lib/pacemaker/pcmk_sched_ordering.c if (pcmk__strcase_any_of(first, RSC_START, RSC_PROMOTE, first 780 lib/pacemaker/pcmk_sched_probes.c pe_action_t *first = before->action; first 781 lib/pacemaker/pcmk_sched_probes.c pe_resource_t *first_rsc = first->rsc; first 783 lib/pacemaker/pcmk_sched_probes.c if (first->required_runnable_before) { first 784 lib/pacemaker/pcmk_sched_probes.c for (GList *clone_actions = first->actions_before; first 791 lib/pacemaker/pcmk_sched_probes.c first->uuid, before->action->uuid, start->uuid); first 798 lib/pacemaker/pcmk_sched_probes.c } else if (!pcmk__str_eq(first->task, RSC_START, pcmk__str_none)) { first 799 lib/pacemaker/pcmk_sched_probes.c crm_trace("Not a start op %s for %s", first->uuid, start->uuid); first 816 lib/pacemaker/pcmk_sched_probes.c crm_err("Applying %s before %s %d", first->uuid, start->uuid, first 824 lib/pacemaker/pcmk_sched_probes.c crm_err("Ordering %s before %s", first->uuid, probe->uuid); first 825 lib/pacemaker/pcmk_sched_probes.c order_actions(first, probe, pe_order_optional); first 3250 lib/pengine/unpack.c cmp_on_fail(enum action_fail_response first, enum action_fail_response second) first 3252 lib/pengine/unpack.c switch (first) { first 3296 lib/pengine/unpack.c return (first == action_fail_ignore)? -1 : 1; first 3299 lib/pengine/unpack.c switch (first) { first 3310 lib/pengine/unpack.c switch (first) { first 3324 lib/pengine/unpack.c return first - second; first 288 maint/gnulib/lib/argmatch.h bool first = true; \ first 298 maint/gnulib/lib/argmatch.h if (!first \ first 303 maint/gnulib/lib/argmatch.h first = true; \ first 305 maint/gnulib/lib/argmatch.h if (first) \ first 308 maint/gnulib/lib/argmatch.h first = false; \ first 1119 maint/gnulib/lib/argp-help.c int first; first 1192 maint/gnulib/lib/argp-help.c if (pest->first) first 1214 maint/gnulib/lib/argp-help.c pest->first = 0; first 1302 maint/gnulib/lib/argp-help.c if (pest.first) first 670 maint/gnulib/lib/gen-uni-tables.c unsigned int first = ch; first 676 maint/gnulib/lib/gen-uni-tables.c if (first < last) first 677 maint/gnulib/lib/gen-uni-tables.c fprintf (stream, "0x%04X..0x%04X\n", first, last); first 718 maint/gnulib/lib/gen-uni-tables.c unsigned int first = ch; first 726 maint/gnulib/lib/gen-uni-tables.c fprintf (stream, " { 0x%04X, 0x%04X }", first, last); first 102 maint/gnulib/lib/getprogname.c static int first = 1; first 103 maint/gnulib/lib/getprogname.c if (first) first 105 maint/gnulib/lib/getprogname.c first = 0; first 117 maint/gnulib/lib/getprogname.c static int first = 1; first 118 maint/gnulib/lib/getprogname.c if (first) first 120 maint/gnulib/lib/getprogname.c first = 0; first 197 maint/gnulib/lib/getprogname.c static int first = 1; first 198 maint/gnulib/lib/getprogname.c if (first) first 203 maint/gnulib/lib/getprogname.c first = 0; first 84 maint/gnulib/lib/gl_anytreehash_list1.h const void *first; first 86 maint/gnulib/lib/gl_anytreehash_list1.h if (!gl_oset_iterator_next (&iter, &first)) first 89 maint/gnulib/lib/gl_anytreehash_list1.h return (gl_list_node_t) first; first 183 maint/gnulib/lib/mgetgroups.c gid_t first = *g; first 189 maint/gnulib/lib/mgetgroups.c if (*next == first || *next == *g) first 963 maint/gnulib/lib/regcomp.c Idx first, i; first 969 maint/gnulib/lib/regcomp.c first = dfa->str_tree->first->node_idx; first 970 maint/gnulib/lib/regcomp.c dfa->init_node = first; first 971 maint/gnulib/lib/regcomp.c err = re_node_set_init_copy (&init_nodes, dfa->eclosures + first); first 1349 maint/gnulib/lib/regcomp.c node->first = node->left->first; first 1354 maint/gnulib/lib/regcomp.c node->first = node; first 1374 maint/gnulib/lib/regcomp.c node->left->next = node->right->first; first 1410 maint/gnulib/lib/regcomp.c left = node->left->first->node_idx; first 1414 maint/gnulib/lib/regcomp.c right = node->right->first->node_idx; first 3689 maint/gnulib/lib/regcomp.c tree->first = NULL; first 464 maint/gnulib/lib/regex_internal.h struct bin_tree_t *first; first 29 maint/gnulib/lib/unistr/u-strstr.h UNIT first = needle[0]; first 32 maint/gnulib/lib/unistr/u-strstr.h if (first == 0) first 37 maint/gnulib/lib/unistr/u-strstr.h return U_STRCHR (haystack, first); first 164 maint/gnulib/tests/test-bitset.c bitset_bindex first = bitset_first (adst); first 165 maint/gnulib/tests/test-bitset.c ASSERT (first == bitset_first (bdst)); first 170 maint/gnulib/tests/test-bitset.c ASSERT (first <= last); first 178 maint/gnulib/tests/test-bitset.c bitset_bindex first = bitset_first (bdst); first 184 maint/gnulib/tests/test-bitset.c ASSERT (first <= j && j <= last); first 186 maint/gnulib/tests/test-bitset.c if (j == first) first 191 maint/gnulib/tests/test-bitset.c if (first == BITSET_BINDEX_MAX) first 207 maint/gnulib/tests/test-bitset.c bitset_bindex first = bitset_first (bdst); first 213 maint/gnulib/tests/test-bitset.c ASSERT (first <= j && j <= last); first 215 maint/gnulib/tests/test-bitset.c if (j == first) first 220 maint/gnulib/tests/test-bitset.c if (first == BITSET_BINDEX_MAX)