PageSourceSearch

https://appnaq.com/_next/static/chunks/pages/faq-add7fb3533a40451.js

js appnaq.com collected 2026-10-02 01:23:20 UTC 21,208 bytes, 1 lines download raw bytes

1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[746],{1671:function(e,t,n){(window.__NEXT_P=window.__NEXT_P||[]).push(["/faq",function(){return n(1800)}])},1800:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return P}});var r,o,i=n(5893),a=n(7294),d=n(3809),c=n(6120);function ownKeys(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function _objectSpread2(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(n),!0).forEach(function(t){_defineProperty(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ownKeys(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function _classCallCheck(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}function _defineProperties(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function _createClass(e,t,n){return t&&_defineProperties(e.prototype,t),n&&_defineProperties(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function _defineProperty(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function _extends(){return(_extends=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function _inherits(e,t){if("function"!=typeof t&&null!==t)throw TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&_setPrototypeOf(e,t)}function _getPrototypeOf(e){return(_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function _setPrototypeOf(e,t){return(_setPrototypeOf=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function _objectWithoutProperties(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function _assertThisInitialized(e){if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function _createSuper(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct||Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var n,r=_getPrototypeOf(e);if(t){var o=_getPrototypeOf(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return function(e,t){if(t&&("object"==typeof t||"function"==typeof t))return t;if(void 0!==t)throw TypeError("Derived constructors may only return object or undefined");return _assertThisInitialized(e)}(this,n)}}function _unsupportedIterableToArray(e,t){if(e){if("string"==typeof e)return _arrayLikeToArray(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(e,t)}}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var s=_createClass(function AccordionStore(e){var t=this,n=e.expanded,r=e.allowMultipleExpanded,o=e.allowZeroExpanded;_classCallCheck(this,AccordionStore),_defineProperty(this,"expanded",void 0),_defineProperty(this,"allowMultipleExpanded",void 0),_defineProperty(this,"allowZeroExpanded",void 0),_defineProperty(this,"toggleExpanded",function(e){var n;return t.isItemDisabled(e)?t:t.isItemExpanded(e)?t.augment({expanded:t.expanded.filter(function(t){return t!==e})}):t.augment({expanded:t.allowMultipleExpanded?[].concat(function(e){if(Array.isArray(e))return _arrayLikeToArray(e)}(n=t.expanded)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(n)||_unsupportedIterableToArray(n)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),[e]):[e]})}),_defineProperty(this,"isItemDisabled",function(e){var n=t.isItemExpanded(e),r=1===t.expanded.length;return!!(n&&!t.allowZeroExpanded&&r)}),_defineProperty(this,"isItemExpanded",function(e){return -1!==t.expanded.indexOf(e)}),_defineProperty(this,"getPanelAttributes",function(e,n){var r=null!=n?n:t.
1isItemExpanded(e);return{role:t.allowMultipleExpanded?void 0:"region","aria-hidden":t.allowMultipleExpanded?!r:void 0,"aria-labelledby":t.getButtonId(e),id:t.getPanelId(e),hidden:!r||void 0}}),_defineProperty(this,"getHeadingAttributes",function(){return{role:"heading"}}),_defineProperty(this,"getButtonAttributes",function(e,n){var r=null!=n?n:t.isItemExpanded(e),o=t.isItemDisabled(e);return{id:t.getButtonId(e),"aria-disabled":o,"aria-expanded":r,"aria-controls":t.getPanelId(e),role:"button",tabIndex:0}}),_defineProperty(this,"getPanelId",function(e){return"accordion__panel-".concat(e)}),_defineProperty(this,"getButtonId",function(e){return"accordion__heading-".concat(e)}),_defineProperty(this,"augment",function(e){return new AccordionStore(_objectSpread2({expanded:t.expanded,allowMultipleExpanded:t.allowMultipleExpanded,allowZeroExpanded:t.allowZeroExpanded},e))}),this.expanded=void 0===n?[]:n,this.allowMultipleExpanded=void 0!==r&&r,this.allowZeroExpanded=void 0!==o&&o}),l=(0,a.createContext)(null),u=function(e){_inherits(Provider,e);var t=_createSuper(Provider);function Provider(){var e;_classCallCheck(this,Provider);for(var n=arguments.length,r=Array(n),o=0;o<n;o++)r[o]=arguments[o];return _defineProperty(_assertThisInitialized(e=t.call.apply(t,[this].concat(r))),"state",new s({expanded:e.props.preExpanded,allowMultipleExpanded:e.props.allowMultipleExpanded,allowZeroExpanded:e.props.allowZeroExpanded})),_defineProperty(_assertThisInitialized(e),"toggleExpanded",function(t){e.setState(function(e){return e.toggleExpanded(t)},function(){e.props.onChange&&e.props.onChange(e.state.expanded)})}),_defineProperty(_assertThisInitialized(e),"isItemDisabled",function(t){return e.state.isItemDisabled(t)}),_defineProperty(_assertThisInitialized(e),"isItemExpanded",function(t){return e.state.isItemExpanded(t)}),_defineProperty(_assertThisInitialized(e),"getPanelAttributes",function(t,n){return e.state.getPanelAttributes(t,n)}),_defineProperty(_assertThisInitialized(e),"getHeadingAttributes",function(){return e.state.getHeadingAttributes()}),_defineProperty(_assertThisInitialized(e),"getButtonAttributes",function(t,n){return e.state.getButtonAttributes(t,n)}),e}return _createClass(Provider,[{key:"render",value:function(){var e=this.state,t=e.allowZeroExpanded,n=e.allowMultipleExpanded;return(0,a.createElement)(l.Provider,{value:{allowMultipleExpanded:n,allowZeroExpanded:t,toggleExpanded:this.toggleExpanded,isItemDisabled:this.isItemDisabled,isItemExpanded:this.isItemExpanded,getPanelAttributes:this.getPanelAttributes,getHeadingAttributes:this.getHeadingAttributes,getButtonAttributes:this.getButtonAttributes}},this.props.children||null)}}]),Provider}(a.PureComponent);_defineProperty(u,"defaultProps",{allowMultipleExpanded:!1,allowZeroExpanded:!1});var p=function(e){_inherits(Consumer,e);var t=_createSuper(Consumer);function Consumer(){var e;_classCallCheck(this,Consumer);for(var n=arguments.length,r=Array(n),o=0;o<n;o++)r[o]=arguments[o];return _defineProperty(_assertThisInitialized(e=t.call.apply(t,[this].concat(r))),"renderChildren",function(t){return t?e.props.children(t):null}),e}return _createClass(Consumer,[{key:"render",value:function(){return(0,a.createElement)(l.Consumer,null,this.renderChildren)}}]),Consumer}(a.PureComponent),f=["className","allowMultipleExpanded","allowZeroExpanded","onChange","preExpanded"],Accordion=function(e){var t=e.className,n=e.allowMultipleExpanded,r=e.allowZeroExpanded,o=e.onChange,i=e.preExpanded,d=_objectWithoutProperties(e,f);return(0,a.createElement)(u,{preExpanded:i,allowMultipleExpanded:n,allowZeroExpanded:r,onChange:o},(0,a.createElement)("div",_extends({"data-accordion-component":"Accordion",className:void 0===t?"accordion":t},d)))};(r=o||(o={})).Accordion="Accordion",r.AccordionItem="AccordionItem",r.AccordionItemButton="AccordionItemButton",r.AccordionItemHeading="AccordionItemHeading",r.AccordionItemPanel="AccordionItemPanel";var h=o,m=0,y=a.useId||function(){var e=m;return m+=1,"raa-".concat(e)},g=/[\u0009\u000a\u000c\u000d\u0020]/g;function assertValidHtmlId(e){return!(""===e||g.test(e))||(console.error('uuid must be a valid HTML5 id but was given "'.concat(e,'", ASCII whitespace
1s are forbidden')),!1)}var b=(0,a.createContext)(null),Provider$1=function(e){var t=e.children,n=e.uuid,r=e.accordionContext,o=e.dangerouslySetExpanded,toggleExpanded=function(){r.toggleExpanded(n)};return(0,a.createElement)(p,null,function(e){var r=null!=o?o:e.isItemExpanded(n),i=e.isItemDisabled(n),d=e.getPanelAttributes(n,o),c=e.getHeadingAttributes(n),s=e.getButtonAttributes(n,o);return(0,a.createElement)(b.Provider,{value:{uuid:n,expanded:r,disabled:i,toggleExpanded:toggleExpanded,panelAttributes:d,headingAttributes:c,buttonAttributes:s}},t)})},ProviderWrapper=function(e){return(0,a.createElement)(p,null,function(t){return(0,a.createElement)(Provider$1,_extends({},e,{accordionContext:t}))})},Consumer$1=function(e){var t=e.children;return(0,a.createElement)(b.Consumer,null,function(e){return e?t(e):null})},v=["uuid","dangerouslySetExpanded","className","activeClassName"],AccordionItem=function(e){var t,n=e.uuid,r=e.dangerouslySetExpanded,o=e.className,i=void 0===o?"accordion__item":o,d=e.activeClassName,c=_objectWithoutProperties(e,v),s=(function(e){if(Array.isArray(e))return e}(t=(0,a.useState)(y()))||function(e,t){var n,r,o=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var i=[],a=!0,d=!1;try{for(o=o.call(e);!(a=(n=o.next()).done)&&(i.push(n.value),!t||i.length!==t);a=!0);}catch(e){d=!0,r=e}finally{try{a||null==o.return||o.return()}finally{if(d)throw r}}return i}}(t,1)||_unsupportedIterableToArray(t,1)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}())[0],l=null!=n?n:s;return assertValidHtmlId(l.toString()),c.id&&assertValidHtmlId(c.id),(0,a.createElement)(ProviderWrapper,{uuid:l,dangerouslySetExpanded:r},(0,a.createElement)(Consumer$1,null,function(e){var t=e.expanded&&d?d:i;return(0,a.createElement)("div",_extends({"data-accordion-component":"AccordionItem",className:t},c))}))};function getSiblingButtons(e){var t=function getClosestAccordion(e){return e&&(e.matches('[data-accordion-component="Accordion"]')?e:getClosestAccordion(e.parentElement))}(e);return t&&Array.from(t.querySelectorAll('[data-accordion-component="AccordionItemButton"]'))}AccordionItem.displayName=h.AccordionItem;var x={END:"End",ENTER:"Enter",HOME:"Home",SPACE:" ",SPACE_DEPRECATED:"Spacebar",UP:"ArrowUp",DOWN:"ArrowDown",LEFT:"ArrowLeft",RIGHT:"ArrowRight"},A=["toggleExpanded","className"],AccordionItemButton=function(e){var t=e.toggleExpanded,n=e.className,r=_objectWithoutProperties(e,A);return r.id&&assertValidHtmlId(r.id),(0,a.createElement)("div",_extends({className:void 0===n?"accordion__button":n},r,{role:"button",tabIndex:0,onClick:t,onKeyDown:function(e){var n,r,o,i=e.key;if((i===x.ENTER||i===x.SPACE||i===x.SPACE_DEPRECATED)&&(e.preventDefault(),t()),e.target instanceof HTMLElement)switch(i){case x.HOME:e.preventDefault(),(n=(getSiblingButtons(e.target)||[])[0])&&n.focus();break;case x.END:e.preventDefault(),(o=(r=getSiblingButtons(e.target)||[])[r.length-1])&&o.focus();break;case x.LEFT:case x.UP:e.preventDefault(),function(e){var t=getSiblingButtons(e)||[],n=t.indexOf(e);if(-1!==n){var r=t[n-1];r&&r.focus()}}(e.target);break;case x.RIGHT:case x.DOWN:e.preventDefault(),function(e){var t=getSiblingButtons(e)||[],n=t.indexOf(e);if(-1!==n){var r=t[n+1];r&&r.focus()}}(e.target)}},"data-accordion-component":"AccordionItemButton"}))},AccordionItemButtonWrapper=function(e){return(0,a.createElement)(Consumer$1,null,function(t){var n=t.toggleExpanded,r=t.buttonAttributes;return(0,a.createElement)(AccordionItemButton,_extends({toggleExpanded:n},e,r))})},I=function(e){_inherits(AccordionItemHeading,e);var t=_createSuper(AccordionItemHeading);function AccordionItemHeading(){var e;_classCallCheck(this,AccordionItemHeading);for(var n=arguments.length,r=Array(n),o=0;o<n;o++)r[o]=arguments[o];return _defineProperty(_assertThisInitialized(e=t.call.apply(t,[this].concat(r))),"ref",void 0),_defineProperty(_assertThisInitialized(e),"setRef",function(t){e.ref=t}),e}
1return _createClass(AccordionItemHeading,[{key:"componentDidUpdate",value:function(){AccordionItemHeading.VALIDATE(this.ref)}},{key:"componentDidMount",value:function(){AccordionItemHeading.VALIDATE(this.ref)}},{key:"render",value:function(){return(0,a.createElement)("div",_extends({"data-accordion-component":"AccordionItemHeading"},this.props,{ref:this.setRef}))}}],[{key:"VALIDATE",value:function(e){if(void 0===e)throw Error("ref is undefined");if(!(1===e.childElementCount&&e.firstElementChild&&"AccordionItemButton"===e.firstElementChild.getAttribute("data-accordion-component")))throw Error("AccordionItemButton may contain only one child element, which must be an instance of AccordionItemButton.\n\nFrom the WAI-ARIA spec (https://www.w3.org/TR/wai-aria-practices-1.1/#accordion):\n\n“The button element is the only element inside the heading element. That is, if there are other visually persistent elements, they are not included inside the heading element.”\n\n")}}]),AccordionItemHeading}(a.PureComponent);_defineProperty(I,"defaultProps",{className:"accordion__heading","aria-level":3});var AccordionItemHeadingWrapper=function(e){return(0,a.createElement)(Consumer$1,null,function(t){var n=t.headingAttributes;return e.id&&assertValidHtmlId(e.id),(0,a.createElement)(I,_extends({},e,n))})};AccordionItemHeadingWrapper.displayName=h.AccordionItemHeading;var w=["className","region","id"],AccordionItemPanel=function(e){var t=e.className,n=void 0===t?"accordion__panel":t,r=e.region,o=e.id,i=_objectWithoutProperties(e,w);return(0,a.createElement)(Consumer$1,null,function(e){var t=e.panelAttributes;o&&assertValidHtmlId(o);var d=_objectSpread2(_objectSpread2({},t),{},{"aria-labelledby":r?t["aria-labelledby"]:void 0});return(0,a.createElement)("div",_extends({"data-accordion-component":"AccordionItemPanel",className:n},i,d,{role:r?"region":void 0}))})};n(5306);let ContentBody=class ContentBody extends a.Component{render(){return(0,i.jsx)("section",{className:"faq-area ptb-80",children:(0,i.jsx)("div",{className:"container",children:(0,i.jsx)("div",{className:"faq-accordion",children:(0,i.jsxs)(Accordion,{children:[(0,i.jsxs)(AccordionItem,{children:[(0,i.jsx)(AccordionItemHeadingWrapper,{children:(0,i.jsx)(AccordionItemButtonWrapper,{children:"What if I just have a few questions about working with AppNaq; how do I go about getting answers? Also, what if the questions are just about technology, but not necessarily about paying for any AppNaq Services."})}),(0,i.jsx)(AccordionItemPanel,{children:(0,i.jsx)("p",{children:"That’s an easy one, just call or email us. We provide everyone a free 30-minute consultation. We understand that this thing called technology is sometimes very complicated and there's many different solutions. Just give us a call, we’ll provide recommendations, suggestions, and of course, tell you how we can help. We educate our partners every chance we get; and our partners educate us as well. That's a true partnership."})})]}),(0,i.jsxs)(AccordionItem,{children:[(0,i.jsx)(AccordionItemHeadingWrapper,{children:(0,i.jsx)(AccordionItemButtonWrapper,{children:"Does AppNaq provide engineers for staffing individual positions or whole teams?"})}),(0,i.jsx)(AccordionItemPanel,{children:(0,i.jsx)("p",{children:"We do both. We have provided a single engineer to join a team to help finish up a few sprints, and we have provided an entire engineering & product team to help a company develop a product. We’re flexible. Our goal is to ensure you are over joyed with the value added."})})]}),(0,i.jsxs)(AccordionItem,{children:[(0,i.jsx)(AccordionItemHeadingWrapper,{children:(0,i.jsx)(AccordionItemButtonWrapper,{children:"What if I just have a really good idea but I don’t have any money? Will AppNaq build my product for me?"})}),(0,i.jsx)(AccordionItemPanel,{children:(0,i.jsx)("p",{children:"Possibly. If we believe the product is an important contribution to the marketplace with key differentiators. Obviously, we’d have to discuss ownership and percentage; but if you’re interested in having this discussion, then so are we."})})]}),(0,i.jsxs)(AccordionItem,{children:[(0,i.jsx)(AccordionItemHeadingWrapper,{children:(0,i.jsx)(AccordionItemButtonWrapper,{children:"Are all of your engineers remote? What if we need a team on-site?"})}),(0,i.jsx)(AccordionItemPanel,{children:(0,i.jsx)("p",{children:"Great question. As we said before, we’re flexible. Some of our software engineers, and quality assurance engineers are remote, but I assure you, all of them are willing to be on-site - and have been on-site for our other partners."})})]}),(0,i.jsxs)(AccordionItem,{children:[(0,i.jsx)(AccordionItemHeadingWrapper,{children:(0,i.jsx)(AccordionItemButtonWrapper,{children:"How does AppNaq approach diversity?"})}),(0,i.jsx)(AccordionItemPanel,{children:(0,i.jsx)("p",{children:"We believe knowledge, the ability to apply that knowledge, and attitude are the cornerstone of an AppNaqian. We do not tolerate any behavior that could in any way emotionally, physcially, or mentally harm our team members or partners 
1- we believe in equality and inclusion. Everyone can be an AppNaqian."})})]}),(0,i.jsxs)(AccordionItem,{children:[(0,i.jsx)(AccordionItemHeadingWrapper,{children:(0,i.jsx)(AccordionItemButtonWrapper,{children:"What is AppNaq’s go-to technology stack for a full-stack project?"})}),(0,i.jsx)(AccordionItemPanel,{children:(0,i.jsx)("p",{children:"This qustion is always hard for us to answer, as we always make sure to understand the needs and requiremnts of our partners, then suggest the best most up to date tools for the job. In some cases, our partners are recommended a tool that we never used; but, within a week we were the experts, better able to provide solutions."})})]}),(0,i.jsxs)(AccordionItem,{children:[(0,i.jsx)(AccordionItemHeadingWrapper,{children:(0,i.jsx)(AccordionItemButtonWrapper,{children:"If I contracted AppNaq to create an application or website, how long would it take to complete?"})}),(0,i.jsx)(AccordionItemPanel,{children:(0,i.jsx)("p",{children:"The answer depends on complexity; however, in the past, we have delivered an MVP in 4 weeks. From ideation to production ready builds ready to ship to the AppStore & Google Play Stores, etc. We would cover all of this in our free 30-minute consulation."})})]}),(0,i.jsxs)(AccordionItem,{children:[(0,i.jsx)(AccordionItemHeadingWrapper,{children:(0,i.jsx)(AccordionItemButtonWrapper,{children:"So AppNaq contracts, create their own products, and provides staffing services?"})}),(0,i.jsx)(AccordionItemPanel,{children:(0,i.jsx)("p",{children:"We do. What we found is that our desire to code arises from the need to learn, help teams, & challenge ourselves. We know that science & technology is one of the many ways to improve life for us all; as a result, we want to help other companies and teams, who have good ideas, make an impact, and improve life. Lastly, if none of our partners have any projects, we don't stop coding & creating; instead, we continue building and push our limits."})})]}),(0,i.jsxs)(AccordionItem,{children:[(0,i.jsx)(AccordionItemHeadingWrapper,{children:(0,i.jsx)(AccordionItemButtonWrapper,{children:"Do you have any questions for me?"})}),(0,i.jsx)(AccordionItemPanel,{children:(0,i.jsx)("p",{children:"Yes. Have you contacted AppNaq for your free 30-minute consulation? \uD83D\uDE42"})})]})]})})})})}};var E=n(3503),_=n(4323);let Faq=class Faq extends a.Component{render(){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(E.Z,{}),(0,i.jsx)(c.Z,{title:"Frequently Asked Questions"}),(0,i.jsx)(ContentBody,{}),(0,i.jsx)(_.Z,{}),(0,i.jsx)(d.Z,{scrollStepInPx:"50",delayInMs:"16.66"})]})}};var P=Faq},5306:function(){}},function(e){e.O(0,[664,431,30,774,888,179],function(){return e(e.s=1671)}),_N_E=e.O()}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.